← ClaudeAtlas

greenfield-forgelisted

Start a NEW project the right way — turn an idea into an aligned, intentional, state-of-the-art codebase so it never needs rescuing. Use this whenever the user is beginning something from scratch: "I want to build X", a new app / SaaS / service / CLI, a "greenfield" project, "design the architecture before I code", "scaffold a new codebase", "set this up properly from day one", or "help me decide the stack / data model / API". It elects the to-be (the design) in a compressed decision interview BEFORE any code exists, defines the cross-layer contract once and generates aligned layers from it, then builds thin vertical slices test-first. Prefer this over ad-hoc scaffolding or jumping straight to code for anything that will outlive a throwaway script. Its sibling `codebase-rescue` handles the opposite end — cleaning up an existing mess.
r3vs/keel · ★ 0 · AI & Automation · score 62
Install: claude install-skill r3vs/keel
# Greenfield Forge ## What this is The forward mirror of `codebase-rescue`. Rescue is **curative** — it takes an existing, misaligned, often AI-generated mess and reconciles it. Greenfield Forge is **preventive** — it builds a new project aligned and intentional from the first commit, so the slop never accrues. Same engine, opposite direction along the project lifecycle. Its center of gravity is the same as rescue's: **architectural, cross-layer design** — the data model, the module boundaries, the contracts between backend / frontend / DB — decided deliberately instead of emerging by accident. It is NOT a scaffolding generator that dumps a boilerplate template; the template is the commoditized, easy part. ### The one idea that organizes everything Same invariant as rescue: **`gap = diff(to-be, as-is)`.** What changes is where you start: - **as-is** — what is built so far. In greenfield it starts **empty** and grows. - **to-be** — what each part should be. It is **elected up front** in a decision interview, derived from the user's choices, never invented by the model. > The gap is the **build backlog**, sequenced by dependencies. As slices complete, `as-is` grows > to meet `to-be` and the gap converges to zero. A finished v1 is `gap = 0`. Because the to-be is recorded as you decide it, the project carries its own `ledger.json` — the living record of *why it is the way it is*, each decision tagged with the condition that would reopen it (`flip_criteria`). That is pre