Mode Comparison
- Mode A — Greenfield
- Mode B — Brownfield
Trigger: No
.engineering-docs/ folder exists in the project root, and the user’s request describes building something new from scratch.What happens:- The full pipeline runs from Phase 0 (business concept) through the final master index.
- All six standing constraint questions (team size, hosting, budget, timeline, regulatory needs, existing integrations) are asked once, early — every downstream document depends on them.
- All eight always-core skills run unconditionally. Conditional skills are evaluated based on the answers gathered during business concept intake.
- The business concept interview is mandatory and cannot be skipped. It is the foundation every later skill reads from.
.engineering-docs/ folder containing anywhere from 8 to 19+ documents, a populated index.md, and an ADR log in adr/.Side-by-Side Reference
Which Skills Run in Brownfield Mode?
When a brownfield project adds a feature, Engineering Docs runs only the skills relevant to that specific change. The typical brownfield subset includes:Always run for features
technical-blueprint— detailed design for the new feature itselfimplementation-plan— updated build sequence if scope or dependencies changetest-strategy-document— scoped to the new feature’s testing needs
Run when the change touches…
architecture-decision-record— if the feature affects architectural choicesdatabase-design-document— if it touches the data modelapi-design-document— if it adds or changes endpointssecurity-threat-model— if it touches auth, payments, or PIIproject-plan— if scope or timeline changes
How Re-Runs Work: The No-Overwrite Rule
Engineering Docs enforces a strict no-overwrite policy on every re-run, in both modes:1
Read the existing state first
On any invocation where
.engineering-docs/ exists, index.md is read first to determine what has already been produced, what is still in progress, and where the next unanswered question left off.2
Append, never replace
New documents produced during a brownfield run are assigned the next available number in the existing sequence. A second implementation plan becomes
18-implementation-plan-v2.md, not a replacement of 14-implementation-plan.md.3
Archive stale documents explicitly
If a document genuinely needs to be replaced (e.g., a system architecture that has fundamentally changed), the old file is moved to
.engineering-docs/archive/ with its original filename plus a UTC timestamp suffix. The new version takes the next available number.4
Update index.md to reflect reality
After any append or archive operation,
index.md is updated so it always accurately describes the current document set. The superseded field in the new document’s frontmatter points back to the archived original.Document Frontmatter on Re-Runs
Every generated document carries a frontmatter block that explicitly tracks its relationship to prior versions. When a brownfield update supersedes an earlier document, this is captured in the metadata:superseded-example.md
supersedes field is how any downstream agent or team member knows which document replaced which, without having to read both in full. The archived file’s status is also updated to superseded.
Codebase Scan in Brownfield (No Existing Docs)
When a brownfield project has an existing codebase but no.engineering-docs/ history, the orchestrator does not start a full Greenfield interview. Instead:
- It scans the project root —
README.md,package.json, directory structure, existing config files — to infer the current stack, architecture pattern, and conventions. - It presents its inferences to the user as a summary: “I can see this is a Node.js API using PostgreSQL and deployed to Heroku. Is that correct?”
- The user confirms or corrects the inference. Confirmed items are treated the same as owner-specified standing constraints.
- Only the delta — what’s genuinely unknown or what the new feature adds — is collected via interview.
