get-shit-done-cc 1.9.13 → 1.10.0-experimental.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.
Files changed (60) hide show
  1. package/README.md +8 -0
  2. package/agents/design-specialist.md +222 -0
  3. package/agents/gsd-executor.md +37 -375
  4. package/agents/gsd-planner.md +15 -108
  5. package/bin/install.js +92 -5
  6. package/commands/gsd/autopilot.md +518 -0
  7. package/commands/gsd/checkpoints.md +229 -0
  8. package/commands/gsd/design-system.md +70 -0
  9. package/commands/gsd/discuss-design.md +77 -0
  10. package/commands/gsd/extend.md +80 -0
  11. package/commands/gsd/help.md +43 -0
  12. package/commands/gsd/new-project.md +94 -8
  13. package/commands/gsd/plan-phase.md +35 -5
  14. package/get-shit-done/references/ccr-integration.md +468 -0
  15. package/get-shit-done/references/checkpoint-execution.md +369 -0
  16. package/get-shit-done/references/checkpoint-types.md +728 -0
  17. package/get-shit-done/references/deviation-rules.md +215 -0
  18. package/get-shit-done/references/framework-patterns.md +543 -0
  19. package/get-shit-done/references/ui-principles.md +258 -0
  20. package/get-shit-done/references/verification-patterns.md +1 -1
  21. package/get-shit-done/skills/gsd-extend/SKILL.md +154 -0
  22. package/get-shit-done/skills/gsd-extend/references/agent-structure.md +305 -0
  23. package/get-shit-done/skills/gsd-extend/references/extension-anatomy.md +123 -0
  24. package/get-shit-done/skills/gsd-extend/references/reference-structure.md +408 -0
  25. package/get-shit-done/skills/gsd-extend/references/template-structure.md +370 -0
  26. package/get-shit-done/skills/gsd-extend/references/validation-rules.md +140 -0
  27. package/get-shit-done/skills/gsd-extend/references/workflow-structure.md +253 -0
  28. package/get-shit-done/skills/gsd-extend/templates/agent-template.md +234 -0
  29. package/get-shit-done/skills/gsd-extend/templates/reference-template.md +239 -0
  30. package/get-shit-done/skills/gsd-extend/templates/workflow-template.md +169 -0
  31. package/get-shit-done/skills/gsd-extend/workflows/create-approach.md +332 -0
  32. package/get-shit-done/skills/gsd-extend/workflows/list-extensions.md +133 -0
  33. package/get-shit-done/skills/gsd-extend/workflows/remove-extension.md +93 -0
  34. package/get-shit-done/skills/gsd-extend/workflows/validate-extension.md +184 -0
  35. package/get-shit-done/templates/autopilot-script-simple.sh +181 -0
  36. package/get-shit-done/templates/autopilot-script.sh +1142 -0
  37. package/get-shit-done/templates/autopilot-script.sh.backup +1142 -0
  38. package/get-shit-done/templates/design-system.md +238 -0
  39. package/get-shit-done/templates/phase-design.md +205 -0
  40. package/get-shit-done/templates/phase-models-template.json +71 -0
  41. package/get-shit-done/templates/phase-prompt.md +4 -4
  42. package/get-shit-done/templates/state.md +37 -0
  43. package/get-shit-done/tui/App.tsx +169 -0
  44. package/get-shit-done/tui/README.md +107 -0
  45. package/get-shit-done/tui/build.js +37 -0
  46. package/get-shit-done/tui/components/ActivityFeed.tsx +126 -0
  47. package/get-shit-done/tui/components/PhaseCard.tsx +86 -0
  48. package/get-shit-done/tui/components/StatsBar.tsx +147 -0
  49. package/get-shit-done/tui/dist/index.js +387 -0
  50. package/get-shit-done/tui/index.tsx +12 -0
  51. package/get-shit-done/tui/package-lock.json +1074 -0
  52. package/get-shit-done/tui/package.json +22 -0
  53. package/get-shit-done/tui/utils/pipeReader.ts +129 -0
  54. package/get-shit-done/workflows/design-system.md +245 -0
  55. package/get-shit-done/workflows/discuss-design.md +330 -0
  56. package/get-shit-done/workflows/execute-phase.md +44 -1
  57. package/get-shit-done/workflows/execute-plan-auth.md +122 -0
  58. package/get-shit-done/workflows/execute-plan-checkpoints.md +541 -0
  59. package/get-shit-done/workflows/execute-plan.md +34 -856
  60. package/package.json +8 -3
@@ -0,0 +1,369 @@
1
+ # Checkpoint Execution Reference
2
+
3
+ Reference for executing checkpoints during plan execution. Covers display protocol, authentication gates, and automation commands.
4
+
5
+ <overview>
6
+ Plans execute autonomously. Checkpoints formalize the interaction points where human verification or decisions are needed.
7
+
8
+ **Core principle:** Claude automates everything with CLI/API. Checkpoints are for verification and decisions, not manual work.
9
+
10
+ **Golden rules:**
11
+ 1. **If Claude can run it, Claude runs it** - Never ask user to execute CLI commands, start servers, or run builds
12
+ 2. **Claude sets up the verification environment** - Start dev servers, seed databases, configure env vars
13
+ 3. **User only does what requires human judgment** - Visual checks, UX evaluation, "does this feel right?"
14
+ 4. **Secrets come from user, automation comes from Claude** - Ask for API keys, then Claude uses them via CLI
15
+ </overview>
16
+
17
+ <execution_protocol>
18
+
19
+ When Claude encounters `type="checkpoint:*"`:
20
+
21
+ 1. **Stop immediately** - do not proceed to next task
22
+ 2. **Display checkpoint clearly** using the format below
23
+ 3. **Wait for user response** - do not hallucinate completion
24
+ 4. **Verify if possible** - check files, run tests, whatever is specified
25
+ 5. **Resume execution** - continue to next task only after confirmation
26
+
27
+ **For checkpoint:human-verify:**
28
+ ```
29
+ ╔═══════════════════════════════════════════════════════╗
30
+ ║ CHECKPOINT: Verification Required ║
31
+ ╚═══════════════════════════════════════════════════════╝
32
+
33
+ Progress: 5/8 tasks complete
34
+ Task: Responsive dashboard layout
35
+
36
+ Built: Responsive dashboard at /dashboard
37
+
38
+ How to verify:
39
+ 1. Run: npm run dev
40
+ 2. Visit: http://localhost:3000/dashboard
41
+ 3. Desktop (>1024px): Sidebar visible, content fills remaining space
42
+ 4. Tablet (768px): Sidebar collapses to icons
43
+ 5. Mobile (375px): Sidebar hidden, hamburger menu appears
44
+
45
+ ────────────────────────────────────────────────────────
46
+ → YOUR ACTION: Type "approved" or describe issues
47
+ ────────────────────────────────────────────────────────
48
+ ```
49
+
50
+ **For checkpoint:decision:**
51
+ ```
52
+ ╔═══════════════════════════════════════════════════════╗
53
+ ║ CHECKPOINT: Decision Required ║
54
+ ╚═══════════════════════════════════════════════════════╝
55
+
56
+ Progress: 2/6 tasks complete
57
+ Task: Select authentication provider
58
+
59
+ Decision: Which auth provider should we use?
60
+
61
+ Context: Need user authentication. Three options with different tradeoffs.
62
+
63
+ Options:
64
+ 1. supabase - Built-in with our DB, free tier
65
+ Pros: Row-level security integration, generous free tier
66
+ Cons: Less customizable UI, ecosystem lock-in
67
+
68
+ 2. clerk - Best DX, paid after 10k users
69
+ Pros: Beautiful pre-built UI, excellent documentation
70
+ Cons: Vendor lock-in, pricing at scale
71
+
72
+ 3. nextauth - Self-hosted, maximum control
73
+ Pros: Free, no vendor lock-in, widely adopted
74
+ Cons: More setup work, DIY security updates
75
+
76
+ ────────────────────────────────────────────────────────
77
+ → YOUR ACTION: Select supabase, clerk, or nextauth
78
+ ────────────────────────────────────────────────────────
79
+ ```
80
+
81
+ **For checkpoint:human-action:**
82
+ ```
83
+ ╔═══════════════════════════════════════════════════════╗
84
+ ║ CHECKPOINT: Action Required ║
85
+ ╚═══════════════════════════════════════════════════════╝
86
+
87
+ Progress: 3/8 tasks complete
88
+ Task: Deploy to Vercel
89
+
90
+ Attempted: vercel --yes
91
+ Error: Not authenticated. Please run 'vercel login'
92
+
93
+ What you need to do:
94
+ 1. Run: vercel login
95
+ 2. Complete browser authentication when it opens
96
+ 3. Return here when done
97
+
98
+ I'll verify: vercel whoami returns your account
99
+
100
+ ────────────────────────────────────────────────────────
101
+ → YOUR ACTION: Type "done" when authenticated
102
+ ────────────────────────────────────────────────────────
103
+ ```
104
+ </execution_protocol>
105
+
106
+ <authentication_gates>
107
+
108
+ **Critical:** When Claude tries CLI/API and gets auth error, this is NOT a failure - it's a gate requiring human input to unblock automation.
109
+
110
+ **Pattern:** Claude tries automation → auth error → creates checkpoint → you authenticate → Claude retries → continues
111
+
112
+ **Gate protocol:**
113
+ 1. Recognize it's not a failure - missing auth is expected
114
+ 2. Stop current task - don't retry repeatedly
115
+ 3. Create checkpoint:human-action dynamically
116
+ 4. Provide exact authentication steps
117
+ 5. Verify authentication works
118
+ 6. Retry the original task
119
+ 7. Continue normally
120
+
121
+ **Example execution flow (Vercel auth gate):**
122
+
123
+ ```
124
+ Claude: Running `vercel --yes` to deploy...
125
+
126
+ Error: Not authenticated. Please run 'vercel login'
127
+
128
+ ╔═══════════════════════════════════════════════════════╗
129
+ ║ CHECKPOINT: Action Required ║
130
+ ╚═══════════════════════════════════════════════════════╝
131
+
132
+ Progress: 2/8 tasks complete
133
+ Task: Deploy to Vercel
134
+
135
+ Attempted: vercel --yes
136
+ Error: Not authenticated
137
+
138
+ What you need to do:
139
+ 1. Run: vercel login
140
+ 2. Complete browser authentication
141
+
142
+ I'll verify: vercel whoami returns your account
143
+
144
+ ────────────────────────────────────────────────────────
145
+ → YOUR ACTION: Type "done" when authenticated
146
+ ────────────────────────────────────────────────────────
147
+
148
+ User: done
149
+
150
+ Claude: Verifying authentication...
151
+ Running: vercel whoami
152
+ ✓ Authenticated as: user@example.com
153
+
154
+ Retrying deployment...
155
+ Running: vercel --yes
156
+ ✓ Deployed to: https://myapp-abc123.vercel.app
157
+
158
+ Task 3 complete. Continuing to task 4...
159
+ ```
160
+
161
+ **Key distinction:**
162
+ - Pre-planned checkpoint: "I need you to do X" (wrong - Claude should automate)
163
+ - Auth gate: "I tried to automate X but need credentials" (correct - unblocks automation)
164
+
165
+ </authentication_gates>
166
+
167
+ <automation_reference>
168
+
169
+ **The rule:** If it has CLI/API, Claude does it. Never ask human to perform automatable work.
170
+
171
+ ## Service CLI Reference
172
+
173
+ | Service | CLI/API | Key Commands | Auth Gate |
174
+ |---------|---------|--------------|-----------|
175
+ | Vercel | `vercel` | `--yes`, `env add`, `--prod`, `ls` | `vercel login` |
176
+ | Railway | `railway` | `init`, `up`, `variables set` | `railway login` |
177
+ | Fly | `fly` | `launch`, `deploy`, `secrets set` | `fly auth login` |
178
+ | Stripe | `stripe` + API | `listen`, `trigger`, API calls | API key in .env |
179
+ | Supabase | `supabase` | `init`, `link`, `db push`, `gen types` | `supabase login` |
180
+ | Upstash | `upstash` | `redis create`, `redis get` | `upstash auth login` |
181
+ | PlanetScale | `pscale` | `database create`, `branch create` | `pscale auth login` |
182
+ | GitHub | `gh` | `repo create`, `pr create`, `secret set` | `gh auth login` |
183
+ | Node | `npm`/`pnpm` | `install`, `run build`, `test`, `run dev` | N/A |
184
+ | Xcode | `xcodebuild` | `-project`, `-scheme`, `build`, `test` | N/A |
185
+ | Convex | `npx convex` | `dev`, `deploy`, `env set`, `env get` | `npx convex login` |
186
+
187
+ ## Environment Variable Automation
188
+
189
+ **Env files:** Use Write/Edit tools. Never ask human to create .env manually.
190
+
191
+ **Dashboard env vars via CLI:**
192
+
193
+ | Platform | CLI Command | Example |
194
+ |----------|-------------|---------|
195
+ | Convex | `npx convex env set` | `npx convex env set OPENAI_API_KEY sk-...` |
196
+ | Vercel | `vercel env add` | `vercel env add STRIPE_KEY production` |
197
+ | Railway | `railway variables set` | `railway variables set API_KEY=value` |
198
+ | Fly | `fly secrets set` | `fly secrets set DATABASE_URL=...` |
199
+ | Supabase | `supabase secrets set` | `supabase secrets set MY_SECRET=value` |
200
+
201
+ **Pattern for secret collection:**
202
+ ```xml
203
+ <!-- WRONG: Asking user to add env vars in dashboard -->
204
+ <task type="checkpoint:human-action">
205
+ <action>Add OPENAI_API_KEY to Convex dashboard</action>
206
+ <instructions>Go to dashboard.convex.dev → Settings → Environment Variables → Add</instructions>
207
+ </task>
208
+
209
+ <!-- RIGHT: Claude asks for value, then adds via CLI -->
210
+ <task type="checkpoint:human-action">
211
+ <action>Provide your OpenAI API key</action>
212
+ <instructions>
213
+ I need your OpenAI API key to configure the Convex backend.
214
+ Get it from: https://platform.openai.com/api-keys
215
+ Paste the key (starts with sk-)
216
+ </instructions>
217
+ <verification>I'll add it via `npx convex env set` and verify it's configured</verification>
218
+ <resume-signal>Paste your API key</resume-signal>
219
+ </task>
220
+
221
+ <task type="auto">
222
+ <name>Configure OpenAI key in Convex</name>
223
+ <action>Run `npx convex env set OPENAI_API_KEY {user-provided-key}`</action>
224
+ <verify>`npx convex env get OPENAI_API_KEY` returns the key (masked)</verify>
225
+ </task>
226
+ ```
227
+
228
+ ## Dev Server Automation
229
+
230
+ **Claude starts servers, user visits URLs:**
231
+
232
+ | Framework | Start Command | Ready Signal | Default URL |
233
+ |-----------|---------------|--------------|-------------|
234
+ | Next.js | `npm run dev` | "Ready in" or "started server" | http://localhost:3000 |
235
+ | Vite | `npm run dev` | "ready in" | http://localhost:5173 |
236
+ | Convex | `npx convex dev` | "Convex functions ready" | N/A (backend only) |
237
+ | Express | `npm start` | "listening on port" | http://localhost:3000 |
238
+ | Django | `python manage.py runserver` | "Starting development server" | http://localhost:8000 |
239
+
240
+ ### Server Lifecycle Protocol
241
+
242
+ **Starting servers:**
243
+ ```bash
244
+ # Run in background, capture PID for cleanup
245
+ npm run dev &
246
+ DEV_SERVER_PID=$!
247
+
248
+ # Wait for ready signal (max 30s)
249
+ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; done'
250
+ ```
251
+
252
+ **Port conflicts:**
253
+ If default port is in use, check what's running and either:
254
+ 1. Kill the existing process if it's stale: `lsof -ti:3000 | xargs kill`
255
+ 2. Use alternate port: `npm run dev -- --port 3001`
256
+
257
+ **Server stays running** for the duration of the checkpoint. After user approves, server continues running for subsequent tasks. Only kill explicitly if:
258
+ - Plan is complete and no more verification needed
259
+ - Switching to production deployment
260
+ - Port needed for different service
261
+
262
+ **Pattern:**
263
+ ```xml
264
+ <!-- Claude starts server before checkpoint -->
265
+ <task type="auto">
266
+ <name>Start dev server</name>
267
+ <action>Run `npm run dev` in background, wait for ready signal</action>
268
+ <verify>curl http://localhost:3000 returns 200</verify>
269
+ <done>Dev server running</done>
270
+ </task>
271
+
272
+ <!-- User only visits URL -->
273
+ <task type="checkpoint:human-verify">
274
+ <what-built>Feature X - dev server running at http://localhost:3000</what-built>
275
+ <how-to-verify>
276
+ Visit http://localhost:3000/feature and verify:
277
+ 1. [Visual check 1]
278
+ 2. [Visual check 2]
279
+ </how-to-verify>
280
+ </task>
281
+ ```
282
+
283
+ ## CLI Installation Handling
284
+
285
+ **When a required CLI is not installed:**
286
+
287
+ | CLI | Auto-install? | Command |
288
+ |-----|---------------|---------|
289
+ | npm/pnpm/yarn | No - ask user | User chooses package manager |
290
+ | vercel | Yes | `npm i -g vercel` |
291
+ | gh (GitHub) | Yes | `brew install gh` (macOS) or `apt install gh` (Linux) |
292
+ | stripe | Yes | `npm i -g stripe` |
293
+ | supabase | Yes | `npm i -g supabase` |
294
+ | convex | No - use npx | `npx convex` (no install needed) |
295
+ | fly | Yes | `brew install flyctl` or curl installer |
296
+ | railway | Yes | `npm i -g @railway/cli` |
297
+
298
+ **Protocol:**
299
+ 1. Try the command
300
+ 2. If "command not found", check if auto-installable
301
+ 3. If yes: install silently, retry command
302
+ 4. If no: create checkpoint asking user to install
303
+
304
+ ```xml
305
+ <!-- Example: vercel not found -->
306
+ <task type="auto">
307
+ <name>Install Vercel CLI</name>
308
+ <action>Run `npm i -g vercel`</action>
309
+ <verify>`vercel --version` succeeds</verify>
310
+ <done>Vercel CLI installed</done>
311
+ </task>
312
+ ```
313
+
314
+ ## Pre-Checkpoint Automation Failures
315
+
316
+ **When setup fails before checkpoint:**
317
+
318
+ | Failure | Response |
319
+ |---------|----------|
320
+ | Server won't start | Check error output, fix issue, retry (don't proceed to checkpoint) |
321
+ | Port in use | Kill stale process or use alternate port |
322
+ | Missing dependency | Run `npm install`, retry |
323
+ | Build error | Fix the error first (this is a bug, not a checkpoint issue) |
324
+ | Auth error | Create auth gate checkpoint |
325
+ | Network timeout | Retry with backoff, then checkpoint if persistent |
326
+
327
+ **Key principle:** Never present a checkpoint with broken verification environment. If `curl localhost:3000` fails, don't ask user to "visit localhost:3000".
328
+
329
+ ```xml
330
+ <!-- WRONG: Checkpoint with broken environment -->
331
+ <task type="checkpoint:human-verify">
332
+ <what-built>Dashboard (server failed to start)</what-built>
333
+ <how-to-verify>Visit http://localhost:3000...</how-to-verify>
334
+ </task>
335
+
336
+ <!-- RIGHT: Fix first, then checkpoint -->
337
+ <task type="auto">
338
+ <name>Fix server startup issue</name>
339
+ <action>Investigate error, fix root cause, restart server</action>
340
+ <verify>curl http://localhost:3000 returns 200</verify>
341
+ <done>Server running correctly</done>
342
+ </task>
343
+
344
+ <task type="checkpoint:human-verify">
345
+ <what-built>Dashboard - server running at http://localhost:3000</what-built>
346
+ <how-to-verify>Visit http://localhost:3000/dashboard...</how-to-verify>
347
+ </task>
348
+ ```
349
+
350
+ ## Quick Reference
351
+
352
+ | Action | Automatable? | Claude does it? |
353
+ |--------|--------------|-----------------|
354
+ | Deploy to Vercel | Yes (`vercel`) | YES |
355
+ | Create Stripe webhook | Yes (API) | YES |
356
+ | Write .env file | Yes (Write tool) | YES |
357
+ | Create Upstash DB | Yes (`upstash`) | YES |
358
+ | Run tests | Yes (`npm test`) | YES |
359
+ | Start dev server | Yes (`npm run dev`) | YES |
360
+ | Add env vars to Convex | Yes (`npx convex env set`) | YES |
361
+ | Add env vars to Vercel | Yes (`vercel env add`) | YES |
362
+ | Seed database | Yes (CLI/API) | YES |
363
+ | Click email verification link | No | NO |
364
+ | Enter credit card with 3DS | No | NO |
365
+ | Complete OAuth in browser | No | NO |
366
+ | Visually verify UI looks correct | No | NO |
367
+ | Test interactive user flows | No | NO |
368
+
369
+ </automation_reference>