specdacular 0.5.2 → 0.6.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/README.md +248 -166
- package/commands/specd/feature/discuss.md +2 -0
- package/commands/specd/feature/new.md +3 -3
- package/commands/specd/feature/next.md +84 -0
- package/commands/specd/feature/plan.md +2 -0
- package/commands/specd/feature/research.md +2 -0
- package/package.json +1 -1
- package/specdacular/templates/features/DEPENDENCIES.md +47 -0
- package/specdacular/templates/features/STATE.md +1 -8
- package/specdacular/templates/orchestrator/CONCERNS.md +27 -0
- package/specdacular/templates/orchestrator/CONTRACTS.md +31 -0
- package/specdacular/templates/orchestrator/PROJECTS.md +39 -0
- package/specdacular/templates/orchestrator/TOPOLOGY.md +43 -0
- package/specdacular/templates/orchestrator/config.json +12 -0
- package/specdacular/workflows/execute-plan.md +165 -0
- package/specdacular/workflows/map-codebase.md +369 -4
- package/specdacular/workflows/new-feature.md +427 -12
- package/specdacular/workflows/next-feature.md +644 -0
- package/specdacular/workflows/plan-feature.md +369 -0
package/README.md
CHANGED
|
@@ -1,13 +1,46 @@
|
|
|
1
1
|
# Specdacular
|
|
2
2
|
|
|
3
|
-
**AI-optimized
|
|
3
|
+
**AI-optimized feature planning and codebase documentation for [Claude Code](https://docs.anthropic.com/en/docs/claude-code).**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Plan features specific enough that an agent can implement without asking questions.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npx specdacular
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
> [!CAUTION]
|
|
12
|
+
> **Early Discovery Phase.** This project is actively evolving as we explore workflow patterns for AI-assisted feature planning. Commands, file formats, and conventions change frequently between versions. We aim to provide backwards-compatible migrations, but breaking changes may occur. Pin to a specific version if stability matters to you.
|
|
13
|
+
|
|
14
|
+
> [!WARNING]
|
|
15
|
+
> **Open Source Software.** This is maintained by a small team in their free time. It installs slash commands and workflow files into your `.claude/` directory. Always use version control. Review what gets installed. Back up your work. The software is provided "as is" without warranty of any kind. By using this tool, you accept full responsibility for any changes it makes to your project.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Table of Contents
|
|
20
|
+
|
|
21
|
+
- [What It Does](#what-it-does)
|
|
22
|
+
- [Requirements](#requirements)
|
|
23
|
+
- [Installation](#installation)
|
|
24
|
+
- [Quick Start](#quick-start)
|
|
25
|
+
- [Commands](#commands)
|
|
26
|
+
- [Feature Commands](#feature-commands-feature)
|
|
27
|
+
- [Phase Commands](#phase-commands-phase)
|
|
28
|
+
- [Codebase Documentation](#codebase-documentation)
|
|
29
|
+
- [Utilities](#utilities)
|
|
30
|
+
- [The Flow in Detail](#the-flow-in-detail)
|
|
31
|
+
- [Feature-Level Commands](#feature-level-commands)
|
|
32
|
+
- [Phase-Level Commands](#phase-level-commands)
|
|
33
|
+
- [How It Works](#how-it-works)
|
|
34
|
+
- [Parallel Agents](#parallel-agents)
|
|
35
|
+
- [Feature Flow](#feature-flow)
|
|
36
|
+
- [Multi-Project Support](#multi-project-support)
|
|
37
|
+
- [Project Structure](#project-structure)
|
|
38
|
+
- [Philosophy](#philosophy)
|
|
39
|
+
- [Updating](#updating)
|
|
40
|
+
- [Uninstalling](#uninstalling)
|
|
41
|
+
- [Contributing](#contributing)
|
|
42
|
+
- [License](#license)
|
|
43
|
+
|
|
11
44
|
---
|
|
12
45
|
|
|
13
46
|
## What It Does
|
|
@@ -23,17 +56,29 @@ Spawns 4 parallel agents to analyze your codebase and generate AI-optimized docu
|
|
|
23
56
|
| `STRUCTURE.md` | Where do I put new code? |
|
|
24
57
|
| `CONCERNS.md` | What will bite me? Gotchas? Tech debt? |
|
|
25
58
|
|
|
59
|
+
For monorepos and multi-repo setups, it maps each sub-project in parallel, then produces system-level docs (`PROJECTS.md`, `TOPOLOGY.md`, `CONTRACTS.md`, `CONCERNS.md`) at the orchestrator level.
|
|
60
|
+
|
|
26
61
|
### 2. Plan Features
|
|
27
62
|
|
|
28
|
-
|
|
63
|
+
Two commands drive the entire feature lifecycle:
|
|
29
64
|
|
|
30
65
|
```
|
|
31
|
-
feature:new
|
|
32
|
-
|
|
33
|
-
phase:prepare? -> phase:plan -> phase:execute -> phase:review?
|
|
34
|
-
phase:insert? -> phase:renumber? <- mid-flight adjustments
|
|
66
|
+
/specd:feature:new my-feature # Initialize + first discussion
|
|
67
|
+
/specd:feature:next my-feature # Everything else — discussion, research, planning, execution, review
|
|
35
68
|
```
|
|
36
69
|
|
|
70
|
+
`feature:next` reads your feature's current state and offers the natural next step. You never need to remember which command comes next.
|
|
71
|
+
|
|
72
|
+
Works with single projects and multi-project setups (monorepos, multi-repo). In multi-project mode, features are discussed at the system level and routed to the relevant sub-projects, with cross-project dependency tracking and contract validation.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Requirements
|
|
77
|
+
|
|
78
|
+
- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI installed and working
|
|
79
|
+
- Node.js >= 16.7.0
|
|
80
|
+
- Git (recommended — Specdacular commits progress automatically)
|
|
81
|
+
|
|
37
82
|
---
|
|
38
83
|
|
|
39
84
|
## Installation
|
|
@@ -55,52 +100,6 @@ In Claude Code:
|
|
|
55
100
|
|
|
56
101
|
---
|
|
57
102
|
|
|
58
|
-
## Commands
|
|
59
|
-
|
|
60
|
-
Commands are organized into **feature** and **phase** namespaces.
|
|
61
|
-
|
|
62
|
-
### Codebase Documentation
|
|
63
|
-
|
|
64
|
-
| Command | Description |
|
|
65
|
-
|---------|-------------|
|
|
66
|
-
| `/specd:map-codebase` | Analyze codebase with parallel agents |
|
|
67
|
-
|
|
68
|
-
### Feature Commands (`feature:`)
|
|
69
|
-
|
|
70
|
-
Work with a feature as a whole — discuss, research, and create a roadmap.
|
|
71
|
-
|
|
72
|
-
| Command | Description |
|
|
73
|
-
|---------|-------------|
|
|
74
|
-
| `/specd:feature:new [name]` | Initialize a feature, start first discussion |
|
|
75
|
-
| `/specd:feature:discuss [name]` | Continue/deepen discussion (call many times) |
|
|
76
|
-
| `/specd:feature:research [name]` | Research implementation with parallel agents |
|
|
77
|
-
| `/specd:feature:plan [name]` | Create roadmap with phase overview |
|
|
78
|
-
|
|
79
|
-
### Phase Commands (`phase:`)
|
|
80
|
-
|
|
81
|
-
Work with individual phases — prepare, plan, and execute one at a time.
|
|
82
|
-
|
|
83
|
-
| Command | Description |
|
|
84
|
-
|---------|-------------|
|
|
85
|
-
| `/specd:phase:prepare [feature] [phase]` | Discuss gray areas + optionally research patterns |
|
|
86
|
-
| `/specd:phase:research [feature] [phase]` | Research patterns for a phase (standalone) |
|
|
87
|
-
| `/specd:phase:plan [feature] [phase]` | Create detailed PLAN.md files for one phase |
|
|
88
|
-
| `/specd:phase:execute [feature]` | Execute plans with progress tracking |
|
|
89
|
-
| `/specd:phase:review [feature] [phase]` | Review executed plans against actual code |
|
|
90
|
-
| `/specd:phase:insert [feature] [after] [desc]` | Insert a new phase after an existing one |
|
|
91
|
-
| `/specd:phase:renumber [feature]` | Renumber phases to clean integer sequence |
|
|
92
|
-
|
|
93
|
-
### Utilities
|
|
94
|
-
|
|
95
|
-
| Command | Description |
|
|
96
|
-
|---------|-------------|
|
|
97
|
-
| `/specd:status [--all]` | Show feature status dashboard |
|
|
98
|
-
| `/specd:blueprint [name] [sub]` | Generate visual blueprint (wireframes, diagrams) |
|
|
99
|
-
| `/specd:help` | Show available commands |
|
|
100
|
-
| `/specd:update` | Update to latest version |
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
103
|
## Quick Start
|
|
105
104
|
|
|
106
105
|
### Map a Codebase
|
|
@@ -109,45 +108,43 @@ Work with individual phases — prepare, plan, and execute one at a time.
|
|
|
109
108
|
/specd:map-codebase
|
|
110
109
|
```
|
|
111
110
|
|
|
112
|
-
Creates `.specd/codebase/` with 4 AI-optimized documents. This gives Claude context about your codebase's architecture, patterns, structure, and gotchas.
|
|
111
|
+
Creates `.specd/codebase/` with 4 AI-optimized documents. This gives Claude context about your codebase's architecture, patterns, structure, and gotchas. For multi-project setups, it detects sub-projects automatically and maps each one in parallel before producing system-level documentation.
|
|
113
112
|
|
|
114
113
|
### Plan a Feature
|
|
115
114
|
|
|
116
|
-
**Step 1: Initialize
|
|
115
|
+
**Step 1: Initialize**
|
|
117
116
|
|
|
118
117
|
```
|
|
119
118
|
/specd:feature:new user-dashboard
|
|
120
119
|
```
|
|
121
120
|
|
|
122
|
-
Creates `.specd/features/user-dashboard/` and starts the first discussion. Claude asks what you're building, follows the thread, and captures technical requirements.
|
|
121
|
+
Creates `.specd/features/user-dashboard/` and starts the first discussion. Claude asks what you're building, follows the thread, and captures technical requirements. When done, offers to continue discussing or stop.
|
|
123
122
|
|
|
124
|
-
**Step 2:
|
|
123
|
+
**Step 2: Drive the lifecycle**
|
|
125
124
|
|
|
126
125
|
```
|
|
127
|
-
/specd:feature:
|
|
128
|
-
/specd:feature:research user-dashboard # Research implementation approaches
|
|
126
|
+
/specd:feature:next user-dashboard
|
|
129
127
|
```
|
|
130
128
|
|
|
131
|
-
|
|
129
|
+
That's it. `feature:next` reads the current state and guides you through each stage:
|
|
132
130
|
|
|
133
|
-
**
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
131
|
+
1. **Discussion** — Probes gray areas until clear
|
|
132
|
+
2. **Research** — Spawns parallel agents for patterns/pitfalls
|
|
133
|
+
3. **Planning** — Creates roadmap with phases
|
|
134
|
+
4. **Phase preparation** — Discusses phase-specific gray areas
|
|
135
|
+
5. **Phase planning** — Creates detailed PLAN.md files
|
|
136
|
+
6. **Phase execution** — Implements with progress tracking
|
|
137
|
+
7. **Phase review** — Compares plans against actual code
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
After each step, you can continue or stop. Resume anytime with `/specd:feature:next`.
|
|
140
140
|
|
|
141
|
-
**
|
|
141
|
+
**No argument? It picks for you:**
|
|
142
142
|
|
|
143
143
|
```
|
|
144
|
-
/specd:
|
|
145
|
-
/specd:phase:plan user-dashboard 1 # Create detailed PLAN.md files
|
|
146
|
-
/specd:phase:execute user-dashboard # Execute with progress tracking
|
|
147
|
-
/specd:phase:review user-dashboard 1 # Review phase against actual code
|
|
144
|
+
/specd:feature:next
|
|
148
145
|
```
|
|
149
146
|
|
|
150
|
-
|
|
147
|
+
Scans for in-progress features and shows a picker.
|
|
151
148
|
|
|
152
149
|
**Mid-flight adjustments:**
|
|
153
150
|
|
|
@@ -158,27 +155,66 @@ Repeat for each phase. Plans are created just-in-time so they stay fresh.
|
|
|
158
155
|
|
|
159
156
|
---
|
|
160
157
|
|
|
158
|
+
## Commands
|
|
159
|
+
|
|
160
|
+
Commands are organized into **feature** and **phase** namespaces.
|
|
161
|
+
|
|
162
|
+
### Feature Commands (`feature:`)
|
|
163
|
+
|
|
164
|
+
Work with a feature as a whole — discuss, research, and create a roadmap.
|
|
165
|
+
|
|
166
|
+
| Command | Description |
|
|
167
|
+
|---------|-------------|
|
|
168
|
+
| `/specd:feature:new [name]` | Initialize a feature, start first discussion |
|
|
169
|
+
| `/specd:feature:next [name]` | **Drive the entire lifecycle** — picks up where you left off |
|
|
170
|
+
|
|
171
|
+
### Phase Commands (`phase:`)
|
|
172
|
+
|
|
173
|
+
Work with individual phases — prepare, plan, and execute one at a time.
|
|
174
|
+
|
|
175
|
+
| Command | Description |
|
|
176
|
+
|---------|-------------|
|
|
177
|
+
| `/specd:phase:prepare [feature] [phase]` | Discuss gray areas + optionally research patterns |
|
|
178
|
+
| `/specd:phase:research [feature] [phase]` | Research patterns for a phase (standalone) |
|
|
179
|
+
| `/specd:phase:plan [feature] [phase]` | Create detailed PLAN.md files for one phase |
|
|
180
|
+
| `/specd:phase:execute [feature]` | Execute plans with progress tracking |
|
|
181
|
+
| `/specd:phase:review [feature] [phase]` | Review executed plans against actual code |
|
|
182
|
+
| `/specd:phase:insert [feature] [after] [desc]` | Insert a new phase after an existing one |
|
|
183
|
+
| `/specd:phase:renumber [feature]` | Renumber phases to clean integer sequence |
|
|
184
|
+
|
|
185
|
+
### Codebase Documentation
|
|
186
|
+
|
|
187
|
+
| Command | Description |
|
|
188
|
+
|---------|-------------|
|
|
189
|
+
| `/specd:map-codebase` | Analyze codebase with parallel agents |
|
|
190
|
+
|
|
191
|
+
### Utilities
|
|
192
|
+
|
|
193
|
+
| Command | Description |
|
|
194
|
+
|---------|-------------|
|
|
195
|
+
| `/specd:status [--all]` | Show feature status dashboard |
|
|
196
|
+
| `/specd:blueprint [name] [sub]` | Generate visual blueprint (wireframes, diagrams) |
|
|
197
|
+
| `/specd:help` | Show available commands |
|
|
198
|
+
| `/specd:update` | Update to latest version |
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
161
202
|
## The Flow in Detail
|
|
162
203
|
|
|
163
204
|
### Feature-Level Commands
|
|
164
205
|
|
|
165
|
-
**`feature:new`** creates the feature folder and starts the first discussion. Output:
|
|
206
|
+
**`feature:new`** creates the feature folder and starts the first discussion. After initialization, offers to continue discussing or come back later with `feature:next`. Output:
|
|
166
207
|
- `FEATURE.md` — Technical requirements from the conversation
|
|
167
208
|
- `CONTEXT.md` — Discussion context (accumulates over time)
|
|
168
209
|
- `DECISIONS.md` — Decisions with dates, rationale, and implications
|
|
169
210
|
- `STATE.md` — Progress tracking
|
|
170
211
|
- `config.json` — Feature configuration
|
|
171
212
|
|
|
172
|
-
**`feature:
|
|
173
|
-
|
|
174
|
-
**`feature:research`** spawns 3 parallel agents to investigate:
|
|
175
|
-
1. **Codebase integration** — How does this fit with existing code?
|
|
176
|
-
2. **External patterns** — What libraries/approaches are standard?
|
|
177
|
-
3. **Pitfalls** — What commonly goes wrong?
|
|
178
|
-
|
|
179
|
-
Output: `RESEARCH.md` with prescriptive guidance.
|
|
213
|
+
**`feature:next`** is the smart state machine. It reads `config.json` and `STATE.md` to determine where the feature is, shows a status summary, and offers the natural next step. After each action it loops back — you keep going until you choose to stop. Under the hood it delegates to these stages:
|
|
180
214
|
|
|
181
|
-
|
|
215
|
+
- **Discussion** — Probes gray areas, records decisions. Context accumulates across sessions.
|
|
216
|
+
- **Research** — Spawns 3 parallel agents: codebase integration, external patterns, and pitfalls. Output: `RESEARCH.md`.
|
|
217
|
+
- **Planning** — Creates `ROADMAP.md` with phases derived from dependency analysis, plus empty `plans/phase-{NN}/` directories.
|
|
182
218
|
|
|
183
219
|
### Phase-Level Commands
|
|
184
220
|
|
|
@@ -190,8 +226,6 @@ Output: `RESEARCH.md` with prescriptive guidance.
|
|
|
190
226
|
5. **Offers research** — "Would you like to research implementation patterns?"
|
|
191
227
|
6. If yes, spawns 3 parallel research agents focused on the phase
|
|
192
228
|
|
|
193
|
-
This replaces the old two-step of discuss-phase then research-phase.
|
|
194
|
-
|
|
195
229
|
**`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.
|
|
196
230
|
|
|
197
231
|
**`phase:plan`** creates detailed PLAN.md files for one phase. Each plan is a self-contained prompt for an implementing agent with:
|
|
@@ -211,7 +245,7 @@ Plans are created just-in-time — right before execution — so they incorporat
|
|
|
211
245
|
|
|
212
246
|
**`phase:review`** reviews executed plans against actual code:
|
|
213
247
|
- Claude inspects each plan's `creates`/`modifies` against actual files
|
|
214
|
-
- Per-plan status table with
|
|
248
|
+
- Per-plan status table with pass/warn/fail/skip icons
|
|
215
249
|
- User conversation captures additional issues
|
|
216
250
|
- Generates corrective plans if needed (fed back into `phase:execute`)
|
|
217
251
|
- Review cycle tracked in `STATE.md`
|
|
@@ -251,60 +285,93 @@ Specdacular spawns specialized agents that run simultaneously:
|
|
|
251
285
|
|
|
252
286
|
### Feature Flow
|
|
253
287
|
|
|
288
|
+
**The simple way** — two commands:
|
|
289
|
+
|
|
254
290
|
```
|
|
255
|
-
|
|
256
|
-
│
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
│
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
291
|
+
/specd:feature:new /specd:feature:next
|
|
292
|
+
│ │
|
|
293
|
+
▼ ▼
|
|
294
|
+
Create feature ┌─── Read state ◀──────────────┐
|
|
295
|
+
First discussion │ Show status │
|
|
296
|
+
Offer to continue │ Offer next step │
|
|
297
|
+
│ │ │ │
|
|
298
|
+
▼ │ ▼ │
|
|
299
|
+
"Keep discussing?" │ ┌──────────────┐ │
|
|
300
|
+
Yes → discuss loop │ │ Execute the │ │
|
|
301
|
+
No → feature:next │ │ next action │ │
|
|
302
|
+
│ └──────────────┘ │
|
|
303
|
+
│ │ │
|
|
304
|
+
│ ┌────┴────┐ │
|
|
305
|
+
│ │ Discuss │ Research │
|
|
306
|
+
│ │ Plan │ Prepare phase │
|
|
307
|
+
│ │ Execute │ Review phase │
|
|
308
|
+
│ └────┬────┘ │
|
|
309
|
+
│ │ │
|
|
310
|
+
│ ▼ │
|
|
311
|
+
│ "Continue or stop?" │
|
|
312
|
+
│ Continue ──────────────────┘
|
|
313
|
+
│ Stop → clean exit
|
|
314
|
+
│
|
|
315
|
+
└─── No features? → feature:new
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
**Under the hood,** `feature:next` delegates to the same workflows as the individual commands:
|
|
319
|
+
|
|
320
|
+
```
|
|
321
|
+
discussion → discuss-feature workflow
|
|
322
|
+
research → research-feature workflow (3 parallel agents)
|
|
323
|
+
planning → plan-feature workflow
|
|
324
|
+
phase prep → prepare-phase workflow
|
|
325
|
+
phase plan → plan-phase workflow
|
|
326
|
+
execution → execute-plan workflow
|
|
327
|
+
review → review-phase workflow
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Multi-Project Support
|
|
333
|
+
|
|
334
|
+
Specdacular supports monorepos and multi-repo setups through an orchestrator layer. All existing commands gain multi-project awareness automatically — no new commands to learn.
|
|
335
|
+
|
|
336
|
+
### Setup
|
|
337
|
+
|
|
338
|
+
```
|
|
339
|
+
/specd:map-codebase
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
When it detects multiple projects (via `package.json`, `go.mod`, `Cargo.toml`, etc.), it offers to enable multi-project mode. This:
|
|
343
|
+
|
|
344
|
+
1. Registers sub-projects in an orchestrator `.specd/config.json`
|
|
345
|
+
2. Spawns 4 mapper agents per sub-project in parallel
|
|
346
|
+
3. Runs an orchestrator mapper that produces system-level docs:
|
|
347
|
+
|
|
348
|
+
| Document | What It Answers |
|
|
349
|
+
|----------|-----------------|
|
|
350
|
+
| `PROJECTS.md` | What projects exist, their tech stacks and purposes? |
|
|
351
|
+
| `TOPOLOGY.md` | How do projects communicate? What's the data flow? |
|
|
352
|
+
| `CONTRACTS.md` | What are the cross-project relationships and shared domains? |
|
|
353
|
+
| `CONCERNS.md` | What are the system-level gotchas? |
|
|
354
|
+
|
|
355
|
+
### Feature Planning
|
|
356
|
+
|
|
357
|
+
`feature:new` conducts a system-level discussion, identifies which projects are involved, and creates per-project features with self-contained requirements. Each sub-project's `.specd/` works identically whether standalone or part of a multi-project setup.
|
|
358
|
+
|
|
359
|
+
`feature:plan` creates per-project roadmaps plus a cross-project dependency graph (`DEPENDENCIES.md`) with cycle validation.
|
|
360
|
+
|
|
361
|
+
### Execution & Scheduling
|
|
362
|
+
|
|
363
|
+
`feature:next` schedules across projects, respecting cross-project dependencies. After each phase, it performs contract review — comparing what was implemented against system-level expectations and flagging deviations before they cascade to downstream projects.
|
|
364
|
+
|
|
365
|
+
```
|
|
366
|
+
/specd:feature:next auth-system # Auto-picks next unblocked phase across projects
|
|
367
|
+
/specd:feature:next auth-system api # Target a specific sub-project
|
|
301
368
|
```
|
|
302
369
|
|
|
303
370
|
---
|
|
304
371
|
|
|
305
372
|
## Project Structure
|
|
306
373
|
|
|
307
|
-
|
|
374
|
+
### Single Project
|
|
308
375
|
|
|
309
376
|
```
|
|
310
377
|
your-project/
|
|
@@ -325,9 +392,9 @@ your-project/
|
|
|
325
392
|
│ ├── ROADMAP.md # Phase overview (from feature:plan)
|
|
326
393
|
│ └── plans/
|
|
327
394
|
│ ├── phase-01/
|
|
328
|
-
│ │ ├── CONTEXT.md # Phase discussion
|
|
329
|
-
│ │ ├── RESEARCH.md # Phase research
|
|
330
|
-
│ │ ├── 01-PLAN.md # Detailed plans
|
|
395
|
+
│ │ ├── CONTEXT.md # Phase discussion
|
|
396
|
+
│ │ ├── RESEARCH.md # Phase research
|
|
397
|
+
│ │ ├── 01-PLAN.md # Detailed plans
|
|
331
398
|
│ │ └── 02-PLAN.md
|
|
332
399
|
│ └── phase-02/
|
|
333
400
|
│ ├── CONTEXT.md
|
|
@@ -336,6 +403,44 @@ your-project/
|
|
|
336
403
|
└── ...
|
|
337
404
|
```
|
|
338
405
|
|
|
406
|
+
### Multi-Project
|
|
407
|
+
|
|
408
|
+
```
|
|
409
|
+
monorepo/
|
|
410
|
+
├── .specd/ # Orchestrator level
|
|
411
|
+
│ ├── config.json # type: "orchestrator", projects list
|
|
412
|
+
│ ├── codebase/ # System-level docs
|
|
413
|
+
│ │ ├── PROJECTS.md
|
|
414
|
+
│ │ ├── TOPOLOGY.md
|
|
415
|
+
│ │ ├── CONTRACTS.md
|
|
416
|
+
│ │ └── CONCERNS.md
|
|
417
|
+
│ └── features/
|
|
418
|
+
│ └── auth-system/
|
|
419
|
+
│ ├── FEATURE.md # System-level requirements
|
|
420
|
+
│ ├── DEPENDENCIES.md # Cross-project dependency graph
|
|
421
|
+
│ └── STATE.md # Cross-project progress
|
|
422
|
+
│
|
|
423
|
+
├── api/
|
|
424
|
+
│ └── .specd/ # Sub-project (works standalone too)
|
|
425
|
+
│ ├── config.json # type: "project"
|
|
426
|
+
│ ├── codebase/
|
|
427
|
+
│ │ ├── MAP.md
|
|
428
|
+
│ │ ├── PATTERNS.md
|
|
429
|
+
│ │ ├── STRUCTURE.md
|
|
430
|
+
│ │ └── CONCERNS.md
|
|
431
|
+
│ └── features/
|
|
432
|
+
│ └── auth-system/
|
|
433
|
+
│ ├── FEATURE.md # Project-specific requirements
|
|
434
|
+
│ ├── ROADMAP.md # Per-project phases
|
|
435
|
+
│ └── plans/...
|
|
436
|
+
│
|
|
437
|
+
└── web/
|
|
438
|
+
└── .specd/ # Another sub-project
|
|
439
|
+
├── config.json
|
|
440
|
+
├── codebase/...
|
|
441
|
+
└── features/...
|
|
442
|
+
```
|
|
443
|
+
|
|
339
444
|
---
|
|
340
445
|
|
|
341
446
|
## Philosophy
|
|
@@ -364,37 +469,6 @@ Once recorded in `DECISIONS.md`, decisions aren't re-litigated. Each has date, c
|
|
|
364
469
|
|
|
365
470
|
---
|
|
366
471
|
|
|
367
|
-
## Migrating from v0.4
|
|
368
|
-
|
|
369
|
-
If you're upgrading from v0.4, here's what changed:
|
|
370
|
-
|
|
371
|
-
**Commands were renamed** into `feature:` and `phase:` namespaces:
|
|
372
|
-
|
|
373
|
-
| v0.4 | v0.5 |
|
|
374
|
-
|------|------|
|
|
375
|
-
| `/specd:new-feature` | `/specd:feature:new` |
|
|
376
|
-
| `/specd:discuss-feature` | `/specd:feature:discuss` |
|
|
377
|
-
| `/specd:research-feature` | `/specd:feature:research` |
|
|
378
|
-
| `/specd:plan-feature` | `/specd:feature:plan` |
|
|
379
|
-
| `/specd:discuss-phase` | `/specd:phase:prepare` |
|
|
380
|
-
| `/specd:research-phase` | `/specd:phase:research` |
|
|
381
|
-
| `/specd:execute-plan` | `/specd:phase:execute` |
|
|
382
|
-
| `/specd:insert-phase` | `/specd:phase:insert` |
|
|
383
|
-
| `/specd:renumber-phases` | `/specd:phase:renumber` |
|
|
384
|
-
|
|
385
|
-
**New commands:**
|
|
386
|
-
- `/specd:phase:prepare` — Replaces `discuss-phase`, adds optional research at the end
|
|
387
|
-
- `/specd:phase:plan` — Creates detailed plans for **one phase** (new command)
|
|
388
|
-
|
|
389
|
-
**Behavior changes:**
|
|
390
|
-
- `feature:plan` now creates only `ROADMAP.md` + empty phase directories. It no longer creates `PLAN.md` files for all phases upfront.
|
|
391
|
-
- Detailed `PLAN.md` files are created per-phase with `phase:plan`, right before execution. This prevents plans from going stale.
|
|
392
|
-
- `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.
|
|
393
|
-
|
|
394
|
-
**Existing `.specd/` data is fully compatible.** Your feature files, decisions, and roadmaps work with the new commands.
|
|
395
|
-
|
|
396
|
-
---
|
|
397
|
-
|
|
398
472
|
## Updating
|
|
399
473
|
|
|
400
474
|
```bash
|
|
@@ -406,6 +480,8 @@ Or in Claude Code:
|
|
|
406
480
|
/specd:update
|
|
407
481
|
```
|
|
408
482
|
|
|
483
|
+
---
|
|
484
|
+
|
|
409
485
|
## Uninstalling
|
|
410
486
|
|
|
411
487
|
```bash
|
|
@@ -416,6 +492,12 @@ npx specdacular --local --uninstall
|
|
|
416
492
|
|
|
417
493
|
---
|
|
418
494
|
|
|
495
|
+
## Contributing
|
|
496
|
+
|
|
497
|
+
Issues and pull requests are welcome at [github.com/victorbalan/specdacular](https://github.com/victorbalan/specdacular).
|
|
498
|
+
|
|
499
|
+
---
|
|
500
|
+
|
|
419
501
|
## License
|
|
420
502
|
|
|
421
503
|
MIT
|
|
@@ -12,6 +12,8 @@ allowed-tools:
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<objective>
|
|
15
|
+
> **Note:** Consider using `/specd:feature:next` instead — it guides you through the entire feature lifecycle automatically, including discussion.
|
|
16
|
+
|
|
15
17
|
Continue or deepen understanding of a feature through targeted discussion. Can be called **many times** — context accumulates.
|
|
16
18
|
|
|
17
19
|
**Updates:**
|
|
@@ -12,7 +12,7 @@ allowed-tools:
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<objective>
|
|
15
|
-
Initialize a feature folder and start the first discussion. Creates structure, asks initial questions about what's being built, and writes technical requirements.
|
|
15
|
+
Initialize a feature folder and start the first discussion. Creates structure, asks initial questions about what's being built, and writes technical requirements. After initialization, offers to continue discussing or stop.
|
|
16
16
|
|
|
17
17
|
**Creates:**
|
|
18
18
|
- `.specd/features/{name}/FEATURE.md` — Technical requirements from discussion
|
|
@@ -21,7 +21,7 @@ Initialize a feature folder and start the first discussion. Creates structure, a
|
|
|
21
21
|
- `.specd/features/{name}/STATE.md` — Progress tracking
|
|
22
22
|
- `.specd/features/{name}/config.json` — Feature configuration
|
|
23
23
|
|
|
24
|
-
**This is the entry point.** After this,
|
|
24
|
+
**This is the entry point.** After this, continue with `/specd:feature:next` to drive the entire lifecycle.
|
|
25
25
|
</objective>
|
|
26
26
|
|
|
27
27
|
<execution_context>
|
|
@@ -63,5 +63,5 @@ Feature name: $ARGUMENTS
|
|
|
63
63
|
- [ ] STATE.md tracks current position
|
|
64
64
|
- [ ] config.json created
|
|
65
65
|
- [ ] Committed to git
|
|
66
|
-
- [ ] User
|
|
66
|
+
- [ ] User offered to continue discussing or stop with `/specd:feature:next`
|
|
67
67
|
</success_criteria>
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd:feature:next
|
|
3
|
+
description: Drive feature lifecycle — picks up where you left off and guides next steps
|
|
4
|
+
argument-hint: "[feature-name]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Task
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Smart state machine that reads current feature state and drives the entire lifecycle. One command from discussion through phase execution.
|
|
18
|
+
|
|
19
|
+
**How it works:**
|
|
20
|
+
1. Select feature (from argument or picker)
|
|
21
|
+
2. Read current state (STATE.md, config.json, CONTEXT.md, ROADMAP.md)
|
|
22
|
+
3. Show status summary
|
|
23
|
+
4. Offer the natural next step
|
|
24
|
+
5. Execute it (delegating to existing workflows)
|
|
25
|
+
6. Loop back — offer the next step or stop
|
|
26
|
+
|
|
27
|
+
**Covers the full lifecycle:**
|
|
28
|
+
- Discussion (gray areas, decisions)
|
|
29
|
+
- Research (parallel agents for patterns/pitfalls)
|
|
30
|
+
- Planning (roadmap with phases)
|
|
31
|
+
- Phase preparation (phase-specific discussion + research)
|
|
32
|
+
- Phase planning (detailed PLAN.md files)
|
|
33
|
+
- Phase execution (with progress tracking)
|
|
34
|
+
- Phase review (compare plans vs actual code)
|
|
35
|
+
|
|
36
|
+
**No need to remember individual commands.** This one command figures out what's next.
|
|
37
|
+
</objective>
|
|
38
|
+
|
|
39
|
+
<execution_context>
|
|
40
|
+
@~/.claude/specdacular/workflows/next-feature.md
|
|
41
|
+
</execution_context>
|
|
42
|
+
|
|
43
|
+
<context>
|
|
44
|
+
Feature name: $ARGUMENTS
|
|
45
|
+
|
|
46
|
+
**Scans for features:**
|
|
47
|
+
@.specd/features/*/config.json
|
|
48
|
+
|
|
49
|
+
**Loads feature context (once selected):**
|
|
50
|
+
@.specd/features/{name}/config.json
|
|
51
|
+
@.specd/features/{name}/STATE.md
|
|
52
|
+
@.specd/features/{name}/CONTEXT.md
|
|
53
|
+
@.specd/features/{name}/FEATURE.md
|
|
54
|
+
@.specd/features/{name}/ROADMAP.md (if exists)
|
|
55
|
+
@.specd/features/{name}/RESEARCH.md (if exists)
|
|
56
|
+
|
|
57
|
+
**Delegates to existing workflows:**
|
|
58
|
+
@~/.claude/specdacular/workflows/discuss-feature.md
|
|
59
|
+
@~/.claude/specdacular/workflows/research-feature.md
|
|
60
|
+
@~/.claude/specdacular/workflows/plan-feature.md
|
|
61
|
+
@~/.claude/specdacular/workflows/prepare-phase.md
|
|
62
|
+
@~/.claude/specdacular/workflows/plan-phase.md
|
|
63
|
+
@~/.claude/specdacular/workflows/execute-plan.md
|
|
64
|
+
@~/.claude/specdacular/workflows/review-phase.md
|
|
65
|
+
</context>
|
|
66
|
+
|
|
67
|
+
<process>
|
|
68
|
+
1. **Select Feature** — From argument or scan .specd/features/*/config.json
|
|
69
|
+
2. **Read State** — Load config.json, STATE.md, CONTEXT.md, ROADMAP.md
|
|
70
|
+
3. **Show Status** — Concise summary of where things stand
|
|
71
|
+
4. **Determine Next** — Based on stage + phase status
|
|
72
|
+
5. **Offer Choice** — Next step + alternatives + "stop for now"
|
|
73
|
+
6. **Execute** — Delegate to appropriate workflow
|
|
74
|
+
7. **Loop** — Back to step 2 after each action
|
|
75
|
+
</process>
|
|
76
|
+
|
|
77
|
+
<success_criteria>
|
|
78
|
+
- [ ] Feature selected (from argument or picker)
|
|
79
|
+
- [ ] Current state accurately displayed
|
|
80
|
+
- [ ] Correct next action offered
|
|
81
|
+
- [ ] User can stop at any natural boundary
|
|
82
|
+
- [ ] Delegated to correct workflow for execution
|
|
83
|
+
- [ ] Looped back after completion
|
|
84
|
+
</success_criteria>
|