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 +131 -49
- package/commands/specd/help.md +1 -0
- package/commands/specd/status.md +20 -0
- package/package.json +1 -1
- package/specdacular/workflows/status.md +85 -0
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 (
|
|
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/`
|
|
124
|
-
|
|
125
|
-
|
|
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
|
-
|
|
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 +
|
|
139
|
-
/specd:phase:plan user-dashboard 1 # Create detailed
|
|
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/
|
|
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 #
|
|
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
|
package/commands/specd/help.md
CHANGED
|
@@ -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
|
@@ -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.
|