specdacular 0.5.0 → 0.5.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.
package/README.md CHANGED
@@ -34,17 +34,6 @@ feature:new -> feature:discuss -> feature:research -> feature:plan (roadmap) ->
34
34
  phase:insert? -> phase:renumber? <- mid-flight adjustments
35
35
  ```
36
36
 
37
- **You control the rhythm:**
38
- - `feature:new` — Initialize and start first discussion
39
- - `feature:discuss` — Refine understanding (call many times)
40
- - `feature:research` — Investigate implementation approaches
41
- - `feature:plan` — Create roadmap with phase overview
42
- - `phase:prepare` — Discuss gray areas + optionally research patterns (per phase)
43
- - `phase:plan` — Create detailed PLAN.md files for one phase
44
- - `phase:execute` — Execute plans with progress tracking
45
- - `phase:insert` — Insert a new phase mid-flight with decimal numbering (e.g., Phase 3.1)
46
- - `phase:renumber` — Clean up decimal phases to sequential integers
47
-
48
37
  ---
49
38
 
50
39
  ## Installation
@@ -68,22 +57,28 @@ In Claude Code:
68
57
 
69
58
  ## Commands
70
59
 
60
+ Commands are organized into **feature** and **phase** namespaces.
61
+
71
62
  ### Codebase Documentation
72
63
 
73
64
  | Command | Description |
74
65
  |---------|-------------|
75
66
  | `/specd:map-codebase` | Analyze codebase with parallel agents |
76
67
 
77
- ### Feature Commands
68
+ ### Feature Commands (`feature:`)
69
+
70
+ Work with a feature as a whole — discuss, research, and create a roadmap.
78
71
 
79
72
  | Command | Description |
80
73
  |---------|-------------|
81
74
  | `/specd:feature:new [name]` | Initialize a feature, start first discussion |
82
- | `/specd:feature:discuss [name]` | Continue/deepen discussion (iterative) |
75
+ | `/specd:feature:discuss [name]` | Continue/deepen discussion (call many times) |
83
76
  | `/specd:feature:research [name]` | Research implementation with parallel agents |
84
77
  | `/specd:feature:plan [name]` | Create roadmap with phase overview |
85
78
 
86
- ### Phase Commands
79
+ ### Phase Commands (`phase:`)
80
+
81
+ Work with individual phases — prepare, plan, and execute one at a time.
87
82
 
88
83
  | Command | Description |
89
84
  |---------|-------------|
@@ -112,34 +107,109 @@ In Claude Code:
112
107
  /specd:map-codebase
113
108
  ```
114
109
 
115
- Creates `.specd/codebase/` with 4 AI-optimized documents.
110
+ Creates `.specd/codebase/` with 4 AI-optimized documents. This gives Claude context about your codebase's architecture, patterns, structure, and gotchas.
116
111
 
117
112
  ### Plan a Feature
118
113
 
114
+ **Step 1: Initialize and discuss**
115
+
119
116
  ```
120
117
  /specd:feature:new user-dashboard
121
118
  ```
122
119
 
123
- Creates `.specd/features/user-dashboard/` with:
124
- - `FEATURE.md` — Technical requirements
125
- - `CONTEXT.md` Discussion context (accumulates)
126
- - `DECISIONS.md` — Decisions with dates and rationale
127
- - `STATE.md` — Progress tracking
120
+ Creates `.specd/features/user-dashboard/` and starts the first discussion. Claude asks what you're building, follows the thread, and captures technical requirements.
121
+
122
+ **Step 2: Refine understanding**
128
123
 
129
- Then refine and create a roadmap:
130
124
  ```
131
- /specd:feature:discuss user-dashboard # Clarify gray areas
132
- /specd:feature:research user-dashboard # Research implementation
133
- /specd:feature:plan user-dashboard # Create roadmap with phases
125
+ /specd:feature:discuss user-dashboard # Clarify gray areas (call many times)
126
+ /specd:feature:research user-dashboard # Research implementation approaches
134
127
  ```
135
128
 
136
- Then for each phase, prepare, plan, and execute:
129
+ Discussion and research are iterative call them as many times as you need. Context accumulates across sessions.
130
+
131
+ **Step 3: Create a roadmap**
132
+
133
+ ```
134
+ /specd:feature:plan user-dashboard
135
+ ```
136
+
137
+ Creates `ROADMAP.md` with phases derived from dependency analysis (types -> API -> UI), plus empty phase directories. No detailed plans yet — those come next, per phase.
138
+
139
+ **Step 4: Prepare, plan, and execute each phase**
140
+
137
141
  ```
138
- /specd:phase:prepare user-dashboard 1 # Discuss + optionally research
139
- /specd:phase:plan user-dashboard 1 # Create detailed task plans
142
+ /specd:phase:prepare user-dashboard 1 # Discuss phase gray areas + optional research
143
+ /specd:phase:plan user-dashboard 1 # Create detailed PLAN.md files
140
144
  /specd:phase:execute user-dashboard # Execute with progress tracking
141
145
  ```
142
146
 
147
+ Repeat for each phase. Plans are created just-in-time so they stay fresh.
148
+
149
+ **Mid-flight adjustments:**
150
+
151
+ ```
152
+ /specd:phase:insert user-dashboard 3 "Cache layer" # Insert Phase 3.1
153
+ /specd:phase:renumber user-dashboard # Clean up to integers
154
+ ```
155
+
156
+ ---
157
+
158
+ ## The Flow in Detail
159
+
160
+ ### Feature-Level Commands
161
+
162
+ **`feature:new`** creates the feature folder and starts the first discussion. Output:
163
+ - `FEATURE.md` — Technical requirements from the conversation
164
+ - `CONTEXT.md` — Discussion context (accumulates over time)
165
+ - `DECISIONS.md` — Decisions with dates, rationale, and implications
166
+ - `STATE.md` — Progress tracking
167
+ - `config.json` — Feature configuration
168
+
169
+ **`feature:discuss`** continues the conversation. Can be called many times — each session adds to `CONTEXT.md` and `DECISIONS.md`. Claude identifies gray areas based on what's been discussed so far and probes until clear.
170
+
171
+ **`feature:research`** spawns 3 parallel agents to investigate:
172
+ 1. **Codebase integration** — How does this fit with existing code?
173
+ 2. **External patterns** — What libraries/approaches are standard?
174
+ 3. **Pitfalls** — What commonly goes wrong?
175
+
176
+ Output: `RESEARCH.md` with prescriptive guidance.
177
+
178
+ **`feature:plan`** creates a roadmap with phases. Each phase has a goal, deliverables, and dependencies. Creates `ROADMAP.md` and empty `plans/phase-{NN}/` directories. Does **not** create detailed PLAN.md files — that happens per-phase with `phase:plan`.
179
+
180
+ ### Phase-Level Commands
181
+
182
+ **`phase:prepare`** is the main pre-execution command. It:
183
+ 1. Shows the phase overview (goal, deliverables, existing context)
184
+ 2. Identifies gray areas based on phase type (Types, API, UI, etc.)
185
+ 3. Probes until clear (4 questions max per area)
186
+ 4. Records resolutions to phase `CONTEXT.md` and `DECISIONS.md`
187
+ 5. **Offers research** — "Would you like to research implementation patterns?"
188
+ 6. If yes, spawns 3 parallel research agents focused on the phase
189
+
190
+ This replaces the old two-step of discuss-phase then research-phase.
191
+
192
+ **`phase:research`** is the standalone research command. Use it when you want to research a phase without discussing first. Same research agents as `phase:prepare`, just without the discussion step.
193
+
194
+ **`phase:plan`** creates detailed PLAN.md files for one phase. Each plan is a self-contained prompt for an implementing agent with:
195
+ - Exact file paths to create/modify
196
+ - Code patterns to follow (from codebase docs)
197
+ - Verification commands to run
198
+ - Clear completion criteria
199
+
200
+ Plans are created just-in-time — right before execution — so they incorporate all context from preparation and earlier phases.
201
+
202
+ **`phase:execute`** executes plans with:
203
+ - Auto-fix for bugs/blockers (logged to `CHANGELOG.md`)
204
+ - User confirmation for architectural changes
205
+ - Verification after each task
206
+ - Commits after each task
207
+ - Progress tracking in `STATE.md`
208
+
209
+ **`phase:insert`** adds a new phase using decimal numbering (e.g., Phase 3.1 after Phase 3). The `(INSERTED)` marker in `ROADMAP.md` identifies mid-flight additions.
210
+
211
+ **`phase:renumber`** cleans up decimal phases to sequential integers after insertions stabilize.
212
+
143
213
  ---
144
214
 
145
215
  ## How It Works
@@ -171,8 +241,6 @@ Specdacular spawns specialized agents that run simultaneously:
171
241
 
172
242
  ### Feature Flow
173
243
 
174
- The feature planning flow accumulates context over multiple sessions:
175
-
176
244
  ```
177
245
  ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
178
246
  │ feature:new │ ──▶ │ feature: │ ◀─▶ │ feature: │
@@ -216,23 +284,6 @@ The feature planning flow accumulates context over multiple sessions:
216
284
  └─────────────────────────────┘
217
285
  ```
218
286
 
219
- Each session updates:
220
- - `CONTEXT.md` — Resolved questions accumulate
221
- - `DECISIONS.md` — Decisions with rationale accumulate
222
-
223
- **Phase-level commands:**
224
- - `phase:prepare` — Just-in-time discussion + optional research for a specific phase
225
- - `phase:plan` — Create detailed PLAN.md files for one phase (just-in-time, not upfront)
226
- - `phase:execute` — Execute plans with deviation tracking
227
- - `phase:insert` — Insert urgent work mid-flight as decimal phase (e.g., 3.1)
228
- - `phase:renumber` — Clean up decimal numbering to sequential integers
229
-
230
- Plans are prompts for implementing agents with:
231
- - Specific file paths
232
- - Code patterns to follow
233
- - Verification commands
234
- - Clear completion criteria
235
-
236
287
  ---
237
288
 
238
289
  ## Project Structure
@@ -255,12 +306,12 @@ your-project/
255
306
  │ ├── DECISIONS.md # Decision log (feature + phase)
256
307
  │ ├── STATE.md # Progress tracking
257
308
  │ ├── RESEARCH.md # Feature-level research
258
- │ ├── ROADMAP.md # Phase overview
259
- │ └── plans/ # Executable plans
309
+ │ ├── ROADMAP.md # Phase overview (from feature:plan)
310
+ │ └── plans/
260
311
  │ ├── phase-01/
261
312
  │ │ ├── CONTEXT.md # Phase discussion (from phase:prepare)
262
313
  │ │ ├── RESEARCH.md # Phase research (from phase:prepare or phase:research)
263
- │ │ ├── 01-PLAN.md # From phase:plan
314
+ │ │ ├── 01-PLAN.md # Detailed plans (from phase:plan)
264
315
  │ │ └── 02-PLAN.md
265
316
  │ └── phase-02/
266
317
  │ ├── CONTEXT.md
@@ -297,6 +348,37 @@ Once recorded in `DECISIONS.md`, decisions aren't re-litigated. Each has date, c
297
348
 
298
349
  ---
299
350
 
351
+ ## Migrating from v0.4
352
+
353
+ If you're upgrading from v0.4, here's what changed:
354
+
355
+ **Commands were renamed** into `feature:` and `phase:` namespaces:
356
+
357
+ | v0.4 | v0.5 |
358
+ |------|------|
359
+ | `/specd:new-feature` | `/specd:feature:new` |
360
+ | `/specd:discuss-feature` | `/specd:feature:discuss` |
361
+ | `/specd:research-feature` | `/specd:feature:research` |
362
+ | `/specd:plan-feature` | `/specd:feature:plan` |
363
+ | `/specd:discuss-phase` | `/specd:phase:prepare` |
364
+ | `/specd:research-phase` | `/specd:phase:research` |
365
+ | `/specd:execute-plan` | `/specd:phase:execute` |
366
+ | `/specd:insert-phase` | `/specd:phase:insert` |
367
+ | `/specd:renumber-phases` | `/specd:phase:renumber` |
368
+
369
+ **New commands:**
370
+ - `/specd:phase:prepare` — Replaces `discuss-phase`, adds optional research at the end
371
+ - `/specd:phase:plan` — Creates detailed plans for **one phase** (new command)
372
+
373
+ **Behavior changes:**
374
+ - `feature:plan` now creates only `ROADMAP.md` + empty phase directories. It no longer creates `PLAN.md` files for all phases upfront.
375
+ - Detailed `PLAN.md` files are created per-phase with `phase:plan`, right before execution. This prevents plans from going stale.
376
+ - `phase:prepare` combines the old discuss-phase + research-phase into a single command. Discussion always happens; research is offered as an optional step at the end.
377
+
378
+ **Existing `.specd/` data is fully compatible.** Your feature files, decisions, and roadmaps work with the new commands.
379
+
380
+ ---
381
+
300
382
  ## Updating
301
383
 
302
384
  ```bash
@@ -46,6 +46,7 @@ Display available specdacular commands and usage guidance.
46
46
 
47
47
  | Command | Description |
48
48
  |---------|-------------|
49
+ | `/specd:status [--all]` | Show feature status dashboard |
49
50
  | `/specd:blueprint [name] [sub]` | Generate visual blueprint (wireframes, diagrams) |
50
51
  | `/specd:update` | Update Specdacular to the latest version |
51
52
  | `/specd:help` | Show this help |
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: specd:status
3
+ description: Show feature status dashboard
4
+ argument-hint: "[--all]"
5
+ allowed-tools:
6
+ - Read
7
+ - Glob
8
+ - Bash
9
+ ---
10
+
11
+ <objective>
12
+ Display a dashboard showing all features and their current status, stage, plan progress, and recommended next action.
13
+
14
+ - By default, hide completed features
15
+ - With `--all` flag, show completed features in a separate section
16
+ </objective>
17
+
18
+ <execution_context>
19
+ @~/.claude/specdacular/workflows/status.md
20
+ </execution_context>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specdacular",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Feature planning system for existing codebases. Map, understand, and plan features in large projects.",
5
5
  "bin": {
6
6
  "specdacular": "bin/install.js"
@@ -0,0 +1,85 @@
1
+ # Workflow: Feature Status Dashboard
2
+
3
+ ## Input
4
+
5
+ - `$ARGUMENTS` — may contain `--all` flag
6
+
7
+ ## Steps
8
+
9
+ ### 1. Parse arguments
10
+
11
+ Check if `$ARGUMENTS` contains `--all`. If so, completed features will be shown in a separate section.
12
+
13
+ ### 2. Check for features directory
14
+
15
+ Use Glob to check if `.specd/features/*/config.json` matches anything.
16
+
17
+ If no matches: output the following and stop:
18
+
19
+ ```
20
+ No features found. Start one with `/specd:feature:new [name]`.
21
+ ```
22
+
23
+ ### 3. Gather feature data
24
+
25
+ For each feature directory in `.specd/features/`:
26
+
27
+ 1. **Read `config.json`** — extract: `feature_name`, `created`, `stage`, `phases_count`, `plans_count`
28
+ 2. **Read `STATE.md`** — extract:
29
+ - **Authoritative stage**: Look for `**Stage:** <value>` in the Current Position section. This overrides `config.json` stage. A feature is complete when stage is `complete`.
30
+ - **Plan completion**: From the `Plan Status` table, count rows with Status = `Complete` vs total rows. Format as `completed/total` (e.g. `5/8`). If no Plan Status table or no rows, use `—`.
31
+ - **Next action**: Extract the first meaningful line from the `## Next Steps` section. Keep it short — take just the **Recommended:** line if present, otherwise the first line. Strip markdown formatting like `**Recommended:**` prefix. Truncate to ~50 chars if needed.
32
+
33
+ ### 4. Sort features
34
+
35
+ Sort active features by stage priority (highest first), then by created date (oldest first):
36
+
37
+ 1. `execution` (most advanced)
38
+ 2. `planning`
39
+ 3. `research`
40
+ 4. `discussion` (least advanced)
41
+
42
+ ### 5. Format output
43
+
44
+ **Count features:** Calculate total count and in-progress count (non-complete).
45
+
46
+ **Output header:**
47
+
48
+ ```
49
+ # Feature Status
50
+
51
+ _{total} features, {in_progress} in progress_
52
+ ```
53
+
54
+ **Active features table:**
55
+
56
+ ```
57
+ | Feature | Stage | Plans | Created | Next Action |
58
+ |---------|-------|-------|---------|-------------|
59
+ | {name} | {stage} | {plans} | {created} | {next_action} |
60
+ ```
61
+
62
+ - `Plans` shows the completed/total count from Plan Status table, or `—` if pre-planning
63
+ - `Next Action` is the extracted recommendation from STATE.md Next Steps
64
+
65
+ **If `--all` flag is NOT set and there are completed features:**
66
+
67
+ ```
68
+ Run `/specd:status --all` to include completed features.
69
+ ```
70
+
71
+ **If `--all` flag IS set and there are completed features, add:**
72
+
73
+ ```
74
+ ### Completed
75
+
76
+ | Feature | Plans | Completed |
77
+ |---------|-------|-----------|
78
+ | {name} | {completed}/{total} | {last_updated} |
79
+ ```
80
+
81
+ Where `Completed` date comes from the `**Last Updated:**` field in STATE.md.
82
+
83
+ ### 6. Output
84
+
85
+ Print the formatted dashboard directly. No file writes. No Task agents. No AskUserQuestion.