The Build Loop — From Idea to Committed Code
The Planning Pipeline and Its Hard Gates
Documents That Gate Each Other
The full planning walk produces real documents in a fixed order, and each create-command refuses to run without its prerequisite:
| Command | Requires |
|---|---|
/create:project-requirements |
product/brief.md, brainstorm.md or research.md |
/create:project-architecture |
product/requirements.md |
/create:project-epics |
requirements and architecture/overview.md |
/create:project-design |
product/requirements.md |
/create:project-todo, /create:project-epics-todo |
work/backlog.md |
/review:check-readiness |
the required docs, plus no unacknowledged epic overlaps |
Scaffold vs. Real
Templates start with <!-- @@template --> on the first line. The gates treat a file carrying that marker as non-existent. When a command fills in a template, it writes new content without the marker. That is how the system distinguishes "scaffolded but empty" from "actually written".
What To Do When a Gate Stops You
Generate the missing prerequisite, then resume. --yolo downgrades gates to warnings, but it is an explicit user override only — never the recommended path, and never something an agent should suggest as the easy way out.
The docs live by concern, not by file type: product/, architecture/, design/, engineering/, operations/, work/, reference/, plus modules/{name}/ per feature and .output/ for generated material. Agents always know where to look because the layout is the same on every project.
`product/requirements.md` exists but its first line is `<!-- @@template -->`. What does `/create:project-architecture` do?