get-shit-done-cc 1.8.0 → 1.9.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 +104 -0
- package/agents/gsd-executor.md +15 -0
- package/agents/gsd-planner.md +22 -0
- package/bin/install.js +78 -7
- package/commands/gsd/analyze-codebase.md +363 -0
- package/commands/gsd/audit-milestone.md +20 -1
- package/commands/gsd/debug.md +20 -0
- package/commands/gsd/execute-phase.md +37 -4
- package/commands/gsd/help.md +91 -0
- package/commands/gsd/new-milestone.md +27 -7
- package/commands/gsd/new-project.md +104 -11
- package/commands/gsd/plan-phase.md +84 -26
- package/commands/gsd/progress.md +2 -0
- package/commands/gsd/query-intel.md +128 -0
- package/commands/gsd/quick.md +23 -0
- package/commands/gsd/research-phase.md +20 -0
- package/commands/gsd/set-profile.md +106 -0
- package/commands/gsd/settings.md +136 -0
- package/get-shit-done/references/model-profiles.md +73 -0
- package/get-shit-done/templates/config.json +5 -0
- package/get-shit-done/templates/entity.md +173 -0
- package/get-shit-done/workflows/execute-phase.md +45 -9
- package/get-shit-done/workflows/execute-plan.md +165 -4
- package/get-shit-done/workflows/map-codebase.md +24 -2
- package/get-shit-done/workflows/verify-work.md +22 -0
- package/hooks/dist/gsd-intel-index.js +97 -0
- package/hooks/dist/gsd-intel-prune.js +78 -0
- package/hooks/dist/gsd-intel-session.js +39 -0
- package/package.json +12 -2
- package/scripts/build-hooks.js +95 -0
- /package/hooks/{gsd-check-update.js → dist/gsd-check-update.js} +0 -0
- /package/hooks/{statusline.js → dist/statusline.js} +0 -0
|
@@ -39,6 +39,24 @@ Glob: .planning/phases/*/*-VERIFICATION.md
|
|
|
39
39
|
|
|
40
40
|
<process>
|
|
41
41
|
|
|
42
|
+
## 0. Resolve Model Profile
|
|
43
|
+
|
|
44
|
+
Read model profile for agent spawning:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Default to "balanced" if not set.
|
|
51
|
+
|
|
52
|
+
**Model lookup table:**
|
|
53
|
+
|
|
54
|
+
| Agent | quality | balanced | budget |
|
|
55
|
+
|-------|---------|----------|--------|
|
|
56
|
+
| gsd-integration-checker | sonnet | sonnet | haiku |
|
|
57
|
+
|
|
58
|
+
Store resolved model for use in Task call below.
|
|
59
|
+
|
|
42
60
|
## 1. Determine Milestone Scope
|
|
43
61
|
|
|
44
62
|
```bash
|
|
@@ -83,7 +101,8 @@ Phase exports: {from SUMMARYs}
|
|
|
83
101
|
API routes: {routes created}
|
|
84
102
|
|
|
85
103
|
Verify cross-phase wiring and E2E user flows.",
|
|
86
|
-
subagent_type="gsd-integration-checker"
|
|
104
|
+
subagent_type="gsd-integration-checker",
|
|
105
|
+
model="{integration_checker_model}"
|
|
87
106
|
)
|
|
88
107
|
```
|
|
89
108
|
|
package/commands/gsd/debug.md
CHANGED
|
@@ -28,6 +28,24 @@ ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
|
|
|
28
28
|
|
|
29
29
|
<process>
|
|
30
30
|
|
|
31
|
+
## 0. Resolve Model Profile
|
|
32
|
+
|
|
33
|
+
Read model profile for agent spawning:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Default to "balanced" if not set.
|
|
40
|
+
|
|
41
|
+
**Model lookup table:**
|
|
42
|
+
|
|
43
|
+
| Agent | quality | balanced | budget |
|
|
44
|
+
|-------|---------|----------|--------|
|
|
45
|
+
| gsd-debugger | opus | sonnet | sonnet |
|
|
46
|
+
|
|
47
|
+
Store resolved model for use in Task calls below.
|
|
48
|
+
|
|
31
49
|
## 1. Check Active Sessions
|
|
32
50
|
|
|
33
51
|
If active sessions exist AND no $ARGUMENTS:
|
|
@@ -82,6 +100,7 @@ Create: .planning/debug/{slug}.md
|
|
|
82
100
|
Task(
|
|
83
101
|
prompt=filled_prompt,
|
|
84
102
|
subagent_type="gsd-debugger",
|
|
103
|
+
model="{debugger_model}",
|
|
85
104
|
description="Debug {slug}"
|
|
86
105
|
)
|
|
87
106
|
```
|
|
@@ -134,6 +153,7 @@ goal: find_and_fix
|
|
|
134
153
|
Task(
|
|
135
154
|
prompt=continuation_prompt,
|
|
136
155
|
subagent_type="gsd-debugger",
|
|
156
|
+
model="{debugger_model}",
|
|
137
157
|
description="Continue debug {slug}"
|
|
138
158
|
)
|
|
139
159
|
```
|
|
@@ -38,6 +38,24 @@ Phase: $ARGUMENTS
|
|
|
38
38
|
</context>
|
|
39
39
|
|
|
40
40
|
<process>
|
|
41
|
+
0. **Resolve Model Profile**
|
|
42
|
+
|
|
43
|
+
Read model profile for agent spawning:
|
|
44
|
+
```bash
|
|
45
|
+
MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Default to "balanced" if not set.
|
|
49
|
+
|
|
50
|
+
**Model lookup table:**
|
|
51
|
+
|
|
52
|
+
| Agent | quality | balanced | budget |
|
|
53
|
+
|-------|---------|----------|--------|
|
|
54
|
+
| gsd-executor | opus | sonnet | sonnet |
|
|
55
|
+
| gsd-verifier | sonnet | sonnet | haiku |
|
|
56
|
+
|
|
57
|
+
Store resolved models for use in Task calls below.
|
|
58
|
+
|
|
41
59
|
1. **Validate phase exists**
|
|
42
60
|
- Find phase directory matching argument
|
|
43
61
|
- Count PLAN.md files
|
|
@@ -79,6 +97,11 @@ Phase: $ARGUMENTS
|
|
|
79
97
|
**If clean:** Continue to verification.
|
|
80
98
|
|
|
81
99
|
7. **Verify phase goal**
|
|
100
|
+
Check config: `WORKFLOW_VERIFIER=$(cat .planning/config.json 2>/dev/null | grep -o '"verifier"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")`
|
|
101
|
+
|
|
102
|
+
**If `workflow.verifier` is `false`:** Skip to step 8 (treat as passed).
|
|
103
|
+
|
|
104
|
+
**Otherwise:**
|
|
82
105
|
- Spawn `gsd-verifier` subagent with phase directory and goal
|
|
83
106
|
- Verifier checks must_haves against actual codebase (not SUMMARY claims)
|
|
84
107
|
- Creates VERIFICATION.md with detailed report
|
|
@@ -230,12 +253,22 @@ After user runs /gsd:plan-phase {Z} --gaps:
|
|
|
230
253
|
<wave_execution>
|
|
231
254
|
**Parallel spawning:**
|
|
232
255
|
|
|
233
|
-
|
|
256
|
+
Before spawning, read file contents. The `@` syntax does not work across Task() boundaries.
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# Read each plan and STATE.md
|
|
260
|
+
PLAN_01_CONTENT=$(cat "{plan_01_path}")
|
|
261
|
+
PLAN_02_CONTENT=$(cat "{plan_02_path}")
|
|
262
|
+
PLAN_03_CONTENT=$(cat "{plan_03_path}")
|
|
263
|
+
STATE_CONTENT=$(cat .planning/STATE.md)
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Spawn all plans in a wave with a single message containing multiple Task calls, with inlined content:
|
|
234
267
|
|
|
235
268
|
```
|
|
236
|
-
Task(prompt="Execute plan at {plan_01_path}\n\nPlan
|
|
237
|
-
Task(prompt="Execute plan at {plan_02_path}\n\nPlan
|
|
238
|
-
Task(prompt="Execute plan at {plan_03_path}\n\nPlan
|
|
269
|
+
Task(prompt="Execute plan at {plan_01_path}\n\nPlan:\n{plan_01_content}\n\nProject state:\n{state_content}", subagent_type="gsd-executor", model="{executor_model}")
|
|
270
|
+
Task(prompt="Execute plan at {plan_02_path}\n\nPlan:\n{plan_02_content}\n\nProject state:\n{state_content}", subagent_type="gsd-executor", model="{executor_model}")
|
|
271
|
+
Task(prompt="Execute plan at {plan_03_path}\n\nPlan:\n{plan_03_content}\n\nProject state:\n{state_content}", subagent_type="gsd-executor", model="{executor_model}")
|
|
239
272
|
```
|
|
240
273
|
|
|
241
274
|
All three run in parallel. Task tool blocks until all complete.
|
package/commands/gsd/help.md
CHANGED
|
@@ -76,6 +76,17 @@ Map an existing codebase for brownfield projects.
|
|
|
76
76
|
|
|
77
77
|
Usage: `/gsd:map-codebase`
|
|
78
78
|
|
|
79
|
+
**`/gsd:analyze-codebase`**
|
|
80
|
+
Bootstrap codebase intelligence for existing projects.
|
|
81
|
+
|
|
82
|
+
- Scans all JS/TS files and extracts exports/imports
|
|
83
|
+
- Detects naming conventions, directory patterns, file suffixes
|
|
84
|
+
- Creates `.planning/intel/` with index, conventions, and summary
|
|
85
|
+
- Works standalone (no `/gsd:new-project` required)
|
|
86
|
+
- After initial scan, PostToolUse hook continues incremental learning
|
|
87
|
+
|
|
88
|
+
Usage: `/gsd:analyze-codebase`
|
|
89
|
+
|
|
79
90
|
### Phase Planning
|
|
80
91
|
|
|
81
92
|
**`/gsd:discuss-phase <number>`**
|
|
@@ -274,6 +285,73 @@ List pending todos and select one to work on.
|
|
|
274
285
|
Usage: `/gsd:check-todos`
|
|
275
286
|
Usage: `/gsd:check-todos api`
|
|
276
287
|
|
|
288
|
+
### User Acceptance Testing
|
|
289
|
+
|
|
290
|
+
**`/gsd:verify-work [phase]`**
|
|
291
|
+
Validate built features through conversational UAT.
|
|
292
|
+
|
|
293
|
+
- Extracts testable deliverables from SUMMARY.md files
|
|
294
|
+
- Presents tests one at a time (yes/no responses)
|
|
295
|
+
- Automatically diagnoses failures and creates fix plans
|
|
296
|
+
- Ready for re-execution if issues found
|
|
297
|
+
|
|
298
|
+
Usage: `/gsd:verify-work 3`
|
|
299
|
+
|
|
300
|
+
### Milestone Auditing
|
|
301
|
+
|
|
302
|
+
**`/gsd:audit-milestone [version]`**
|
|
303
|
+
Audit milestone completion against original intent.
|
|
304
|
+
|
|
305
|
+
- Reads all phase VERIFICATION.md files
|
|
306
|
+
- Checks requirements coverage
|
|
307
|
+
- Spawns integration checker for cross-phase wiring
|
|
308
|
+
- Creates MILESTONE-AUDIT.md with gaps and tech debt
|
|
309
|
+
|
|
310
|
+
Usage: `/gsd:audit-milestone`
|
|
311
|
+
|
|
312
|
+
**`/gsd:plan-milestone-gaps`**
|
|
313
|
+
Create phases to close gaps identified by audit.
|
|
314
|
+
|
|
315
|
+
- Reads MILESTONE-AUDIT.md and groups gaps into phases
|
|
316
|
+
- Prioritizes by requirement priority (must/should/nice)
|
|
317
|
+
- Adds gap closure phases to ROADMAP.md
|
|
318
|
+
- Ready for `/gsd:plan-phase` on new phases
|
|
319
|
+
|
|
320
|
+
Usage: `/gsd:plan-milestone-gaps`
|
|
321
|
+
|
|
322
|
+
### Configuration
|
|
323
|
+
|
|
324
|
+
**`/gsd:settings`**
|
|
325
|
+
Configure workflow toggles and model profile interactively.
|
|
326
|
+
|
|
327
|
+
- Toggle researcher, plan checker, verifier agents
|
|
328
|
+
- Select model profile (quality/balanced/budget)
|
|
329
|
+
- Updates `.planning/config.json`
|
|
330
|
+
|
|
331
|
+
Usage: `/gsd:settings`
|
|
332
|
+
|
|
333
|
+
**`/gsd:set-profile <profile>`**
|
|
334
|
+
Quick switch model profile for GSD agents.
|
|
335
|
+
|
|
336
|
+
- `quality` — Opus everywhere except verification
|
|
337
|
+
- `balanced` — Opus for planning, Sonnet for execution (default)
|
|
338
|
+
- `budget` — Sonnet for writing, Haiku for research/verification
|
|
339
|
+
|
|
340
|
+
Usage: `/gsd:set-profile budget`
|
|
341
|
+
|
|
342
|
+
### Codebase Intelligence
|
|
343
|
+
|
|
344
|
+
**`/gsd:query-intel <type> [path]`**
|
|
345
|
+
Query the codebase intelligence graph database.
|
|
346
|
+
|
|
347
|
+
- `dependents <file>` — What files depend on this? (blast radius)
|
|
348
|
+
- `hotspots` — Which files have the most dependents?
|
|
349
|
+
|
|
350
|
+
Requires `/gsd:analyze-codebase` to build the graph first.
|
|
351
|
+
|
|
352
|
+
Usage: `/gsd:query-intel dependents src/lib/db.ts`
|
|
353
|
+
Usage: `/gsd:query-intel hotspots`
|
|
354
|
+
|
|
277
355
|
### Utility Commands
|
|
278
356
|
|
|
279
357
|
**`/gsd:help`**
|
|
@@ -289,6 +367,15 @@ See what's changed since your installed version.
|
|
|
289
367
|
|
|
290
368
|
Usage: `/gsd:whats-new`
|
|
291
369
|
|
|
370
|
+
**`/gsd:update`**
|
|
371
|
+
Update GSD to latest version with changelog preview.
|
|
372
|
+
|
|
373
|
+
- Shows what changed before updating
|
|
374
|
+
- Confirms before running install
|
|
375
|
+
- Better than raw `npx get-shit-done-cc`
|
|
376
|
+
|
|
377
|
+
Usage: `/gsd:update`
|
|
378
|
+
|
|
292
379
|
## Files & Structure
|
|
293
380
|
|
|
294
381
|
```
|
|
@@ -302,6 +389,10 @@ Usage: `/gsd:whats-new`
|
|
|
302
389
|
│ └── done/ # Completed todos
|
|
303
390
|
├── debug/ # Active debug sessions
|
|
304
391
|
│ └── resolved/ # Archived resolved issues
|
|
392
|
+
├── intel/ # Codebase intelligence (auto-populated)
|
|
393
|
+
│ ├── index.json # File exports and imports
|
|
394
|
+
│ ├── conventions.json # Detected patterns
|
|
395
|
+
│ └── summary.md # Context for session injection
|
|
305
396
|
├── codebase/ # Codebase map (brownfield projects)
|
|
306
397
|
│ ├── STACK.md # Languages, frameworks, dependencies
|
|
307
398
|
│ ├── ARCHITECTURE.md # Patterns, layers, data flow
|
|
@@ -122,6 +122,26 @@ git add .planning/PROJECT.md .planning/STATE.md
|
|
|
122
122
|
git commit -m "docs: start milestone v[X.Y] [Name]"
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
+
## Phase 6.5: Resolve Model Profile
|
|
126
|
+
|
|
127
|
+
Read model profile for agent spawning:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Default to "balanced" if not set.
|
|
134
|
+
|
|
135
|
+
**Model lookup table:**
|
|
136
|
+
|
|
137
|
+
| Agent | quality | balanced | budget |
|
|
138
|
+
|-------|---------|----------|--------|
|
|
139
|
+
| gsd-project-researcher | opus | sonnet | haiku |
|
|
140
|
+
| gsd-research-synthesizer | sonnet | sonnet | haiku |
|
|
141
|
+
| gsd-roadmapper | opus | sonnet | sonnet |
|
|
142
|
+
|
|
143
|
+
Store resolved models for use in Task calls below.
|
|
144
|
+
|
|
125
145
|
## Phase 7: Research Decision
|
|
126
146
|
|
|
127
147
|
Use AskUserQuestion:
|
|
@@ -198,7 +218,7 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
|
|
|
198
218
|
Write to: .planning/research/STACK.md
|
|
199
219
|
Use template: ~/.claude/get-shit-done/templates/research-project/STACK.md
|
|
200
220
|
</output>
|
|
201
|
-
", subagent_type="gsd-project-researcher", description="Stack research")
|
|
221
|
+
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Stack research")
|
|
202
222
|
|
|
203
223
|
Task(prompt="
|
|
204
224
|
<research_type>
|
|
@@ -239,7 +259,7 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
|
|
|
239
259
|
Write to: .planning/research/FEATURES.md
|
|
240
260
|
Use template: ~/.claude/get-shit-done/templates/research-project/FEATURES.md
|
|
241
261
|
</output>
|
|
242
|
-
", subagent_type="gsd-project-researcher", description="Features research")
|
|
262
|
+
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Features research")
|
|
243
263
|
|
|
244
264
|
Task(prompt="
|
|
245
265
|
<research_type>
|
|
@@ -281,7 +301,7 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
|
|
|
281
301
|
Write to: .planning/research/ARCHITECTURE.md
|
|
282
302
|
Use template: ~/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md
|
|
283
303
|
</output>
|
|
284
|
-
", subagent_type="gsd-project-researcher", description="Architecture research")
|
|
304
|
+
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Architecture research")
|
|
285
305
|
|
|
286
306
|
Task(prompt="
|
|
287
307
|
<research_type>
|
|
@@ -319,7 +339,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
|
|
|
319
339
|
Write to: .planning/research/PITFALLS.md
|
|
320
340
|
Use template: ~/.claude/get-shit-done/templates/research-project/PITFALLS.md
|
|
321
341
|
</output>
|
|
322
|
-
", subagent_type="gsd-project-researcher", description="Pitfalls research")
|
|
342
|
+
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Pitfalls research")
|
|
323
343
|
```
|
|
324
344
|
|
|
325
345
|
After all 4 agents complete, spawn synthesizer to create SUMMARY.md:
|
|
@@ -343,7 +363,7 @@ Write to: .planning/research/SUMMARY.md
|
|
|
343
363
|
Use template: ~/.claude/get-shit-done/templates/research-project/SUMMARY.md
|
|
344
364
|
Commit after writing.
|
|
345
365
|
</output>
|
|
346
|
-
", subagent_type="gsd-research-synthesizer", description="Synthesize research")
|
|
366
|
+
", subagent_type="gsd-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
|
|
347
367
|
```
|
|
348
368
|
|
|
349
369
|
Display research complete banner and key findings:
|
|
@@ -548,7 +568,7 @@ Create roadmap for milestone v[X.Y]:
|
|
|
548
568
|
|
|
549
569
|
Write files first, then return. This ensures artifacts persist even if context is lost.
|
|
550
570
|
</instructions>
|
|
551
|
-
", subagent_type="gsd-roadmapper", description="Create roadmap")
|
|
571
|
+
", subagent_type="gsd-roadmapper", model="{roadmapper_model}", description="Create roadmap")
|
|
552
572
|
```
|
|
553
573
|
|
|
554
574
|
**Handle roadmapper return:**
|
|
@@ -615,7 +635,7 @@ Use AskUserQuestion:
|
|
|
615
635
|
Update the roadmap based on feedback. Edit files in place.
|
|
616
636
|
Return ROADMAP REVISED with changes made.
|
|
617
637
|
</revision>
|
|
618
|
-
", subagent_type="gsd-roadmapper", description="Revise roadmap")
|
|
638
|
+
", subagent_type="gsd-roadmapper", model="{roadmapper_model}", description="Revise roadmap")
|
|
619
639
|
```
|
|
620
640
|
- Present revised roadmap
|
|
621
641
|
- Loop until user approves
|
|
@@ -19,6 +19,7 @@ This is the most leveraged moment in any project. Deep questioning here means be
|
|
|
19
19
|
- `.planning/PROJECT.md` — project context
|
|
20
20
|
- `.planning/config.json` — workflow preferences
|
|
21
21
|
- `.planning/research/` — domain research (optional)
|
|
22
|
+
- `.planning/intel/` — codebase intelligence (auto-populated by hooks)
|
|
22
23
|
- `.planning/REQUIREMENTS.md` — scoped requirements
|
|
23
24
|
- `.planning/ROADMAP.md` — phase structure
|
|
24
25
|
- `.planning/STATE.md` — project memory
|
|
@@ -57,7 +58,14 @@ This is the most leveraged moment in any project. Deep questioning here means be
|
|
|
57
58
|
fi
|
|
58
59
|
```
|
|
59
60
|
|
|
60
|
-
3. **
|
|
61
|
+
3. **Create intel directory for codebase intelligence:**
|
|
62
|
+
```bash
|
|
63
|
+
mkdir -p .planning/intel
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
This prepares the directory for the PostToolUse hook to populate with index.json, conventions.json, and summary.md as Claude writes code.
|
|
67
|
+
|
|
68
|
+
4. **Detect existing code (brownfield detection):**
|
|
61
69
|
```bash
|
|
62
70
|
CODE_FILES=$(find . -name "*.ts" -o -name "*.js" -o -name "*.py" -o -name "*.go" -o -name "*.rs" -o -name "*.swift" -o -name "*.java" 2>/dev/null | grep -v node_modules | grep -v .git | head -20)
|
|
63
71
|
HAS_PACKAGE=$([ -f package.json ] || [ -f requirements.txt ] || [ -f Cargo.toml ] || [ -f go.mod ] || [ -f Package.swift ] && echo "yes")
|
|
@@ -237,7 +245,7 @@ EOF
|
|
|
237
245
|
|
|
238
246
|
## Phase 5: Workflow Preferences
|
|
239
247
|
|
|
240
|
-
|
|
248
|
+
**Round 1 — Core workflow settings (4 questions):**
|
|
241
249
|
|
|
242
250
|
```
|
|
243
251
|
questions: [
|
|
@@ -281,12 +289,73 @@ questions: [
|
|
|
281
289
|
]
|
|
282
290
|
```
|
|
283
291
|
|
|
284
|
-
|
|
292
|
+
**Round 2 — Workflow agents:**
|
|
293
|
+
|
|
294
|
+
These spawn additional agents during planning/execution. They add tokens and time but improve quality.
|
|
295
|
+
|
|
296
|
+
| Agent | When it runs | What it does |
|
|
297
|
+
|-------|--------------|--------------|
|
|
298
|
+
| **Researcher** | Before planning each phase | Investigates domain, finds patterns, surfaces gotchas |
|
|
299
|
+
| **Plan Checker** | After plan is created | Verifies plan actually achieves the phase goal |
|
|
300
|
+
| **Verifier** | After phase execution | Confirms must-haves were delivered |
|
|
301
|
+
|
|
302
|
+
All recommended for important projects. Skip for quick experiments.
|
|
303
|
+
|
|
304
|
+
```
|
|
305
|
+
questions: [
|
|
306
|
+
{
|
|
307
|
+
header: "Research",
|
|
308
|
+
question: "Spawn Plan Researcher? (researches domain before planning — adds tokens/time)",
|
|
309
|
+
multiSelect: false,
|
|
310
|
+
options: [
|
|
311
|
+
{ label: "Yes (Recommended)", description: "Research phase goals before planning" },
|
|
312
|
+
{ label: "No", description: "Skip research, plan directly" }
|
|
313
|
+
]
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
header: "Plan Check",
|
|
317
|
+
question: "Spawn Plan Checker? (verifies plans before execution — adds tokens/time)",
|
|
318
|
+
multiSelect: false,
|
|
319
|
+
options: [
|
|
320
|
+
{ label: "Yes (Recommended)", description: "Verify plans meet phase goals" },
|
|
321
|
+
{ label: "No", description: "Skip plan verification" }
|
|
322
|
+
]
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
header: "Verifier",
|
|
326
|
+
question: "Spawn Execution Verifier? (verifies phase completion — adds tokens/time)",
|
|
327
|
+
multiSelect: false,
|
|
328
|
+
options: [
|
|
329
|
+
{ label: "Yes (Recommended)", description: "Verify must-haves after execution" },
|
|
330
|
+
{ label: "No", description: "Skip post-execution verification" }
|
|
331
|
+
]
|
|
332
|
+
}
|
|
333
|
+
]
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
Create `.planning/config.json` with all settings:
|
|
337
|
+
|
|
338
|
+
```json
|
|
339
|
+
{
|
|
340
|
+
"mode": "yolo|interactive",
|
|
341
|
+
"depth": "quick|standard|comprehensive",
|
|
342
|
+
"parallelization": true|false,
|
|
343
|
+
"commit_docs": true|false,
|
|
344
|
+
"workflow": {
|
|
345
|
+
"research": true|false,
|
|
346
|
+
"plan_check": true|false,
|
|
347
|
+
"verifier": true|false
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
```
|
|
285
351
|
|
|
286
352
|
**If commit_docs = No:**
|
|
287
|
-
- Set `
|
|
353
|
+
- Set `commit_docs: false` in config.json
|
|
288
354
|
- Add `.planning/` to `.gitignore` (create if needed)
|
|
289
355
|
|
|
356
|
+
**If commit_docs = Yes:**
|
|
357
|
+
- Add `.planning/intel/` to `.gitignore` (intel is always local — changes constantly, can be regenerated)
|
|
358
|
+
|
|
290
359
|
**Commit config.json:**
|
|
291
360
|
|
|
292
361
|
```bash
|
|
@@ -297,10 +366,33 @@ chore: add project config
|
|
|
297
366
|
Mode: [chosen mode]
|
|
298
367
|
Depth: [chosen depth]
|
|
299
368
|
Parallelization: [enabled/disabled]
|
|
369
|
+
Workflow agents: research=[on/off], plan_check=[on/off], verifier=[on/off]
|
|
300
370
|
EOF
|
|
301
371
|
)"
|
|
302
372
|
```
|
|
303
373
|
|
|
374
|
+
**Note:** Run `/gsd:settings` anytime to update these preferences.
|
|
375
|
+
|
|
376
|
+
## Phase 5.5: Resolve Model Profile
|
|
377
|
+
|
|
378
|
+
Read model profile for agent spawning:
|
|
379
|
+
|
|
380
|
+
```bash
|
|
381
|
+
MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
Default to "balanced" if not set.
|
|
385
|
+
|
|
386
|
+
**Model lookup table:**
|
|
387
|
+
|
|
388
|
+
| Agent | quality | balanced | budget |
|
|
389
|
+
|-------|---------|----------|--------|
|
|
390
|
+
| gsd-project-researcher | opus | sonnet | haiku |
|
|
391
|
+
| gsd-research-synthesizer | sonnet | sonnet | haiku |
|
|
392
|
+
| gsd-roadmapper | opus | sonnet | sonnet |
|
|
393
|
+
|
|
394
|
+
Store resolved models for use in Task calls below.
|
|
395
|
+
|
|
304
396
|
## Phase 6: Research Decision
|
|
305
397
|
|
|
306
398
|
Use AskUserQuestion:
|
|
@@ -381,7 +473,7 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
|
|
|
381
473
|
Write to: .planning/research/STACK.md
|
|
382
474
|
Use template: ~/.claude/get-shit-done/templates/research-project/STACK.md
|
|
383
475
|
</output>
|
|
384
|
-
", subagent_type="gsd-project-researcher", description="Stack research")
|
|
476
|
+
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Stack research")
|
|
385
477
|
|
|
386
478
|
Task(prompt="
|
|
387
479
|
<research_type>
|
|
@@ -420,7 +512,7 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
|
|
|
420
512
|
Write to: .planning/research/FEATURES.md
|
|
421
513
|
Use template: ~/.claude/get-shit-done/templates/research-project/FEATURES.md
|
|
422
514
|
</output>
|
|
423
|
-
", subagent_type="gsd-project-researcher", description="Features research")
|
|
515
|
+
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Features research")
|
|
424
516
|
|
|
425
517
|
Task(prompt="
|
|
426
518
|
<research_type>
|
|
@@ -459,7 +551,7 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
|
|
|
459
551
|
Write to: .planning/research/ARCHITECTURE.md
|
|
460
552
|
Use template: ~/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md
|
|
461
553
|
</output>
|
|
462
|
-
", subagent_type="gsd-project-researcher", description="Architecture research")
|
|
554
|
+
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Architecture research")
|
|
463
555
|
|
|
464
556
|
Task(prompt="
|
|
465
557
|
<research_type>
|
|
@@ -498,7 +590,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
|
|
|
498
590
|
Write to: .planning/research/PITFALLS.md
|
|
499
591
|
Use template: ~/.claude/get-shit-done/templates/research-project/PITFALLS.md
|
|
500
592
|
</output>
|
|
501
|
-
", subagent_type="gsd-project-researcher", description="Pitfalls research")
|
|
593
|
+
", subagent_type="gsd-project-researcher", model="{researcher_model}", description="Pitfalls research")
|
|
502
594
|
```
|
|
503
595
|
|
|
504
596
|
After all 4 agents complete, spawn synthesizer to create SUMMARY.md:
|
|
@@ -522,7 +614,7 @@ Write to: .planning/research/SUMMARY.md
|
|
|
522
614
|
Use template: ~/.claude/get-shit-done/templates/research-project/SUMMARY.md
|
|
523
615
|
Commit after writing.
|
|
524
616
|
</output>
|
|
525
|
-
", subagent_type="gsd-research-synthesizer", description="Synthesize research")
|
|
617
|
+
", subagent_type="gsd-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
|
|
526
618
|
```
|
|
527
619
|
|
|
528
620
|
Display research complete banner and key findings:
|
|
@@ -727,7 +819,7 @@ Create roadmap:
|
|
|
727
819
|
|
|
728
820
|
Write files first, then return. This ensures artifacts persist even if context is lost.
|
|
729
821
|
</instructions>
|
|
730
|
-
", subagent_type="gsd-roadmapper", description="Create roadmap")
|
|
822
|
+
", subagent_type="gsd-roadmapper", model="{roadmapper_model}", description="Create roadmap")
|
|
731
823
|
```
|
|
732
824
|
|
|
733
825
|
**Handle roadmapper return:**
|
|
@@ -803,7 +895,7 @@ Use AskUserQuestion:
|
|
|
803
895
|
Update the roadmap based on feedback. Edit files in place.
|
|
804
896
|
Return ROADMAP REVISED with changes made.
|
|
805
897
|
</revision>
|
|
806
|
-
", subagent_type="gsd-roadmapper", description="Revise roadmap")
|
|
898
|
+
", subagent_type="gsd-roadmapper", model="{roadmapper_model}", description="Revise roadmap")
|
|
807
899
|
```
|
|
808
900
|
- Present revised roadmap
|
|
809
901
|
- Loop until user approves
|
|
@@ -878,6 +970,7 @@ Present completion with next steps:
|
|
|
878
970
|
- `ARCHITECTURE.md`
|
|
879
971
|
- `PITFALLS.md`
|
|
880
972
|
- `SUMMARY.md`
|
|
973
|
+
- `.planning/intel/` (created empty, populated by hooks during coding)
|
|
881
974
|
- `.planning/REQUIREMENTS.md`
|
|
882
975
|
- `.planning/ROADMAP.md`
|
|
883
976
|
- `.planning/STATE.md`
|