get-shit-done-cc 1.3.10 → 1.3.11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-shit-done-cc",
3
- "version": "1.3.10",
3
+ "version": "1.3.11",
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"
@@ -1,527 +0,0 @@
1
- <overview>
2
- **Core principle:** If it has a CLI or API, Claude does it. Never ask the human to perform manual steps that Claude can automate.
3
-
4
- This reference documents what Claude CAN and SHOULD automate during plan execution.
5
- </overview>
6
-
7
- <deployment_platforms>
8
-
9
- <platform name="vercel">
10
- **CLI:** `vercel`
11
-
12
- **What Claude automates:**
13
- - Create and deploy projects: `vercel --yes`
14
- - Set environment variables: `vercel env add KEY production`
15
- - Link to git repo: `vercel link`
16
- - Trigger deployments: `vercel --prod`
17
- - Get deployment URLs: `vercel ls`
18
- - Manage domains: `vercel domains add example.com`
19
-
20
- **Never ask human to:**
21
- - Visit vercel.com/new to create project
22
- - Click through dashboard to add env vars
23
- - Manually link repository
24
-
25
- **Checkpoint pattern:**
26
- ```xml
27
- <task type="auto">
28
- <name>Deploy to Vercel</name>
29
- <action>Run `vercel --yes` to deploy. Capture deployment URL.</action>
30
- <verify>vercel ls shows deployment, curl {url} returns 200</verify>
31
- </task>
32
-
33
- <task type="checkpoint:human-verify">
34
- <what-built>Deployed to {url}</what-built>
35
- <how-to-verify>Visit {url} - check homepage loads</how-to-verify>
36
- <resume-signal>Type "yes" if correct</resume-signal>
37
- </task>
38
- ```
39
- </platform>
40
-
41
- <platform name="railway">
42
- **CLI:** `railway`
43
-
44
- **What Claude automates:**
45
- - Initialize project: `railway init`
46
- - Link to repo: `railway link`
47
- - Deploy: `railway up`
48
- - Set variables: `railway variables set KEY=value`
49
- - Get deployment URL: `railway domain`
50
- </platform>
51
-
52
- <platform name="fly">
53
- **CLI:** `fly`
54
-
55
- **What Claude automates:**
56
- - Launch app: `fly launch --no-deploy`
57
- - Deploy: `fly deploy`
58
- - Set secrets: `fly secrets set KEY=value`
59
- - Scale: `fly scale count 2`
60
- </platform>
61
- </deployment_platforms>
62
-
63
- <payment_billing>
64
-
65
- <service name="stripe">
66
- **CLI:** `stripe`
67
-
68
- **What Claude automates:**
69
- - Create webhook endpoints: `stripe listen --forward-to localhost:3000/api/webhooks`
70
- - Trigger test events: `stripe trigger payment_intent.succeeded`
71
- - Create products/prices: Stripe API via curl/fetch
72
- - Manage customers: Stripe API via curl/fetch
73
- - Check webhook logs: `stripe webhooks list`
74
-
75
- **Never ask human to:**
76
- - Visit dashboard.stripe.com to create webhook
77
- - Click through UI to create products
78
- - Manually copy webhook signing secret
79
-
80
- **Checkpoint pattern:**
81
- ```xml
82
- <task type="auto">
83
- <name>Configure Stripe webhooks</name>
84
- <action>Use Stripe API to create webhook endpoint at /api/webhooks. Save signing secret to .env.</action>
85
- <verify>stripe webhooks list shows endpoint, .env contains STRIPE_WEBHOOK_SECRET</verify>
86
- </task>
87
-
88
- <task type="checkpoint:human-verify">
89
- <what-built>Stripe webhook configured</what-built>
90
- <how-to-verify>Check Stripe dashboard > Developers > Webhooks shows endpoint with correct URL</how-to-verify>
91
- <resume-signal>Type "yes" if correct</resume-signal>
92
- </task>
93
- ```
94
- </service>
95
- </payment_billing>
96
-
97
- <databases_backend>
98
-
99
- <service name="supabase">
100
- **CLI:** `supabase`
101
-
102
- **What Claude automates:**
103
- - Initialize project: `supabase init`
104
- - Link to remote: `supabase link --project-ref {ref}`
105
- - Create migrations: `supabase migration new {name}`
106
- - Push migrations: `supabase db push`
107
- - Generate types: `supabase gen types typescript`
108
- - Deploy functions: `supabase functions deploy {name}`
109
-
110
- **Never ask human to:**
111
- - Visit supabase.com to create project manually
112
- - Click through dashboard to run migrations
113
- - Copy/paste connection strings
114
-
115
- **Note:** Project creation may require web dashboard initially (no CLI for initial project creation), but all subsequent work (migrations, functions, etc.) is CLI-automated.
116
- </service>
117
-
118
- <service name="upstash">
119
- **CLI:** `upstash`
120
-
121
- **What Claude automates:**
122
- - Create Redis database: `upstash redis create {name} --region {region}`
123
- - Get connection details: `upstash redis get {id}`
124
- - Create Kafka cluster: `upstash kafka create {name} --region {region}`
125
-
126
- **Never ask human to:**
127
- - Visit console.upstash.com
128
- - Click through UI to create database
129
- - Copy/paste connection URLs manually
130
-
131
- **Checkpoint pattern:**
132
- ```xml
133
- <task type="auto">
134
- <name>Create Upstash Redis database</name>
135
- <action>Run `upstash redis create myapp-cache --region us-east-1`. Save URL to .env.</action>
136
- <verify>.env contains UPSTASH_REDIS_URL, upstash redis list shows database</verify>
137
- </task>
138
- ```
139
- </service>
140
-
141
- <service name="planetscale">
142
- **CLI:** `pscale`
143
-
144
- **What Claude automates:**
145
- - Create database: `pscale database create {name} --region {region}`
146
- - Create branch: `pscale branch create {db} {branch}`
147
- - Deploy request: `pscale deploy-request create {db} {branch}`
148
- - Connection string: `pscale connect {db} {branch}`
149
- </service>
150
- </databases_backend>
151
-
152
- <version_control>
153
-
154
- <service name="github">
155
- **CLI:** `gh`
156
-
157
- **What Claude automates:**
158
- - Create repo: `gh repo create {name} --public/--private`
159
- - Create issues: `gh issue create --title "{title}" --body "{body}"`
160
- - Create PR: `gh pr create --title "{title}" --body "{body}"`
161
- - Manage secrets: `gh secret set {KEY}`
162
- - Trigger workflows: `gh workflow run {name}`
163
- - Check status: `gh run list`
164
-
165
- **Never ask human to:**
166
- - Visit github.com to create repo
167
- - Click through UI to add secrets
168
- - Manually create issues/PRs
169
- </service>
170
- </version_control>
171
-
172
- <build_tools>
173
-
174
- <tools name="node">
175
- **What Claude automates:**
176
- - Install dependencies: `npm install`, `pnpm install`, `bun install`
177
- - Run builds: `npm run build`
178
- - Run tests: `npm test`, `npm run test:e2e`
179
- - Type checking: `tsc --noEmit`
180
-
181
- **Never ask human to:** Run these commands manually
182
- </tools>
183
-
184
- <tools name="xcode">
185
- **CLI:** `xcodebuild`
186
-
187
- **What Claude automates:**
188
- - Build project: `xcodebuild -project App.xcodeproj -scheme App build`
189
- - Run tests: `xcodebuild test -project App.xcodeproj -scheme App`
190
- - Archive: `xcodebuild archive -project App.xcodeproj -scheme App`
191
- - Check compilation: Parse xcodebuild output for errors
192
-
193
- **Never ask human to:**
194
- - Open Xcode and click Product > Build
195
- - Click Product > Test manually
196
- - Check for errors by looking at Xcode UI
197
-
198
- **Checkpoint pattern:**
199
- ```xml
200
- <task type="auto">
201
- <name>Build macOS app</name>
202
- <action>Run `xcodebuild -project App.xcodeproj -scheme App build`. Check output for errors.</action>
203
- <verify>Build succeeds with "BUILD SUCCEEDED" in output</verify>
204
- </task>
205
-
206
- <task type="checkpoint:human-verify">
207
- <what-built>Built macOS app at DerivedData/Build/Products/Debug/App.app</what-built>
208
- <how-to-verify>Open App.app and check: login flow works, no visual glitches</how-to-verify>
209
- <resume-signal>Type "approved" or describe issues</resume-signal>
210
- </task>
211
- ```
212
- </tools>
213
- </build_tools>
214
-
215
- <environment_config>
216
-
217
- <config name="env-files">
218
- **Tool:** Write tool
219
-
220
- **What Claude automates:**
221
- - Create .env files: Use Write tool
222
- - Append variables: Use Edit tool
223
- - Read current values: Use Read tool
224
-
225
- **Never ask human to:**
226
- - Manually create .env file
227
- - Copy/paste values into .env
228
- - Edit .env in text editor
229
-
230
- **Pattern:**
231
- ```xml
232
- <task type="auto">
233
- <name>Configure environment variables</name>
234
- <action>Write .env file with: DATABASE_URL, STRIPE_KEY, JWT_SECRET (generated).</action>
235
- <verify>Read .env confirms all variables present</verify>
236
- </task>
237
- ```
238
- </config>
239
- </environment_config>
240
-
241
- <email_communication>
242
-
243
- <service name="resend">
244
- **API:** Resend API via HTTP
245
-
246
- **What Claude automates:**
247
- - Create API keys via dashboard API (if available) or instructions for one-time setup
248
- - Send emails: Resend API
249
- - Configure domains: Resend API
250
- </service>
251
-
252
- <service name="sendgrid">
253
- **API:** SendGrid API via HTTP
254
-
255
- **What Claude automates:**
256
- - Create API keys via API
257
- - Send emails: SendGrid API
258
- - Configure webhooks: SendGrid API
259
-
260
- **Note:** Initial account setup may require email verification (checkpoint:human-action), but all subsequent work is API-automated.
261
- </service>
262
- </email_communication>
263
-
264
- <authentication_gates>
265
-
266
- **Critical distinction:** When Claude tries to use a CLI/API and gets an authentication error, this is NOT a failure - it's a gate that requires human input to unblock automation.
267
-
268
- **Pattern: Claude encounters auth error → creates checkpoint → you authenticate → Claude continues**
269
-
270
- <example name="vercel-auth">
271
-
272
- ```xml
273
- <task type="auto">
274
- <name>Deploy to Vercel</name>
275
- <files>.vercel/, vercel.json</files>
276
- <action>Run `vercel --yes` to deploy</action>
277
- <verify>vercel ls shows deployment</verify>
278
- </task>
279
-
280
- <!-- If vercel returns "Error: Not authenticated" -->
281
-
282
- <task type="checkpoint:human-action" gate="blocking">
283
- <action>Authenticate Vercel CLI so I can continue deployment</action>
284
- <instructions>
285
- I tried to deploy but got authentication error.
286
- Run: vercel login
287
- This will open your browser - complete the authentication flow.
288
- </instructions>
289
- <verification>vercel whoami returns your account email</verification>
290
- <resume-signal>Type "done" when authenticated</resume-signal>
291
- </task>
292
-
293
- <!-- After authentication, Claude retries automatically -->
294
-
295
- <task type="auto">
296
- <name>Retry Vercel deployment</name>
297
- <action>Run `vercel --yes` (now authenticated)</action>
298
- <verify>vercel ls shows deployment, curl returns 200</verify>
299
- </task>
300
- ```
301
- </example>
302
-
303
- <example name="stripe-auth">
304
-
305
- ```xml
306
- <task type="auto">
307
- <name>Create Stripe webhook endpoint</name>
308
- <action>Use Stripe API to create webhook at /api/webhooks</action>
309
- </task>
310
-
311
- <!-- If API returns 401 Unauthorized -->
312
-
313
- <task type="checkpoint:human-action" gate="blocking">
314
- <action>Provide Stripe API key so I can continue webhook configuration</action>
315
- <instructions>
316
- I need your Stripe API key to create webhooks.
317
- 1. Visit dashboard.stripe.com/apikeys
318
- 2. Copy your "Secret key" (starts with sk_test_ or sk_live_)
319
- 3. Paste it here or run: export STRIPE_SECRET_KEY=sk_...
320
- </instructions>
321
- <verification>Stripe API key works: curl test succeeds</verification>
322
- <resume-signal>Type "done" or paste the key</resume-signal>
323
- </task>
324
-
325
- <!-- After key provided, Claude writes to .env and continues -->
326
-
327
- <task type="auto">
328
- <name>Save Stripe key and create webhook</name>
329
- <action>
330
- 1. Write STRIPE_SECRET_KEY to .env
331
- 2. Create webhook endpoint via Stripe API
332
- 3. Save webhook secret to .env
333
- </action>
334
- <verify>.env contains both keys, webhook endpoint exists</verify>
335
- </task>
336
- ```
337
- </example>
338
-
339
- <example name="github-auth">
340
-
341
- ```xml
342
- <task type="auto">
343
- <name>Create GitHub repository</name>
344
- <action>Run `gh repo create myapp --public`</action>
345
- </task>
346
-
347
- <!-- If gh returns "Not logged in" -->
348
-
349
- <task type="checkpoint:human-action" gate="blocking">
350
- <action>Authenticate GitHub CLI so I can create repository</action>
351
- <instructions>
352
- I need GitHub authentication to create the repo.
353
- Run: gh auth login
354
- Follow the prompts to authenticate (browser or token).
355
- </instructions>
356
- <verification>gh auth status shows "Logged in"</verification>
357
- <resume-signal>Type "done" when authenticated</resume-signal>
358
- </task>
359
-
360
- <task type="auto">
361
- <name>Create repository (authenticated)</name>
362
- <action>Run `gh repo create myapp --public`</action>
363
- <verify>gh repo view shows repository exists</verify>
364
- </task>
365
- ```
366
- </example>
367
-
368
- <example name="upstash-auth">
369
-
370
- ```xml
371
- <task type="auto">
372
- <name>Create Upstash Redis database</name>
373
- <action>Run `upstash redis create myapp-cache --region us-east-1`</action>
374
- </task>
375
-
376
- <!-- If upstash returns auth error -->
377
-
378
- <task type="checkpoint:human-action" gate="blocking">
379
- <action>Configure Upstash CLI credentials so I can create database</action>
380
- <instructions>
381
- I need Upstash authentication to create Redis database.
382
- 1. Visit console.upstash.com/account/api
383
- 2. Copy your API key
384
- 3. Run: upstash auth login
385
- 4. Paste your API key when prompted
386
- </instructions>
387
- <verification>upstash auth status shows authenticated</verification>
388
- <resume-signal>Type "done" when authenticated</resume-signal>
389
- </task>
390
-
391
- <task type="auto">
392
- <name>Create Redis database (authenticated)</name>
393
- <action>
394
- 1. Run `upstash redis create myapp-cache --region us-east-1`
395
- 2. Capture connection URL
396
- 3. Write to .env: UPSTASH_REDIS_URL={url}
397
- </action>
398
- <verify>upstash redis list shows database, .env contains URL</verify>
399
- </task>
400
- ```
401
- </example>
402
-
403
- <gate_protocol>
404
-
405
- **When Claude encounters authentication error during execution:**
406
-
407
- 1. **Recognize it's not a failure** - Missing auth is expected, not a bug
408
- 2. **Stop current task** - Don't retry repeatedly
409
- 3. **Create checkpoint:human-action on the fly** - Dynamic checkpoint, not pre-planned
410
- 4. **Provide exact authentication steps** - CLI commands, where to get keys
411
- 5. **Verify authentication** - Test that auth works before continuing
412
- 6. **Retry the original task** - Resume automation where it left off
413
- 7. **Continue normally** - One auth gate doesn't break the flow
414
-
415
- **Key difference from pre-planned checkpoints:**
416
- - Pre-planned: "I need you to do X" (wrong - Claude should automate)
417
- - Auth gate: "I tried to automate X but need credentials to continue" (correct - unblocks automation)
418
-
419
- **This preserves agentic flow:**
420
- - Claude tries automation first
421
- - Only asks for help when blocked by credentials
422
- - Continues automating after unblocked
423
- - You never manually deploy/create resources - just provide keys
424
- </gate_protocol>
425
- </authentication_gates>
426
-
427
- <required_cases>
428
-
429
- **Truly rare cases where no CLI/API exists:**
430
-
431
- 1. **Email verification links** - Account signup requires clicking verification email
432
- 2. **SMS verification codes** - 2FA requiring phone
433
- 3. **Manual account approvals** - Platform requires human review before API access
434
- 4. **Domain DNS records at registrar** - Some registrars have no API
435
- 5. **Credit card input** - Payment methods requiring 3D Secure web flow
436
- 6. **OAuth app approval** - Some platforms require web-based app approval flow
437
-
438
- **For these rare cases:**
439
- ```xml
440
- <task type="checkpoint:human-action" gate="blocking">
441
- <action>Complete email verification for SendGrid account</action>
442
- <instructions>
443
- I created the account and requested verification email.
444
- Check your inbox for verification link and click it.
445
- </instructions>
446
- <verification>SendGrid API key works: curl test succeeds</verification>
447
- <resume-signal>Type "done" when verified</resume-signal>
448
- </task>
449
- ```
450
-
451
- **Key difference:** Claude does EVERYTHING possible first (account creation, API requests), only asks human for the one thing with no automation path.
452
- </required_cases>
453
-
454
- <quick_reference>
455
-
456
- | Action | CLI/API? | Claude does it? |
457
- |--------|----------|-----------------|
458
- | Deploy to Vercel | ✅ `vercel` | YES |
459
- | Create Stripe webhook | ✅ Stripe API | YES |
460
- | Run xcodebuild | ✅ `xcodebuild` | YES |
461
- | Write .env file | ✅ Write tool | YES |
462
- | Create Upstash DB | ✅ `upstash` CLI | YES |
463
- | Install npm packages | ✅ `npm` | YES |
464
- | Create GitHub repo | ✅ `gh` | YES |
465
- | Run tests | ✅ `npm test` | YES |
466
- | Create Supabase project | ⚠️ Web dashboard | NO (then CLI for everything else) |
467
- | Click email verification link | ❌ No API | NO |
468
- | Enter credit card with 3DS | ❌ No API | NO |
469
-
470
- **Default answer: YES.** Unless explicitly in the "NO" category, Claude automates it.
471
- </quick_reference>
472
-
473
- <decision_tree>
474
-
475
- ```
476
- ┌─────────────────────────────────────┐
477
- │ Task requires external resource? │
478
- └──────────────┬──────────────────────┘
479
-
480
-
481
- ┌─────────────────────────────────────┐
482
- │ Does it have CLI/API/tool access? │
483
- └──────────────┬──────────────────────┘
484
-
485
- ┌─────┴─────┐
486
- │ │
487
- ▼ ▼
488
- YES NO
489
- │ │
490
- │ ▼
491
- │ ┌──────────────────────────────┐
492
- │ │ checkpoint:human-action │
493
- │ │ (email links, 2FA, etc.) │
494
- │ └──────────────────────────────┘
495
-
496
-
497
- ┌────────────────────────────────────────┐
498
- │ task type="auto" │
499
- │ Claude automates via CLI/API │
500
- └────────────┬───────────────────────────┘
501
-
502
-
503
- ┌────────────────────────────────────────┐
504
- │ checkpoint:human-verify │
505
- │ Human confirms visual/functional │
506
- └────────────────────────────────────────┘
507
- ```
508
- </decision_tree>
509
-
510
- <summary>
511
-
512
- **The rule:** If Claude CAN do it, Claude MUST do it.
513
-
514
- Checkpoints are for:
515
- - **Verification** - Confirming Claude's automated work looks/behaves correctly
516
- - **Decisions** - Choosing between valid approaches
517
- - **True blockers** - Rare actions with literally no API/CLI (email links, 2FA)
518
-
519
- Checkpoints are NOT for:
520
- - Deploying (use CLI)
521
- - Creating resources (use CLI/API)
522
- - Running builds (use Bash)
523
- - Writing files (use Write tool)
524
- - Anything with automation available
525
-
526
- **This keeps the agentic coding workflow intact - Claude does the work, you verify results.**
527
- </summary>