Starter kit
starter-kit/design/functional-spec.md
One file from the portable method that ships with the book.
starter-kit / design / functional-spec.md
# Functional Specification — <project> (v0.1, DRAFT) > Phase 1 artifact. Written before any code. Locked at the Phase-1 gate before design/build. > Every functional requirement carries a **testable acceptance criterion** (cross-referenced in > `acceptance-criteria.md`). State assumptions explicitly; state non-goals loudly. ## 1. Goal — the one job <!-- The single job this product does. If you can't say it in a sentence, the scope is wrong. --> ## 2. Users & top journeys <!-- Who uses it; the 3–5 journeys that matter most, start to finish. --> ## 3. Functional requirements > Each `FR-n` → an `AC-n` in acceptance-criteria.md. - **FR-1** — <!-- requirement --> (→ AC-1) - **FR-2** — … ## 4. Data entities & relationships <!-- The nouns and how they relate. This seeds the data model in architecture.md. --> ## 5. Non-goals (this version) <!-- Explicitly out of scope. Prevents scope creep and sets reviewer expectations. --> ## 6. Security & privacy notes <!-- Sensitive data, auth model, transport, secrets, backups, audit — sized to the domain. -->
Prefer the whole thing at once?
Download the starter kit as a zip. The files here and the files in the zip are the same.