get-shit-done-cc 1.3.16 → 1.3.18
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/commands/gsd/new-project.md +1 -1
- package/get-shit-done/references/scope-estimation.md +9 -4
- package/get-shit-done/templates/summary.md +61 -0
- package/get-shit-done/workflows/create-roadmap.md +8 -5
- package/get-shit-done/workflows/execute-phase.md +35 -0
- package/get-shit-done/workflows/plan-phase.md +90 -11
- package/package.json +1 -1
|
@@ -245,7 +245,7 @@ Use AskUserQuestion:
|
|
|
245
245
|
- "Standard" — Balanced scope and speed (5-8 phases, 3-5 plans each)
|
|
246
246
|
- "Comprehensive" — Thorough coverage, more phases/plans (8-12 phases, 5-10 plans each)
|
|
247
247
|
|
|
248
|
-
**Depth controls
|
|
248
|
+
**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."
|
|
249
249
|
|
|
250
250
|
Create `.planning/config.json` with chosen mode and depth using `templates/config.json` structure.
|
|
251
251
|
|
|
@@ -103,17 +103,22 @@ Each: 30-40% context, peak quality, focused commits
|
|
|
103
103
|
</estimating_context>
|
|
104
104
|
|
|
105
105
|
<depth_calibration>
|
|
106
|
-
**Depth controls
|
|
106
|
+
**Depth controls compression tolerance, not artificial inflation.**
|
|
107
107
|
|
|
108
|
-
| Depth | Phases | Plans/Phase | Tasks/Plan |
|
|
109
|
-
|
|
108
|
+
| Depth | Typical Phases | Typical Plans/Phase | Tasks/Plan |
|
|
109
|
+
|-------|----------------|---------------------|------------|
|
|
110
110
|
| Quick | 3-5 | 1-3 | 2-3 |
|
|
111
111
|
| Standard | 5-8 | 3-5 | 2-3 |
|
|
112
112
|
| Comprehensive | 8-12 | 5-10 | 2-3 |
|
|
113
113
|
|
|
114
114
|
Tasks/plan is CONSTANT at 2-3. The 50% context rule applies universally.
|
|
115
115
|
|
|
116
|
-
|
|
116
|
+
**Key principle:** Derive from actual work. Depth determines how aggressively you combine things, not a target to hit.
|
|
117
|
+
|
|
118
|
+
- Comprehensive auth = 8 plans (because auth genuinely has 8 concerns)
|
|
119
|
+
- Comprehensive "add favicon" = 1 plan (because that's all it is)
|
|
120
|
+
|
|
121
|
+
Don't pad small work to hit a number. Don't compress complex work to look efficient.
|
|
117
122
|
|
|
118
123
|
**Comprehensive depth example:**
|
|
119
124
|
Auth system at comprehensive depth = 8 plans (not 3 big ones):
|
|
@@ -7,6 +7,44 @@ Template for `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md` - phase comple
|
|
|
7
7
|
## File Template
|
|
8
8
|
|
|
9
9
|
```markdown
|
|
10
|
+
---
|
|
11
|
+
phase: XX-name
|
|
12
|
+
plan: YY
|
|
13
|
+
subsystem: [primary category: auth, payments, ui, api, database, infra, testing, etc.]
|
|
14
|
+
tags: [searchable tech: jwt, stripe, react, postgres, prisma]
|
|
15
|
+
|
|
16
|
+
# Dependency graph
|
|
17
|
+
requires:
|
|
18
|
+
- phase: [prior phase this depends on]
|
|
19
|
+
provides: [what that phase built that this uses]
|
|
20
|
+
provides:
|
|
21
|
+
- [bullet list of what this phase built/delivered]
|
|
22
|
+
affects: [list of phase names or keywords that will need this context]
|
|
23
|
+
|
|
24
|
+
# Tech tracking
|
|
25
|
+
tech-stack:
|
|
26
|
+
added: [libraries/tools added in this phase]
|
|
27
|
+
patterns: [architectural/code patterns established]
|
|
28
|
+
|
|
29
|
+
key-files:
|
|
30
|
+
created: [important files created]
|
|
31
|
+
modified: [important files modified]
|
|
32
|
+
|
|
33
|
+
key-decisions:
|
|
34
|
+
- "Decision 1"
|
|
35
|
+
- "Decision 2"
|
|
36
|
+
|
|
37
|
+
patterns-established:
|
|
38
|
+
- "Pattern 1: description"
|
|
39
|
+
- "Pattern 2: description"
|
|
40
|
+
|
|
41
|
+
issues-created: [ISS-XXX, ISS-YYY] # From ISSUES.md if any
|
|
42
|
+
|
|
43
|
+
# Metrics
|
|
44
|
+
duration: Xmin
|
|
45
|
+
completed: YYYY-MM-DD
|
|
46
|
+
---
|
|
47
|
+
|
|
10
48
|
# Phase [X]: [Name] Summary
|
|
11
49
|
|
|
12
50
|
**[Substantive one-liner describing outcome - NOT "phase complete" or "implementation finished"]**
|
|
@@ -74,6 +112,24 @@ Logged to .planning/ISSUES.md for future consideration:
|
|
|
74
112
|
*Completed: [date]*
|
|
75
113
|
```
|
|
76
114
|
|
|
115
|
+
<frontmatter_guidance>
|
|
116
|
+
**Purpose:** Enable automatic context assembly via dependency graph. Frontmatter makes summary metadata machine-readable so plan-phase can scan all summaries quickly and select relevant ones based on dependencies.
|
|
117
|
+
|
|
118
|
+
**Fast scanning:** Frontmatter is first ~25 lines, cheap to scan across all summaries without reading full content.
|
|
119
|
+
|
|
120
|
+
**Dependency graph:** `requires`/`provides`/`affects` create explicit links between phases, enabling transitive closure for context selection.
|
|
121
|
+
|
|
122
|
+
**Subsystem:** Primary categorization (auth, payments, ui, api, database, infra, testing) for detecting related phases.
|
|
123
|
+
|
|
124
|
+
**Tags:** Searchable technical keywords (libraries, frameworks, tools) for tech stack awareness.
|
|
125
|
+
|
|
126
|
+
**Key-files:** Important files for @context references in PLAN.md.
|
|
127
|
+
|
|
128
|
+
**Patterns:** Established conventions future phases should maintain.
|
|
129
|
+
|
|
130
|
+
**Population:** Frontmatter is populated during summary creation in execute-phase.md. See `<step name="create_summary">` for field-by-field guidance.
|
|
131
|
+
</frontmatter_guidance>
|
|
132
|
+
|
|
77
133
|
<one_liner_rules>
|
|
78
134
|
The one-liner MUST be substantive:
|
|
79
135
|
|
|
@@ -173,6 +229,11 @@ Logged to .planning/ISSUES.md for future consideration:
|
|
|
173
229
|
- Required output from execute-phase workflow
|
|
174
230
|
- Documents what actually happened vs what was planned
|
|
175
231
|
|
|
232
|
+
**Frontmatter completion:**
|
|
233
|
+
- MANDATORY: Complete all frontmatter fields during summary creation
|
|
234
|
+
- See <frontmatter_guidance> for field purposes
|
|
235
|
+
- Frontmatter enables automatic context assembly for future planning
|
|
236
|
+
|
|
176
237
|
**One-liner requirements:**
|
|
177
238
|
- Must be substantive (describe what shipped, not "phase complete")
|
|
178
239
|
- Should tell someone what was accomplished
|
|
@@ -89,20 +89,23 @@ cat .planning/config.json 2>/dev/null | grep depth
|
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
<depth_guidance>
|
|
92
|
-
**
|
|
92
|
+
**Depth controls compression tolerance, not artificial inflation.**
|
|
93
93
|
|
|
94
|
-
| Depth |
|
|
95
|
-
|
|
94
|
+
| Depth | Typical Phases | Typical Plans/Phase | Tasks/Plan |
|
|
95
|
+
|-------|----------------|---------------------|------------|
|
|
96
96
|
| Quick | 3-5 | 1-3 | 2-3 |
|
|
97
97
|
| Standard | 5-8 | 3-5 | 2-3 |
|
|
98
98
|
| Comprehensive | 8-12 | 5-10 | 2-3 |
|
|
99
99
|
|
|
100
|
-
**
|
|
100
|
+
**Key principle:** Derive phases from actual work. Depth determines how aggressively you combine things, not a target to hit.
|
|
101
|
+
|
|
102
|
+
- Comprehensive auth system = 8 phases (because auth genuinely has 8 concerns)
|
|
103
|
+
- Comprehensive "add favicon" = 1 phase (because that's all it is)
|
|
101
104
|
|
|
102
105
|
For comprehensive depth:
|
|
103
106
|
- Don't compress multiple features into single phases
|
|
104
107
|
- Each major capability gets its own phase
|
|
105
|
-
-
|
|
108
|
+
- Let small things stay small—don't pad to hit a number
|
|
106
109
|
- If you're tempted to combine two things, make them separate phases instead
|
|
107
110
|
|
|
108
111
|
For quick depth:
|
|
@@ -990,6 +990,41 @@ Use ~/.claude/get-shit-done/templates/summary.md for structure.
|
|
|
990
990
|
|
|
991
991
|
**File location:** `.planning/phases/XX-name/{phase}-{plan}-SUMMARY.md`
|
|
992
992
|
|
|
993
|
+
**Frontmatter population:**
|
|
994
|
+
|
|
995
|
+
Before writing summary content, populate frontmatter fields from execution context:
|
|
996
|
+
|
|
997
|
+
1. **Basic identification:**
|
|
998
|
+
- phase: From PLAN.md frontmatter
|
|
999
|
+
- plan: From PLAN.md frontmatter
|
|
1000
|
+
- subsystem: Categorize based on phase focus (auth, payments, ui, api, database, infra, testing, etc.)
|
|
1001
|
+
- tags: Extract tech keywords (libraries, frameworks, tools used)
|
|
1002
|
+
|
|
1003
|
+
2. **Dependency graph:**
|
|
1004
|
+
- requires: List prior phases this built upon (check PLAN.md context section for referenced prior summaries)
|
|
1005
|
+
- provides: Extract from accomplishments - what was delivered
|
|
1006
|
+
- affects: Infer from phase description/goal what future phases might need this
|
|
1007
|
+
|
|
1008
|
+
3. **Tech tracking:**
|
|
1009
|
+
- tech-stack.added: New libraries from package.json changes or requirements
|
|
1010
|
+
- tech-stack.patterns: Architectural patterns established (from decisions/accomplishments)
|
|
1011
|
+
|
|
1012
|
+
4. **File tracking:**
|
|
1013
|
+
- key-files.created: From "Files Created/Modified" section
|
|
1014
|
+
- key-files.modified: From "Files Created/Modified" section
|
|
1015
|
+
|
|
1016
|
+
5. **Decisions:**
|
|
1017
|
+
- key-decisions: Extract from "Decisions Made" section
|
|
1018
|
+
|
|
1019
|
+
6. **Issues:**
|
|
1020
|
+
- issues-created: Check if ISSUES.md was updated during execution
|
|
1021
|
+
|
|
1022
|
+
7. **Metrics:**
|
|
1023
|
+
- duration: From $DURATION variable
|
|
1024
|
+
- completed: From $PLAN_END_TIME (date only, format YYYY-MM-DD)
|
|
1025
|
+
|
|
1026
|
+
Note: If subsystem/affects are unclear, use best judgment based on phase name and accomplishments. Can be refined later.
|
|
1027
|
+
|
|
993
1028
|
**Title format:** `# Phase [X] Plan [Y]: [Name] Summary`
|
|
994
1029
|
|
|
995
1030
|
The one-liner must be SUBSTANTIVE:
|
|
@@ -124,15 +124,53 @@ For niche domains (3D, games, audio, shaders, ML), suggest `/gsd:research-phase`
|
|
|
124
124
|
</step>
|
|
125
125
|
|
|
126
126
|
<step name="read_project_history">
|
|
127
|
-
**
|
|
127
|
+
**Intelligent context assembly from frontmatter dependency graph:**
|
|
128
128
|
|
|
129
|
-
**
|
|
129
|
+
**1. Scan all summary frontmatter (cheap - first ~25 lines):**
|
|
130
130
|
|
|
131
131
|
```bash
|
|
132
|
-
|
|
132
|
+
for f in .planning/phases/*/*-SUMMARY.md; do
|
|
133
|
+
# Extract frontmatter only (between first two --- markers)
|
|
134
|
+
sed -n '1,/^---$/p; /^---$/q' "$f" | head -30
|
|
135
|
+
done
|
|
133
136
|
```
|
|
134
137
|
|
|
135
|
-
|
|
138
|
+
Parse YAML to extract: phase, subsystem, requires, provides, affects, tags, key-decisions, key-files
|
|
139
|
+
|
|
140
|
+
**2. Build dependency graph for current phase:**
|
|
141
|
+
|
|
142
|
+
- **Check affects field:** Which prior phases have current phase in their `affects` list? → Direct dependencies
|
|
143
|
+
- **Check subsystem:** Which prior phases share same subsystem? → Related work
|
|
144
|
+
- **Check requires chains:** If phase X requires phase Y, and we need X, we also need Y → Transitive dependencies
|
|
145
|
+
- **Check roadmap:** Any phases marked as dependencies in ROADMAP.md phase description?
|
|
146
|
+
|
|
147
|
+
**3. Select relevant summaries:**
|
|
148
|
+
|
|
149
|
+
Auto-select phases that match ANY of:
|
|
150
|
+
- Current phase name/number appears in prior phase's `affects` field
|
|
151
|
+
- Same `subsystem` value
|
|
152
|
+
- In `requires` chain (transitive closure)
|
|
153
|
+
- Explicitly mentioned in STATE.md decisions as affecting current phase
|
|
154
|
+
|
|
155
|
+
Typical selection: 2-4 prior phases (immediately prior + related subsystem work)
|
|
156
|
+
|
|
157
|
+
**4. Extract context from frontmatter (WITHOUT opening full summaries yet):**
|
|
158
|
+
|
|
159
|
+
From selected phases' frontmatter, extract:
|
|
160
|
+
- **Tech available:** Union of all tech-stack.added lists
|
|
161
|
+
- **Patterns established:** Union of all tech-stack.patterns and patterns-established
|
|
162
|
+
- **Key files:** Union of all key-files (for @context references)
|
|
163
|
+
- **Decisions:** Extract key-decisions from frontmatter
|
|
164
|
+
|
|
165
|
+
**5. Now read FULL summaries for selected phases:**
|
|
166
|
+
|
|
167
|
+
Only now open and read complete SUMMARY.md files for the selected relevant phases. Extract:
|
|
168
|
+
- Detailed "Accomplishments" section
|
|
169
|
+
- "Next Phase Readiness" warnings/blockers
|
|
170
|
+
- "Issues Encountered" that might affect current phase
|
|
171
|
+
- "Deviations from Plan" for patterns
|
|
172
|
+
|
|
173
|
+
**From STATE.md:** Decisions → constrain approach. Deferred issues → candidates. Blockers → may need to address.
|
|
136
174
|
|
|
137
175
|
**From ISSUES.md:**
|
|
138
176
|
|
|
@@ -148,7 +186,14 @@ Assess each open issue - relevant to this phase? Waiting long enough? Natural to
|
|
|
148
186
|
- Q3: Are there concerns from "Next Phase Readiness" that apply?
|
|
149
187
|
- Q4: Given all context, does the roadmap's description still make sense?
|
|
150
188
|
|
|
151
|
-
Track for PLAN.md context section
|
|
189
|
+
**Track for PLAN.md context section:**
|
|
190
|
+
- Which summaries were selected (for @context references)
|
|
191
|
+
- Tech stack available (from frontmatter)
|
|
192
|
+
- Established patterns (from frontmatter)
|
|
193
|
+
- Key files to reference (from frontmatter)
|
|
194
|
+
- Applicable decisions (from frontmatter + full summary)
|
|
195
|
+
- Issues being addressed (from ISSUES.md)
|
|
196
|
+
- Concerns being verified (from "Next Phase Readiness")
|
|
152
197
|
</step>
|
|
153
198
|
|
|
154
199
|
<step name="gather_phase_context">
|
|
@@ -232,20 +277,24 @@ cat .planning/config.json 2>/dev/null | grep depth
|
|
|
232
277
|
```
|
|
233
278
|
|
|
234
279
|
<depth_aware_splitting>
|
|
235
|
-
**
|
|
280
|
+
**Depth controls compression tolerance, not artificial inflation.**
|
|
236
281
|
|
|
237
|
-
| Depth | Plans/Phase | Tasks/Plan |
|
|
238
|
-
|
|
282
|
+
| Depth | Typical Plans/Phase | Tasks/Plan |
|
|
283
|
+
|-------|---------------------|------------|
|
|
239
284
|
| Quick | 1-3 | 2-3 |
|
|
240
285
|
| Standard | 3-5 | 2-3 |
|
|
241
286
|
| Comprehensive | 5-10 | 2-3 |
|
|
242
287
|
|
|
243
|
-
**
|
|
288
|
+
**Key principle:** Derive plans from actual work. Depth determines how aggressively you combine things, not a target to hit.
|
|
289
|
+
|
|
290
|
+
- Comprehensive auth phase = 8 plans (because auth genuinely has 8 concerns)
|
|
291
|
+
- Comprehensive "add config file" phase = 1 plan (because that's all it is)
|
|
244
292
|
|
|
245
293
|
For comprehensive depth:
|
|
246
|
-
- Create MORE plans, not bigger ones
|
|
294
|
+
- Create MORE plans when the work warrants it, not bigger ones
|
|
247
295
|
- If a phase has 15 tasks, that's 5-8 plans (not 3 plans with 5 tasks each)
|
|
248
296
|
- Don't compress to look efficient—thoroughness is the goal
|
|
297
|
+
- Let small phases stay small—don't pad to hit a number
|
|
249
298
|
- Each plan stays focused: 2-3 tasks, single concern
|
|
250
299
|
|
|
251
300
|
For quick depth:
|
|
@@ -308,7 +357,37 @@ Each plan follows template structure with:
|
|
|
308
357
|
- Tasks (XML format with types)
|
|
309
358
|
- Verification, Success criteria, Output specification
|
|
310
359
|
|
|
311
|
-
|
|
360
|
+
**Context section population from frontmatter analysis:**
|
|
361
|
+
|
|
362
|
+
Inject automatically-assembled context package from read_project_history step:
|
|
363
|
+
|
|
364
|
+
```markdown
|
|
365
|
+
<context>
|
|
366
|
+
@.planning/PROJECT.md
|
|
367
|
+
@.planning/ROADMAP.md
|
|
368
|
+
@.planning/STATE.md
|
|
369
|
+
|
|
370
|
+
# Auto-selected based on dependency graph (from frontmatter):
|
|
371
|
+
@.planning/phases/XX-name/YY-ZZ-SUMMARY.md
|
|
372
|
+
@.planning/phases/AA-name/BB-CC-SUMMARY.md
|
|
373
|
+
|
|
374
|
+
# Key files from frontmatter (relevant to this phase):
|
|
375
|
+
@path/to/important/file.ts
|
|
376
|
+
@path/to/another/file.ts
|
|
377
|
+
|
|
378
|
+
**Tech stack available:** [extracted from frontmatter tech-stack.added]
|
|
379
|
+
**Established patterns:** [extracted from frontmatter patterns-established]
|
|
380
|
+
**Constraining decisions:**
|
|
381
|
+
- [Phase X]: [decision from frontmatter]
|
|
382
|
+
- [Phase Y]: [decision from frontmatter]
|
|
383
|
+
|
|
384
|
+
**Issues being addressed:** [If any from ISSUES.md]
|
|
385
|
+
</context>
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
This ensures every PLAN.md gets optimal context automatically assembled via dependency graph, making execution as informed as possible.
|
|
389
|
+
|
|
390
|
+
For multi-plan phases: each plan has focused scope, references previous plan summaries (via frontmatter selection), last plan's success criteria includes "Phase X complete".
|
|
312
391
|
</step>
|
|
313
392
|
|
|
314
393
|
<step name="offer_next">
|
package/package.json
CHANGED