specdacular 0.7.0 → 0.7.1

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 (36) hide show
  1. package/README.md +39 -86
  2. package/commands/specd/feature/{next.md → continue.md} +6 -6
  3. package/commands/specd/feature/new.md +2 -2
  4. package/commands/specd/feature/toolbox.md +49 -0
  5. package/commands/specd/help.md +1 -146
  6. package/commands/specd/update.md +4 -6
  7. package/package.json +1 -1
  8. package/specdacular/HELP.md +84 -0
  9. package/specdacular/references/commit-code.md +34 -0
  10. package/specdacular/references/commit-docs.md +35 -0
  11. package/specdacular/references/select-feature.md +57 -0
  12. package/specdacular/references/select-phase.md +30 -0
  13. package/specdacular/templates/features/STATE.md +11 -1
  14. package/specdacular/workflows/{next-feature.md → continue-feature.md} +50 -90
  15. package/specdacular/workflows/discuss-feature.md +4 -27
  16. package/specdacular/workflows/execute-plan.md +75 -47
  17. package/specdacular/workflows/insert-phase.md +50 -26
  18. package/specdacular/workflows/map-codebase.md +4 -30
  19. package/specdacular/workflows/new-feature.md +14 -38
  20. package/specdacular/workflows/plan-feature.md +6 -29
  21. package/specdacular/workflows/plan-phase.md +4 -29
  22. package/specdacular/workflows/prepare-phase.md +4 -35
  23. package/specdacular/workflows/research-phase.md +4 -30
  24. package/specdacular/workflows/review-feature.md +316 -0
  25. package/specdacular/workflows/review-phase.md +4 -30
  26. package/specdacular/workflows/toolbox.md +115 -0
  27. package/commands/specd/feature/discuss.md +0 -66
  28. package/commands/specd/feature/plan.md +0 -68
  29. package/commands/specd/feature/research.md +0 -459
  30. package/commands/specd/phase/execute.md +0 -68
  31. package/commands/specd/phase/insert.md +0 -62
  32. package/commands/specd/phase/plan.md +0 -73
  33. package/commands/specd/phase/prepare.md +0 -75
  34. package/commands/specd/phase/renumber.md +0 -66
  35. package/commands/specd/phase/research.md +0 -65
  36. package/commands/specd/phase/review.md +0 -80
@@ -3,7 +3,7 @@ Insert a new phase after an existing one using decimal numbering (e.g., Phase 03
3
3
 
4
4
  **Key principles:**
5
5
  - Decimal numbering preserves existing phase sequence
6
- - Never renumber existing phases — that's what renumber-phases is for
6
+ - Never renumber existing phases — decimal numbering eliminates renumbering
7
7
  - Create directory structure but don't create plans — user decides how to plan
8
8
  - Mark inserted phases with `(INSERTED)` in ROADMAP.md
9
9
 
@@ -12,29 +12,47 @@ Insert a new phase after an existing one using decimal numbering (e.g., Phase 03
12
12
 
13
13
  <process>
14
14
 
15
- <step name="parse_arguments">
16
- Parse the command arguments:
17
- - First argument: feature name
18
- - Second argument: integer phase number to insert after
19
- - Remaining arguments: phase description
15
+ <step name="select_feature">
16
+ @~/.claude/specdacular/references/select-feature.md
20
17
 
21
- Example: `/specd:phase:insert visual-blueprint-tool 3 Architecture Update`
22
- → feature = "visual-blueprint-tool"
23
- → after = 3
24
- → description = "Architecture Update"
18
+ Continue to select_target.
19
+ </step>
25
20
 
26
- **Validation:**
27
- - All three parts are required (feature, phase number, description)
28
- - Phase number must be a positive integer
29
- - Cannot insert before Phase 1 (no Phase 0.x)
21
+ <step name="select_target">
22
+ Determine where to insert and what the phase is about.
23
+
24
+ **If arguments include phase number and description (e.g., direct invocation):**
25
+ Parse from arguments:
26
+ - Second token: integer phase number to insert after
27
+ - Remaining tokens: phase description
28
+
29
+ Continue to validate.
30
30
 
31
- **If arguments missing:**
31
+ **If arguments are just feature name (e.g., from toolbox dispatch):**
32
+
33
+ Read ROADMAP.md and show current phases:
34
+ ```
35
+ Current phases:
36
+ {List each phase with number and name from ROADMAP.md}
32
37
  ```
33
- ERROR: Missing arguments.
34
38
 
35
- Usage: /specd:phase:insert [feature-name] [after-phase] [description...]
36
- Example: /specd:phase:insert visual-blueprint-tool 3 Architecture Update
39
+ Use AskUserQuestion:
40
+ - header: "Insert After"
41
+ - question: "Insert new phase after which existing phase?"
42
+ - options: List each phase as an option (e.g., "Phase 1: Rename + Toolbox", "Phase 2: Review + State Machine", etc.)
43
+
44
+ After selection, ask:
45
+ ```
46
+ What's this new phase about? Give a brief name and goal.
37
47
  ```
48
+
49
+ Wait for response.
50
+
51
+ **Validation:**
52
+ - Phase number must be a positive integer (or existing decimal phase)
53
+ - Cannot insert before Phase 1 (no Phase 0.x)
54
+
55
+ Continue to validate.
38
56
  </step>
39
57
 
40
58
  <step name="validate">
@@ -161,7 +179,7 @@ Insert this line after `Phase {after_phase}` checkbox and before `Phase {after_p
161
179
  Update config.json to reflect the new phase count.
162
180
 
163
181
  1. Read config.json
164
- 2. Increment `phases_count` by 1
182
+ 2. Increment `phases.total` by 1
165
183
  3. Write updated config.json
166
184
  </step>
167
185
 
@@ -181,18 +199,24 @@ Present completion summary:
181
199
  **Updated:**
182
200
  - ROADMAP.md — New phase section added
183
201
  - STATE.md — Evolution note + unchecked checkbox
184
- - config.json — phases_count incremented
202
+ - config.json — phases.total incremented
185
203
 
186
204
  ───────────────────────────────────────────────────────
187
205
 
188
206
  ## Next Steps
189
207
 
190
- - `/specd:phase:prepare {feature} {new_phase}` — Discuss + optionally research the new phase
191
- - `/specd:phase:plan {feature} {new_phase}` — Create detailed plans for the phase
192
- - `/specd:phase:execute {feature}` — Execute when plans exist
193
- - `/specd:phase:renumber {feature}` — Clean up to integer sequence when ready
208
+ `/specd:feature:continue {feature}` — Picks up the new phase automatically
209
+ `/specd:feature:toolbox {feature}` — Prepare, plan, or discuss the new phase
194
210
  ```
195
211
 
212
+ **Commit changes:**
213
+
214
+ @~/.claude/specdacular/references/commit-docs.md
215
+
216
+ - **$FILES:** `.specd/features/{feature}/ROADMAP.md .specd/features/{feature}/STATE.md .specd/features/{feature}/config.json .specd/features/{feature}/plans/phase-{new_phase}/`
217
+ - **$MESSAGE:** `docs({feature}): insert phase {new_phase} — {description}`
218
+ - **$LABEL:** `phase insertion`
219
+
196
220
  End workflow.
197
221
  </step>
198
222
 
@@ -200,7 +224,7 @@ End workflow.
200
224
 
201
225
  <anti_patterns>
202
226
  - Don't insert before Phase 1 (Phase 0.x makes no sense)
203
- - Don't renumber existing phases (that's /specd:phase:renumber)
227
+ - Don't renumber existing phases decimal numbering eliminates renumbering
204
228
  - Don't modify the target phase content
205
229
  - Don't create plans yet — user decides how to plan (discuss, research, or manual)
206
230
  - Don't commit changes — user decides when to commit
@@ -217,6 +241,6 @@ Phase insertion is complete when:
217
241
  - [ ] ROADMAP.md updated with new phase entry (includes `(INSERTED)` marker)
218
242
  - [ ] Phase inserted in correct position (after target phase, before next integer phase)
219
243
  - [ ] STATE.md updated with roadmap evolution note and unchecked checkbox
220
- - [ ] config.json `phases_count` incremented
244
+ - [ ] config.json `phases.total` incremented
221
245
  - [ ] User informed of next steps
222
246
  </success_criteria>
@@ -358,37 +358,11 @@ Continue to commit_codebase_map.
358
358
  <step name="commit_codebase_map">
359
359
  Commit the codebase map.
360
360
 
361
- **First, check auto-commit setting. Run this command:**
361
+ @~/.claude/specdacular/references/commit-docs.md
362
362
 
363
- ```bash
364
- cat .specd/config.json 2>/dev/null || echo '{"auto_commit_docs": true}'
365
- ```
366
-
367
- Read the output. If `auto_commit_docs` is `false`, do NOT run the git commands below. Instead print:
368
-
369
- ```
370
- Auto-commit disabled for docs — changes not committed.
371
- Modified files: .specd/codebase/*.md
372
- ```
373
-
374
- Then skip ahead to completion.
375
-
376
- **Only if `auto_commit_docs` is `true` or not set (default), run:**
377
-
378
- ```bash
379
- git add .specd/codebase/*.md .specd/config.json
380
- git commit -m "$(cat <<'EOF'
381
- docs: map codebase for Claude
382
-
383
- - MAP.md - Navigation: modules, functions, integrations
384
- - PATTERNS.md - Code examples: services, errors, testing
385
- - STRUCTURE.md - Organization: where to put new code
386
- - CONCERNS.md - Warnings: gotchas, anti-patterns, debt
387
-
388
- Co-Authored-By: Claude <noreply@anthropic.com>
389
- EOF
390
- )"
391
- ```
363
+ - **$FILES:** `.specd/codebase/*.md .specd/config.json`
364
+ - **$MESSAGE:** `docs: map codebase for Claude` with list of documents created
365
+ - **$LABEL:** `codebase map`
392
366
 
393
367
  Continue to completion.
394
368
  </step>
@@ -453,7 +453,7 @@ Use AskUserQuestion:
453
453
  - question: "Want to keep discussing the open areas, or come back later?"
454
454
  - options:
455
455
  - "Keep discussing" — Dive into the gray areas now
456
- - "Stop for now" — Come back with /specd:feature:next {feature-name}
456
+ - "Stop for now" — Come back with /specd:feature:continue {feature-name}
457
457
 
458
458
  **If Keep discussing:**
459
459
  Execute the discuss-feature workflow logic:
@@ -468,11 +468,11 @@ Use AskUserQuestion:
468
468
  - question: "Discussion looks solid. Want to keep going or come back later?"
469
469
  - options:
470
470
  - "Continue" — Move to the next step (research or planning)
471
- - "Stop for now" — Come back with /specd:feature:next {feature-name}
471
+ - "Stop for now" — Come back with /specd:feature:continue {feature-name}
472
472
 
473
473
  **If Continue:**
474
- Hand off to next-feature workflow:
475
- @~/.claude/specdacular/workflows/next-feature.md
474
+ Hand off to continue-feature workflow:
475
+ @~/.claude/specdacular/workflows/continue-feature.md
476
476
 
477
477
  Start from the read_state step with the current feature.
478
478
 
@@ -482,7 +482,7 @@ Start from the read_state step with the current feature.
482
482
 
483
483
  Progress saved. Pick up where you left off anytime:
484
484
 
485
- /specd:feature:next {feature-name}
485
+ /specd:feature:continue {feature-name}
486
486
  ```
487
487
 
488
488
  End workflow.
@@ -641,35 +641,11 @@ Continue to commit.
641
641
  <step name="commit">
642
642
  Commit the feature initialization.
643
643
 
644
- **First, check auto-commit setting. Run this command:**
644
+ @~/.claude/specdacular/references/commit-docs.md
645
645
 
646
- ```bash
647
- cat .specd/config.json 2>/dev/null || echo '{"auto_commit_docs": true}'
648
- ```
649
-
650
- Read the output. If `auto_commit_docs` is `false`, do NOT run the git commands below. Instead print:
651
-
652
- ```
653
- Auto-commit disabled for docs — changes not committed.
654
- Modified files: .specd/features/{feature-name}/
655
- ```
656
-
657
- Then skip ahead to completion.
658
-
659
- **Only if `auto_commit_docs` is `true` or not set (default), run:**
660
-
661
- ```bash
662
- git add .specd/features/{feature-name}/
663
- git commit -m "docs({feature-name}): initialize feature
664
-
665
- Creates feature structure with:
666
- - FEATURE.md: Technical requirements
667
- - CONTEXT.md: Discussion context
668
- - DECISIONS.md: Decision log ({N} decisions)
669
- - CHANGELOG.md: Implementation log (empty)
670
- - STATE.md: Progress tracking
671
- - config.json: Configuration"
672
- ```
646
+ - **$FILES:** `.specd/features/{feature-name}/`
647
+ - **$MESSAGE:** `docs({feature-name}): initialize feature` with list of created files
648
+ - **$LABEL:** `feature initialization`
673
649
 
674
650
  Continue to completion.
675
651
  </step>
@@ -717,7 +693,7 @@ Use AskUserQuestion:
717
693
  - question: "Want to keep discussing the open areas, or come back later?"
718
694
  - options:
719
695
  - "Keep discussing" — Dive into the gray areas now
720
- - "Stop for now" — Come back with /specd:feature:next {feature-name}
696
+ - "Stop for now" — Come back with /specd:feature:continue {feature-name}
721
697
 
722
698
  **If Keep discussing:**
723
699
  Execute the discuss-feature workflow logic:
@@ -732,11 +708,11 @@ Use AskUserQuestion:
732
708
  - question: "Discussion looks solid. Want to keep going or come back later?"
733
709
  - options:
734
710
  - "Continue" — Move to the next step (research or planning)
735
- - "Stop for now" — Come back with /specd:feature:next {feature-name}
711
+ - "Stop for now" — Come back with /specd:feature:continue {feature-name}
736
712
 
737
713
  **If Continue:**
738
- Hand off to the next-feature workflow logic to determine next action:
739
- @~/.claude/specdacular/workflows/next-feature.md
714
+ Hand off to the continue-feature workflow logic to determine next action:
715
+ @~/.claude/specdacular/workflows/continue-feature.md
740
716
 
741
717
  Start from the read_state step with the current feature.
742
718
 
@@ -746,7 +722,7 @@ Start from the read_state step with the current feature.
746
722
 
747
723
  Progress saved. Pick up where you left off anytime:
748
724
 
749
- /specd:feature:next {feature-name}
725
+ /specd:feature:continue {feature-name}
750
726
  ```
751
727
 
752
728
  End workflow.
@@ -443,7 +443,7 @@ No cycles detected.
443
443
 
444
444
  The orchestrator will guide you through phases respecting cross-project dependencies.
445
445
 
446
- /specd:feature:next {feature-name} — Start executing phases
446
+ /specd:feature:continue {feature-name} — Start executing phases
447
447
  ```
448
448
 
449
449
  End workflow.
@@ -609,34 +609,11 @@ Continue to commit.
609
609
  <step name="commit">
610
610
  Commit the roadmap.
611
611
 
612
- **First, check auto-commit setting. Run this command:**
612
+ @~/.claude/specdacular/references/commit-docs.md
613
613
 
614
- ```bash
615
- cat .specd/config.json 2>/dev/null || echo '{"auto_commit_docs": true}'
616
- ```
617
-
618
- Read the output. If `auto_commit_docs` is `false`, do NOT run the git commands below. Instead print:
619
-
620
- ```
621
- Auto-commit disabled for docs — changes not committed.
622
- Modified files: .specd/features/{feature-name}/ROADMAP.md, plans/, STATE.md, config.json
623
- ```
624
-
625
- Then skip ahead to completion.
626
-
627
- **Only if `auto_commit_docs` is `true` or not set (default), run:**
628
-
629
- ```bash
630
- git add .specd/features/{feature-name}/ROADMAP.md .specd/features/{feature-name}/plans/ .specd/features/{feature-name}/STATE.md .specd/features/{feature-name}/config.json
631
- git commit -m "docs({feature-name}): create roadmap
632
-
633
- Phases: {N}
634
-
635
- Phase structure:
636
- - Phase 1: {name}
637
- - Phase 2: {name}
638
- ..."
639
- ```
614
+ - **$FILES:** `.specd/features/{feature-name}/ROADMAP.md .specd/features/{feature-name}/plans/ .specd/features/{feature-name}/STATE.md .specd/features/{feature-name}/config.json`
615
+ - **$MESSAGE:** `docs({feature-name}): create roadmap` with phase count and structure
616
+ - **$LABEL:** `roadmap creation`
640
617
 
641
618
  Continue to completion.
642
619
  </step>
@@ -709,6 +686,6 @@ End workflow.
709
686
  - Topological sort validates no cycles (DEC-009)
710
687
  - DEPENDENCIES.md written with table + Mermaid DAG
711
688
  - All roadmaps, state, and config committed
712
- - User knows to use /specd:feature:next for execution
689
+ - User knows to use /specd:feature:continue for execution
713
690
 
714
691
  </success_criteria>
@@ -301,36 +301,11 @@ Continue to commit.
301
301
  <step name="commit">
302
302
  Commit the plans.
303
303
 
304
- **First, check auto-commit setting. Run this command:**
304
+ @~/.claude/specdacular/references/commit-docs.md
305
305
 
306
- ```bash
307
- cat .specd/config.json 2>/dev/null || echo '{"auto_commit_docs": true}'
308
- ```
309
-
310
- Read the output. If `auto_commit_docs` is `false`, do NOT run the git commands below. Instead print:
311
-
312
- ```
313
- Auto-commit disabled for docs — changes not committed.
314
- Modified files: .specd/features/{feature-name}/plans/phase-{NN}/*-PLAN.md, ROADMAP.md, STATE.md
315
- ```
316
-
317
- Then skip ahead to completion.
318
-
319
- **Only if `auto_commit_docs` is `true` or not set (default), run:**
320
-
321
- ```bash
322
- git add .specd/features/{feature-name}/plans/phase-{NN}/*-PLAN.md
323
- git add .specd/features/{feature-name}/ROADMAP.md
324
- git add .specd/features/{feature-name}/STATE.md
325
- git commit -m "docs({feature-name}): plan phase {N} - {phase title}
326
-
327
- Plans: {count}
328
- Tasks: {total tasks across plans}
329
-
330
- Plan structure:
331
- - {01-PLAN.md}: {summary}
332
- - {02-PLAN.md}: {summary}"
333
- ```
306
+ - **$FILES:** `.specd/features/{feature-name}/plans/phase-{NN}/*-PLAN.md .specd/features/{feature-name}/ROADMAP.md .specd/features/{feature-name}/STATE.md`
307
+ - **$MESSAGE:** `docs({feature-name}): plan phase {N} - {phase title}` with plan count, task count, and plan structure
308
+ - **$LABEL:** `phase plans`
334
309
 
335
310
  Continue to completion.
336
311
  </step>
@@ -676,42 +676,11 @@ Continue to commit.
676
676
  <step name="commit">
677
677
  Commit the phase preparation.
678
678
 
679
- **First, check auto-commit setting. Run this command:**
679
+ @~/.claude/specdacular/references/commit-docs.md
680
680
 
681
- ```bash
682
- cat .specd/config.json 2>/dev/null || echo '{"auto_commit_docs": true}'
683
- ```
684
-
685
- Read the output. If `auto_commit_docs` is `false`, do NOT run the git commands below. Instead print:
686
-
687
- ```
688
- Auto-commit disabled for docs — changes not committed.
689
- Modified files: .specd/features/{feature}/plans/phase-{NN}/CONTEXT.md, RESEARCH.md (if created), DECISIONS.md
690
- ```
691
-
692
- Then skip ahead to completion.
693
-
694
- **Only if `auto_commit_docs` is `true` or not set (default), run:**
695
-
696
- ```bash
697
- # Add phase CONTEXT.md
698
- git add ".specd/features/{feature}/plans/phase-{NN}/CONTEXT.md"
699
-
700
- # Add phase RESEARCH.md if created
701
- git add ".specd/features/{feature}/plans/phase-{NN}/RESEARCH.md" 2>/dev/null
702
-
703
- # Add updated DECISIONS.md if modified
704
- git add ".specd/features/{feature}/DECISIONS.md"
705
-
706
- git commit -m "docs({feature}): prepare phase {N} - {phase title}
707
-
708
- Resolved:
709
- - {Area 1}
710
- - {Area 2}
711
-
712
- {If research:}Research: codebase, patterns, pitfalls
713
- New decisions: {count}"
714
- ```
681
+ - **$FILES:** `.specd/features/{feature}/plans/phase-{NN}/CONTEXT.md .specd/features/{feature}/plans/phase-{NN}/RESEARCH.md .specd/features/{feature}/DECISIONS.md` (skip RESEARCH.md if not created)
682
+ - **$MESSAGE:** `docs({feature}): prepare phase {N} - {phase title}` with resolved areas and decision count
683
+ - **$LABEL:** `phase preparation`
715
684
 
716
685
  Continue to completion.
717
686
  </step>
@@ -515,37 +515,11 @@ Continue to commit.
515
515
  <step name="commit">
516
516
  Commit the phase research.
517
517
 
518
- **First, check auto-commit setting. Run this command:**
518
+ @~/.claude/specdacular/references/commit-docs.md
519
519
 
520
- ```bash
521
- cat .specd/config.json 2>/dev/null || echo '{"auto_commit_docs": true}'
522
- ```
523
-
524
- Read the output. If `auto_commit_docs` is `false`, do NOT run the git commands below. Instead print:
525
-
526
- ```
527
- Auto-commit disabled for docs — changes not committed.
528
- Modified files: .specd/features/{feature}/plans/phase-{NN}/RESEARCH.md, DECISIONS.md
529
- ```
530
-
531
- Then skip ahead to completion.
532
-
533
- **Only if `auto_commit_docs` is `true` or not set (default), run:**
534
-
535
- ```bash
536
- git add ".specd/features/{feature}/plans/phase-{NN}/RESEARCH.md"
537
- git add ".specd/features/{feature}/DECISIONS.md"
538
-
539
- git commit -m "docs({feature}): research phase {N} - {phase title}
540
-
541
- Research dimensions:
542
- - Codebase integration
543
- - {Phase type} patterns
544
- - {Phase type} pitfalls
545
-
546
- Key findings:
547
- - {one-liner from summary}"
548
- ```
520
+ - **$FILES:** `.specd/features/{feature}/plans/phase-{NN}/RESEARCH.md .specd/features/{feature}/DECISIONS.md`
521
+ - **$MESSAGE:** `docs({feature}): research phase {N} - {phase title}` with research dimensions and key findings
522
+ - **$LABEL:** `phase research`
549
523
 
550
524
  Continue to completion.
551
525
  </step>