# Phase File Template Use this structure for each `docs/milestones/phase[N]-milestones.md`. A phase file contains one or more milestones; milestone numbers are global across all phase files. **Milestone 01 is always "App Shell Generation"** (first milestone of phase 1): its In Scope records the target platform (`web` | `flutter` | `winui3`), its features are the three shell features defined in SKILL.md (theme from tokens, screens/routes from the blueprint, Playwright + app-shell smoke spec), and its Definition of Done additionally requires that every blueprint screen is reachable and no feature logic was implemented. ```markdown # Phase [N]: [Name] **Status**: Not started | In progress | Completed **Goal**: [One sentence: what this phase delivers as a release] **Execute**: `/execute-milestones phase[N]-milestones.md` **Milestones**: [NN]–[NN] --- ## Milestone [NN]: [Name] **Status**: Not started | In progress | Completed **Goal**: [One sentence: what the user can do after this milestone that they could not before] ### Scope #### In Scope - [Theme or capability included in this milestone] #### Out of Scope - [Explicitly excluded item] → [where it lives instead: milestone NN / icebox] ### Dependencies - [What must exist before this milestone can start: previous milestone, external system, decision] ### Features > One `/add-feature` run per feature. Check off each feature when its run completes. - [ ] [Feature 1 name] - [ ] [Feature 2 name] #### Feature: [Feature 1 name] - **Description**: [What it does and the user value, 1–3 sentences] - **Related requirements**: [PRD user story / requirement IDs or headings] - **Affected screens**: [screen ids from ui-blueprint.json, or "n/a"] - **Acceptance criteria**: - [Criterion 1] - [Criterion 2] - [Criterion 3] - **Command**: `/add-feature [Feature 1 name]` #### Feature: [Feature 2 name] - **Description**: ... - **Related requirements**: ... - **Affected screens**: ... - **Acceptance criteria**: - ... - **Command**: `/add-feature [Feature 2 name]` ### Definition of Done - [ ] All features above are checked off - [ ] Every feature has a Playwright E2E spec covering its acceptance criteria - [ ] `npm test`, `npm run lint`, `npm run typecheck`, `npm run test:e2e` pass - [ ] Persistent documents in `docs/` are reconciled with all features - [ ] [Milestone-specific criterion, e.g. "demo flow X→Y→Z works end-to-end"] ### Completion Notes _Filled in when the milestone completes: completion date, deviations from plan, lessons learned._ --- ## Milestone [NN+1]: [Name] [Same structure as above] ``` # Roadmap Template Use this structure for `docs/milestones/roadmap.md`. ```markdown # Development Roadmap **Current phase**: [N — name] (`phase[N]-milestones.md`) **Current milestone**: [NN — name] ## Phases and Milestones | Phase | File | Milestone | Name | Goal | Features | Status | |-------|------|-----------|------|------|----------|--------| | 1 | `phase1-milestones.md` | 01 | [name] | [one-line goal] | [count] | Not started / In progress / Completed | | 1 | `phase1-milestones.md` | 02 | [name] | [one-line goal] | [count] | Not started | | 2 | `phase2-milestones.md` | 03 | [name] | [one-line goal] | [count] | Not started | ## Ordering Rationale [Why this sequence: MVP definition, dependency chains, priority decisions made with the user] ## Later / Icebox Consciously deferred — revisit when re-planning: - [Deferred item] — [why deferred] ```