The initial app is no longer generated by a separate command. /plan-milestones now always makes milestone 01 'App Shell Generation' (target platform asked in the single question round): theme from design tokens, one screen per blueprint entry, routes, reusable components — no feature logic — plus Playwright setup and the e2e/app-shell.spec.ts smoke spec. It is executed like any other milestone via /execute-milestones (which loads platform-ui-generation for it) or /add-feature. Milestone 02 becomes the MVP core. All workflow diagrams, skills, docs READMEs, CLAUDE.md, and README updated; docs/design README also gains the screen-inventory.md entry. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
108 lines
3.4 KiB
Markdown
108 lines
3.4 KiB
Markdown
# 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]
|
||
```
|