← ClaudeAtlas

initlisted

Scaffold a new, empty Promotion-Gated Publish Workspace (the source/release repo pattern) — a private source/ tree mechanically projected to a public release/ tree through a declarative manifest. Use when starting a NEW project that should publish only a curated subset to GitHub, or when the user asks to "set up the source/release workspace", "init a publish workspace", or "scaffold the promotion workspace". For restructuring an EXISTING flat repository, use the g-workspace-convert plugin instead.
rohingosling/claude-skills · ★ 1 · Data & Documents · score 77
Install: claude install-skill rohingosling/claude-skills
# g-workspace-init Scaffold a new **Promotion-Gated Publish Workspace** from scratch: a workspace-root infrastructure repo, an empty private `source/` repo (the source of truth), and an empty derived `release/` repo (the public tree), wired together by the promotion tooling. The full pattern is specified in the bundled `${CLAUDE_SKILL_DIR}/reference/workspace-pattern.md` — read it if you need the rationale or the invariants. This skill is **greenfield only**. To convert an existing flat repository into the pattern (preserving its git history), use the **g-workspace-convert** plugin instead. ## What it produces ``` <workspace-root>/ ├── CLAUDE.md # workspace + project guide (from template) ├── .gitignore # ignores source/, release/, .venv/, backup/ ├── requirements.txt # promotion-tool deps (PyYAML, pathspec) ├── manifests/release.manifest.yaml # source → release projection (starter, needs curation) ├── tools/promote.{py,bat} # the promotion script + venv wrapper ├── tools/verify.{py,bat} # clean-room build/run check (PROJECT-SPECIFIC block stubbed) ├── source/ (.git, branch = main) # PRIVATE source of truth — empty, ready for the project ├── release/ (.git + .gitignore) # PUBLIC derived tree — empty until first promotion └── backup/ # local backups (not tracked) ``` Three independent git repos are initialised. `release/` gets its own public `.gitignore` (own