get-shit-done-cc 1.5.30 → 1.6.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 CHANGED
@@ -374,8 +374,7 @@ You're never locked in. The system adapts.
374
374
 
375
375
  | Command | What it does |
376
376
  |---------|--------------|
377
- | `/gsd:new-milestone [name]` | Start next milestone |
378
- | `/gsd:discuss-milestone` | Gather context for next milestone |
377
+ | `/gsd:new-milestone [name]` | Start next milestone (questioning → research → requirements → roadmap) |
379
378
 
380
379
  ### Session
381
380
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: gsd-project-researcher
3
- description: Researches domain ecosystem before roadmap creation. Produces multiple files in .planning/research/ consumed by /gsd:create-roadmap. Spawned by /gsd:research-project orchestrator.
3
+ description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /gsd:new-project or /gsd:new-milestone orchestrators.
4
4
  tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
5
5
  color: cyan
6
6
  ---
@@ -10,9 +10,10 @@ You are a GSD project researcher. You research the domain ecosystem before roadm
10
10
 
11
11
  You are spawned by:
12
12
 
13
- - `/gsd:research-project` orchestrator (project-wide research before roadmap)
13
+ - `/gsd:new-project` orchestrator (Phase 6: Research)
14
+ - `/gsd:new-milestone` orchestrator (Phase 6: Research)
14
15
 
15
- Your job: Answer "What does this domain ecosystem look like?" Produce multiple research files that inform roadmap creation.
16
+ Your job: Answer "What does this domain ecosystem look like?" Produce research files that inform roadmap creation.
16
17
 
17
18
  **Core responsibilities:**
18
19
  - Survey the domain ecosystem broadly
@@ -25,7 +26,7 @@ Your job: Answer "What does this domain ecosystem look like?" Produce multiple r
25
26
  </role>
26
27
 
27
28
  <downstream_consumer>
28
- Your research files are consumed by `/gsd:create-roadmap` which uses them to:
29
+ Your research files are consumed during roadmap creation:
29
30
 
30
31
  | File | How Roadmap Uses It |
31
32
  |------|---------------------|
@@ -807,7 +808,7 @@ When research finishes successfully:
807
808
 
808
809
  ### Ready for Roadmap
809
810
 
810
- Research complete. Run `/gsd:create-roadmap` to create phase structure.
811
+ Research complete. Proceeding to roadmap creation.
811
812
  ```
812
813
 
813
814
  ## Research Blocked
@@ -286,114 +286,23 @@ After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:
286
286
 
287
287
  ## ROADMAP.md Structure
288
288
 
289
- ```markdown
290
- # Roadmap
291
-
292
- **Project:** [name]
293
- **Created:** [date]
294
- **Phases:** [N]
295
-
296
- ## Overview
297
-
298
- [2-3 sentences describing the roadmap approach]
299
-
300
- ## Phases
301
-
302
- ### Phase 1: [Name]
303
-
304
- **Goal:** [What this phase delivers - outcome, not task]
305
- **Depends on:** Nothing (first phase)
306
- **Requirements:** [REQ-IDs]
307
-
308
- **Success Criteria:**
309
- 1. [Observable user behavior]
310
- 2. [Observable user behavior]
311
- 3. [Observable user behavior]
312
-
313
- **Plans:** (created by /gsd:plan-phase)
314
-
315
- ---
316
-
317
- ### Phase 2: [Name]
318
-
319
- **Goal:** [Outcome]
320
- **Depends on:** Phase 1
321
- **Requirements:** [REQ-IDs]
322
-
323
- **Success Criteria:**
324
- 1. [Observable user behavior]
325
- 2. [Observable user behavior]
326
-
327
- ---
289
+ Use template from `~/.claude/get-shit-done/templates/roadmap.md`.
328
290
 
329
- [... more phases ...]
330
-
331
- ## Progress
332
-
333
- | Phase | Status | Completed |
334
- |-------|--------|-----------|
335
- | 1 - [Name] | Not started | — |
336
- | 2 - [Name] | Not started | — |
337
- | 3 - [Name] | Not started | — |
338
-
339
- ---
340
-
341
- *Roadmap for milestone: v1.0*
342
- ```
291
+ Key sections:
292
+ - Overview (2-3 sentences)
293
+ - Phases with Goal, Dependencies, Requirements, Success Criteria
294
+ - Progress table
343
295
 
344
296
  ## STATE.md Structure
345
297
 
346
- ```markdown
347
- # Project State
348
-
349
- ## Project Reference
350
-
351
- See: .planning/PROJECT.md
352
-
353
- **Core value:** [from PROJECT.md]
354
- **Current focus:** Phase 1 — [name]
355
-
356
- ## Current Position
357
-
358
- Phase: 1 of [N] ([name])
359
- Plan: Not started
360
- Status: Ready to plan
361
- Last activity: [date] — Project initialized
362
-
363
- Progress: ░░░░░░░░░░ 0%
364
-
365
- ## Performance Metrics
366
-
367
- **Velocity:**
368
- - Total plans completed: 0
369
- - Average duration: —
370
-
371
- **By Phase:**
298
+ Use template from `~/.claude/get-shit-done/templates/state.md`.
372
299
 
373
- | Phase | Plans | Total | Avg/Plan |
374
- |-------|-------|-------|----------|
375
- | | | | — |
376
-
377
- ## Accumulated Context
378
-
379
- ### Decisions
380
-
381
- (None yet)
382
-
383
- ### Pending Todos
384
-
385
- (None yet)
386
-
387
- ### Blockers/Concerns
388
-
389
- (None yet)
390
-
391
- ## Session Continuity
392
-
393
- Last session: [date]
394
- Stopped at: Project initialization
395
- Resume file: None
396
- ```
300
+ Key sections:
301
+ - Project Reference (core value, current focus)
302
+ - Current Position (phase, plan, status, progress bar)
303
+ - Performance Metrics
304
+ - Accumulated Context (decisions, todos, blockers)
305
+ - Session Continuity
397
306
 
398
307
  ## Draft Presentation Format
399
308
 
package/bin/install.js CHANGED
@@ -123,8 +123,13 @@ function writeSettings(settingsPath, settings) {
123
123
 
124
124
  /**
125
125
  * Recursively copy directory, replacing paths in .md files
126
+ * Deletes existing destDir first to remove orphaned files from previous versions
126
127
  */
127
128
  function copyWithPathReplacement(srcDir, destDir, pathPrefix) {
129
+ // Clean install: remove existing destination to prevent orphaned files
130
+ if (fs.existsSync(destDir)) {
131
+ fs.rmSync(destDir, { recursive: true });
132
+ }
128
133
  fs.mkdirSync(destDir, { recursive: true });
129
134
 
130
135
  const entries = fs.readdirSync(srcDir, { withFileTypes: true });
@@ -187,10 +192,30 @@ function install(isGlobal) {
187
192
  console.log(` ${green}✓${reset} Installed get-shit-done`);
188
193
 
189
194
  // Copy agents to ~/.claude/agents (subagents must be at root level)
195
+ // Only delete gsd-*.md files to preserve user's custom agents
190
196
  const agentsSrc = path.join(src, 'agents');
191
197
  if (fs.existsSync(agentsSrc)) {
192
198
  const agentsDest = path.join(claudeDir, 'agents');
193
- copyWithPathReplacement(agentsSrc, agentsDest, pathPrefix);
199
+ fs.mkdirSync(agentsDest, { recursive: true });
200
+
201
+ // Remove old GSD agents (gsd-*.md) before copying new ones
202
+ if (fs.existsSync(agentsDest)) {
203
+ for (const file of fs.readdirSync(agentsDest)) {
204
+ if (file.startsWith('gsd-') && file.endsWith('.md')) {
205
+ fs.unlinkSync(path.join(agentsDest, file));
206
+ }
207
+ }
208
+ }
209
+
210
+ // Copy new agents (don't use copyWithPathReplacement which would wipe the folder)
211
+ const agentEntries = fs.readdirSync(agentsSrc, { withFileTypes: true });
212
+ for (const entry of agentEntries) {
213
+ if (entry.isFile() && entry.name.endsWith('.md')) {
214
+ let content = fs.readFileSync(path.join(agentsSrc, entry.name), 'utf8');
215
+ content = content.replace(/~\/\.claude\//g, pathPrefix);
216
+ fs.writeFileSync(path.join(agentsDest, entry.name), content);
217
+ }
218
+ }
194
219
  console.log(` ${green}✓${reset} Installed agents`);
195
220
  }
196
221
 
@@ -108,8 +108,7 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
108
108
  - Ask about pushing tag
109
109
 
110
110
  8. **Offer next steps:**
111
- - `/gsd:discuss-milestone` — thinking partner, creates context file
112
- - Then `/gsd:new-milestone` — update PROJECT.md with new goals
111
+ - `/gsd:new-milestone` — start next milestone (questioning → research → requirements → roadmap)
113
112
 
114
113
  </process>
115
114
 
@@ -133,5 +132,5 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
133
132
  - **Archive before deleting:** Always create archive files before updating/deleting originals
134
133
  - **One-line summary:** Collapsed milestone in ROADMAP.md should be single line with link
135
134
  - **Context efficiency:** Archive keeps ROADMAP.md and REQUIREMENTS.md constant size per milestone
136
- - **Fresh requirements:** Next milestone starts with `/gsd:define-requirements`, not reusing old file
135
+ - **Fresh requirements:** Next milestone starts with `/gsd:new-milestone` which includes requirements definition
137
136
  </critical_rules>
@@ -76,14 +76,6 @@ Map an existing codebase for brownfield projects.
76
76
 
77
77
  Usage: `/gsd:map-codebase`
78
78
 
79
- ### Standalone Commands (deprecated, kept for mid-project use)
80
-
81
- These commands are now integrated into `/gsd:new-project` but remain available for mid-project adjustments:
82
-
83
- **`/gsd:research-project`** — Re-research a domain (integrated into new-project Phase 6)
84
- **`/gsd:define-requirements`** — Redefine requirements (integrated into new-project Phase 7)
85
- **`/gsd:create-roadmap`** — Recreate roadmap (integrated into new-project Phase 8)
86
-
87
79
  ### Phase Planning
88
80
 
89
81
  **`/gsd:discuss-phase <number>`**
@@ -171,21 +163,15 @@ Result: Phase 17 deleted, phases 18-20 become 17-19
171
163
 
172
164
  ### Milestone Management
173
165
 
174
- **`/gsd:discuss-milestone`**
175
- Figure out what you want to build in the next milestone.
176
-
177
- - Reviews what shipped in previous milestone
178
- - Helps you identify features to add, improve, or fix
179
- - Routes to /gsd:new-milestone when ready
180
-
181
- Usage: `/gsd:discuss-milestone`
182
-
183
166
  **`/gsd:new-milestone <name>`**
184
- Create a new milestone with phases for an existing project.
167
+ Start a new milestone through unified flow.
168
+
169
+ - Deep questioning to understand what you're building next
170
+ - Optional domain research (spawns 4 parallel researcher agents)
171
+ - Requirements definition with scoping
172
+ - Roadmap creation with phase breakdown
185
173
 
186
- - Adds milestone section to ROADMAP.md
187
- - Creates phase directories
188
- - Updates STATE.md for new milestone
174
+ Mirrors `/gsd:new-project` flow for brownfield projects (existing PROJECT.md).
189
175
 
190
176
  Usage: `/gsd:new-milestone "v2.0 Features"`
191
177
 
@@ -366,7 +352,8 @@ Change anytime by editing `.planning/config.json`
366
352
 
367
353
  ```
368
354
  /gsd:complete-milestone 1.0.0
369
- /gsd:new-milestone # Start next milestone
355
+ /clear
356
+ /gsd:new-milestone # Start next milestone (questioning → research → requirements → roadmap)
370
357
  ```
371
358
 
372
359
  **Capturing ideas during work:**