specdacular 0.9.2 → 0.10.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 +40 -36
- package/agents/specd-codebase-mapper.md +1 -1
- package/bin/install.js +46 -12
- package/commands/{specd/map-codebase.md → specd.codebase.map.md} +1 -1
- package/commands/specd.codebase.review.md +39 -0
- package/commands/{specd/config.md → specd.config.md} +1 -1
- package/commands/{specd/continue.md → specd.continue.md} +1 -1
- package/commands/{specd/help.md → specd.help.md} +1 -1
- package/commands/specd.new-project.md +58 -0
- package/commands/{specd/new.md → specd.new.md} +4 -4
- package/commands/{specd/status.md → specd.status.md} +1 -1
- package/commands/specd.toolbox.md +63 -0
- package/commands/{specd/update.md → specd.update.md} +1 -1
- package/hooks/specd-statusline.js +1 -1
- package/package.json +1 -1
- package/specdacular/HELP.md +24 -20
- package/specdacular/agents/feature-researcher.md +4 -4
- package/specdacular/agents/project-researcher.md +409 -0
- package/specdacular/references/execute-hooks.md +1 -1
- package/specdacular/references/select-feature.md +1 -1
- package/specdacular/references/select-phase.md +1 -1
- package/specdacular/references/validate-task.md +3 -3
- package/specdacular/templates/tasks/PROJECT.md +52 -0
- package/specdacular/templates/tasks/REQUIREMENTS.md +75 -0
- package/specdacular/templates/tasks/STATE.md +1 -1
- package/specdacular/workflows/brain.md +2 -2
- package/specdacular/workflows/config.md +1 -1
- package/specdacular/workflows/context-add.md +1 -1
- package/specdacular/workflows/context-manual-review.md +1 -1
- package/specdacular/workflows/new-project.md +799 -0
- package/specdacular/workflows/new.md +6 -6
- package/specdacular/workflows/orchestrator/new.md +3 -3
- package/specdacular/workflows/orchestrator/plan.md +1 -1
- package/specdacular/workflows/plan.md +3 -3
- package/specdacular/workflows/status.md +3 -3
- package/commands/specd/toolbox.md +0 -103
package/README.md
CHANGED
|
@@ -59,14 +59,14 @@ For monorepos and multi-repo setups, it maps each sub-project in parallel, then
|
|
|
59
59
|
Three commands drive the entire task lifecycle:
|
|
60
60
|
|
|
61
61
|
```
|
|
62
|
-
/specd
|
|
63
|
-
/specd
|
|
64
|
-
/specd
|
|
62
|
+
/specd.new my-feature # Initialize + first discussion
|
|
63
|
+
/specd.continue my-feature # Everything else — discussion, research, planning, execution, review
|
|
64
|
+
/specd.toolbox my-feature # Advanced operations menu
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
`continue` reads your task's current state and offers the natural next step. You never need to remember which command comes next.
|
|
68
68
|
|
|
69
|
-
`toolbox` gives you direct access to advanced operations — discuss, research, plan, execute, review
|
|
69
|
+
`toolbox` gives you direct access to advanced task operations — discuss, research, plan, execute, review. Use `/specd.codebase.review` for section-by-section context file review with edit/re-map/add.
|
|
70
70
|
|
|
71
71
|
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.
|
|
72
72
|
|
|
@@ -94,7 +94,7 @@ Choose:
|
|
|
94
94
|
|
|
95
95
|
In Claude Code:
|
|
96
96
|
```
|
|
97
|
-
/specd
|
|
97
|
+
/specd.help
|
|
98
98
|
```
|
|
99
99
|
|
|
100
100
|
---
|
|
@@ -104,7 +104,7 @@ In Claude Code:
|
|
|
104
104
|
### Map a Codebase
|
|
105
105
|
|
|
106
106
|
```
|
|
107
|
-
/specd
|
|
107
|
+
/specd.codebase.map
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
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.
|
|
@@ -114,7 +114,7 @@ Creates `.specd/codebase/` with 4 AI-optimized documents. This gives Claude cont
|
|
|
114
114
|
**Step 1: Initialize**
|
|
115
115
|
|
|
116
116
|
```
|
|
117
|
-
/specd
|
|
117
|
+
/specd.new user-dashboard
|
|
118
118
|
```
|
|
119
119
|
|
|
120
120
|
Creates `.specd/tasks/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.
|
|
@@ -122,7 +122,7 @@ Creates `.specd/tasks/user-dashboard/` and starts the first discussion. Claude a
|
|
|
122
122
|
**Step 2: Drive the lifecycle**
|
|
123
123
|
|
|
124
124
|
```
|
|
125
|
-
/specd
|
|
125
|
+
/specd.continue user-dashboard
|
|
126
126
|
```
|
|
127
127
|
|
|
128
128
|
That's it. `continue` reads the current state and guides you through each stage:
|
|
@@ -133,20 +133,20 @@ That's it. `continue` reads the current state and guides you through each stage:
|
|
|
133
133
|
4. **Phase execution** — Plans each phase just-in-time, then implements with progress tracking
|
|
134
134
|
5. **Phase review** — Code review agent compares plans against actual code
|
|
135
135
|
|
|
136
|
-
After each step, you can continue or stop. Resume anytime with `/specd
|
|
136
|
+
After each step, you can continue or stop. Resume anytime with `/specd.continue`.
|
|
137
137
|
|
|
138
138
|
**Execution modes:**
|
|
139
139
|
|
|
140
140
|
```
|
|
141
|
-
/specd
|
|
142
|
-
/specd
|
|
143
|
-
/specd
|
|
141
|
+
/specd.continue user-dashboard # Default — auto-runs, pauses at phase steps
|
|
142
|
+
/specd.continue user-dashboard --interactive # Prompt at every step with skip/jump options
|
|
143
|
+
/specd.continue user-dashboard --auto # Run everything, stop only on review issues
|
|
144
144
|
```
|
|
145
145
|
|
|
146
146
|
**No argument? It picks for you:**
|
|
147
147
|
|
|
148
148
|
```
|
|
149
|
-
/specd
|
|
149
|
+
/specd.continue
|
|
150
150
|
```
|
|
151
151
|
|
|
152
152
|
Scans for in-progress tasks and shows a picker.
|
|
@@ -154,10 +154,18 @@ Scans for in-progress tasks and shows a picker.
|
|
|
154
154
|
**Need a specific operation?**
|
|
155
155
|
|
|
156
156
|
```
|
|
157
|
-
/specd
|
|
157
|
+
/specd.toolbox user-dashboard
|
|
158
158
|
```
|
|
159
159
|
|
|
160
|
-
Opens a menu with task operations (Discuss, Research, Plan, Execute, Review)
|
|
160
|
+
Opens a menu with task operations (Discuss, Research, Plan, Execute, Review). Useful when you want to jump to a specific action outside the normal flow.
|
|
161
|
+
|
|
162
|
+
**Need to review codebase context?**
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
/specd.codebase.review
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Section-by-section review of any context file: confirm, edit, remove, re-map, or add new content.
|
|
161
169
|
|
|
162
170
|
---
|
|
163
171
|
|
|
@@ -167,25 +175,25 @@ Opens a menu with task operations (Discuss, Research, Plan, Execute, Review) and
|
|
|
167
175
|
|
|
168
176
|
| Command | Description |
|
|
169
177
|
|---------|-------------|
|
|
170
|
-
| `/specd
|
|
171
|
-
| `/specd
|
|
172
|
-
| `/specd
|
|
178
|
+
| `/specd.new [name]` | Initialize a task, start first discussion |
|
|
179
|
+
| `/specd.continue [name] [--interactive\|--auto]` | **Drive the entire lifecycle** — picks up where you left off |
|
|
180
|
+
| `/specd.toolbox [name]` | Advanced task operations |
|
|
173
181
|
|
|
174
182
|
### Codebase Documentation
|
|
175
183
|
|
|
176
184
|
| Command | Description |
|
|
177
185
|
|---------|-------------|
|
|
178
|
-
| `/specd
|
|
179
|
-
| `/specd
|
|
186
|
+
| `/specd.codebase.map` | Analyze codebase with parallel agents |
|
|
187
|
+
| `/specd.codebase.review` | Review and edit codebase context files section by section |
|
|
180
188
|
|
|
181
189
|
### Utilities
|
|
182
190
|
|
|
183
191
|
| Command | Description |
|
|
184
192
|
|---------|-------------|
|
|
185
|
-
| `/specd
|
|
186
|
-
| `/specd
|
|
187
|
-
| `/specd
|
|
188
|
-
| `/specd
|
|
193
|
+
| `/specd.config` | Configure auto-commit settings for docs and code |
|
|
194
|
+
| `/specd.status [--all]` | Show task status dashboard |
|
|
195
|
+
| `/specd.help` | Show available commands |
|
|
196
|
+
| `/specd.update` | Update to latest version |
|
|
189
197
|
|
|
190
198
|
---
|
|
191
199
|
|
|
@@ -207,18 +215,14 @@ Opens a menu with task operations (Discuss, Research, Plan, Execute, Review) and
|
|
|
207
215
|
- **Phase review** — Code review agent inspects executed code against plan intent. Generates fix plans (decimal phases like `phase-01.1`) if needed.
|
|
208
216
|
- **Revise** — Collects feedback from review, creates fix plans, signals brain to re-execute.
|
|
209
217
|
|
|
210
|
-
**`toolbox`** provides direct access to
|
|
211
|
-
|
|
212
|
-
**Tasks** (`/specd:toolbox tasks my-feature`):
|
|
218
|
+
**`toolbox`** (`/specd.toolbox my-feature`) provides direct access to task operations outside the normal flow:
|
|
213
219
|
- **Discuss** — Explore open questions, record decisions
|
|
214
220
|
- **Research** — Spawn parallel agents for patterns/pitfalls
|
|
215
221
|
- **Plan** — Create execution phases from task context
|
|
216
222
|
- **Execute** — Execute the next phase's plan
|
|
217
223
|
- **Review** — Review executed phase, approve or request fixes
|
|
218
224
|
|
|
219
|
-
|
|
220
|
-
- **Status** — Dashboard showing all context files with freshness indicators
|
|
221
|
-
- **Review** — Section-by-section review of any context file: confirm, edit, remove, re-map (spawns a mapper agent to regenerate a section), or add new content. Sections are tracked with `AUTO_GENERATED` and `USER_MODIFIED` tags with dates.
|
|
225
|
+
**`codebase.review`** (`/specd.codebase.review`) — Section-by-section review of any codebase context file: confirm, edit, remove, re-map (spawns a mapper agent to regenerate a section), or add new content. Sections are tracked with `AUTO_GENERATED` and `USER_MODIFIED` tags with dates.
|
|
222
226
|
|
|
223
227
|
---
|
|
224
228
|
|
|
@@ -368,7 +372,7 @@ Specdacular spawns specialized agents that run simultaneously:
|
|
|
368
372
|
|
|
369
373
|
```
|
|
370
374
|
┌─────────────────────────────────────────────────────────┐
|
|
371
|
-
│ /specd
|
|
375
|
+
│ /specd.codebase.map │
|
|
372
376
|
└─────────────────────────────────────────────────────────┘
|
|
373
377
|
│
|
|
374
378
|
┌───────────────┼───────────────┐
|
|
@@ -396,7 +400,7 @@ Specdacular supports monorepos and multi-repo setups through an orchestrator lay
|
|
|
396
400
|
### Setup
|
|
397
401
|
|
|
398
402
|
```
|
|
399
|
-
/specd
|
|
403
|
+
/specd.codebase.map
|
|
400
404
|
```
|
|
401
405
|
|
|
402
406
|
When it detects multiple projects (via `package.json`, `go.mod`, `Cargo.toml`, etc.), it offers to enable multi-project mode. This:
|
|
@@ -423,8 +427,8 @@ Planning creates per-project roadmaps plus a cross-project dependency graph (`DE
|
|
|
423
427
|
`continue` 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.
|
|
424
428
|
|
|
425
429
|
```
|
|
426
|
-
/specd
|
|
427
|
-
/specd
|
|
430
|
+
/specd.continue auth-system # Auto-picks next unblocked phase across projects
|
|
431
|
+
/specd.continue auth-system api # Target a specific sub-project
|
|
428
432
|
```
|
|
429
433
|
|
|
430
434
|
---
|
|
@@ -441,7 +445,7 @@ your-project/
|
|
|
441
445
|
│ │ ├── pre-execute.md
|
|
442
446
|
│ │ └── post-review.md
|
|
443
447
|
│ │
|
|
444
|
-
│ ├── codebase/ # From /specd
|
|
448
|
+
│ ├── codebase/ # From /specd.codebase.map
|
|
445
449
|
│ │ ├── MAP.md
|
|
446
450
|
│ │ ├── PATTERNS.md
|
|
447
451
|
│ │ ├── STRUCTURE.md
|
|
@@ -537,7 +541,7 @@ npx specdacular@latest
|
|
|
537
541
|
|
|
538
542
|
Or in Claude Code:
|
|
539
543
|
```
|
|
540
|
-
/specd
|
|
544
|
+
/specd.update
|
|
541
545
|
```
|
|
542
546
|
|
|
543
547
|
---
|
|
@@ -8,7 +8,7 @@ color: cyan
|
|
|
8
8
|
<role>
|
|
9
9
|
You are a codebase mapper optimized for AI consumption. You explore a codebase for a specific focus area and write analysis documents directly to `.specd/codebase/`.
|
|
10
10
|
|
|
11
|
-
You are spawned by `/specd
|
|
11
|
+
You are spawned by `/specd.codebase.map` with one of four focus areas:
|
|
12
12
|
- **map**: Create navigation map → write MAP.md
|
|
13
13
|
- **patterns**: Extract code patterns → write PATTERNS.md
|
|
14
14
|
- **structure**: Document organization → write STRUCTURE.md
|
package/bin/install.js
CHANGED
|
@@ -166,13 +166,27 @@ function uninstall(isGlobal) {
|
|
|
166
166
|
|
|
167
167
|
let removedCount = 0;
|
|
168
168
|
|
|
169
|
-
// Remove specd commands
|
|
169
|
+
// Remove specd commands (both old directory format and new flat format)
|
|
170
170
|
const specCommandsDir = path.join(targetDir, 'commands', 'specd');
|
|
171
171
|
if (fs.existsSync(specCommandsDir)) {
|
|
172
172
|
fs.rmSync(specCommandsDir, { recursive: true });
|
|
173
173
|
removedCount++;
|
|
174
174
|
console.log(` ${green}✓${reset} Removed commands/specd/`);
|
|
175
175
|
}
|
|
176
|
+
const commandsDir = path.join(targetDir, 'commands');
|
|
177
|
+
if (fs.existsSync(commandsDir)) {
|
|
178
|
+
let cmdCount = 0;
|
|
179
|
+
for (const file of fs.readdirSync(commandsDir)) {
|
|
180
|
+
if (file.startsWith('specd.') && file.endsWith('.md')) {
|
|
181
|
+
fs.unlinkSync(path.join(commandsDir, file));
|
|
182
|
+
cmdCount++;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (cmdCount > 0) {
|
|
186
|
+
removedCount++;
|
|
187
|
+
console.log(` ${green}✓${reset} Removed ${cmdCount} specd commands`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
176
190
|
|
|
177
191
|
// Remove specdacular directory
|
|
178
192
|
const specDir = path.join(targetDir, 'specdacular');
|
|
@@ -292,14 +306,34 @@ function install(isGlobal) {
|
|
|
292
306
|
const commandsDir = path.join(targetDir, 'commands');
|
|
293
307
|
fs.mkdirSync(commandsDir, { recursive: true });
|
|
294
308
|
|
|
295
|
-
|
|
296
|
-
const
|
|
297
|
-
if (fs.existsSync(
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
309
|
+
// Remove old commands/specd/ directory if it exists (pre-0.10.0 format)
|
|
310
|
+
const oldSpecDir = path.join(commandsDir, 'specd');
|
|
311
|
+
if (fs.existsSync(oldSpecDir)) {
|
|
312
|
+
fs.rmSync(oldSpecDir, { recursive: true });
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
// Remove old specd.*.md command files before copying new ones
|
|
316
|
+
for (const file of fs.readdirSync(commandsDir)) {
|
|
317
|
+
if (file.startsWith('specd.') && file.endsWith('.md')) {
|
|
318
|
+
fs.unlinkSync(path.join(commandsDir, file));
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
const commandsSrc = path.join(src, 'commands');
|
|
323
|
+
if (fs.existsSync(commandsSrc)) {
|
|
324
|
+
let commandCount = 0;
|
|
325
|
+
for (const file of fs.readdirSync(commandsSrc)) {
|
|
326
|
+
if (file.startsWith('specd.') && file.endsWith('.md')) {
|
|
327
|
+
let content = fs.readFileSync(path.join(commandsSrc, file), 'utf8');
|
|
328
|
+
content = content.replace(/~\/\.claude\//g, pathPrefix);
|
|
329
|
+
fs.writeFileSync(path.join(commandsDir, file), content);
|
|
330
|
+
commandCount++;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
if (commandCount > 0) {
|
|
334
|
+
console.log(` ${green}✓${reset} Installed ${commandCount} specd commands`);
|
|
301
335
|
} else {
|
|
302
|
-
failures.push('commands
|
|
336
|
+
failures.push('commands');
|
|
303
337
|
}
|
|
304
338
|
}
|
|
305
339
|
|
|
@@ -430,12 +464,12 @@ function install(isGlobal) {
|
|
|
430
464
|
}
|
|
431
465
|
|
|
432
466
|
console.log(`
|
|
433
|
-
${green}Done!${reset} Launch Claude Code and run ${cyan}/specd
|
|
467
|
+
${green}Done!${reset} Launch Claude Code and run ${cyan}/specd.help${reset}.
|
|
434
468
|
|
|
435
469
|
${yellow}Commands:${reset}
|
|
436
|
-
/specd
|
|
437
|
-
/specd
|
|
438
|
-
/specd
|
|
470
|
+
/specd.codebase.map - Analyze and document your codebase
|
|
471
|
+
/specd.update - Update to latest version
|
|
472
|
+
/specd.help - Show all commands
|
|
439
473
|
`);
|
|
440
474
|
}
|
|
441
475
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd.codebase.review
|
|
3
|
+
description: "Review and edit codebase context files section by section"
|
|
4
|
+
argument-hint: ""
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Task
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
<objective>
|
|
17
|
+
Walk through and review a codebase context file (.specd/codebase/*.md) section by section. Confirm, edit, remove, or re-map individual sections.
|
|
18
|
+
|
|
19
|
+
Output: Updated context file with reviewed/edited sections and updated timestamps.
|
|
20
|
+
</objective>
|
|
21
|
+
|
|
22
|
+
<execution_context>
|
|
23
|
+
Follow the context-manual-review workflow:
|
|
24
|
+
@~/.claude/specdacular/workflows/context-manual-review.md
|
|
25
|
+
</execution_context>
|
|
26
|
+
|
|
27
|
+
<context>
|
|
28
|
+
**Context workflows:**
|
|
29
|
+
@~/.claude/specdacular/workflows/context-manual-review.md
|
|
30
|
+
@~/.claude/specdacular/workflows/context-add.md
|
|
31
|
+
</context>
|
|
32
|
+
|
|
33
|
+
<success_criteria>
|
|
34
|
+
- [ ] User selects a context file to review
|
|
35
|
+
- [ ] Section list shown with tag status
|
|
36
|
+
- [ ] User can confirm, edit, remove, or re-map each section
|
|
37
|
+
- [ ] Timestamps updated after review
|
|
38
|
+
- [ ] Changes committed
|
|
39
|
+
</success_criteria>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd.new-project
|
|
3
|
+
description: Bootstrap a new project from idea to structured plan
|
|
4
|
+
argument-hint: "[project-name]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Write
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
- Task
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<objective>
|
|
16
|
+
Guide users from "I have an idea" to a structured project plan for greenfield projects. Unlike `/specd.new` which adds tasks to existing codebases, this bootstraps entire projects (or multi-service systems) through collaborative questioning, domain research, requirements scoping, and roadmap generation — producing an orchestrator setup with per-project task lifecycles.
|
|
17
|
+
|
|
18
|
+
**Stages:**
|
|
19
|
+
1. **Questioning** — Collaborative discussion to understand vision, goals, users, constraints
|
|
20
|
+
2. **Research** — Parallel agents investigate stack, features, architecture, pitfalls
|
|
21
|
+
3. **Requirements** — Multi-select scoping from research findings → REQUIREMENTS.md
|
|
22
|
+
4. **Roadmap** — Phase planning mapped to requirements, identifies sub-projects
|
|
23
|
+
5. **Scaffolding** — Create orchestrator config, sub-project directories, seed setup tasks
|
|
24
|
+
|
|
25
|
+
**Creates:**
|
|
26
|
+
- `.specd/tasks/project/PROJECT.md` — Project vision and goals
|
|
27
|
+
- `.specd/tasks/project/research/` — Stack, features, architecture, pitfalls findings
|
|
28
|
+
- `.specd/tasks/project/REQUIREMENTS.md` — Scoped v1 requirements with REQ-IDs
|
|
29
|
+
- `.specd/tasks/project/ROADMAP.md` — Phased execution plan
|
|
30
|
+
- `.specd/config.json` — Orchestrator config with projects array
|
|
31
|
+
- Per sub-project: `.specd/config.json` + `.specd/tasks/setup/FEATURE.md`
|
|
32
|
+
|
|
33
|
+
**This is a standalone command.** It runs its own sequential flow and exits. After scaffolding, use `/specd.new` and `/specd.continue` on individual sub-projects.
|
|
34
|
+
</objective>
|
|
35
|
+
|
|
36
|
+
<execution_context>
|
|
37
|
+
@~/.claude/specdacular/workflows/new-project.md
|
|
38
|
+
</execution_context>
|
|
39
|
+
|
|
40
|
+
<context>
|
|
41
|
+
Project name: $ARGUMENTS
|
|
42
|
+
|
|
43
|
+
**No codebase context needed** — this is for greenfield projects with no existing code.
|
|
44
|
+
|
|
45
|
+
**References:**
|
|
46
|
+
- `~/.claude/specdacular/templates/tasks/PROJECT.md` — Project vision template
|
|
47
|
+
- `~/.claude/specdacular/templates/tasks/REQUIREMENTS.md` — Requirements template (Phase 3)
|
|
48
|
+
- `~/.claude/specdacular/agents/project-researcher.md` — Research agent (Phase 2)
|
|
49
|
+
</context>
|
|
50
|
+
|
|
51
|
+
<success_criteria>
|
|
52
|
+
- [ ] Questioning produces PROJECT.md with clear vision, goals, users, constraints
|
|
53
|
+
- [ ] Research spawns parallel agents for 4 domains (Phase 2)
|
|
54
|
+
- [ ] Requirements scoped via multi-select from research (Phase 3)
|
|
55
|
+
- [ ] Roadmap generated with phases mapped to requirements (Phase 3)
|
|
56
|
+
- [ ] Sub-projects scaffolded with orchestrator config (Phase 4)
|
|
57
|
+
- [ ] Each sub-project independently runnable via `/specd.new` and `/specd.continue`
|
|
58
|
+
</success_criteria>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: specd
|
|
2
|
+
name: specd.new
|
|
3
3
|
description: Initialize a new task and start the first discussion
|
|
4
4
|
argument-hint: "[task-name]"
|
|
5
5
|
allowed-tools:
|
|
@@ -22,7 +22,7 @@ Initialize a task folder and start the first discussion. Creates structure, asks
|
|
|
22
22
|
- `.specd/tasks/{name}/STATE.md` — Progress tracking
|
|
23
23
|
- `.specd/tasks/{name}/config.json` — Task configuration
|
|
24
24
|
|
|
25
|
-
**This is the entry point.** After this, continue with `/specd
|
|
25
|
+
**This is the entry point.** After this, continue with `/specd.continue` to drive the entire lifecycle.
|
|
26
26
|
</objective>
|
|
27
27
|
|
|
28
28
|
<execution_context>
|
|
@@ -35,7 +35,7 @@ Task name: $ARGUMENTS
|
|
|
35
35
|
**Codebase context discovery:**
|
|
36
36
|
1. Check for `.specd/config.json` — if exists, read `codebase_docs` path
|
|
37
37
|
2. If no config, check for `.specd/codebase/` (default location)
|
|
38
|
-
3. If neither found, offer `/specd
|
|
38
|
+
3. If neither found, offer `/specd.codebase.map`
|
|
39
39
|
|
|
40
40
|
**Referenced docs (when available):**
|
|
41
41
|
- `MAP.md` — System structure
|
|
@@ -61,5 +61,5 @@ Task name: $ARGUMENTS
|
|
|
61
61
|
- [ ] STATE.md tracks current position
|
|
62
62
|
- [ ] config.json created
|
|
63
63
|
- [ ] Committed to git
|
|
64
|
-
- [ ] User offered to continue with `/specd
|
|
64
|
+
- [ ] User offered to continue with `/specd.continue`
|
|
65
65
|
</success_criteria>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specd.toolbox
|
|
3
|
+
description: "Advanced task operations"
|
|
4
|
+
argument-hint: "[<task-name>]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Task
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
- WebSearch
|
|
15
|
+
- WebFetch
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
<objective>
|
|
19
|
+
Task lifecycle operations: discuss, research, plan, execute, review.
|
|
20
|
+
</objective>
|
|
21
|
+
|
|
22
|
+
<execution_context>
|
|
23
|
+
**Parse $ARGUMENTS as task name.**
|
|
24
|
+
|
|
25
|
+
- If a bare word that matches a directory in `.specd/tasks/` or `.specd/features/` → use as task name
|
|
26
|
+
- If empty → check `.specd/tasks/` for available tasks. If only one task exists, use it automatically. If multiple, ask.
|
|
27
|
+
|
|
28
|
+
Validate using:
|
|
29
|
+
@~/.claude/specdacular/references/validate-task.md
|
|
30
|
+
|
|
31
|
+
Then present the menu using AskUserQuestion:
|
|
32
|
+
- header: "Operation"
|
|
33
|
+
- question: "What would you like to do with {task-name}?"
|
|
34
|
+
- options:
|
|
35
|
+
- "Discuss" — Explore gray areas and record decisions
|
|
36
|
+
- "Research" — Spawn parallel agents for patterns/pitfalls
|
|
37
|
+
- "Plan" — Create execution phases
|
|
38
|
+
- "Execute" — Execute the next phase
|
|
39
|
+
- "Review" — Review executed phase
|
|
40
|
+
|
|
41
|
+
Based on selection, delegate to the appropriate workflow:
|
|
42
|
+
- Discuss → @~/.claude/specdacular/workflows/discuss.md
|
|
43
|
+
- Research → @~/.claude/specdacular/workflows/research.md
|
|
44
|
+
- Plan → @~/.claude/specdacular/workflows/plan.md
|
|
45
|
+
- Execute → @~/.claude/specdacular/workflows/execute.md
|
|
46
|
+
- Review → @~/.claude/specdacular/workflows/review.md
|
|
47
|
+
|
|
48
|
+
</execution_context>
|
|
49
|
+
|
|
50
|
+
<context>
|
|
51
|
+
Arguments: $ARGUMENTS
|
|
52
|
+
|
|
53
|
+
@~/.claude/specdacular/workflows/discuss.md
|
|
54
|
+
@~/.claude/specdacular/workflows/research.md
|
|
55
|
+
@~/.claude/specdacular/workflows/plan.md
|
|
56
|
+
@~/.claude/specdacular/workflows/execute.md
|
|
57
|
+
@~/.claude/specdacular/workflows/review.md
|
|
58
|
+
</context>
|
|
59
|
+
|
|
60
|
+
<success_criteria>
|
|
61
|
+
- [ ] Task validated and operation menu shown
|
|
62
|
+
- [ ] Selected operation executed via correct workflow
|
|
63
|
+
</success_criteria>
|
|
@@ -49,7 +49,7 @@ process.stdin.on('end', () => {
|
|
|
49
49
|
try {
|
|
50
50
|
const cache = JSON.parse(fs.readFileSync(cacheFile, 'utf8'));
|
|
51
51
|
if (cache.update_available) {
|
|
52
|
-
specdUpdate = '\x1b[33m⬆ /specd
|
|
52
|
+
specdUpdate = '\x1b[33m⬆ /specd.update\x1b[0m │ ';
|
|
53
53
|
}
|
|
54
54
|
} catch (e) {}
|
|
55
55
|
}
|
package/package.json
CHANGED
package/specdacular/HELP.md
CHANGED
|
@@ -8,48 +8,52 @@
|
|
|
8
8
|
|
|
9
9
|
| Command | Description |
|
|
10
10
|
|---------|-------------|
|
|
11
|
-
| `/specd
|
|
12
|
-
| `/specd
|
|
11
|
+
| `/specd.new [name]` | Initialize a task, start first discussion |
|
|
12
|
+
| `/specd.new-project [name]` | Bootstrap a new project from idea to structured plan |
|
|
13
|
+
| `/specd.continue [name] [--interactive\|--auto]` | Continue task lifecycle — picks up where you left off |
|
|
13
14
|
|
|
14
|
-
| `/specd
|
|
15
|
+
| `/specd.toolbox [<name>]` | Advanced task operations |
|
|
15
16
|
|
|
16
17
|
### Utilities
|
|
17
18
|
|
|
18
19
|
| Command | Description |
|
|
19
20
|
|---------|-------------|
|
|
20
|
-
| `/specd
|
|
21
|
-
| `/specd
|
|
22
|
-
| `/specd
|
|
23
|
-
| `/specd
|
|
24
|
-
| `/specd
|
|
21
|
+
| `/specd.codebase.map` | Analyze codebase with parallel agents → AI-optimized docs |
|
|
22
|
+
| `/specd.codebase.review` | Review and edit codebase context files section by section |
|
|
23
|
+
| `/specd.config` | Configure auto-commit settings for docs and code |
|
|
24
|
+
| `/specd.status [--all]` | Show task status dashboard |
|
|
25
|
+
| `/specd.help` | Show this help |
|
|
26
|
+
| `/specd.update` | Update Specdacular to the latest version |
|
|
25
27
|
|
|
26
28
|
---
|
|
27
29
|
|
|
28
30
|
## Task Flow
|
|
29
31
|
|
|
30
32
|
```
|
|
31
|
-
/specd
|
|
33
|
+
/specd.new → /specd.continue → continue → continue → done
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**For new projects (greenfield):**
|
|
37
|
+
```
|
|
38
|
+
/specd.new-project → (questioning → research → requirements → roadmap → scaffold)
|
|
32
39
|
```
|
|
33
40
|
|
|
34
41
|
**You only need three commands:**
|
|
35
42
|
|
|
36
|
-
1. **`/specd
|
|
37
|
-
2. **`/specd
|
|
43
|
+
1. **`/specd.new [name]`** — Start here. Creates task folder, asks initial questions.
|
|
44
|
+
2. **`/specd.continue [name]`** — Picks up where you left off. Drives the entire lifecycle:
|
|
38
45
|
- Discussion → Research → Planning → Phase Execution → Review
|
|
39
46
|
- After each step, offers the next step or "stop for now"
|
|
40
47
|
- Works across context windows — reads state fresh each time
|
|
41
48
|
- Modes: default (auto-runs, pauses at phase steps), `--interactive` (prompt at each step), `--auto` (run everything)
|
|
42
|
-
3. **`/specd
|
|
43
|
-
|
|
44
|
-
- Discuss, Research, Plan, Execute, Review
|
|
45
|
-
- **`/specd:toolbox context`** — Context management:
|
|
46
|
-
- Status, Review, Add
|
|
49
|
+
3. **`/specd.toolbox [name]`** — Direct access to task operations: Discuss, Research, Plan, Execute, Review
|
|
50
|
+
4. **`/specd.codebase.review`** — Review and edit codebase context files section by section
|
|
47
51
|
|
|
48
52
|
### Quick Start
|
|
49
53
|
|
|
50
54
|
```
|
|
51
|
-
/specd
|
|
52
|
-
/specd
|
|
55
|
+
/specd.new user-dashboard
|
|
56
|
+
/specd.continue user-dashboard
|
|
53
57
|
```
|
|
54
58
|
|
|
55
59
|
After initialization, just keep running `continue`. It figures out what's next.
|
|
@@ -121,7 +125,7 @@ Hooks are markdown workflow files that run before and after pipeline steps. They
|
|
|
121
125
|
## Codebase Documentation
|
|
122
126
|
|
|
123
127
|
```
|
|
124
|
-
/specd
|
|
128
|
+
/specd.codebase.map
|
|
125
129
|
```
|
|
126
130
|
|
|
127
131
|
Spawns 4 parallel agents to analyze your codebase and creates `.specd/codebase/`:
|
|
@@ -139,7 +143,7 @@ Spawns 4 parallel agents to analyze your codebase and creates `.specd/codebase/`
|
|
|
139
143
|
|
|
140
144
|
When an update is available, you'll see `update available` in your statusline. Run:
|
|
141
145
|
```
|
|
142
|
-
/specd
|
|
146
|
+
/specd.update
|
|
143
147
|
```
|
|
144
148
|
Or manually: `npx specdacular@latest`
|
|
145
149
|
|