get-shit-done-cc 1.9.11 → 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 (61) hide show
  1. package/README.md +10 -9
  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 +46 -17
  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
  61. package/commands/gsd/whats-new.md +0 -124
@@ -0,0 +1,330 @@
1
+ ---
2
+ name: discuss-design
3
+ description: Design phase-specific UI through conversation, then generate mockups
4
+ triggers: [custom]
5
+ replaces: null
6
+ requires: [ui-principles, framework-patterns]
7
+ ---
8
+
9
+ <purpose>
10
+ Design phase-specific UI elements through conversation before planning. Creates mockups for visual review, ensuring design decisions are made before implementation time is spent.
11
+ </purpose>
12
+
13
+ <when_to_use>
14
+ - Before planning a phase with UI components
15
+ - When you want to visualize before coding
16
+ - When UI decisions need iteration
17
+ - To create component mockups for review
18
+ </when_to_use>
19
+
20
+ <required_reading>
21
+ @~/.claude/get-shit-done/references/ui-principles.md
22
+ @~/.claude/get-shit-done/references/framework-patterns.md
23
+ </required_reading>
24
+
25
+ <process>
26
+
27
+ <step name="display_banner" priority="first">
28
+ ```
29
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
30
+ GSD ► DISCUSS DESIGN
31
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
32
+ ```
33
+ </step>
34
+
35
+ <step name="parse_phase">
36
+ Extract phase number from argument.
37
+
38
+ If no phase provided:
39
+ ```bash
40
+ # List available phases
41
+ ls -d .planning/phases/*/ 2>/dev/null | head -10
42
+ ```
43
+
44
+ Ask via AskUserQuestion:
45
+ - header: "Phase"
46
+ - question: "Which phase are you designing for?"
47
+ - options: [list phases found, or freeform input]
48
+
49
+ Load phase details from ROADMAP.md:
50
+ ```bash
51
+ grep -A 20 "^## Phase ${PHASE_NUM}" .planning/ROADMAP.md
52
+ ```
53
+ </step>
54
+
55
+ <step name="load_design_system">
56
+ Check for project design system:
57
+
58
+ ```bash
59
+ if [[ -f ".planning/DESIGN-SYSTEM.md" ]]; then
60
+ echo "Design system found - loading as context"
61
+ # Read and summarize key points
62
+ else
63
+ echo "No design system - will use ui-principles defaults"
64
+ fi
65
+ ```
66
+
67
+ If design system exists, load and summarize key constraints:
68
+ - Color palette
69
+ - Typography scale
70
+ - Component patterns
71
+ - Framework-specific notes
72
+ </step>
73
+
74
+ <step name="detect_framework">
75
+ ```bash
76
+ if [[ -f "package.json" ]]; then
77
+ if grep -q '"next"' package.json; then
78
+ FRAMEWORK="nextjs"
79
+ elif grep -q '"react"' package.json; then
80
+ FRAMEWORK="react"
81
+ fi
82
+ elif ls *.xcodeproj 2>/dev/null || [[ -f "Package.swift" ]]; then
83
+ FRAMEWORK="swift"
84
+ elif [[ -f "requirements.txt" ]]; then
85
+ FRAMEWORK="python"
86
+ else
87
+ FRAMEWORK="html"
88
+ fi
89
+ ```
90
+
91
+ State: "I'll create {FRAMEWORK} mockups for this phase."
92
+ </step>
93
+
94
+ <step name="phase_context">
95
+ Display phase summary:
96
+
97
+ ```
98
+ ## Phase {number}: {name}
99
+
100
+ **Goal:** {phase goal from roadmap}
101
+
102
+ **Relevant requirements:**
103
+ {requirements that involve UI}
104
+ ```
105
+
106
+ Ask inline (freeform):
107
+ "What UI elements does this phase need? Describe the screens, components, or interactions you're envisioning."
108
+
109
+ Wait for response.
110
+ </step>
111
+
112
+ <step name="visual_references">
113
+ Ask via AskUserQuestion:
114
+ - header: "References"
115
+ - question: "Do you have visual references for this specific phase?"
116
+ - options:
117
+ - "Yes, images/screenshots" - I'll provide files
118
+ - "Yes, URLs" - I'll share example sites
119
+ - "Both" - Images and URLs
120
+ - "No, use design system" - Work from existing system
121
+
122
+ **If references provided:**
123
+ Analyze and extract:
124
+ - Specific component patterns
125
+ - Layout approaches
126
+ - Interaction patterns
127
+
128
+ "From your references, I see: [analysis]"
129
+ </step>
130
+
131
+ <step name="component_discovery">
132
+ Based on user description, identify components needed.
133
+
134
+ For each component, ask follow-up questions:
135
+ - "For the {component}, what states should it have?"
136
+ - "What data does it display?"
137
+ - "What actions can users take?"
138
+
139
+ Use 4-then-check pattern:
140
+ After ~4 questions, ask:
141
+ - header: "More?"
142
+ - question: "More questions about {component}, or move on?"
143
+ - options:
144
+ - "More questions" - I want to clarify further
145
+ - "Move on" - I've said enough
146
+
147
+ Continue until all components understood.
148
+ </step>
149
+
150
+ <step name="layout_discussion">
151
+ Ask about layout:
152
+ - "How should these components be arranged?"
153
+ - "What's the primary action on this screen?"
154
+ - "How does it behave on mobile?"
155
+
156
+ Probe for:
157
+ - Content hierarchy
158
+ - Navigation patterns
159
+ - Responsive behavior
160
+ </step>
161
+
162
+ <step name="interaction_discussion">
163
+ For interactive components:
164
+ - "What happens when user clicks {action}?"
165
+ - "How should loading states look?"
166
+ - "What error states are possible?"
167
+
168
+ Document:
169
+ - User flows
170
+ - State transitions
171
+ - Feedback patterns
172
+ </step>
173
+
174
+ <step name="design_summary">
175
+ Present design summary:
176
+
177
+ ```
178
+ ## Design Summary: Phase {number}
179
+
180
+ ### Components
181
+ {list with brief specs}
182
+
183
+ ### Layout
184
+ {layout description}
185
+
186
+ ### Interactions
187
+ {key interactions}
188
+
189
+ ### States
190
+ {loading, error, empty states}
191
+ ```
192
+
193
+ Ask via AskUserQuestion:
194
+ - header: "Ready?"
195
+ - question: "Ready to generate mockups?"
196
+ - options:
197
+ - "Generate mockups" - Create the visual files
198
+ - "Adjust design" - I want to change something
199
+ - "Add more" - I have more components to discuss
200
+ </step>
201
+
202
+ <step name="generate_mockups">
203
+ Create phase directory:
204
+ ```bash
205
+ PHASE_DIR=".planning/phases/${PHASE_NUM}-${PHASE_NAME}"
206
+ mkdir -p "$PHASE_DIR/mockups"
207
+ ```
208
+
209
+ Spawn design specialist agent:
210
+
211
+ Task(
212
+ prompt="@~/.claude/agents/design-specialist.md
213
+
214
+ <context>
215
+ **Phase:** {phase_number} - {phase_name}
216
+ **Framework:** {detected_framework}
217
+ **Design System:** @.planning/DESIGN-SYSTEM.md
218
+
219
+ **Components to create:**
220
+ {component_specs}
221
+
222
+ **Layout:**
223
+ {layout_description}
224
+
225
+ **States:**
226
+ {state_requirements}
227
+ </context>
228
+
229
+ Create mockups in: {PHASE_DIR}/mockups/",
230
+ subagent_type="general-purpose",
231
+ model="sonnet",
232
+ description="Generate phase mockups"
233
+ )
234
+ </step>
235
+
236
+ <step name="review_mockups">
237
+ After mockups generated, present for review:
238
+
239
+ ```
240
+ ## Mockups Created
241
+
242
+ {list of files}
243
+
244
+ ### Preview
245
+
246
+ Run:
247
+ {preview command based on framework}
248
+ ```
249
+
250
+ Ask via AskUserQuestion:
251
+ - header: "Review"
252
+ - question: "Review the mockups. What's the verdict?"
253
+ - options:
254
+ - "Approved" - These look good, proceed
255
+ - "Iterate" - I want changes
256
+ - "Major revision" - Start fresh on specific components
257
+
258
+ **If "Iterate":**
259
+ Ask what changes needed, update mockups, re-present.
260
+
261
+ Loop until "Approved".
262
+ </step>
263
+
264
+ <step name="create_design_doc">
265
+ Generate phase design document:
266
+
267
+ Write `.planning/phases/{phase}/${PHASE}-DESIGN.md` using template:
268
+ @~/.claude/get-shit-done/templates/phase-design.md
269
+
270
+ Include:
271
+ - All component specs
272
+ - Layout decisions
273
+ - State definitions
274
+ - Mockup file references
275
+ - Implementation notes
276
+ </step>
277
+
278
+ <step name="present_result">
279
+ ```
280
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
281
+ GSD ► DESIGN COMPLETE ✓
282
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
283
+
284
+ ## Phase {number}: {name}
285
+
286
+ **Components designed:** {count}
287
+ **Mockups created:** {count}
288
+ **Status:** Approved
289
+
290
+ ### Files
291
+
292
+ | File | Purpose |
293
+ |------|---------|
294
+ | {PHASE}-DESIGN.md | Design specifications |
295
+ {mockup_files}
296
+
297
+ ───────────────────────────────────────────────────────────────
298
+
299
+ ## What's Next
300
+
301
+ The design is ready for implementation.
302
+
303
+ Option 1: Plan the phase
304
+ /gsd:plan-phase {phase_number}
305
+
306
+ Option 2: View mockups
307
+ {preview_command}
308
+
309
+ Option 3: Edit design
310
+ Open .planning/phases/{phase}/${PHASE}-DESIGN.md
311
+
312
+ The planner will automatically load {PHASE}-DESIGN.md as context.
313
+
314
+ ───────────────────────────────────────────────────────────────
315
+ ```
316
+ </step>
317
+
318
+ </process>
319
+
320
+ <success_criteria>
321
+ - [ ] Phase requirements understood
322
+ - [ ] Design system loaded (if exists)
323
+ - [ ] All UI components identified
324
+ - [ ] Component specs complete with states
325
+ - [ ] Layout documented
326
+ - [ ] Mockups generated in framework-appropriate format
327
+ - [ ] User approved mockups
328
+ - [ ] {PHASE}-DESIGN.md created
329
+ - [ ] User knows next steps
330
+ </success_criteria>
@@ -143,6 +143,21 @@ waves = {
143
143
 
144
144
  **No dependency analysis needed.** Wave numbers are pre-computed during `/gsd:plan-phase`.
145
145
 
146
+ **Check autopilot mode:**
147
+
148
+ ```bash
149
+ echo $GSD_AUTOPILOT
150
+ ```
151
+
152
+ **If GSD_AUTOPILOT=1 (autopilot mode):**
153
+
154
+ Report minimal plain text:
155
+ ```
156
+ Phase {X}: {total_plans} plans, {wave_count} waves
157
+ ```
158
+
159
+ **Otherwise (interactive mode):**
160
+
146
161
  Report wave structure with context:
147
162
  ```
148
163
  ## Execution Plan
@@ -213,7 +228,7 @@ Execute each wave in sequence. Autonomous plans within a wave run in parallel.
213
228
  <execution_context>
214
229
  @~/.claude/get-shit-done/workflows/execute-plan.md
215
230
  @~/.claude/get-shit-done/templates/summary.md
216
- @~/.claude/get-shit-done/references/checkpoints.md
231
+ @~/.claude/get-shit-done/references/checkpoint-execution.md
217
232
  @~/.claude/get-shit-done/references/tdd.md
218
233
  </execution_context>
219
234
 
@@ -456,6 +471,16 @@ If user reports issues → treat as gaps_found.
456
471
 
457
472
  **If gaps_found:**
458
473
 
474
+ **Check autopilot mode:**
475
+
476
+ ```bash
477
+ echo $GSD_AUTOPILOT
478
+ ```
479
+
480
+ **If GSD_AUTOPILOT=1:** Output `Phase {X} verification: gaps_found` and stop. Autopilot script handles gap closure.
481
+
482
+ **Otherwise (interactive mode):**
483
+
459
484
  Present gaps and offer next command:
460
485
 
461
486
  ```markdown
@@ -524,6 +549,24 @@ git commit -m "docs(phase-{X}): complete phase execution"
524
549
  </step>
525
550
 
526
551
  <step name="offer_next">
552
+ **Check autopilot mode first:**
553
+
554
+ ```bash
555
+ echo $GSD_AUTOPILOT
556
+ ```
557
+
558
+ **If GSD_AUTOPILOT=1 (autopilot mode):**
559
+
560
+ Output minimal plain text confirmation:
561
+
562
+ ```
563
+ Phase {X} complete: {N} plans executed, verification {passed|gaps_found|human_needed}
564
+ ```
565
+
566
+ Then stop. Do NOT output the "Next Up" section or any guidance.
567
+
568
+ **Otherwise (interactive mode):**
569
+
527
570
  Present next steps based on milestone status:
528
571
 
529
572
  **If more phases remain:**
@@ -0,0 +1,122 @@
1
+ <purpose>
2
+ Authentication gate handling for execute-plan.md. Load this file dynamically when an authentication error is encountered during task execution.
3
+ </purpose>
4
+
5
+ <trigger>
6
+ Load this file when CLI/API returns authentication errors:
7
+ - "Error: Not authenticated", "Not logged in", "Unauthorized", "401", "403"
8
+ - "Authentication required", "Invalid API key", "Missing credentials"
9
+ - "Please run {tool} login" or "Set {ENV_VAR} environment variable"
10
+ </trigger>
11
+
12
+ <authentication_gates>
13
+
14
+ ## Handling Authentication Errors During Execution
15
+
16
+ **When you encounter authentication errors during `type="auto"` task execution:**
17
+
18
+ This is NOT a failure. Authentication gates are expected and normal. Handle them dynamically:
19
+
20
+ **Authentication error indicators:**
21
+
22
+ - CLI returns: "Error: Not authenticated", "Not logged in", "Unauthorized", "401", "403"
23
+ - API returns: "Authentication required", "Invalid API key", "Missing credentials"
24
+ - Command fails with: "Please run {tool} login" or "Set {ENV_VAR} environment variable"
25
+
26
+ **Authentication gate protocol:**
27
+
28
+ 1. **Recognize it's an auth gate** - Not a bug, just needs credentials
29
+ 2. **STOP current task execution** - Don't retry repeatedly
30
+ 3. **Create dynamic checkpoint:human-action** - Present it to user immediately
31
+ 4. **Provide exact authentication steps** - CLI commands, where to get keys
32
+ 5. **Wait for user to authenticate** - Let them complete auth flow
33
+ 6. **Verify authentication works** - Test that credentials are valid
34
+ 7. **Retry the original task** - Resume automation where you left off
35
+ 8. **Continue normally** - Don't treat this as an error in Summary
36
+
37
+ **Example: Vercel deployment hits auth error**
38
+
39
+ ```
40
+ Task 3: Deploy to Vercel
41
+ Running: vercel --yes
42
+
43
+ Error: Not authenticated. Please run 'vercel login'
44
+
45
+ [Create checkpoint dynamically]
46
+
47
+ ╔═══════════════════════════════════════════════════════╗
48
+ ║ CHECKPOINT: Action Required ║
49
+ ╚═══════════════════════════════════════════════════════╝
50
+
51
+ Progress: 2/8 tasks complete
52
+ Task: Authenticate Vercel CLI
53
+
54
+ Attempted: vercel --yes
55
+ Error: Not authenticated
56
+
57
+ What you need to do:
58
+ 1. Run: vercel login
59
+ 2. Complete browser authentication
60
+
61
+ I'll verify: vercel whoami returns your account
62
+
63
+ ────────────────────────────────────────────────────────
64
+ → YOUR ACTION: Type "done" when authenticated
65
+ ────────────────────────────────────────────────────────
66
+
67
+ [Wait for user response]
68
+
69
+ [User types "done"]
70
+
71
+ Verifying authentication...
72
+ Running: vercel whoami
73
+ ✓ Authenticated as: user@example.com
74
+
75
+ Retrying deployment...
76
+ Running: vercel --yes
77
+ ✓ Deployed to: https://myapp-abc123.vercel.app
78
+
79
+ Task 3 complete. Continuing to task 4...
80
+ ```
81
+
82
+ **Common services and their auth patterns:**
83
+
84
+ | Service | Auth Error Pattern | Auth Command | Verification |
85
+ |---------|-------------------|--------------|--------------|
86
+ | Vercel | "Not authenticated" | `vercel login` | `vercel whoami` |
87
+ | Netlify | "Not logged in" | `netlify login` | `netlify status` |
88
+ | AWS | "Unable to locate credentials" | `aws configure` | `aws sts get-caller-identity` |
89
+ | GCP | "Could not load the default credentials" | `gcloud auth login` | `gcloud auth list` |
90
+ | Supabase | "Not logged in" | `supabase login` | `supabase projects list` |
91
+ | Stripe | "No API key provided" | Set STRIPE_SECRET_KEY | `stripe config --list` |
92
+ | Railway | "Not authenticated" | `railway login` | `railway whoami` |
93
+ | Fly.io | "Not logged in" | `fly auth login` | `fly auth whoami` |
94
+ | Convex | "Not authenticated" | `npx convex login` | `npx convex dashboard` |
95
+ | Cloudflare | "Authentication error" | `wrangler login` | `wrangler whoami` |
96
+
97
+ **In Summary documentation:**
98
+
99
+ Document authentication gates as normal flow, not deviations:
100
+
101
+ ```markdown
102
+ ## Authentication Gates
103
+
104
+ During execution, I encountered authentication requirements:
105
+
106
+ 1. Task 3: Vercel CLI required authentication
107
+ - Paused for `vercel login`
108
+ - Resumed after authentication
109
+ - Deployed successfully
110
+
111
+ These are normal gates, not errors.
112
+ ```
113
+
114
+ **Key principles:**
115
+
116
+ - Authentication gates are NOT failures or bugs
117
+ - They're expected interaction points during first-time setup
118
+ - Handle them gracefully and continue automation after unblocked
119
+ - Don't mark tasks as "failed" or "incomplete" due to auth gates
120
+ - Document them as normal flow, separate from deviations
121
+
122
+ </authentication_gates>