gsd-codex-cli 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex/prompts/gsd-add-phase.md +44 -0
- package/.codex/prompts/gsd-add-todo.md +43 -0
- package/.codex/prompts/gsd-audit-milestone.md +43 -0
- package/.codex/prompts/gsd-check-todos.md +43 -0
- package/.codex/prompts/gsd-complete-milestone.md +43 -0
- package/.codex/prompts/gsd-debug.md +46 -0
- package/.codex/prompts/gsd-discuss-phase.md +43 -0
- package/.codex/prompts/gsd-execute-phase.md +43 -0
- package/.codex/prompts/gsd-help.md +43 -0
- package/.codex/prompts/gsd-insert-phase.md +43 -0
- package/.codex/prompts/gsd-list-phase-assumptions.md +43 -0
- package/.codex/prompts/gsd-map-codebase.md +43 -0
- package/.codex/prompts/gsd-new-milestone.md +43 -0
- package/.codex/prompts/gsd-new-project.md +43 -0
- package/.codex/prompts/gsd-pause-work.md +43 -0
- package/.codex/prompts/gsd-plan-milestone-gaps.md +43 -0
- package/.codex/prompts/gsd-plan-phase.md +43 -0
- package/.codex/prompts/gsd-progress.md +43 -0
- package/.codex/prompts/gsd-quick.md +43 -0
- package/.codex/prompts/gsd-remove-phase.md +43 -0
- package/.codex/prompts/gsd-research-phase.md +43 -0
- package/.codex/prompts/gsd-resume-work.md +43 -0
- package/.codex/prompts/gsd-set-profile.md +43 -0
- package/.codex/prompts/gsd-settings.md +43 -0
- package/.codex/prompts/gsd-update.md +43 -0
- package/.codex/prompts/gsd-verify-work.md +43 -0
- package/.codex/skills/get-shit-done-codex/SKILL.md +65 -0
- package/.codex/skills/get-shit-done-codex/references/compat.md +32 -0
- package/.codex/skills/get-shit-done-codex/references/windows.md +23 -0
- package/CHANGELOG.md +1434 -0
- package/LICENSE +21 -0
- package/README.md +690 -0
- package/agents/gsd-codebase-mapper.md +761 -0
- package/agents/gsd-debugger.md +1198 -0
- package/agents/gsd-executor.md +419 -0
- package/agents/gsd-integration-checker.md +423 -0
- package/agents/gsd-phase-researcher.md +469 -0
- package/agents/gsd-plan-checker.md +622 -0
- package/agents/gsd-planner.md +1159 -0
- package/agents/gsd-project-researcher.md +618 -0
- package/agents/gsd-research-synthesizer.md +236 -0
- package/agents/gsd-roadmapper.md +639 -0
- package/agents/gsd-verifier.md +541 -0
- package/bin/install-codex.js +100 -0
- package/bin/install.js +1806 -0
- package/commands/gsd/add-phase.md +39 -0
- package/commands/gsd/add-todo.md +42 -0
- package/commands/gsd/audit-milestone.md +42 -0
- package/commands/gsd/check-todos.md +41 -0
- package/commands/gsd/cleanup.md +18 -0
- package/commands/gsd/complete-milestone.md +136 -0
- package/commands/gsd/debug.md +162 -0
- package/commands/gsd/discuss-phase.md +87 -0
- package/commands/gsd/execute-phase.md +42 -0
- package/commands/gsd/health.md +22 -0
- package/commands/gsd/help.md +22 -0
- package/commands/gsd/insert-phase.md +33 -0
- package/commands/gsd/join-discord.md +18 -0
- package/commands/gsd/list-phase-assumptions.md +50 -0
- package/commands/gsd/map-codebase.md +71 -0
- package/commands/gsd/new-milestone.md +51 -0
- package/commands/gsd/new-project.md +42 -0
- package/commands/gsd/pause-work.md +35 -0
- package/commands/gsd/plan-milestone-gaps.md +40 -0
- package/commands/gsd/plan-phase.md +44 -0
- package/commands/gsd/progress.md +24 -0
- package/commands/gsd/quick.md +40 -0
- package/commands/gsd/reapply-patches.md +110 -0
- package/commands/gsd/remove-phase.md +32 -0
- package/commands/gsd/research-phase.md +187 -0
- package/commands/gsd/resume-work.md +40 -0
- package/commands/gsd/set-profile.md +34 -0
- package/commands/gsd/settings.md +36 -0
- package/commands/gsd/update.md +37 -0
- package/commands/gsd/verify-work.md +39 -0
- package/get-shit-done/bin/gsd-tools.cjs +5243 -0
- package/get-shit-done/bin/gsd-tools.test.cjs +2273 -0
- package/get-shit-done/references/checkpoints.md +775 -0
- package/get-shit-done/references/continuation-format.md +249 -0
- package/get-shit-done/references/decimal-phase-calculation.md +65 -0
- package/get-shit-done/references/git-integration.md +248 -0
- package/get-shit-done/references/git-planning-commit.md +38 -0
- package/get-shit-done/references/model-profile-resolution.md +34 -0
- package/get-shit-done/references/model-profiles.md +92 -0
- package/get-shit-done/references/phase-argument-parsing.md +61 -0
- package/get-shit-done/references/planning-config.md +196 -0
- package/get-shit-done/references/questioning.md +145 -0
- package/get-shit-done/references/tdd.md +263 -0
- package/get-shit-done/references/ui-brand.md +160 -0
- package/get-shit-done/references/verification-patterns.md +612 -0
- package/get-shit-done/templates/DEBUG.md +159 -0
- package/get-shit-done/templates/UAT.md +247 -0
- package/get-shit-done/templates/codebase/architecture.md +255 -0
- package/get-shit-done/templates/codebase/concerns.md +310 -0
- package/get-shit-done/templates/codebase/conventions.md +307 -0
- package/get-shit-done/templates/codebase/integrations.md +280 -0
- package/get-shit-done/templates/codebase/stack.md +186 -0
- package/get-shit-done/templates/codebase/structure.md +285 -0
- package/get-shit-done/templates/codebase/testing.md +480 -0
- package/get-shit-done/templates/config.json +36 -0
- package/get-shit-done/templates/context.md +283 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
- package/get-shit-done/templates/discovery.md +146 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +567 -0
- package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/get-shit-done/templates/project.md +184 -0
- package/get-shit-done/templates/requirements.md +231 -0
- package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
- package/get-shit-done/templates/research-project/FEATURES.md +147 -0
- package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
- package/get-shit-done/templates/research-project/STACK.md +120 -0
- package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
- package/get-shit-done/templates/research.md +552 -0
- package/get-shit-done/templates/roadmap.md +202 -0
- package/get-shit-done/templates/state.md +176 -0
- package/get-shit-done/templates/summary-complex.md +59 -0
- package/get-shit-done/templates/summary-minimal.md +41 -0
- package/get-shit-done/templates/summary-standard.md +48 -0
- package/get-shit-done/templates/summary.md +246 -0
- package/get-shit-done/templates/user-setup.md +311 -0
- package/get-shit-done/templates/verification-report.md +322 -0
- package/get-shit-done/workflows/add-phase.md +111 -0
- package/get-shit-done/workflows/add-todo.md +157 -0
- package/get-shit-done/workflows/audit-milestone.md +242 -0
- package/get-shit-done/workflows/check-todos.md +176 -0
- package/get-shit-done/workflows/cleanup.md +152 -0
- package/get-shit-done/workflows/complete-milestone.md +674 -0
- package/get-shit-done/workflows/diagnose-issues.md +219 -0
- package/get-shit-done/workflows/discovery-phase.md +289 -0
- package/get-shit-done/workflows/discuss-phase.md +485 -0
- package/get-shit-done/workflows/execute-phase.md +408 -0
- package/get-shit-done/workflows/execute-plan.md +441 -0
- package/get-shit-done/workflows/health.md +156 -0
- package/get-shit-done/workflows/help.md +486 -0
- package/get-shit-done/workflows/insert-phase.md +129 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/map-codebase.md +327 -0
- package/get-shit-done/workflows/new-milestone.md +373 -0
- package/get-shit-done/workflows/new-project.md +1113 -0
- package/get-shit-done/workflows/pause-work.md +122 -0
- package/get-shit-done/workflows/plan-milestone-gaps.md +256 -0
- package/get-shit-done/workflows/plan-phase.md +448 -0
- package/get-shit-done/workflows/progress.md +393 -0
- package/get-shit-done/workflows/quick.md +444 -0
- package/get-shit-done/workflows/remove-phase.md +154 -0
- package/get-shit-done/workflows/research-phase.md +74 -0
- package/get-shit-done/workflows/resume-project.md +306 -0
- package/get-shit-done/workflows/set-profile.md +80 -0
- package/get-shit-done/workflows/settings.md +200 -0
- package/get-shit-done/workflows/transition.md +539 -0
- package/get-shit-done/workflows/update.md +214 -0
- package/get-shit-done/workflows/verify-phase.md +242 -0
- package/get-shit-done/workflows/verify-work.md +570 -0
- package/hooks/dist/gsd-check-update.js +62 -0
- package/hooks/dist/gsd-statusline.js +91 -0
- package/package.json +54 -0
- package/scripts/build-hooks.js +42 -0
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Check project progress, summarize recent work and what's ahead, then intelligently route to the next action — either executing an existing plan or creating the next one. Provides situational awareness before continuing work.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="init_context">
|
|
12
|
+
**Load progress context (with file contents to avoid redundant reads):**
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
INIT_RAW=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs init progress --include state,roadmap,project,config)
|
|
16
|
+
# Large payloads are written to a tmpfile — output starts with @file:/path
|
|
17
|
+
if [[ "$INIT_RAW" == @file:* ]]; then
|
|
18
|
+
INIT_FILE="${INIT_RAW#@file:}"
|
|
19
|
+
INIT=$(cat "$INIT_FILE")
|
|
20
|
+
rm -f "$INIT_FILE"
|
|
21
|
+
else
|
|
22
|
+
INIT="$INIT_RAW"
|
|
23
|
+
fi
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Extract from init JSON: `project_exists`, `roadmap_exists`, `state_exists`, `phases`, `current_phase`, `next_phase`, `milestone_version`, `completed_count`, `phase_count`, `paused_at`.
|
|
27
|
+
|
|
28
|
+
**File contents (from --include):** `state_content`, `roadmap_content`, `project_content`, `config_content`. These are null if files don't exist.
|
|
29
|
+
|
|
30
|
+
If `project_exists` is false (no `.planning/` directory):
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
No planning structure found.
|
|
34
|
+
|
|
35
|
+
Run /gsd:new-project to start a new project.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Exit.
|
|
39
|
+
|
|
40
|
+
If missing STATE.md: suggest `/gsd:new-project`.
|
|
41
|
+
|
|
42
|
+
**If ROADMAP.md missing but PROJECT.md exists:**
|
|
43
|
+
|
|
44
|
+
This means a milestone was completed and archived. Go to **Route F** (between milestones).
|
|
45
|
+
|
|
46
|
+
If missing both ROADMAP.md and PROJECT.md: suggest `/gsd:new-project`.
|
|
47
|
+
</step>
|
|
48
|
+
|
|
49
|
+
<step name="load">
|
|
50
|
+
**Use project context from INIT:**
|
|
51
|
+
|
|
52
|
+
All file contents are already loaded via `--include` in init_context step:
|
|
53
|
+
- `state_content` — living memory (position, decisions, issues)
|
|
54
|
+
- `roadmap_content` — phase structure and objectives
|
|
55
|
+
- `project_content` — current state (What This Is, Core Value, Requirements)
|
|
56
|
+
- `config_content` — settings (model_profile, workflow toggles)
|
|
57
|
+
|
|
58
|
+
No additional file reads needed.
|
|
59
|
+
</step>
|
|
60
|
+
|
|
61
|
+
<step name="analyze_roadmap">
|
|
62
|
+
**Get comprehensive roadmap analysis (replaces manual parsing):**
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
ROADMAP=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs roadmap analyze)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
This returns structured JSON with:
|
|
69
|
+
- All phases with disk status (complete/partial/planned/empty/no_directory)
|
|
70
|
+
- Goal and dependencies per phase
|
|
71
|
+
- Plan and summary counts per phase
|
|
72
|
+
- Aggregated stats: total plans, summaries, progress percent
|
|
73
|
+
- Current and next phase identification
|
|
74
|
+
|
|
75
|
+
Use this instead of manually reading/parsing ROADMAP.md.
|
|
76
|
+
</step>
|
|
77
|
+
|
|
78
|
+
<step name="recent">
|
|
79
|
+
**Gather recent work context:**
|
|
80
|
+
|
|
81
|
+
- Find the 2-3 most recent SUMMARY.md files
|
|
82
|
+
- Use `summary-extract` for efficient parsing:
|
|
83
|
+
```bash
|
|
84
|
+
node ~/.claude/get-shit-done/bin/gsd-tools.cjs summary-extract <path> --fields one_liner
|
|
85
|
+
```
|
|
86
|
+
- This shows "what we've been working on"
|
|
87
|
+
</step>
|
|
88
|
+
|
|
89
|
+
<step name="position">
|
|
90
|
+
**Parse current position from init context and roadmap analysis:**
|
|
91
|
+
|
|
92
|
+
- Use `current_phase` and `next_phase` from roadmap analyze
|
|
93
|
+
- Use phase-level `has_context` and `has_research` flags from analyze
|
|
94
|
+
- Note `paused_at` if work was paused (from init context)
|
|
95
|
+
- Count pending todos: use `init todos` or `list-todos`
|
|
96
|
+
- Check for active debug sessions: `ls .planning/debug/*.md 2>/dev/null | grep -v resolved | wc -l`
|
|
97
|
+
</step>
|
|
98
|
+
|
|
99
|
+
<step name="report">
|
|
100
|
+
**Generate progress bar from gsd-tools, then present rich status report:**
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Get formatted progress bar
|
|
104
|
+
PROGRESS_BAR=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs progress bar --raw)
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Present:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
# [Project Name]
|
|
111
|
+
|
|
112
|
+
**Progress:** {PROGRESS_BAR}
|
|
113
|
+
**Profile:** [quality/balanced/budget]
|
|
114
|
+
|
|
115
|
+
## Recent Work
|
|
116
|
+
- [Phase X, Plan Y]: [what was accomplished - 1 line from summary-extract]
|
|
117
|
+
- [Phase X, Plan Z]: [what was accomplished - 1 line from summary-extract]
|
|
118
|
+
|
|
119
|
+
## Current Position
|
|
120
|
+
Phase [N] of [total]: [phase-name]
|
|
121
|
+
Plan [M] of [phase-total]: [status]
|
|
122
|
+
CONTEXT: [✓ if has_context | - if not]
|
|
123
|
+
|
|
124
|
+
## Key Decisions Made
|
|
125
|
+
- [decision 1 from STATE.md]
|
|
126
|
+
- [decision 2]
|
|
127
|
+
|
|
128
|
+
## Blockers/Concerns
|
|
129
|
+
- [any blockers or concerns from STATE.md]
|
|
130
|
+
|
|
131
|
+
## Pending Todos
|
|
132
|
+
- [count] pending — /gsd:check-todos to review
|
|
133
|
+
|
|
134
|
+
## Active Debug Sessions
|
|
135
|
+
- [count] active — /gsd:debug to continue
|
|
136
|
+
(Only show this section if count > 0)
|
|
137
|
+
|
|
138
|
+
## What's Next
|
|
139
|
+
[Next phase/plan objective from roadmap analyze]
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
</step>
|
|
143
|
+
|
|
144
|
+
<step name="route">
|
|
145
|
+
**Determine next action based on verified counts.**
|
|
146
|
+
|
|
147
|
+
**Step 1: Count plans, summaries, and issues in current phase**
|
|
148
|
+
|
|
149
|
+
List files in the current phase directory:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null | wc -l
|
|
153
|
+
ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null | wc -l
|
|
154
|
+
ls -1 .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null | wc -l
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
State: "This phase has {X} plans, {Y} summaries."
|
|
158
|
+
|
|
159
|
+
**Step 1.5: Check for unaddressed UAT gaps**
|
|
160
|
+
|
|
161
|
+
Check for UAT.md files with status "diagnosed" (has gaps needing fixes).
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Check for diagnosed UAT with gaps
|
|
165
|
+
grep -l "status: diagnosed" .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Track:
|
|
169
|
+
- `uat_with_gaps`: UAT.md files with status "diagnosed" (gaps need fixing)
|
|
170
|
+
|
|
171
|
+
**Step 2: Route based on counts**
|
|
172
|
+
|
|
173
|
+
| Condition | Meaning | Action |
|
|
174
|
+
|-----------|---------|--------|
|
|
175
|
+
| uat_with_gaps > 0 | UAT gaps need fix plans | Go to **Route E** |
|
|
176
|
+
| summaries < plans | Unexecuted plans exist | Go to **Route A** |
|
|
177
|
+
| summaries = plans AND plans > 0 | Phase complete | Go to Step 3 |
|
|
178
|
+
| plans = 0 | Phase not yet planned | Go to **Route B** |
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
**Route A: Unexecuted plan exists**
|
|
183
|
+
|
|
184
|
+
Find the first PLAN.md without matching SUMMARY.md.
|
|
185
|
+
Read its `<objective>` section.
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## ▶ Next Up
|
|
191
|
+
|
|
192
|
+
**{phase}-{plan}: [Plan Name]** — [objective summary from PLAN.md]
|
|
193
|
+
|
|
194
|
+
`/gsd:execute-phase {phase}`
|
|
195
|
+
|
|
196
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
**Route B: Phase needs planning**
|
|
204
|
+
|
|
205
|
+
Check if `{phase_num}-CONTEXT.md` exists in phase directory.
|
|
206
|
+
|
|
207
|
+
**If CONTEXT.md exists:**
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## ▶ Next Up
|
|
213
|
+
|
|
214
|
+
**Phase {N}: {Name}** — {Goal from ROADMAP.md}
|
|
215
|
+
<sub>✓ Context gathered, ready to plan</sub>
|
|
216
|
+
|
|
217
|
+
`/gsd:plan-phase {phase-number}`
|
|
218
|
+
|
|
219
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
**If CONTEXT.md does NOT exist:**
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## ▶ Next Up
|
|
230
|
+
|
|
231
|
+
**Phase {N}: {Name}** — {Goal from ROADMAP.md}
|
|
232
|
+
|
|
233
|
+
`/gsd:discuss-phase {phase}` — gather context and clarify approach
|
|
234
|
+
|
|
235
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
**Also available:**
|
|
240
|
+
- `/gsd:plan-phase {phase}` — skip discussion, plan directly
|
|
241
|
+
- `/gsd:list-phase-assumptions {phase}` — see Claude's assumptions
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
**Route E: UAT gaps need fix plans**
|
|
249
|
+
|
|
250
|
+
UAT.md exists with gaps (diagnosed issues). User needs to plan fixes.
|
|
251
|
+
|
|
252
|
+
```
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## ⚠ UAT Gaps Found
|
|
256
|
+
|
|
257
|
+
**{phase_num}-UAT.md** has {N} gaps requiring fixes.
|
|
258
|
+
|
|
259
|
+
`/gsd:plan-phase {phase} --gaps`
|
|
260
|
+
|
|
261
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
**Also available:**
|
|
266
|
+
- `/gsd:execute-phase {phase}` — execute phase plans
|
|
267
|
+
- `/gsd:verify-work {phase}` — run more UAT testing
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
**Step 3: Check milestone status (only when phase complete)**
|
|
275
|
+
|
|
276
|
+
Read ROADMAP.md and identify:
|
|
277
|
+
1. Current phase number
|
|
278
|
+
2. All phase numbers in the current milestone section
|
|
279
|
+
|
|
280
|
+
Count total phases and identify the highest phase number.
|
|
281
|
+
|
|
282
|
+
State: "Current phase is {X}. Milestone has {N} phases (highest: {Y})."
|
|
283
|
+
|
|
284
|
+
**Route based on milestone status:**
|
|
285
|
+
|
|
286
|
+
| Condition | Meaning | Action |
|
|
287
|
+
|-----------|---------|--------|
|
|
288
|
+
| current phase < highest phase | More phases remain | Go to **Route C** |
|
|
289
|
+
| current phase = highest phase | Milestone complete | Go to **Route D** |
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
**Route C: Phase complete, more phases remain**
|
|
294
|
+
|
|
295
|
+
Read ROADMAP.md to get the next phase's name and goal.
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## ✓ Phase {Z} Complete
|
|
301
|
+
|
|
302
|
+
## ▶ Next Up
|
|
303
|
+
|
|
304
|
+
**Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
|
|
305
|
+
|
|
306
|
+
`/gsd:discuss-phase {Z+1}` — gather context and clarify approach
|
|
307
|
+
|
|
308
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
**Also available:**
|
|
313
|
+
- `/gsd:plan-phase {Z+1}` — skip discussion, plan directly
|
|
314
|
+
- `/gsd:verify-work {Z}` — user acceptance test before continuing
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
**Route D: Milestone complete**
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## 🎉 Milestone Complete
|
|
327
|
+
|
|
328
|
+
All {N} phases finished!
|
|
329
|
+
|
|
330
|
+
## ▶ Next Up
|
|
331
|
+
|
|
332
|
+
**Complete Milestone** — archive and prepare for next
|
|
333
|
+
|
|
334
|
+
`/gsd:complete-milestone`
|
|
335
|
+
|
|
336
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
**Also available:**
|
|
341
|
+
- `/gsd:verify-work` — user acceptance test before completing milestone
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
**Route F: Between milestones (ROADMAP.md missing, PROJECT.md exists)**
|
|
349
|
+
|
|
350
|
+
A milestone was completed and archived. Ready to start the next milestone cycle.
|
|
351
|
+
|
|
352
|
+
Read MILESTONES.md to find the last completed milestone version.
|
|
353
|
+
|
|
354
|
+
```
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## ✓ Milestone v{X.Y} Complete
|
|
358
|
+
|
|
359
|
+
Ready to plan the next milestone.
|
|
360
|
+
|
|
361
|
+
## ▶ Next Up
|
|
362
|
+
|
|
363
|
+
**Start Next Milestone** — questioning → research → requirements → roadmap
|
|
364
|
+
|
|
365
|
+
`/gsd:new-milestone`
|
|
366
|
+
|
|
367
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
</step>
|
|
373
|
+
|
|
374
|
+
<step name="edge_cases">
|
|
375
|
+
**Handle edge cases:**
|
|
376
|
+
|
|
377
|
+
- Phase complete but next phase not planned → offer `/gsd:plan-phase [next]`
|
|
378
|
+
- All work complete → offer milestone completion
|
|
379
|
+
- Blockers present → highlight before offering to continue
|
|
380
|
+
- Handoff file exists → mention it, offer `/gsd:resume-work`
|
|
381
|
+
</step>
|
|
382
|
+
|
|
383
|
+
</process>
|
|
384
|
+
|
|
385
|
+
<success_criteria>
|
|
386
|
+
|
|
387
|
+
- [ ] Rich context provided (recent work, decisions, issues)
|
|
388
|
+
- [ ] Current position clear with visual progress
|
|
389
|
+
- [ ] What's next clearly explained
|
|
390
|
+
- [ ] Smart routing: /gsd:execute-phase if plans exist, /gsd:plan-phase if not
|
|
391
|
+
- [ ] User confirms before any action
|
|
392
|
+
- [ ] Seamless handoff to appropriate gsd command
|
|
393
|
+
</success_criteria>
|