specdacular 0.7.2 → 0.8.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.
Files changed (63) hide show
  1. package/README.md +71 -74
  2. package/commands/specd/continue.md +59 -0
  3. package/commands/specd/new.md +65 -0
  4. package/commands/specd/status.md +1 -1
  5. package/commands/specd/toolbox.md +59 -0
  6. package/package.json +1 -1
  7. package/specdacular/HELP.md +17 -15
  8. package/specdacular/agents/feature-researcher.md +4 -4
  9. package/specdacular/references/load-context.md +83 -0
  10. package/specdacular/references/record-decision.md +61 -0
  11. package/specdacular/references/select-feature.md +20 -20
  12. package/specdacular/references/select-phase.md +3 -3
  13. package/specdacular/references/spawn-research-agents.md +180 -0
  14. package/specdacular/references/synthesize-research.md +127 -0
  15. package/specdacular/references/validate-task.md +64 -0
  16. package/specdacular/templates/{features → tasks}/CHANGELOG.md +2 -8
  17. package/specdacular/templates/{features → tasks}/CONTEXT.md +6 -17
  18. package/specdacular/templates/tasks/DECISIONS.md +46 -0
  19. package/specdacular/templates/{features → tasks}/FEATURE.md +3 -3
  20. package/specdacular/templates/tasks/PLAN.md +91 -0
  21. package/specdacular/templates/tasks/RESEARCH.md +121 -0
  22. package/specdacular/templates/{features → tasks}/ROADMAP.md +6 -43
  23. package/specdacular/templates/tasks/STATE.md +93 -0
  24. package/specdacular/templates/tasks/config.json +15 -0
  25. package/specdacular/workflows/continue.md +275 -0
  26. package/specdacular/workflows/discuss.md +184 -0
  27. package/specdacular/workflows/execute.md +174 -0
  28. package/specdacular/workflows/new.md +299 -0
  29. package/specdacular/workflows/orchestrator/new.md +265 -0
  30. package/specdacular/workflows/orchestrator/plan.md +169 -0
  31. package/specdacular/workflows/plan.md +201 -0
  32. package/specdacular/workflows/research.md +166 -0
  33. package/specdacular/workflows/review.md +289 -0
  34. package/specdacular/workflows/status.md +17 -17
  35. package/commands/specd/blueprint.md +0 -64
  36. package/commands/specd/feature/continue.md +0 -84
  37. package/commands/specd/feature/new.md +0 -67
  38. package/commands/specd/feature/toolbox.md +0 -49
  39. package/specdacular/templates/blueprint/index.html +0 -110
  40. package/specdacular/templates/blueprint/scripts.js +0 -71
  41. package/specdacular/templates/blueprint/styles.css +0 -429
  42. package/specdacular/templates/features/DECISIONS.md +0 -109
  43. package/specdacular/templates/features/DEPENDENCIES.md +0 -47
  44. package/specdacular/templates/features/PLAN.md +0 -180
  45. package/specdacular/templates/features/RESEARCH.md +0 -183
  46. package/specdacular/templates/features/STATE.md +0 -110
  47. package/specdacular/templates/features/config.json +0 -20
  48. package/specdacular/workflows/blueprint-diagrams.md +0 -273
  49. package/specdacular/workflows/blueprint-wireframes.md +0 -312
  50. package/specdacular/workflows/blueprint.md +0 -372
  51. package/specdacular/workflows/continue-feature.md +0 -621
  52. package/specdacular/workflows/discuss-feature.md +0 -382
  53. package/specdacular/workflows/execute-plan.md +0 -636
  54. package/specdacular/workflows/insert-phase.md +0 -246
  55. package/specdacular/workflows/new-feature.md +0 -760
  56. package/specdacular/workflows/plan-feature.md +0 -691
  57. package/specdacular/workflows/plan-phase.md +0 -355
  58. package/specdacular/workflows/prepare-phase.md +0 -745
  59. package/specdacular/workflows/renumber-phases.md +0 -273
  60. package/specdacular/workflows/research-feature.md +0 -252
  61. package/specdacular/workflows/research-phase.md +0 -576
  62. package/specdacular/workflows/review-feature.md +0 -316
  63. package/specdacular/workflows/review-phase.md +0 -545
@@ -1,316 +0,0 @@
1
- <purpose>
2
- User-guided review of an executed phase. Shows what was built (git diff), provides test guidance, and takes user feedback to generate fix plans.
3
-
4
- **Core principle:** Show, don't fix. The user examines the code, reports issues, and the review workflow creates targeted fix plans.
5
-
6
- **Output:** Phase approved (status → completed) or fix plans in decimal-numbered phase directories.
7
- </purpose>
8
-
9
- <philosophy>
10
-
11
- ## Show, Don't Fix
12
-
13
- The review workflow does NOT auto-fix code. It presents what was built and lets the user drive. The user has better judgment about code quality, correctness, and fit.
14
-
15
- ## Git Diff Is Ground Truth
16
-
17
- File tracking uses `git diff` against the phase start commit (DEC-012). This captures everything: planned work, auto-fixes, deviations — not just what the plan intended.
18
-
19
- ## Fix Plans, Not Inline Fixes
20
-
21
- When the user reports issues, the review creates proper PLAN.md files in decimal-numbered directories (DEC-006, DEC-014). These fix plans are executed with the same execute-plan workflow as regular plans, maintaining consistency.
22
-
23
- ## Review Loop
24
-
25
- After fix plans execute, the review loops back — showing the updated diff and asking again. This continues until the user approves.
26
-
27
- </philosophy>
28
-
29
- <process>
30
-
31
- <step name="select_feature">
32
- @~/.claude/specdacular/references/select-feature.md
33
-
34
- Continue to load_context.
35
- </step>
36
-
37
- <step name="load_context">
38
- Load context needed for review.
39
-
40
- **Read feature context:**
41
- - `config.json` — `phases.current`, `phases.phase_start_commit`, `phases.current_status`
42
- - `STATE.md` — Completed plans for current phase
43
- - `ROADMAP.md` — Phase name and goals
44
- - `CHANGELOG.md` — Deviations from this phase
45
-
46
- **Validate:**
47
- - `phases.current_status` must be `"executed"` (all plans done, pending review)
48
- - `phases.phase_start_commit` must exist (recorded when execution started)
49
-
50
- **If current_status is not "executed":**
51
- ```
52
- Phase {N} is not in "executed" state (current: {status}).
53
-
54
- Run /specd:feature:continue to get to the right step.
55
- ```
56
- End workflow.
57
-
58
- **Read current phase's PLAN.md files:**
59
- ```bash
60
- ls .specd/features/{feature}/plans/phase-{NN}/*-PLAN.md
61
- ```
62
- For each plan, extract:
63
- - Objective
64
- - Success criteria
65
- - Files listed in tasks
66
-
67
- Continue to show_review.
68
- </step>
69
-
70
- <step name="show_review">
71
- Present what was built and ask for approval.
72
-
73
- **Get files changed:**
74
- ```bash
75
- git diff {phase_start_commit}..HEAD --stat
76
- git diff {phase_start_commit}..HEAD --name-status
77
- ```
78
-
79
- **Build summary from plan objectives:**
80
- For each executed plan in this phase, extract the one-line objective.
81
-
82
- **Derive test guidance from:**
83
- - Plan success criteria (what should be verifiable)
84
- - File types created (e.g., if workflow .md files: "test by running the commands")
85
- - CHANGELOG.md deviations (anything unusual to check)
86
-
87
- **Present:**
88
- ```
89
- ### Phase {N}: {phase-name} — Review
90
-
91
- **Files changed:**
92
- {git diff --stat output}
93
-
94
- **What was built:**
95
- {For each plan: one-line objective summary}
96
-
97
- **How to test:**
98
- {Test guidance derived from success criteria and file types}
99
-
100
- **Deviations from plan:**
101
- {From CHANGELOG.md for this phase, or "None"}
102
- ```
103
-
104
- Use AskUserQuestion:
105
- - header: "Review"
106
- - question: "Is Phase {N} OK, or do you want to revise?"
107
- - options:
108
- - "Looks good" — Approve phase, mark completed
109
- - "I want to revise" — Describe what needs fixing
110
- - "Stop for now" — Come back later with /specd:feature:continue
111
-
112
- **If "Looks good":**
113
- → Go to approve_phase
114
-
115
- **If "I want to revise":**
116
- → Go to collect_feedback
117
-
118
- **If "Stop for now":**
119
- ```
120
- ───────────────────────────────────────────────────────
121
-
122
- Progress saved. Phase stays in "executed" state.
123
- Resume review with /specd:feature:continue {feature-name}
124
- ```
125
- End workflow.
126
- </step>
127
-
128
- <step name="collect_feedback">
129
- Gather user feedback on what needs fixing.
130
-
131
- **Ask the user to describe issues:**
132
- ```
133
- Tell me what needs fixing. You can describe:
134
- - Bugs or incorrect behavior
135
- - Approach you'd prefer changed
136
- - Missing functionality
137
- - Code quality issues
138
-
139
- Describe as many issues as you want — I'll create a fix plan for all of them.
140
- ```
141
-
142
- Wait for user response.
143
-
144
- **Follow up to understand each issue:**
145
- For each issue mentioned:
146
- - What file/component is affected?
147
- - What's wrong (bug, wrong approach, missing)?
148
- - What should it look like instead?
149
-
150
- After understanding all issues, continue to create_fix_plan.
151
- </step>
152
-
153
- <step name="create_fix_plan">
154
- Create a fix plan from user feedback.
155
-
156
- **Determine fix phase number:**
157
- ```bash
158
- # Check existing decimal phases for current phase
159
- ls -d .specd/features/{feature}/plans/phase-{N}.* 2>/dev/null | sort -V | tail -1
160
- ```
161
-
162
- - If no decimal phases exist → create `phase-{N}.1/`
163
- - If `phase-{N}.1/` exists → create `phase-{N}.2/`, etc.
164
- - Increment from the highest existing decimal
165
-
166
- **Create fix phase directory:**
167
- ```bash
168
- mkdir -p .specd/features/{feature}/plans/phase-{N.M}/
169
- ```
170
-
171
- **Write fix plan:**
172
- Write `01-PLAN.md` in the new directory using standard plan format:
173
-
174
- ```markdown
175
- ---
176
- feature: {feature-name}
177
- phase: {N.M}
178
- plan: 01
179
- depends_on: []
180
- creates: []
181
- modifies:
182
- - {files that need fixing}
183
- ---
184
-
185
- # Plan 01: Fix Phase {N} Issues
186
-
187
- ## Objective
188
-
189
- Address review feedback for Phase {N}: {phase-name}.
190
-
191
- ## Context
192
-
193
- **User feedback:**
194
- {Summarize each issue reported}
195
-
196
- ## Tasks
197
-
198
- ### Task 1: {Fix description}
199
- **Files:** `{file}`
200
- **Action:** {What to change}
201
- **Verify:** {How to verify the fix}
202
- **Done when:** {Acceptance criteria}
203
-
204
- {Repeat for each issue}
205
- ```
206
-
207
- **Update ROADMAP.md:**
208
- Add the fix phase entry after the parent phase.
209
-
210
- **Commit the fix plan:**
211
- ```bash
212
- git add .specd/features/{feature}/plans/phase-{N.M}/ .specd/features/{feature}/ROADMAP.md
213
- git commit -m "docs({feature}): create fix plan phase-{N.M}
214
-
215
- Review feedback:
216
- - {issue summaries}"
217
- ```
218
-
219
- Present:
220
- ```
221
- Fix plan created: plans/phase-{N.M}/01-PLAN.md
222
- {task_count} task(s) to address your feedback.
223
- ```
224
-
225
- Continue to offer_execution.
226
- </step>
227
-
228
- <step name="offer_execution">
229
- Offer to execute the fix plan.
230
-
231
- Use AskUserQuestion:
232
- - header: "Fix Plan"
233
- - question: "Execute the fix plan now?"
234
- - options:
235
- - "Execute" — Run the fix plan (recommended)
236
- - "Stop for now" — Come back later
237
-
238
- **If "Execute":**
239
- Execute the fix plan using the execute-plan workflow logic:
240
- @~/.claude/specdacular/workflows/execute-plan.md
241
-
242
- Pass feature name as argument. The execute-plan workflow will find the fix plan as the next incomplete plan.
243
-
244
- After execution completes, loop back to show_review (updated diff will reflect fixes).
245
-
246
- **If "Stop for now":**
247
- ```
248
- ───────────────────────────────────────────────────────
249
-
250
- Fix plan saved. Resume with /specd:feature:continue {feature-name}
251
- ```
252
- End workflow.
253
- </step>
254
-
255
- <step name="approve_phase">
256
- Mark phase as completed and advance to next.
257
-
258
- **Update config.json:**
259
- ```json
260
- {
261
- "phases": {
262
- "current_status": "completed",
263
- "completed": {N},
264
- "current": {N+1},
265
- "phase_start_commit": null
266
- }
267
- }
268
- ```
269
-
270
- Then immediately reset for next phase:
271
- ```json
272
- {
273
- "phases": {
274
- "current_status": "pending"
275
- }
276
- }
277
- ```
278
-
279
- (In practice: increment completed, advance current, set current_status to "pending", remove phase_start_commit.)
280
-
281
- **Update STATE.md:**
282
- Mark phase as complete in execution progress checkboxes.
283
-
284
- **Commit state changes:**
285
- ```bash
286
- git add .specd/features/{feature}/config.json .specd/features/{feature}/STATE.md
287
- git commit -m "docs({feature}): phase {N} approved — review complete"
288
- ```
289
-
290
- **Present:**
291
- ```
292
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
293
- PHASE {N} COMPLETE
294
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
295
-
296
- Phase {N}: {phase-name} approved.
297
- {If more phases: "Next: Phase {N+1}: {next-phase-name}"}
298
- {If all phases done: "All phases complete!"}
299
- ```
300
-
301
- End workflow (returns to continue-feature which re-reads state).
302
- </step>
303
-
304
- </process>
305
-
306
- <success_criteria>
307
- - [ ] Feature selected (from argument or picker)
308
- - [ ] Phase validated as "executed" status
309
- - [ ] Git diff shows actual files changed (DEC-012)
310
- - [ ] Test guidance derived from plan objectives/success criteria
311
- - [ ] User can approve or request revisions
312
- - [ ] Fix plans created in decimal-numbered directories (DEC-006, DEC-014)
313
- - [ ] Fix plan execution loops back to review
314
- - [ ] Approval updates config.json and STATE.md (DEC-009, DEC-013)
315
- - [ ] Phase advances only after explicit user approval
316
- </success_criteria>