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.
@@ -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 quantity, not quality.** All depths use 2-3 tasks per plan. Depth determines how many plans get createdmore depth means more plans, not bigger plans.
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 plan count, not plan size.**
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
- Depth determines thoroughness by creating more phases and more plans—never by cramming more into each plan.
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
- **Phase count targets by depth:**
92
+ **Depth controls compression tolerance, not artificial inflation.**
93
93
 
94
- | Depth | Target Phases | Plans/Phase | Tasks/Plan |
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
- **Tasks/plan is constant (2-3). Depth scales phases and plans, not task density.**
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
- - "Too many phases" is NOT a concern—thoroughness is the goal
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
- **From STATE.md:** Decisions constrain approach. Deferred issues → candidates. Blockers → may need to address.
127
+ **Intelligent context assembly from frontmatter dependency graph:**
128
128
 
129
- **From prior summaries:**
129
+ **1. Scan all summary frontmatter (cheap - first ~25 lines):**
130
130
 
131
131
  ```bash
132
- ls .planning/phases/*/*-SUMMARY.md 2>/dev/null | sort
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
- Scan for decisions constraining this phase, issues flagged for "later", warnings in "Next Phase Readiness", patterns to maintain.
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: relevant summaries, applicable decisions, issues being addressed, concerns being verified.
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
- **Plan count targets by depth:**
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
- **Tasks/plan is ALWAYS 2-3. Depth determines how many plans you create, not how big each plan is.**
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
- For multi-plan phases: each plan has focused scope, references previous plan summaries, last plan's success criteria includes "Phase X complete".
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-shit-done-cc",
3
- "version": "1.3.16",
3
+ "version": "1.3.18",
4
4
  "description": "A meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.",
5
5
  "bin": {
6
6
  "get-shit-done-cc": "bin/install.js"