get-shit-done-cc 1.3.34 → 1.4.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 +10 -1
- package/commands/gsd/execute-phase.md +120 -0
- package/commands/gsd/execute-plan.md +2 -2
- package/commands/gsd/help.md +25 -2
- package/commands/gsd/new-project.md +22 -2
- package/commands/gsd/plan-fix.md +1 -1
- package/commands/gsd/resume-task.md +1 -1
- package/commands/gsd/status.md +161 -0
- package/get-shit-done/references/scope-estimation.md +88 -0
- package/get-shit-done/templates/agent-history.md +138 -36
- package/get-shit-done/templates/codebase/structure.md +1 -1
- package/get-shit-done/templates/config.json +8 -0
- package/get-shit-done/templates/phase-prompt.md +91 -2
- package/get-shit-done/templates/summary.md +2 -2
- package/get-shit-done/workflows/execute-phase.md +696 -1531
- package/get-shit-done/workflows/execute-plan.md +1734 -0
- package/get-shit-done/workflows/plan-phase.md +105 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -177,6 +177,13 @@ Produces:
|
|
|
177
177
|
|
|
178
178
|
Each phase breaks into 2-3 atomic tasks. Each task runs in a fresh subagent context — 200k tokens purely for implementation, zero degradation.
|
|
179
179
|
|
|
180
|
+
**For multi-plan phases:**
|
|
181
|
+
```
|
|
182
|
+
/gsd:execute-phase 1 # Run all plans in parallel, "walk away" execution
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Use `/gsd:execute-plan` for interactive single-plan execution with checkpoints. Use `/gsd:execute-phase` when you have multiple plans and want parallel "walk away" automation.
|
|
186
|
+
|
|
180
187
|
### 4. Ship and iterate
|
|
181
188
|
|
|
182
189
|
```
|
|
@@ -316,7 +323,9 @@ You're never locked in. The system adapts.
|
|
|
316
323
|
| `/gsd:create-roadmap` | Create roadmap and state tracking |
|
|
317
324
|
| `/gsd:map-codebase` | Map existing codebase for brownfield projects |
|
|
318
325
|
| `/gsd:plan-phase [N]` | Generate task plans for phase |
|
|
319
|
-
| `/gsd:execute-plan` | Run plan via subagent |
|
|
326
|
+
| `/gsd:execute-plan` | Run single plan via subagent |
|
|
327
|
+
| `/gsd:execute-phase <N>` | Execute all plans in phase N with parallel agents |
|
|
328
|
+
| `/gsd:status [--wait]` | Check background agent status from parallel execution |
|
|
320
329
|
| `/gsd:progress` | Where am I? What's next? |
|
|
321
330
|
| `/gsd:verify-work [N]` | User acceptance test of phase or plan ¹ |
|
|
322
331
|
| `/gsd:plan-fix [plan]` | Plan fixes for UAT issues from verify-work |
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:execute-phase
|
|
3
|
+
description: Execute all plans in a phase with intelligent parallelization
|
|
4
|
+
argument-hint: "<phase-number>"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Task
|
|
13
|
+
- TaskOutput
|
|
14
|
+
- AskUserQuestion
|
|
15
|
+
- SlashCommand
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
<objective>
|
|
19
|
+
Execute all unexecuted plans in a phase with parallel agent spawning.
|
|
20
|
+
|
|
21
|
+
Analyzes plan dependencies to identify independent plans that can run concurrently.
|
|
22
|
+
Spawns background agents for parallel execution, each agent commits its own tasks atomically.
|
|
23
|
+
|
|
24
|
+
**Critical constraint:** One subagent per plan, always. This is for context isolation, not parallelization. Even strictly sequential plans spawn separate subagents so each starts with fresh 200k context at 0%.
|
|
25
|
+
|
|
26
|
+
Use this command when:
|
|
27
|
+
- Phase has 2+ unexecuted plans
|
|
28
|
+
- Want "walk away, come back to completed work" execution
|
|
29
|
+
- Plans have clear dependency boundaries
|
|
30
|
+
</objective>
|
|
31
|
+
|
|
32
|
+
<execution_context>
|
|
33
|
+
@~/.claude/get-shit-done/workflows/execute-plan.md
|
|
34
|
+
@~/.claude/get-shit-done/workflows/execute-phase.md
|
|
35
|
+
@~/.claude/get-shit-done/templates/summary.md
|
|
36
|
+
@~/.claude/get-shit-done/references/checkpoints.md
|
|
37
|
+
@~/.claude/get-shit-done/references/tdd.md
|
|
38
|
+
</execution_context>
|
|
39
|
+
|
|
40
|
+
<context>
|
|
41
|
+
Phase number: $ARGUMENTS (required)
|
|
42
|
+
|
|
43
|
+
@.planning/STATE.md
|
|
44
|
+
@.planning/config.json
|
|
45
|
+
</context>
|
|
46
|
+
|
|
47
|
+
<process>
|
|
48
|
+
1. Validate phase exists in roadmap
|
|
49
|
+
2. Find all PLAN.md files without matching SUMMARY.md
|
|
50
|
+
3. If 0 or 1 plans: suggest /gsd:execute-plan instead
|
|
51
|
+
4. If 2+ plans: follow execute-phase.md workflow
|
|
52
|
+
5. Monitor parallel agents until completion
|
|
53
|
+
6. Present results and next steps
|
|
54
|
+
</process>
|
|
55
|
+
|
|
56
|
+
<execution_strategies>
|
|
57
|
+
**Strategy A: Fully Autonomous** (no checkpoints)
|
|
58
|
+
|
|
59
|
+
- Spawn subagent to execute entire plan
|
|
60
|
+
- Subagent creates SUMMARY.md and commits
|
|
61
|
+
- Main context: orchestration only (~5% usage)
|
|
62
|
+
|
|
63
|
+
**Strategy B: Segmented** (has verify-only checkpoints)
|
|
64
|
+
|
|
65
|
+
- Execute in segments between checkpoints
|
|
66
|
+
- Subagent for autonomous segments
|
|
67
|
+
- Main context for checkpoints
|
|
68
|
+
- Aggregate results → SUMMARY → commit
|
|
69
|
+
|
|
70
|
+
**Strategy C: Decision-Dependent** (has decision checkpoints)
|
|
71
|
+
|
|
72
|
+
- Execute in main context
|
|
73
|
+
- Decision outcomes affect subsequent tasks
|
|
74
|
+
- Quality maintained through small scope (2-3 tasks per plan)
|
|
75
|
+
</execution_strategies>
|
|
76
|
+
|
|
77
|
+
<deviation_rules>
|
|
78
|
+
During execution, handle discoveries automatically:
|
|
79
|
+
|
|
80
|
+
1. **Auto-fix bugs** - Fix immediately, document in Summary
|
|
81
|
+
2. **Auto-add critical** - Security/correctness gaps, add and document
|
|
82
|
+
3. **Auto-fix blockers** - Can't proceed without fix, do it and document
|
|
83
|
+
4. **Ask about architectural** - Major structural changes, stop and ask user
|
|
84
|
+
5. **Log enhancements** - Nice-to-haves, log to ISSUES.md, continue
|
|
85
|
+
|
|
86
|
+
Only rule 4 requires user intervention.
|
|
87
|
+
</deviation_rules>
|
|
88
|
+
|
|
89
|
+
<commit_rules>
|
|
90
|
+
**Per-Task Commits:**
|
|
91
|
+
|
|
92
|
+
After each task completes:
|
|
93
|
+
1. Stage only files modified by that task
|
|
94
|
+
2. Commit with format: `{type}({phase}-{plan}): {task-name}`
|
|
95
|
+
3. Types: feat, fix, test, refactor, perf, chore
|
|
96
|
+
4. Record commit hash for SUMMARY.md
|
|
97
|
+
|
|
98
|
+
**Plan Metadata Commit:**
|
|
99
|
+
|
|
100
|
+
After all tasks complete:
|
|
101
|
+
1. Stage planning artifacts only: PLAN.md, SUMMARY.md, STATE.md, ROADMAP.md
|
|
102
|
+
2. Commit with format: `docs({phase}-{plan}): complete [plan-name] plan`
|
|
103
|
+
3. NO code files (already committed per-task)
|
|
104
|
+
|
|
105
|
+
**NEVER use:**
|
|
106
|
+
- `git add .`
|
|
107
|
+
- `git add -A`
|
|
108
|
+
- `git add src/` or any broad directory
|
|
109
|
+
|
|
110
|
+
**Always stage files individually.**
|
|
111
|
+
</commit_rules>
|
|
112
|
+
|
|
113
|
+
<success_criteria>
|
|
114
|
+
- [ ] All independent plans executed in parallel
|
|
115
|
+
- [ ] Dependent plans executed after dependencies complete
|
|
116
|
+
- [ ] Each task committed individually (feat/fix/test/refactor)
|
|
117
|
+
- [ ] All SUMMARY.md files created
|
|
118
|
+
- [ ] Metadata committed by orchestrator
|
|
119
|
+
- [ ] Phase progress updated
|
|
120
|
+
</success_criteria>
|
|
@@ -28,7 +28,7 @@ Uses intelligent segmentation:
|
|
|
28
28
|
</objective>
|
|
29
29
|
|
|
30
30
|
<execution_context>
|
|
31
|
-
@~/.claude/get-shit-done/workflows/execute-
|
|
31
|
+
@~/.claude/get-shit-done/workflows/execute-plan.md
|
|
32
32
|
@~/.claude/get-shit-done/templates/summary.md
|
|
33
33
|
@~/.claude/get-shit-done/references/checkpoints.md
|
|
34
34
|
@~/.claude/get-shit-done/references/tdd.md
|
|
@@ -49,7 +49,7 @@ Plan path: $ARGUMENTS
|
|
|
49
49
|
2. Verify plan at $ARGUMENTS exists
|
|
50
50
|
3. Check if SUMMARY.md already exists (plan already executed?)
|
|
51
51
|
4. Load workflow config for mode (interactive/yolo)
|
|
52
|
-
5. Follow execute-
|
|
52
|
+
5. Follow execute-plan.md workflow:
|
|
53
53
|
- Parse plan and determine execution strategy (A/B/C)
|
|
54
54
|
- Execute tasks (via subagent or main context as appropriate)
|
|
55
55
|
- Handle checkpoints and deviations
|
package/commands/gsd/help.md
CHANGED
|
@@ -107,15 +107,38 @@ Result: Creates `.planning/phases/01-foundation/01-01-PLAN.md`
|
|
|
107
107
|
### Execution
|
|
108
108
|
|
|
109
109
|
**`/gsd:execute-plan <path>`**
|
|
110
|
-
Execute a PLAN.md file
|
|
110
|
+
Execute a single PLAN.md file.
|
|
111
111
|
|
|
112
112
|
- Runs plan tasks sequentially
|
|
113
113
|
- Creates SUMMARY.md after completion
|
|
114
114
|
- Updates STATE.md with accumulated context
|
|
115
|
-
-
|
|
115
|
+
- Use for interactive execution with checkpoints
|
|
116
116
|
|
|
117
117
|
Usage: `/gsd:execute-plan .planning/phases/01-foundation/01-01-PLAN.md`
|
|
118
118
|
|
|
119
|
+
**`/gsd:execute-phase <phase-number>`**
|
|
120
|
+
Execute all unexecuted plans in a phase with parallel background agents.
|
|
121
|
+
|
|
122
|
+
- Analyzes plan dependencies and spawns independent plans concurrently
|
|
123
|
+
- Use when phase has 2+ plans and you want "walk away" execution
|
|
124
|
+
- Respects max_concurrent_agents from config.json
|
|
125
|
+
|
|
126
|
+
Usage: `/gsd:execute-phase 5`
|
|
127
|
+
|
|
128
|
+
Options (via `.planning/config.json` parallelization section):
|
|
129
|
+
- `max_concurrent_agents`: Limit parallel agents (default: 3)
|
|
130
|
+
- `skip_checkpoints`: Skip human checkpoints in background (default: true)
|
|
131
|
+
- `min_plans_for_parallel`: Minimum plans to trigger parallelization (default: 2)
|
|
132
|
+
|
|
133
|
+
**`/gsd:status [--wait]`**
|
|
134
|
+
Check status of background agents from parallel execution.
|
|
135
|
+
|
|
136
|
+
- Shows running/completed agents from agent-history.json
|
|
137
|
+
- Uses TaskOutput to poll agent status
|
|
138
|
+
- With `--wait`: blocks until all agents complete
|
|
139
|
+
|
|
140
|
+
Usage: `/gsd:status` or `/gsd:status --wait`
|
|
141
|
+
|
|
119
142
|
### Roadmap Management
|
|
120
143
|
|
|
121
144
|
**`/gsd:add-phase <description>`**
|
|
@@ -248,7 +248,27 @@ Use AskUserQuestion:
|
|
|
248
248
|
|
|
249
249
|
**Depth controls compression tolerance, not artificial inflation.** All depths use 2-3 tasks per plan. Comprehensive means "don't compress complex work"—it doesn't mean "pad simple work to hit a number."
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
</step>
|
|
252
|
+
|
|
253
|
+
<step name="parallelization">
|
|
254
|
+
|
|
255
|
+
Ask parallel execution preference:
|
|
256
|
+
|
|
257
|
+
Use AskUserQuestion:
|
|
258
|
+
|
|
259
|
+
- header: "Parallelization"
|
|
260
|
+
- question: "Enable parallel phase execution?"
|
|
261
|
+
- options:
|
|
262
|
+
- "Disabled" — Execute plans sequentially (Recommended)
|
|
263
|
+
- "Enabled" — Run independent plans in parallel (experimental, may not yield best results)
|
|
264
|
+
|
|
265
|
+
**Parallelization is experimental.** When enabled, `/gsd:execute-phase` spawns multiple agents for independent plans. Still being refined—sequential execution is more reliable. Can be changed later in config.json.
|
|
266
|
+
|
|
267
|
+
</step>
|
|
268
|
+
|
|
269
|
+
<step name="config">
|
|
270
|
+
|
|
271
|
+
Create `.planning/config.json` with chosen mode, depth, and parallelization using `templates/config.json` structure.
|
|
252
272
|
|
|
253
273
|
</step>
|
|
254
274
|
|
|
@@ -309,7 +329,7 @@ Project initialized:
|
|
|
309
329
|
- [ ] PROJECT.md captures full context with evolutionary structure
|
|
310
330
|
- [ ] Requirements initialized as hypotheses (greenfield) or with inferred Validated (brownfield)
|
|
311
331
|
- [ ] Key Decisions table initialized
|
|
312
|
-
- [ ] config.json has workflow mode
|
|
332
|
+
- [ ] config.json has workflow mode, depth, and parallelization
|
|
313
333
|
- [ ] All committed to git
|
|
314
334
|
|
|
315
335
|
</success_criteria>
|
package/commands/gsd/plan-fix.md
CHANGED
|
@@ -126,7 +126,7 @@ Priority: {critical count} critical, {major count} major, {minor count} minor
|
|
|
126
126
|
</objective>
|
|
127
127
|
|
|
128
128
|
<execution_context>
|
|
129
|
-
@~/.claude/get-shit-done/workflows/execute-
|
|
129
|
+
@~/.claude/get-shit-done/workflows/execute-plan.md
|
|
130
130
|
@~/.claude/get-shit-done/templates/summary.md
|
|
131
131
|
</execution_context>
|
|
132
132
|
|
|
@@ -16,7 +16,7 @@ Resume an interrupted subagent execution using the Task tool's resume parameter.
|
|
|
16
16
|
|
|
17
17
|
When a session ends mid-execution, subagents may be left in an incomplete state. This command allows users to continue that work without starting over.
|
|
18
18
|
|
|
19
|
-
Uses the agent ID tracking infrastructure from execute-
|
|
19
|
+
Uses the agent ID tracking infrastructure from execute-plan to identify and resume agents.
|
|
20
20
|
</objective>
|
|
21
21
|
|
|
22
22
|
<execution_context>
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd:status
|
|
3
|
+
description: Check status of background agents from parallel execution
|
|
4
|
+
argument-hint: "[--wait]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- TaskOutput
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Monitor background agent status from /gsd:execute-phase parallel execution.
|
|
14
|
+
|
|
15
|
+
Shows running/completed agents from agent-history.json.
|
|
16
|
+
Uses TaskOutput to check status of background tasks.
|
|
17
|
+
With --wait flag, blocks until all agents complete.
|
|
18
|
+
</objective>
|
|
19
|
+
|
|
20
|
+
<context>
|
|
21
|
+
Arguments: $ARGUMENTS
|
|
22
|
+
</context>
|
|
23
|
+
|
|
24
|
+
<process>
|
|
25
|
+
|
|
26
|
+
<step name="load_history">
|
|
27
|
+
**Load agent history:**
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
cat .planning/agent-history.json 2>/dev/null || echo '{"entries":[]}'
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
If file doesn't exist or has no entries:
|
|
34
|
+
```
|
|
35
|
+
No background agents tracked.
|
|
36
|
+
|
|
37
|
+
Run /gsd:execute-phase to spawn parallel agents.
|
|
38
|
+
```
|
|
39
|
+
Exit.
|
|
40
|
+
</step>
|
|
41
|
+
|
|
42
|
+
<step name="filter_agents">
|
|
43
|
+
**Find background agents:**
|
|
44
|
+
|
|
45
|
+
Filter entries where:
|
|
46
|
+
- `execution_mode` is "parallel" or "background"
|
|
47
|
+
- `status` is "spawned" (still running) or recently completed
|
|
48
|
+
|
|
49
|
+
Group by `parallel_group` if present.
|
|
50
|
+
</step>
|
|
51
|
+
|
|
52
|
+
<step name="check_running">
|
|
53
|
+
**Check status of running agents:**
|
|
54
|
+
|
|
55
|
+
For each agent with `status === "spawned"`:
|
|
56
|
+
|
|
57
|
+
Use TaskOutput tool:
|
|
58
|
+
```
|
|
59
|
+
task_id: [agent_id]
|
|
60
|
+
block: false
|
|
61
|
+
timeout: 1000
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**If TaskOutput returns completed result:**
|
|
65
|
+
- Update agent-history.json: status → "completed"
|
|
66
|
+
- Set completion_timestamp
|
|
67
|
+
- Parse files_modified from output if present
|
|
68
|
+
|
|
69
|
+
**If TaskOutput returns "still running":**
|
|
70
|
+
- Keep as spawned (running)
|
|
71
|
+
|
|
72
|
+
**If TaskOutput returns error:**
|
|
73
|
+
- Update agent-history.json: status → "failed"
|
|
74
|
+
</step>
|
|
75
|
+
|
|
76
|
+
<step name="display">
|
|
77
|
+
**Show status table:**
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
Background Agents
|
|
81
|
+
════════════════════════════════════════
|
|
82
|
+
|
|
83
|
+
| Plan | Status | Elapsed | Agent ID |
|
|
84
|
+
|--------|-------------|----------|---------------|
|
|
85
|
+
| 10-01 | ✓ Complete | 2m 15s | agent_01H... |
|
|
86
|
+
| 10-02 | ⏳ Running | 1m 30s | agent_01H... |
|
|
87
|
+
| 10-04 | ✓ Complete | 1m 45s | agent_01H... |
|
|
88
|
+
|
|
89
|
+
Progress: 2/3 complete
|
|
90
|
+
|
|
91
|
+
════════════════════════════════════════
|
|
92
|
+
Wait for all: /gsd:status --wait
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Status icons:**
|
|
96
|
+
- ✓ Complete
|
|
97
|
+
- ⏳ Running
|
|
98
|
+
- ✗ Failed
|
|
99
|
+
- ⏸ Queued (waiting for dependency)
|
|
100
|
+
</step>
|
|
101
|
+
|
|
102
|
+
<step name="wait_mode">
|
|
103
|
+
**If --wait flag provided:**
|
|
104
|
+
|
|
105
|
+
For each agent with status "spawned":
|
|
106
|
+
|
|
107
|
+
Use TaskOutput with blocking:
|
|
108
|
+
```
|
|
109
|
+
task_id: [agent_id]
|
|
110
|
+
block: true
|
|
111
|
+
timeout: 600000
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Report as each completes:
|
|
115
|
+
```
|
|
116
|
+
⏳ Waiting for 3 agents...
|
|
117
|
+
|
|
118
|
+
✓ [1/3] 10-01 complete (2m 15s)
|
|
119
|
+
✓ [2/3] 10-04 complete (1m 45s)
|
|
120
|
+
✓ [3/3] 10-02 complete (3m 30s)
|
|
121
|
+
|
|
122
|
+
════════════════════════════════════════
|
|
123
|
+
All agents complete!
|
|
124
|
+
|
|
125
|
+
Total time: 3m 30s (parallel)
|
|
126
|
+
Sequential estimate: 7m 30s
|
|
127
|
+
Time saved: ~4m (53%)
|
|
128
|
+
════════════════════════════════════════
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Update agent-history.json with completion status for each.
|
|
132
|
+
</step>
|
|
133
|
+
|
|
134
|
+
<step name="next_steps">
|
|
135
|
+
**After all complete (or if already complete):**
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## ▶ Next Up
|
|
141
|
+
|
|
142
|
+
All parallel agents finished. Review results:
|
|
143
|
+
|
|
144
|
+
`/gsd:progress`
|
|
145
|
+
|
|
146
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
```
|
|
150
|
+
</step>
|
|
151
|
+
|
|
152
|
+
</process>
|
|
153
|
+
|
|
154
|
+
<success_criteria>
|
|
155
|
+
- [ ] Reads agent-history.json for background agents
|
|
156
|
+
- [ ] Uses TaskOutput to check running agent status
|
|
157
|
+
- [ ] Updates history with current status
|
|
158
|
+
- [ ] Shows simple status table
|
|
159
|
+
- [ ] --wait flag blocks until all complete
|
|
160
|
+
- [ ] Reports time savings vs sequential
|
|
161
|
+
</success_criteria>
|
|
@@ -87,6 +87,94 @@ See `~/.claude/get-shit-done/references/tdd.md` for TDD plan structure.
|
|
|
87
87
|
**By verification:** Deploy → 01: Vercel setup (checkpoint), 02: Env config (auto), 03: CI/CD (checkpoint)
|
|
88
88
|
</splitting_strategies>
|
|
89
89
|
|
|
90
|
+
<parallel_aware_splitting>
|
|
91
|
+
**When parallelization is enabled, optimize for plan independence.**
|
|
92
|
+
|
|
93
|
+
<philosophy_shift>
|
|
94
|
+
| Aspect | Sequential Planning | Parallel-Aware Planning |
|
|
95
|
+
|--------|---------------------|------------------------|
|
|
96
|
+
| Grouping | By workflow stage | By vertical slice |
|
|
97
|
+
| Dependencies | Implicit (later plans reference earlier) | Explicit (only when genuinely needed) |
|
|
98
|
+
| File ownership | Overlap acceptable | Exclusive where possible |
|
|
99
|
+
| SUMMARY refs | Chain pattern (02 refs 01, 03 refs 02) | Minimal (only for real data deps) |
|
|
100
|
+
| Wave result | Most plans in Wave 2+ | More plans in Wave 1 |
|
|
101
|
+
</philosophy_shift>
|
|
102
|
+
|
|
103
|
+
<vertical_slice_example>
|
|
104
|
+
**Sequential (creates chain):**
|
|
105
|
+
```
|
|
106
|
+
Plan 01: Create User model, Product model, Order model
|
|
107
|
+
Plan 02: Create /api/users, /api/products, /api/orders
|
|
108
|
+
Plan 03: Create UserList UI, ProductList UI, OrderList UI
|
|
109
|
+
```
|
|
110
|
+
Result: 02 depends on 01 (needs models), 03 depends on 02 (needs APIs)
|
|
111
|
+
Waves: [01] → [02] → [03] (fully sequential)
|
|
112
|
+
|
|
113
|
+
**Parallel-aware (creates independence):**
|
|
114
|
+
```
|
|
115
|
+
Plan 01: User feature (model + API + UI)
|
|
116
|
+
Plan 02: Product feature (model + API + UI)
|
|
117
|
+
Plan 03: Order feature (model + API + UI)
|
|
118
|
+
```
|
|
119
|
+
Result: Each plan self-contained, no file overlap
|
|
120
|
+
Waves: [01, 02, 03] (all parallel)
|
|
121
|
+
</vertical_slice_example>
|
|
122
|
+
|
|
123
|
+
<when_to_restructure>
|
|
124
|
+
**Restructure for vertical slices when:**
|
|
125
|
+
- Phase has 3+ features that are independent
|
|
126
|
+
- No shared infrastructure requirements
|
|
127
|
+
- Each feature touches different files
|
|
128
|
+
- Features can be tested independently
|
|
129
|
+
|
|
130
|
+
**Keep sequential when:**
|
|
131
|
+
- Genuine data dependencies (Order needs User type)
|
|
132
|
+
- Shared foundation required (auth setup before protected features)
|
|
133
|
+
- Single feature being built incrementally
|
|
134
|
+
- Phase is already a vertical slice
|
|
135
|
+
</when_to_restructure>
|
|
136
|
+
|
|
137
|
+
<file_ownership>
|
|
138
|
+
**Explicit file ownership prevents conflicts:**
|
|
139
|
+
|
|
140
|
+
```yaml
|
|
141
|
+
# Plan 01 frontmatter
|
|
142
|
+
files_exclusive: [src/models/user.ts, src/api/users.ts, src/components/UserList.tsx]
|
|
143
|
+
|
|
144
|
+
# Plan 02 frontmatter
|
|
145
|
+
files_exclusive: [src/models/product.ts, src/api/products.ts, src/components/ProductList.tsx]
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**If file appears in multiple plans:** Later plan depends on earlier (by plan number).
|
|
149
|
+
**If file cannot be split:** Plans must be sequential for that file.
|
|
150
|
+
</file_ownership>
|
|
151
|
+
|
|
152
|
+
<summary_references>
|
|
153
|
+
**Minimize SUMMARY references when parallel-aware:**
|
|
154
|
+
|
|
155
|
+
**Before (sequential habit):**
|
|
156
|
+
```markdown
|
|
157
|
+
<context>
|
|
158
|
+
@.planning/phases/05-features/05-01-SUMMARY.md # Always reference prior
|
|
159
|
+
@.planning/phases/05-features/05-02-SUMMARY.md # Chain continues
|
|
160
|
+
</context>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**After (parallel-aware):**
|
|
164
|
+
```markdown
|
|
165
|
+
<context>
|
|
166
|
+
# Only reference if this plan ACTUALLY needs decisions from prior plan
|
|
167
|
+
# Most parallel plans don't need any SUMMARY references
|
|
168
|
+
</context>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**Include SUMMARY only when:**
|
|
172
|
+
- Prior plan made a decision that affects this plan's approach
|
|
173
|
+
- Prior plan created types/interfaces this plan imports
|
|
174
|
+
- Prior plan's output is input to this plan
|
|
175
|
+
</summary_references>
|
|
176
|
+
</parallel_aware_splitting>
|
|
177
|
+
|
|
90
178
|
<anti_patterns>
|
|
91
179
|
**Bad - Comprehensive plan:**
|
|
92
180
|
```
|