Restructure milestone plan into phase files; /execute-milestones now requires a phase file
- /plan-milestones groups milestones into phases and generates one file per phase (phase1-milestones.md, phase2-milestones.md, ...) plus roadmap.md; milestone numbering stays global across phases - /execute-milestones takes a required phase file argument (phase1-milestones.md | full path | phase1 | 1) and executes only that file's milestones one by one; with no argument it lists available phase files and stops; closes the phase in the roadmap when done - milestone-planning skill/template rewritten around the Phase > Milestone > Feature hierarchy; milestone-execution skill scoped to one phase file per run - /add-feature, CLAUDE.md, README, and docs/milestones/README.md updated to phase-file references Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
38
README.md
38
README.md
@ -13,7 +13,7 @@ https://github.com/GenerativeAgents/claude-code-book
|
||||
How a project goes from idea to working code with this boilerplate:
|
||||
|
||||
```
|
||||
Idea → /setup-project → /define-design → refine design → /generate-app → /plan-milestones → /add-feature (repeat)
|
||||
Idea → /setup-project → /define-design → refine design → /generate-app → /plan-milestones → /execute-milestones (phase by phase)
|
||||
```
|
||||
|
||||
### Step 1 — Write down your idea
|
||||
@ -43,34 +43,36 @@ Scaffolds the app shell from the approved design: theme (from tokens), routes, s
|
||||
reusable components. No feature logic yet.
|
||||
|
||||
### Step 6 — Plan milestones: `/plan-milestones`
|
||||
Breaks the product into an ordered set of milestones and generates `docs/milestones/`:
|
||||
a `roadmap.md` overview plus one document per milestone listing **the features it contains** —
|
||||
each sized for exactly one `/add-feature` run, with acceptance criteria and a ready-to-run command.
|
||||
Milestone 1 is the MVP; later milestones build on it by priority and dependency.
|
||||
Breaks the product into **phases** and milestones, and generates `docs/milestones/`:
|
||||
a `roadmap.md` overview plus **one file per phase** (`phase1-milestones.md`,
|
||||
`phase2-milestones.md`, …). Each phase file lists its milestones and **the features they
|
||||
contain** — each feature sized for exactly one `/add-feature` run, with acceptance criteria and a
|
||||
ready-to-run command. Phase 1 delivers the MVP; later phases build on it by priority and dependency.
|
||||
|
||||
### Step 7 — Implement the milestones
|
||||
|
||||
Two ways to work through the plan:
|
||||
|
||||
**Option A — execute whole milestones: `/execute-milestones`**
|
||||
Runs all remaining milestones **one by one, autonomously**. For each milestone it creates a
|
||||
**separate steering directory** (`.steering/[date]-milestone-[NN]-[name]/`), divides the
|
||||
milestone's features into concrete tasks grouped by feature, implements them all, validates,
|
||||
tests, reconciles the docs, and marks the milestone completed — then immediately starts the next
|
||||
milestone. Takes an optional target (`/execute-milestones 1` or `/execute-milestones 2-3`).
|
||||
**Option A — execute a phase file: `/execute-milestones <phase-file>`**
|
||||
Requires the phase file to execute, e.g. `/execute-milestones phase1-milestones.md`. Runs that
|
||||
phase's milestones **one by one, autonomously**. For each milestone it creates a **separate
|
||||
steering directory** (`.steering/[date]-milestone-[NN]-[name]/`), divides the milestone's
|
||||
features into concrete tasks grouped by feature, implements them all, validates, tests,
|
||||
reconciles the docs, and marks the milestone completed — then immediately starts the next
|
||||
milestone in the file. When the phase completes, run it again with the next phase file.
|
||||
|
||||
**Option B — one feature at a time: `/add-feature <feature>`**
|
||||
A fully autonomous loop, one feature per run. Each run:
|
||||
|
||||
1. Creates `.steering/[YYYYMMDD]-[feature]/` (requirements, design, tasklist)
|
||||
2. Reads the feature's milestone document and the design spec first — and updates the design first if the feature changes the UI
|
||||
2. Reads the feature's entry in its phase file and the design spec first — and updates the design first if the feature changes the UI
|
||||
3. Implements every task in `tasklist.md`, checking items off as it goes
|
||||
4. Validates quality with the `implementation-validator` subagent
|
||||
5. Runs `npm test`, `npm run lint`, `npm run typecheck` until green
|
||||
6. Records a retrospective, reconciles all six `docs/` documents, and checks the feature off in its milestone document
|
||||
6. Records a retrospective, reconciles all six `docs/` documents, and checks the feature off in its phase file
|
||||
|
||||
### Step 8 — Repeat and maintain
|
||||
- Remaining milestones → `/execute-milestones`, or feature by feature with `/add-feature <feature>`
|
||||
- Remaining phases → `/execute-milestones <next phase file>`, or feature by feature with `/add-feature <feature>`
|
||||
- UI changes → `/update-design <change>` first, then `/add-feature`
|
||||
- Re-planning → re-run `/plan-milestones` or edit `docs/milestones/` in conversation
|
||||
- Document quality checks → `/review-docs <path>`
|
||||
@ -110,8 +112,8 @@ claude
|
||||
> /update-design [refinement] # repeat until the design is approved
|
||||
> /generate-app web # or flutter | winui3
|
||||
> /plan-milestones
|
||||
> /execute-milestones # all milestones one by one, or:
|
||||
> /add-feature [feature name] # one feature at a time
|
||||
> /execute-milestones phase1-milestones.md # one phase at a time, or:
|
||||
> /add-feature [feature name] # one feature at a time
|
||||
```
|
||||
|
||||
See [Development Workflow (Step by Step)](#development-workflow-step-by-step) above for what each step does.
|
||||
@ -124,7 +126,7 @@ See [Development Workflow (Step by Step)](#development-workflow-step-by-step) ab
|
||||
| `/define-design` | Create the UI/UX design spec under `docs/design/` | `/define-design` |
|
||||
| `/update-design` | Refine the design before generation, or update it when a feature changes the UI | `/update-design add a profile screen` |
|
||||
| `/generate-app` | Scaffold the initial app for a target platform | `/generate-app web` |
|
||||
| `/plan-milestones` | Plan milestones and generate milestone documents with the features for each | `/plan-milestones 3 milestones, MVP first` |
|
||||
| `/execute-milestones` | Execute milestones one by one, with separate steering documents per milestone | `/execute-milestones` |
|
||||
| `/plan-milestones` | Plan phases and milestones; generates one `phase[N]-milestones.md` per phase | `/plan-milestones 2 phases, MVP first` |
|
||||
| `/execute-milestones` | Execute one phase file: its milestones one by one, with separate steering documents per milestone (file argument required) | `/execute-milestones phase1-milestones.md` |
|
||||
| `/add-feature` | Implement a feature end-to-end (autonomous) | `/add-feature User profile editing` |
|
||||
| `/review-docs` | Detailed document review via subagent | `/review-docs docs/architecture.md` |
|
||||
|
||||
Reference in New Issue
Block a user