# Milestone Documents (`docs/milestones/`) This directory holds the project's **milestone plan**: an ordered breakdown of the product into phases and milestones, with the features for each milestone. It is created by `/plan-milestones` and kept up to date by `/execute-milestones` and `/add-feature`. ## Hierarchy ``` Roadmap (roadmap.md) └── Phase (phase[N]-milestones.md — the /execute-milestones unit) └── Milestone (numbered globally: 01, 02, …) └── Feature (the /add-feature unit) ``` ## Structure ``` docs/milestones/ ├── roadmap.md # Overview: phase/milestone table, ordering rationale, icebox ├── phase1-milestones.md # Phase 1 (MVP): its milestones and their features ├── phase2-milestones.md └── phaseN-milestones.md ``` ## File purposes ### `roadmap.md` The overview: a table of all phases and their milestones (goal, feature count, status), the ordering rationale, pointers to the current phase file and current milestone, and a "Later / Icebox" list of consciously deferred items. ### `phase[N]-milestones.md` One file per phase — the execution unit for `/execute-milestones`. Contains the phase's goal and status, and one section per milestone: goal, scope, dependencies, definition of done, and its **feature list** — each feature sized for exactly one `/add-feature` run, with description, related PRD requirements, affected screens, acceptance criteria, and the ready-to-run command. ## Status tracking - Each feature has a checkbox in its phase file; `/execute-milestones` and `/add-feature` check it off (`[ ]` → `[x]`) when the feature completes. - Milestone and phase statuses (`Not started` / `In progress` / `Completed`) are kept in sync between the phase file and the roadmap table. ## Workflow ``` /setup-project → product/architecture docs /define-design → UI/UX design spec /generate-app → initial app shell /plan-milestones → creates the files above /execute-milestones phase1-milestones.md → implements that phase's milestones one by one (one steering directory per milestone), updating statuses here /add-feature → implements one feature, then checks it off here ``` ## Status This directory is populated by running `/plan-milestones`. Until then, the files above do not exist and `/execute-milestones` will ask you to run `/plan-milestones` first.