get-shit-done-cc 1.0.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/LICENSE +21 -0
- package/README.md +192 -0
- package/bin/install.js +53 -0
- package/commands/gsd/add-phase.md +201 -0
- package/commands/gsd/complete-milestone.md +105 -0
- package/commands/gsd/discuss-milestone.md +45 -0
- package/commands/gsd/discuss-phase.md +47 -0
- package/commands/gsd/execute-plan.md +108 -0
- package/commands/gsd/help.md +252 -0
- package/commands/gsd/insert-phase.md +218 -0
- package/commands/gsd/list-phase-assumptions.md +49 -0
- package/commands/gsd/new-milestone.md +58 -0
- package/commands/gsd/new-project.md +177 -0
- package/commands/gsd/pause-work.md +123 -0
- package/commands/gsd/plan-phase.md +60 -0
- package/commands/gsd/progress.md +182 -0
- package/commands/gsd/resume-work.md +50 -0
- package/get-shit-done/references/checkpoints.md +594 -0
- package/get-shit-done/references/cli-automation.md +527 -0
- package/get-shit-done/references/git-integration.md +126 -0
- package/get-shit-done/references/plan-format.md +397 -0
- package/get-shit-done/references/principles.md +97 -0
- package/get-shit-done/references/questioning.md +138 -0
- package/get-shit-done/references/research-pitfalls.md +215 -0
- package/get-shit-done/references/scope-estimation.md +451 -0
- package/get-shit-done/templates/config.json +17 -0
- package/get-shit-done/templates/context.md +385 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/issues.md +32 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +290 -0
- package/get-shit-done/templates/project.md +207 -0
- package/get-shit-done/templates/research-prompt.md +133 -0
- package/get-shit-done/templates/roadmap.md +196 -0
- package/get-shit-done/templates/state.md +226 -0
- package/get-shit-done/templates/summary.md +200 -0
- package/get-shit-done/workflows/complete-milestone.md +490 -0
- package/get-shit-done/workflows/create-milestone.md +379 -0
- package/get-shit-done/workflows/create-roadmap.md +443 -0
- package/get-shit-done/workflows/discuss-milestone.md +144 -0
- package/get-shit-done/workflows/discuss-phase.md +254 -0
- package/get-shit-done/workflows/execute-phase.md +1261 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/plan-phase.md +783 -0
- package/get-shit-done/workflows/research-phase.md +293 -0
- package/get-shit-done/workflows/resume-project.md +248 -0
- package/get-shit-done/workflows/transition.md +488 -0
- package/package.json +30 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Lex Christopherson
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# Get Shit Done
|
|
2
|
+
|
|
3
|
+
**THE meta-prompting and context engineering system for Claude Code.**
|
|
4
|
+
|
|
5
|
+
Vibecoding has a bad reputation. You describe what you want, AI generates code, and you get inconsistent garbage that falls apart at scale.
|
|
6
|
+
|
|
7
|
+
GSD fixes that. It's the context engineering layer that makes Claude Code reliable. Describe your idea, let the system extract everything it needs to know, and then let Claude Code get to work.
|
|
8
|
+
|
|
9
|
+
THIS is how you vibecode and actually get shit done.
|
|
10
|
+
|
|
11
|
+
_Warning: Not for people who enjoy inconsistent and sloppy results._
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Why I Built This
|
|
16
|
+
|
|
17
|
+
I'm a solo developer. I don't write code — Claude Code does.
|
|
18
|
+
|
|
19
|
+
Other spec-driven development tools exist; BMAD, Speckit... But they all seem to make things way more complicated than they need to be (sprint ceremonies, story points, stakeholder syncs, retrospectives, Jira workflows) or lack real big picture understanding of what you're building. I'm not a 50-person software company. I don't want to play enterprise theater. I'm just a creative person trying to build great things that work.
|
|
20
|
+
|
|
21
|
+
So I built GSD. The complexity is in the system, not in your workflow. Behind the scenes: context engineering, XML prompt formatting, subagent orchestration, state management. What you see: a few commands that just work.
|
|
22
|
+
|
|
23
|
+
I wanted to spend my time having ideas and seeing them through to implementation — not babysitting Claude. Now I can say "go," put it in YOLO mode, and go to the beach. The system gives Claude everything it needs to do the work _and_ verify it. I trust the workflow. It just does a good job.
|
|
24
|
+
|
|
25
|
+
That's what this is. No enterprise roleplay bullshit. Just an incredibly effective system for building cool stuff consistently using Claude Code.
|
|
26
|
+
|
|
27
|
+
— TÂCHES
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## How It Works
|
|
32
|
+
|
|
33
|
+
### 1. Start with an idea
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
/gsd:new-project
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The system asks questions. Keeps asking until it has everything — your goals, constraints, tech preferences, edge cases. You go back and forth until the idea is fully captured.
|
|
40
|
+
|
|
41
|
+
### 2. Initialize the project
|
|
42
|
+
|
|
43
|
+
Your idea becomes:
|
|
44
|
+
|
|
45
|
+
- **PROJECT.md** - Project vision (~50 lines)
|
|
46
|
+
- **ROADMAP.md** - Phases from start to finish
|
|
47
|
+
- **STATE.md** - Living memory that persists across sessions
|
|
48
|
+
|
|
49
|
+
### 3. Plan and execute phases
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
/gsd:plan-phase 1 # System creates atomic task plans
|
|
53
|
+
/gsd:execute-plan # Subagent implements autonomously
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Each phase breaks into 2-3 atomic tasks. Each task runs in a fresh subagent context — 200k tokens purely for implementation, zero degradation.
|
|
57
|
+
|
|
58
|
+
### 4. Ship and iterate
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
/gsd:complete-milestone # Archive v1, prep for v2
|
|
62
|
+
/gsd:add-phase # Append new work
|
|
63
|
+
/gsd:insert-phase 2 # Slip urgent work between phases
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Ship your MVP in a day. Add features. Insert hotfixes. The system stays modular — you're never stuck.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Why It Works
|
|
71
|
+
|
|
72
|
+
### Context Engineering
|
|
73
|
+
|
|
74
|
+
Claude Code is incredibly powerful _if_ you give it the context it needs. Most people don't.
|
|
75
|
+
|
|
76
|
+
GSD handles it for you:
|
|
77
|
+
|
|
78
|
+
| File | What it does |
|
|
79
|
+
| ------------ | ------------------------------------------------------ |
|
|
80
|
+
| `PROJECT.md` | Project vision, always loaded |
|
|
81
|
+
| `ROADMAP.md` | Where you're going, what's done |
|
|
82
|
+
| `STATE.md` | Decisions, blockers, position — memory across sessions |
|
|
83
|
+
| `PLAN.md` | Atomic task with XML structure, verification steps |
|
|
84
|
+
| `SUMMARY.md` | What happened, what changed, committed to history |
|
|
85
|
+
|
|
86
|
+
Size limits based on where Claude's quality degrades. Stay under, get consistent excellence.
|
|
87
|
+
|
|
88
|
+
### XML Prompt Formatting
|
|
89
|
+
|
|
90
|
+
Every plan is structured XML optimized for Claude:
|
|
91
|
+
|
|
92
|
+
```xml
|
|
93
|
+
<task type="auto">
|
|
94
|
+
<name>Create login endpoint</name>
|
|
95
|
+
<files>src/app/api/auth/login/route.ts</files>
|
|
96
|
+
<action>
|
|
97
|
+
Use jose for JWT (not jsonwebtoken - CommonJS issues).
|
|
98
|
+
Validate credentials against users table.
|
|
99
|
+
Return httpOnly cookie on success.
|
|
100
|
+
</action>
|
|
101
|
+
<verify>curl -X POST localhost:3000/api/auth/login returns 200 + Set-Cookie</verify>
|
|
102
|
+
<done>Valid credentials return cookie, invalid return 401</done>
|
|
103
|
+
</task>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Precise instructions. No guessing. Verification built in.
|
|
107
|
+
|
|
108
|
+
### Subagent Execution
|
|
109
|
+
|
|
110
|
+
Plans run in fresh contexts:
|
|
111
|
+
|
|
112
|
+
- 0% overhead to start
|
|
113
|
+
- Maximum quality, zero degradation
|
|
114
|
+
- Walk away, come back to completed work
|
|
115
|
+
|
|
116
|
+
### Clean Git History
|
|
117
|
+
|
|
118
|
+
Every task: atomic commit, clear message, summary documenting outcomes. Maintainable history you can trace.
|
|
119
|
+
|
|
120
|
+
### Modular by Design
|
|
121
|
+
|
|
122
|
+
- Add phases to current milestone
|
|
123
|
+
- Insert urgent work between phases
|
|
124
|
+
- Complete milestones and start fresh
|
|
125
|
+
- Adjust plans without rebuilding everything
|
|
126
|
+
|
|
127
|
+
You're never locked in. The system adapts.
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Commands
|
|
132
|
+
|
|
133
|
+
| Command | What it does |
|
|
134
|
+
| --------------------------------- | ------------------------------------------------------------- |
|
|
135
|
+
| `/gsd:new-project` | Extract your idea through questions, create project structure |
|
|
136
|
+
| `/gsd:plan-phase [N]` | Generate task plans for phase |
|
|
137
|
+
| `/gsd:execute-plan` | Run plan via subagent |
|
|
138
|
+
| `/gsd:progress` | Where am I? What's next? |
|
|
139
|
+
| `/gsd:complete-milestone` | Ship it, prep next version |
|
|
140
|
+
| `/gsd:discuss-milestone` | Gather context for next milestone |
|
|
141
|
+
| `/gsd:new-milestone [name]` | Create new milestone with phases |
|
|
142
|
+
| `/gsd:add-phase` | Append phase to roadmap |
|
|
143
|
+
| `/gsd:insert-phase [N]` | Insert urgent work |
|
|
144
|
+
| `/gsd:discuss-phase [N]` | Gather context before planning |
|
|
145
|
+
| `/gsd:list-phase-assumptions [N]` | See what Claude thinks before you correct it |
|
|
146
|
+
| `/gsd:pause-work` | Create handoff file when stopping mid-phase |
|
|
147
|
+
| `/gsd:resume-work` | Restore from last session |
|
|
148
|
+
| `/gsd:help` | Show all commands and usage guide |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Who This Is For
|
|
153
|
+
|
|
154
|
+
People who want to vibecode and have it actually work.
|
|
155
|
+
|
|
156
|
+
Anyone who wants to clearly describe what they want, trust the system to build it, and go live their life.
|
|
157
|
+
|
|
158
|
+
Not for people who enjoy inconsistent and sloppy results.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Installation
|
|
163
|
+
|
|
164
|
+
Clone the repo and run the installer for your platform:
|
|
165
|
+
|
|
166
|
+
**Mac / Linux:**
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
git clone https://github.com/glittercowboy/get-shit-done.git
|
|
170
|
+
cd get-shit-done
|
|
171
|
+
./install/mac/install.sh # or ./install/linux/install.sh
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Windows (PowerShell):**
|
|
175
|
+
|
|
176
|
+
```powershell
|
|
177
|
+
git clone https://github.com/glittercowboy/get-shit-done.git
|
|
178
|
+
cd get-shit-done
|
|
179
|
+
powershell -ExecutionPolicy Bypass -File install\windows\install.ps1
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Verify: `/gsd:help`
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## License
|
|
187
|
+
|
|
188
|
+
MIT License. See [LICENSE](LICENSE) for details.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
**Claude Code is powerful. GSD gives it the context and the systematic consistency to prove it.**
|
package/bin/install.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const os = require('os');
|
|
6
|
+
|
|
7
|
+
// Colors
|
|
8
|
+
const cyan = '\x1b[36m';
|
|
9
|
+
const green = '\x1b[32m';
|
|
10
|
+
const dim = '\x1b[2m';
|
|
11
|
+
const reset = '\x1b[0m';
|
|
12
|
+
|
|
13
|
+
// Get version from package.json
|
|
14
|
+
const pkg = require('../package.json');
|
|
15
|
+
|
|
16
|
+
const banner = `
|
|
17
|
+
${cyan} ██████╗ ███████╗██████╗
|
|
18
|
+
██╔════╝ ██╔════╝██╔══██╗
|
|
19
|
+
██║ ███╗███████╗██║ ██║
|
|
20
|
+
██║ ██║╚════██║██║ ██║
|
|
21
|
+
╚██████╔╝███████║██████╔╝
|
|
22
|
+
╚═════╝ ╚══════╝╚═════╝${reset}
|
|
23
|
+
|
|
24
|
+
Get Shit Done ${dim}v${pkg.version}${reset}
|
|
25
|
+
A meta-prompting, context engineering and spec-driven
|
|
26
|
+
development system for Claude Code by TÂCHES.
|
|
27
|
+
`;
|
|
28
|
+
|
|
29
|
+
console.log(banner);
|
|
30
|
+
|
|
31
|
+
// Paths
|
|
32
|
+
const src = path.join(__dirname, '..');
|
|
33
|
+
const claudeDir = path.join(os.homedir(), '.claude');
|
|
34
|
+
const commandsDir = path.join(claudeDir, 'commands');
|
|
35
|
+
|
|
36
|
+
// Create directories
|
|
37
|
+
fs.mkdirSync(commandsDir, { recursive: true });
|
|
38
|
+
|
|
39
|
+
// Copy commands/gsd
|
|
40
|
+
const gsdSrc = path.join(src, 'commands', 'gsd');
|
|
41
|
+
const gsdDest = path.join(commandsDir, 'gsd');
|
|
42
|
+
fs.cpSync(gsdSrc, gsdDest, { recursive: true });
|
|
43
|
+
console.log(` ${green}✓${reset} Installed commands/gsd`);
|
|
44
|
+
|
|
45
|
+
// Copy get-shit-done
|
|
46
|
+
const skillSrc = path.join(src, 'get-shit-done');
|
|
47
|
+
const skillDest = path.join(claudeDir, 'get-shit-done');
|
|
48
|
+
fs.cpSync(skillSrc, skillDest, { recursive: true });
|
|
49
|
+
console.log(` ${green}✓${reset} Installed get-shit-done`);
|
|
50
|
+
|
|
51
|
+
console.log(`
|
|
52
|
+
${green}Done!${reset} Run ${cyan}/gsd:help${reset} to get started.
|
|
53
|
+
`);
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Add phase to end of current milestone in roadmap
|
|
3
|
+
argument-hint: <description>
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<objective>
|
|
11
|
+
Add a new integer phase to the end of the current milestone in the roadmap.
|
|
12
|
+
|
|
13
|
+
This command appends sequential phases to the current milestone's phase list, automatically calculating the next phase number based on existing phases.
|
|
14
|
+
|
|
15
|
+
Purpose: Add planned work discovered during execution that belongs at the end of current milestone.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<execution_context>
|
|
19
|
+
@.planning/ROADMAP.md
|
|
20
|
+
@.planning/STATE.md
|
|
21
|
+
</execution_context>
|
|
22
|
+
|
|
23
|
+
<process>
|
|
24
|
+
|
|
25
|
+
<step name="parse_arguments">
|
|
26
|
+
Parse the command arguments:
|
|
27
|
+
- All arguments become the phase description
|
|
28
|
+
- Example: `/gsd:add-phase Add authentication` → description = "Add authentication"
|
|
29
|
+
- Example: `/gsd:add-phase Fix critical performance issues` → description = "Fix critical performance issues"
|
|
30
|
+
|
|
31
|
+
If no arguments provided:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
ERROR: Phase description required
|
|
35
|
+
Usage: /gsd:add-phase <description>
|
|
36
|
+
Example: /gsd:add-phase Add authentication system
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Exit.
|
|
40
|
+
</step>
|
|
41
|
+
|
|
42
|
+
<step name="load_roadmap">
|
|
43
|
+
Load the roadmap file:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
if [ -f .planning/ROADMAP.md ]; then
|
|
47
|
+
ROADMAP=".planning/ROADMAP.md"
|
|
48
|
+
else
|
|
49
|
+
echo "ERROR: No roadmap found (.planning/ROADMAP.md)"
|
|
50
|
+
exit 1
|
|
51
|
+
fi
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Read roadmap content for parsing.
|
|
55
|
+
</step>
|
|
56
|
+
|
|
57
|
+
<step name="find_current_milestone">
|
|
58
|
+
Parse the roadmap to find the current milestone section:
|
|
59
|
+
|
|
60
|
+
1. Locate the "## Current Milestone:" heading
|
|
61
|
+
2. Extract milestone name and version
|
|
62
|
+
3. Identify all phases under this milestone (before next "---" separator or next milestone heading)
|
|
63
|
+
4. Parse existing phase numbers (including decimals if present)
|
|
64
|
+
|
|
65
|
+
Example structure:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
## Current Milestone: v1.0 Foundation
|
|
69
|
+
|
|
70
|
+
### Phase 4: Focused Command System
|
|
71
|
+
### Phase 5: Path Routing & Validation
|
|
72
|
+
### Phase 6: Documentation & Distribution
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
</step>
|
|
76
|
+
|
|
77
|
+
<step name="calculate_next_phase">
|
|
78
|
+
Find the highest integer phase number in the current milestone:
|
|
79
|
+
|
|
80
|
+
1. Extract all phase numbers from phase headings (### Phase N:)
|
|
81
|
+
2. Filter to integer phases only (ignore decimals like 4.1, 4.2)
|
|
82
|
+
3. Find the maximum integer value
|
|
83
|
+
4. Add 1 to get the next phase number
|
|
84
|
+
|
|
85
|
+
Example: If phases are 4, 5, 5.1, 6 → next is 7
|
|
86
|
+
|
|
87
|
+
Format as two-digit: `printf "%02d" $next_phase`
|
|
88
|
+
</step>
|
|
89
|
+
|
|
90
|
+
<step name="generate_slug">
|
|
91
|
+
Convert the phase description to a kebab-case slug:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# Example transformation:
|
|
95
|
+
# "Add authentication" → "add-authentication"
|
|
96
|
+
# "Fix critical performance issues" → "fix-critical-performance-issues"
|
|
97
|
+
|
|
98
|
+
slug=$(echo "$description" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//')
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Phase directory name: `{two-digit-phase}-{slug}`
|
|
102
|
+
Example: `07-add-authentication`
|
|
103
|
+
</step>
|
|
104
|
+
|
|
105
|
+
<step name="create_phase_directory">
|
|
106
|
+
Create the phase directory structure:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
phase_dir=".planning/phases/${phase_num}-${slug}"
|
|
110
|
+
mkdir -p "$phase_dir"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Confirm: "Created directory: $phase_dir"
|
|
114
|
+
</step>
|
|
115
|
+
|
|
116
|
+
<step name="update_roadmap">
|
|
117
|
+
Add the new phase entry to the roadmap:
|
|
118
|
+
|
|
119
|
+
1. Find the insertion point (after last phase in current milestone, before "---" separator)
|
|
120
|
+
2. Insert new phase heading:
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
### Phase {N}: {Description}
|
|
124
|
+
|
|
125
|
+
**Goal:** [To be planned]
|
|
126
|
+
**Depends on:** Phase {N-1}
|
|
127
|
+
**Plans:** 0 plans
|
|
128
|
+
|
|
129
|
+
Plans:
|
|
130
|
+
- [ ] TBD (run /gsd:plan-phase {N} to break down)
|
|
131
|
+
|
|
132
|
+
**Details:**
|
|
133
|
+
[To be added during planning]
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
3. Write updated roadmap back to file
|
|
137
|
+
|
|
138
|
+
Preserve all other content exactly (formatting, spacing, other phases).
|
|
139
|
+
</step>
|
|
140
|
+
|
|
141
|
+
<step name="update_project_state">
|
|
142
|
+
Update STATE.md to reflect the new phase:
|
|
143
|
+
|
|
144
|
+
1. Read `.planning/STATE.md`
|
|
145
|
+
2. Under "## Current Position" → "**Next Phase:**" add reference to new phase
|
|
146
|
+
3. Under "## Accumulated Context" → "### Roadmap Evolution" add entry:
|
|
147
|
+
```
|
|
148
|
+
- Phase {N} added: {description}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
If "Roadmap Evolution" section doesn't exist, create it.
|
|
152
|
+
</step>
|
|
153
|
+
|
|
154
|
+
<step name="completion">
|
|
155
|
+
Present completion summary:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
Phase {N} added to current milestone:
|
|
159
|
+
- Description: {description}
|
|
160
|
+
- Directory: .planning/phases/{phase-num}-{slug}/
|
|
161
|
+
- Status: Not planned yet
|
|
162
|
+
|
|
163
|
+
Roadmap updated: {roadmap-path}
|
|
164
|
+
Project state updated: .planning/STATE.md
|
|
165
|
+
|
|
166
|
+
What's next?
|
|
167
|
+
1. Plan this phase: /gsd:plan-phase {N}
|
|
168
|
+
2. Add another phase: /gsd:add-phase <description>
|
|
169
|
+
3. Review roadmap: cat .planning/ROADMAP.md
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**If user selects option 1:**
|
|
173
|
+
Invoke SlashCommand("/gsd:plan-phase {N}")
|
|
174
|
+
|
|
175
|
+
**If user selects option 2:**
|
|
176
|
+
Invoke SlashCommand("/gsd:add-phase <description>")
|
|
177
|
+
|
|
178
|
+
Note: Commands are shown in options above so user can see what will run.
|
|
179
|
+
</step>
|
|
180
|
+
|
|
181
|
+
</process>
|
|
182
|
+
|
|
183
|
+
<anti_patterns>
|
|
184
|
+
|
|
185
|
+
- Don't modify phases outside current milestone
|
|
186
|
+
- Don't renumber existing phases
|
|
187
|
+
- Don't use decimal numbering (that's /gsd:insert-phase)
|
|
188
|
+
- Don't create plans yet (that's /gsd:plan-phase)
|
|
189
|
+
- Don't commit changes (user decides when to commit)
|
|
190
|
+
</anti_patterns>
|
|
191
|
+
|
|
192
|
+
<success_criteria>
|
|
193
|
+
Phase addition is complete when:
|
|
194
|
+
|
|
195
|
+
- [ ] Phase directory created: `.planning/phases/{NN}-{slug}/`
|
|
196
|
+
- [ ] Roadmap updated with new phase entry
|
|
197
|
+
- [ ] STATE.md updated with roadmap evolution note
|
|
198
|
+
- [ ] New phase appears at end of current milestone
|
|
199
|
+
- [ ] Next phase number calculated correctly (ignoring decimals)
|
|
200
|
+
- [ ] User informed of next steps
|
|
201
|
+
</success_criteria>
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: prompt
|
|
3
|
+
description: Archive completed milestone and prepare for next version
|
|
4
|
+
argument-hint: <version>
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Mark milestone {{version}} complete, archive to milestones/, and update ROADMAP.md.
|
|
13
|
+
|
|
14
|
+
Purpose: Create historical record of shipped version, collapse completed work in roadmap, and prepare for next milestone.
|
|
15
|
+
Output: Milestone archived, roadmap reorganized, git tagged.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<execution_context>
|
|
19
|
+
**Load these files NOW (before proceeding):**
|
|
20
|
+
|
|
21
|
+
- @~/.claude/get-shit-done/workflows/complete-milestone.md (main workflow)
|
|
22
|
+
- @~/.claude/get-shit-done/templates/milestone-archive.md (archive template)
|
|
23
|
+
</execution_context>
|
|
24
|
+
|
|
25
|
+
<context>
|
|
26
|
+
**Project files:**
|
|
27
|
+
- `.planning/ROADMAP.md`
|
|
28
|
+
- `.planning/STATE.md`
|
|
29
|
+
- `.planning/PROJECT.md`
|
|
30
|
+
|
|
31
|
+
**User input:**
|
|
32
|
+
|
|
33
|
+
- Version: {{version}} (e.g., "1.0", "1.1", "2.0")
|
|
34
|
+
</context>
|
|
35
|
+
|
|
36
|
+
<process>
|
|
37
|
+
|
|
38
|
+
**Follow complete-milestone.md workflow:**
|
|
39
|
+
|
|
40
|
+
1. **Verify readiness:**
|
|
41
|
+
|
|
42
|
+
- Check all phases in milestone have completed plans (SUMMARY.md exists)
|
|
43
|
+
- Present milestone scope and stats
|
|
44
|
+
- Wait for confirmation
|
|
45
|
+
|
|
46
|
+
2. **Gather stats:**
|
|
47
|
+
|
|
48
|
+
- Count phases, plans, tasks
|
|
49
|
+
- Calculate git range, file changes, LOC
|
|
50
|
+
- Extract timeline from git log
|
|
51
|
+
- Present summary, confirm
|
|
52
|
+
|
|
53
|
+
3. **Extract accomplishments:**
|
|
54
|
+
|
|
55
|
+
- Read all phase SUMMARY.md files in milestone range
|
|
56
|
+
- Extract 4-6 key accomplishments
|
|
57
|
+
- Present for approval
|
|
58
|
+
|
|
59
|
+
4. **Archive milestone:**
|
|
60
|
+
|
|
61
|
+
- Create `.planning/milestones/v{{version}}-ROADMAP.md`
|
|
62
|
+
- Extract full phase details from ROADMAP.md
|
|
63
|
+
- Fill milestone-archive.md template
|
|
64
|
+
- Update ROADMAP.md to one-line summary with link
|
|
65
|
+
- Offer to create next milestone
|
|
66
|
+
|
|
67
|
+
5. **Update PROJECT.md:**
|
|
68
|
+
|
|
69
|
+
- Add "Current State" section with shipped version
|
|
70
|
+
- Add "Next Milestone Goals" section
|
|
71
|
+
- Archive previous content in `<details>` (if v1.1+)
|
|
72
|
+
|
|
73
|
+
6. **Commit and tag:**
|
|
74
|
+
|
|
75
|
+
- Stage: MILESTONES.md, PROJECT.md, ROADMAP.md, STATE.md, archive file
|
|
76
|
+
- Commit: `chore: archive v{{version}} milestone`
|
|
77
|
+
- Tag: `git tag -a v{{version}} -m "[milestone summary]"`
|
|
78
|
+
- Ask about pushing tag
|
|
79
|
+
|
|
80
|
+
7. **Offer next steps:**
|
|
81
|
+
- Plan next milestone
|
|
82
|
+
- Archive planning
|
|
83
|
+
- Done for now
|
|
84
|
+
|
|
85
|
+
</process>
|
|
86
|
+
|
|
87
|
+
<success_criteria>
|
|
88
|
+
|
|
89
|
+
- Milestone archived to `.planning/milestones/v{{version}}-ROADMAP.md`
|
|
90
|
+
- ROADMAP.md collapsed to one-line entry
|
|
91
|
+
- PROJECT.md updated with current state
|
|
92
|
+
- Git tag v{{version}} created
|
|
93
|
+
- Commit successful
|
|
94
|
+
- User knows next steps
|
|
95
|
+
</success_criteria>
|
|
96
|
+
|
|
97
|
+
<critical_rules>
|
|
98
|
+
|
|
99
|
+
- **Load workflow first:** Read complete-milestone.md before executing
|
|
100
|
+
- **Verify completion:** All phases must have SUMMARY.md files
|
|
101
|
+
- **User confirmation:** Wait for approval at verification gates
|
|
102
|
+
- **Archive before collapsing:** Always create archive file before updating ROADMAP.md
|
|
103
|
+
- **One-line summary:** Collapsed milestone in ROADMAP.md should be single line with link
|
|
104
|
+
- **Context efficiency:** Archive keeps ROADMAP.md constant size
|
|
105
|
+
</critical_rules>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Gather context for next milestone through adaptive questioning
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<objective>
|
|
6
|
+
Use adaptive questioning to gather comprehensive milestone context before creating a new milestone.
|
|
7
|
+
|
|
8
|
+
Purpose: After completing a milestone, discuss the scope and focus of the next milestone before diving into phase creation. Builds understanding of goals, constraints, priorities, and lessons learned.
|
|
9
|
+
Output: Context gathered, then routes to /gsd:new-milestone
|
|
10
|
+
</objective>
|
|
11
|
+
|
|
12
|
+
<execution_context>
|
|
13
|
+
@~/.claude/get-shit-done/workflows/discuss-milestone.md
|
|
14
|
+
</execution_context>
|
|
15
|
+
|
|
16
|
+
<context>
|
|
17
|
+
**Load project state first:**
|
|
18
|
+
@.planning/STATE.md
|
|
19
|
+
|
|
20
|
+
**Load roadmap:**
|
|
21
|
+
@.planning/ROADMAP.md
|
|
22
|
+
|
|
23
|
+
**Load milestones (if exists):**
|
|
24
|
+
@.planning/MILESTONES.md
|
|
25
|
+
</context>
|
|
26
|
+
|
|
27
|
+
<process>
|
|
28
|
+
1. Verify previous milestone complete (or acknowledge active milestone)
|
|
29
|
+
2. Present context from previous milestone (accomplishments, phase count)
|
|
30
|
+
3. Follow discuss-milestone.md workflow:
|
|
31
|
+
- Ask about milestone theme/focus
|
|
32
|
+
- Ask about scope (estimated phases)
|
|
33
|
+
- Ask about constraints and priorities
|
|
34
|
+
- Ask about lessons from previous milestone
|
|
35
|
+
- Present decision gate (ready / ask more / let me add context)
|
|
36
|
+
4. Hand off to /gsd:new-milestone with gathered context
|
|
37
|
+
</process>
|
|
38
|
+
|
|
39
|
+
<success_criteria>
|
|
40
|
+
|
|
41
|
+
- Project state loaded and presented
|
|
42
|
+
- Previous milestone context summarized
|
|
43
|
+
- Milestone scope gathered through adaptive questioning
|
|
44
|
+
- Context handed off to /gsd:new-milestone
|
|
45
|
+
</success_criteria>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Gather phase context through adaptive questioning before planning
|
|
3
|
+
argument-hint: "[phase]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<objective>
|
|
7
|
+
Use adaptive questioning to gather comprehensive phase context before planning.
|
|
8
|
+
|
|
9
|
+
Purpose: Build deep understanding of objectives, constraints, risks, success indicators, and codebase state through structured intake flow. Creates CONTEXT.md file that informs high-quality planning.
|
|
10
|
+
Output: {phase}-CONTEXT.md in phase directory with complete context documentation
|
|
11
|
+
</objective>
|
|
12
|
+
|
|
13
|
+
<execution_context>
|
|
14
|
+
@~/.claude/get-shit-done/workflows/discuss-phase.md
|
|
15
|
+
@~/.claude/get-shit-done/templates/context.md
|
|
16
|
+
</execution_context>
|
|
17
|
+
|
|
18
|
+
<context>
|
|
19
|
+
Phase number: $ARGUMENTS (required)
|
|
20
|
+
|
|
21
|
+
**Load project state first:**
|
|
22
|
+
@.planning/STATE.md
|
|
23
|
+
|
|
24
|
+
**Load roadmap:**
|
|
25
|
+
@.planning/ROADMAP.md
|
|
26
|
+
</context>
|
|
27
|
+
|
|
28
|
+
<process>
|
|
29
|
+
1. Validate phase number argument (error if missing or invalid)
|
|
30
|
+
2. Check if phase exists in roadmap
|
|
31
|
+
3. Check if CONTEXT.md already exists (offer to update if yes)
|
|
32
|
+
4. Follow discuss-phase.md workflow:
|
|
33
|
+
- Present initial context from roadmap
|
|
34
|
+
- Analyze gaps in: objectives, constraints, risks, success indicators, codebase context
|
|
35
|
+
- Ask 2-4 questions about genuine gaps (skip what roadmap provides)
|
|
36
|
+
- Present decision gate (ready / ask more / let me add context)
|
|
37
|
+
- Create CONTEXT.md using template
|
|
38
|
+
5. Offer next steps (typically: plan the phase)
|
|
39
|
+
</process>
|
|
40
|
+
|
|
41
|
+
<success_criteria>
|
|
42
|
+
|
|
43
|
+
- Phase validated against roadmap
|
|
44
|
+
- Context gathered through adaptive questioning
|
|
45
|
+
- CONTEXT.md created in phase directory
|
|
46
|
+
- User knows next steps (plan phase, review context, or done)
|
|
47
|
+
</success_criteria>
|