# Phase 4 — Mermaid architecture starter
Goal: seed `
/docs/diagrams/` with a minimal Mermaid file the user
can evolve. Keep it small; the block `_blocks/docs-architecture-diagrams.md`
carries the full pattern catalogue.
## 4a — Pick starter pattern (AskUserQuestion #4)
```json
{
"questions": [
{
"question": "Seed which Mermaid pattern?",
"header": "Diagram",
"multiSelect": false,
"options": [
{"label": "System context (flowchart LR)", "description": "One-page overview — User / API / Service / DB / Queue. Good default."},
{"label": "Sequence (sequenceDiagram)", "description": "Request flow — Client / API / DB. Pick for API-first projects."},
{"label": "State machine (stateDiagram-v2)","description": "FSM-driven projects — Pending / Running / Done / Failed."},
{"label": "ER (erDiagram)", "description": "DB schema summary — two related entities."},
{"label": "Skip this phase", "description": "No diagram seeded; move to Phase 5"}
]
}
]
}
```
On `Skip` → `DIAGRAMS = 0`, continue to Phase 5.
## 4b — Write the starter file
Create `/docs/diagrams/` and write one `.mmd` file matching the
click:
- `context.mmd` — system context
- `request.mmd` — sequence
- `lifecycle.mmd` — state machine
- `schema.mmd` — ER
Use the short templates from `_blocks/docs-architecture-diagrams.md` §1-4
verbatim. Placeholders (User / API / Service / DB / Queue) are fine —
the user evolves them next session.
If the target file exists → skip and warn; do not overwrite without
`--force` (same contract as Phase 2).
Set `DIAGRAMS = 1`.
## 4c — Preview hint (no write)
After writing, print:
```
[docs-scaffold] preview locally:
npm install -g @mermaid-js/mermaid-cli # one-time
mmdc -i /docs/diagrams/.mmd -o /tmp/preview.svg
```
No AskUserQuestion; this is just a hint line.
## Verify-criterion
- `/docs/diagrams/` directory exists after writing.
- Exactly one `.mmd` file was created (or zero if `Skip` was chosen).
- File is syntactically valid Mermaid (heading matches the picked pattern).
- No other files under `/` were touched.