get-shit-done-cc 1.9.2 → 1.9.4

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.
@@ -347,6 +347,21 @@ Type "done" when authenticated.
347
347
  </authentication_gates>
348
348
 
349
349
  <checkpoint_protocol>
350
+
351
+ **CRITICAL: Automation before verification**
352
+
353
+ Before any `checkpoint:human-verify`, ensure verification environment is ready. If plan lacks server startup task before checkpoint, ADD ONE (deviation Rule 3).
354
+
355
+ For full automation-first patterns, server lifecycle, CLI handling, and error recovery:
356
+ **See @~/.claude/get-shit-done/references/checkpoints.md**
357
+
358
+ **Quick reference:**
359
+ - Users NEVER run CLI commands - Claude does all automation
360
+ - Users ONLY visit URLs, click UI, evaluate visuals, provide secrets
361
+ - Claude starts servers, seeds databases, configures env vars
362
+
363
+ ---
364
+
350
365
  When encountering `type="checkpoint:*"`:
351
366
 
352
367
  **STOP immediately.** Do not continue to next task.
package/bin/install.js CHANGED
@@ -181,6 +181,9 @@ function cleanupOrphanedHooks(settings) {
181
181
  const orphanedHookPatterns = [
182
182
  'gsd-notify.sh', // Removed in v1.6.x
183
183
  'hooks/statusline.js', // Renamed to gsd-statusline.js in v1.9.0
184
+ 'gsd-intel-index.js', // Removed in v1.9.2
185
+ 'gsd-intel-session.js', // Removed in v1.9.2
186
+ 'gsd-intel-prune.js', // Removed in v1.9.2
184
187
  ];
185
188
 
186
189
  let cleaned = false;
@@ -2,6 +2,12 @@
2
2
  Plans execute autonomously. Checkpoints formalize the interaction points where human verification or decisions are needed.
3
3
 
4
4
  **Core principle:** Claude automates everything with CLI/API. Checkpoints are for verification and decisions, not manual work.
5
+
6
+ **Golden rules:**
7
+ 1. **If Claude can run it, Claude runs it** - Never ask user to execute CLI commands, start servers, or run builds
8
+ 2. **Claude sets up the verification environment** - Start dev servers, seed databases, configure env vars
9
+ 3. **User only does what requires human judgment** - Visual checks, UX evaluation, "does this feel right?"
10
+ 4. **Secrets come from user, automation comes from Claude** - Ask for API keys, then Claude uses them via CLI
5
11
  </overview>
6
12
 
7
13
  <checkpoint_types>
@@ -67,20 +73,28 @@ Plans execute autonomously. Checkpoints formalize the interaction points where h
67
73
  <done>Dashboard component builds without errors</done>
68
74
  </task>
69
75
 
76
+ <task type="auto">
77
+ <name>Start dev server for verification</name>
78
+ <action>Run `npm run dev` in background, wait for "ready" message, capture port</action>
79
+ <verify>curl http://localhost:3000 returns 200</verify>
80
+ <done>Dev server running at http://localhost:3000</done>
81
+ </task>
82
+
70
83
  <task type="checkpoint:human-verify" gate="blocking">
71
- <what-built>Responsive dashboard layout at /dashboard</what-built>
84
+ <what-built>Responsive dashboard layout - dev server running at http://localhost:3000</what-built>
72
85
  <how-to-verify>
73
- 1. Run: npm run dev
74
- 2. Visit: http://localhost:3000/dashboard
75
- 3. Desktop (>1024px): Verify sidebar left, content right, header top
76
- 4. Tablet (768px): Verify sidebar collapses to hamburger
77
- 5. Mobile (375px): Verify single column, bottom nav
78
- 6. Check: No layout shift, no horizontal scroll
86
+ Visit http://localhost:3000/dashboard and verify:
87
+ 1. Desktop (>1024px): Sidebar left, content right, header top
88
+ 2. Tablet (768px): Sidebar collapses to hamburger menu
89
+ 3. Mobile (375px): Single column layout, bottom nav appears
90
+ 4. No layout shift or horizontal scroll at any size
79
91
  </how-to-verify>
80
92
  <resume-signal>Type "approved" or describe layout issues</resume-signal>
81
93
  </task>
82
94
  ```
83
95
 
96
+ **Key pattern:** Claude starts the dev server BEFORE the checkpoint. User only needs to visit the URL.
97
+
84
98
  **Example: Xcode Build**
85
99
  ```xml
86
100
  <task type="auto">
@@ -466,6 +480,8 @@ Task 3 complete. Continuing to task 4...
466
480
 
467
481
  **The rule:** If it has CLI/API, Claude does it. Never ask human to perform automatable work.
468
482
 
483
+ ## Service CLI Reference
484
+
469
485
  | Service | CLI/API | Key Commands | Auth Gate |
470
486
  |---------|---------|--------------|-----------|
471
487
  | Vercel | `vercel` | `--yes`, `env add`, `--prod`, `ls` | `vercel login` |
@@ -476,13 +492,174 @@ Task 3 complete. Continuing to task 4...
476
492
  | Upstash | `upstash` | `redis create`, `redis get` | `upstash auth login` |
477
493
  | PlanetScale | `pscale` | `database create`, `branch create` | `pscale auth login` |
478
494
  | GitHub | `gh` | `repo create`, `pr create`, `secret set` | `gh auth login` |
479
- | Node | `npm`/`pnpm` | `install`, `run build`, `test` | N/A |
495
+ | Node | `npm`/`pnpm` | `install`, `run build`, `test`, `run dev` | N/A |
480
496
  | Xcode | `xcodebuild` | `-project`, `-scheme`, `build`, `test` | N/A |
481
- | Convex | `npx convex` | `dev`, `deploy`, `import` | `npx convex login` |
497
+ | Convex | `npx convex` | `dev`, `deploy`, `env set`, `env get` | `npx convex login` |
498
+
499
+ ## Environment Variable Automation
482
500
 
483
501
  **Env files:** Use Write/Edit tools. Never ask human to create .env manually.
484
502
 
485
- **Quick reference:**
503
+ **Dashboard env vars via CLI:**
504
+
505
+ | Platform | CLI Command | Example |
506
+ |----------|-------------|---------|
507
+ | Convex | `npx convex env set` | `npx convex env set OPENAI_API_KEY sk-...` |
508
+ | Vercel | `vercel env add` | `vercel env add STRIPE_KEY production` |
509
+ | Railway | `railway variables set` | `railway variables set API_KEY=value` |
510
+ | Fly | `fly secrets set` | `fly secrets set DATABASE_URL=...` |
511
+ | Supabase | `supabase secrets set` | `supabase secrets set MY_SECRET=value` |
512
+
513
+ **Pattern for secret collection:**
514
+ ```xml
515
+ <!-- WRONG: Asking user to add env vars in dashboard -->
516
+ <task type="checkpoint:human-action">
517
+ <action>Add OPENAI_API_KEY to Convex dashboard</action>
518
+ <instructions>Go to dashboard.convex.dev → Settings → Environment Variables → Add</instructions>
519
+ </task>
520
+
521
+ <!-- RIGHT: Claude asks for value, then adds via CLI -->
522
+ <task type="checkpoint:human-action">
523
+ <action>Provide your OpenAI API key</action>
524
+ <instructions>
525
+ I need your OpenAI API key to configure the Convex backend.
526
+ Get it from: https://platform.openai.com/api-keys
527
+ Paste the key (starts with sk-)
528
+ </instructions>
529
+ <verification>I'll add it via `npx convex env set` and verify it's configured</verification>
530
+ <resume-signal>Paste your API key</resume-signal>
531
+ </task>
532
+
533
+ <task type="auto">
534
+ <name>Configure OpenAI key in Convex</name>
535
+ <action>Run `npx convex env set OPENAI_API_KEY {user-provided-key}`</action>
536
+ <verify>`npx convex env get OPENAI_API_KEY` returns the key (masked)</verify>
537
+ </task>
538
+ ```
539
+
540
+ ## Dev Server Automation
541
+
542
+ **Claude starts servers, user visits URLs:**
543
+
544
+ | Framework | Start Command | Ready Signal | Default URL |
545
+ |-----------|---------------|--------------|-------------|
546
+ | Next.js | `npm run dev` | "Ready in" or "started server" | http://localhost:3000 |
547
+ | Vite | `npm run dev` | "ready in" | http://localhost:5173 |
548
+ | Convex | `npx convex dev` | "Convex functions ready" | N/A (backend only) |
549
+ | Express | `npm start` | "listening on port" | http://localhost:3000 |
550
+ | Django | `python manage.py runserver` | "Starting development server" | http://localhost:8000 |
551
+
552
+ ### Server Lifecycle Protocol
553
+
554
+ **Starting servers:**
555
+ ```bash
556
+ # Run in background, capture PID for cleanup
557
+ npm run dev &
558
+ DEV_SERVER_PID=$!
559
+
560
+ # Wait for ready signal (max 30s)
561
+ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; done'
562
+ ```
563
+
564
+ **Port conflicts:**
565
+ If default port is in use, check what's running and either:
566
+ 1. Kill the existing process if it's stale: `lsof -ti:3000 | xargs kill`
567
+ 2. Use alternate port: `npm run dev -- --port 3001`
568
+
569
+ **Server stays running** for the duration of the checkpoint. After user approves, server continues running for subsequent tasks. Only kill explicitly if:
570
+ - Plan is complete and no more verification needed
571
+ - Switching to production deployment
572
+ - Port needed for different service
573
+
574
+ **Pattern:**
575
+ ```xml
576
+ <!-- Claude starts server before checkpoint -->
577
+ <task type="auto">
578
+ <name>Start dev server</name>
579
+ <action>Run `npm run dev` in background, wait for ready signal</action>
580
+ <verify>curl http://localhost:3000 returns 200</verify>
581
+ <done>Dev server running</done>
582
+ </task>
583
+
584
+ <!-- User only visits URL -->
585
+ <task type="checkpoint:human-verify">
586
+ <what-built>Feature X - dev server running at http://localhost:3000</what-built>
587
+ <how-to-verify>
588
+ Visit http://localhost:3000/feature and verify:
589
+ 1. [Visual check 1]
590
+ 2. [Visual check 2]
591
+ </how-to-verify>
592
+ </task>
593
+ ```
594
+
595
+ ## CLI Installation Handling
596
+
597
+ **When a required CLI is not installed:**
598
+
599
+ | CLI | Auto-install? | Command |
600
+ |-----|---------------|---------|
601
+ | npm/pnpm/yarn | No - ask user | User chooses package manager |
602
+ | vercel | Yes | `npm i -g vercel` |
603
+ | gh (GitHub) | Yes | `brew install gh` (macOS) or `apt install gh` (Linux) |
604
+ | stripe | Yes | `npm i -g stripe` |
605
+ | supabase | Yes | `npm i -g supabase` |
606
+ | convex | No - use npx | `npx convex` (no install needed) |
607
+ | fly | Yes | `brew install flyctl` or curl installer |
608
+ | railway | Yes | `npm i -g @railway/cli` |
609
+
610
+ **Protocol:**
611
+ 1. Try the command
612
+ 2. If "command not found", check if auto-installable
613
+ 3. If yes: install silently, retry command
614
+ 4. If no: create checkpoint asking user to install
615
+
616
+ ```xml
617
+ <!-- Example: vercel not found -->
618
+ <task type="auto">
619
+ <name>Install Vercel CLI</name>
620
+ <action>Run `npm i -g vercel`</action>
621
+ <verify>`vercel --version` succeeds</verify>
622
+ <done>Vercel CLI installed</done>
623
+ </task>
624
+ ```
625
+
626
+ ## Pre-Checkpoint Automation Failures
627
+
628
+ **When setup fails before checkpoint:**
629
+
630
+ | Failure | Response |
631
+ |---------|----------|
632
+ | Server won't start | Check error output, fix issue, retry (don't proceed to checkpoint) |
633
+ | Port in use | Kill stale process or use alternate port |
634
+ | Missing dependency | Run `npm install`, retry |
635
+ | Build error | Fix the error first (this is a bug, not a checkpoint issue) |
636
+ | Auth error | Create auth gate checkpoint |
637
+ | Network timeout | Retry with backoff, then checkpoint if persistent |
638
+
639
+ **Key principle:** Never present a checkpoint with broken verification environment. If `curl localhost:3000` fails, don't ask user to "visit localhost:3000".
640
+
641
+ ```xml
642
+ <!-- WRONG: Checkpoint with broken environment -->
643
+ <task type="checkpoint:human-verify">
644
+ <what-built>Dashboard (server failed to start)</what-built>
645
+ <how-to-verify>Visit http://localhost:3000...</how-to-verify>
646
+ </task>
647
+
648
+ <!-- RIGHT: Fix first, then checkpoint -->
649
+ <task type="auto">
650
+ <name>Fix server startup issue</name>
651
+ <action>Investigate error, fix root cause, restart server</action>
652
+ <verify>curl http://localhost:3000 returns 200</verify>
653
+ <done>Server running correctly</done>
654
+ </task>
655
+
656
+ <task type="checkpoint:human-verify">
657
+ <what-built>Dashboard - server running at http://localhost:3000</what-built>
658
+ <how-to-verify>Visit http://localhost:3000/dashboard...</how-to-verify>
659
+ </task>
660
+ ```
661
+
662
+ ## Quick Reference
486
663
 
487
664
  | Action | Automatable? | Claude does it? |
488
665
  |--------|--------------|-----------------|
@@ -491,9 +668,15 @@ Task 3 complete. Continuing to task 4...
491
668
  | Write .env file | Yes (Write tool) | YES |
492
669
  | Create Upstash DB | Yes (`upstash`) | YES |
493
670
  | Run tests | Yes (`npm test`) | YES |
671
+ | Start dev server | Yes (`npm run dev`) | YES |
672
+ | Add env vars to Convex | Yes (`npx convex env set`) | YES |
673
+ | Add env vars to Vercel | Yes (`vercel env add`) | YES |
674
+ | Seed database | Yes (CLI/API) | YES |
494
675
  | Click email verification link | No | NO |
495
676
  | Enter credit card with 3DS | No | NO |
496
677
  | Complete OAuth in browser | No | NO |
678
+ | Visually verify UI looks correct | No | NO |
679
+ | Test interactive user flows | No | NO |
497
680
 
498
681
  </automation_reference>
499
682
 
@@ -643,17 +826,23 @@ Task 3 complete. Continuing to task 4...
643
826
  <verify>npm run build succeeds</verify>
644
827
  </task>
645
828
 
646
- <!-- ONE checkpoint at end verifies the complete flow -->
829
+ <task type="auto">
830
+ <name>Start dev server for auth testing</name>
831
+ <action>Run `npm run dev` in background, wait for ready signal</action>
832
+ <verify>curl http://localhost:3000 returns 200</verify>
833
+ <done>Dev server running at http://localhost:3000</done>
834
+ </task>
835
+
836
+ <!-- ONE checkpoint at end verifies the complete flow - Claude already started server -->
647
837
  <task type="checkpoint:human-verify" gate="blocking">
648
- <what-built>Complete authentication flow (schema + API + UI)</what-built>
838
+ <what-built>Complete authentication flow - dev server running at http://localhost:3000</what-built>
649
839
  <how-to-verify>
650
- 1. Run: npm run dev
651
- 2. Visit: http://localhost:3000/login
652
- 3. Click "Sign in with GitHub"
653
- 4. Complete GitHub OAuth flow
654
- 5. Verify: Redirected to /dashboard, user name displayed
655
- 6. Refresh page: Session persists
656
- 7. Click logout: Session cleared
840
+ 1. Visit: http://localhost:3000/login
841
+ 2. Click "Sign in with GitHub"
842
+ 3. Complete GitHub OAuth flow
843
+ 4. Verify: Redirected to /dashboard, user name displayed
844
+ 5. Refresh page: Session persists
845
+ 6. Click logout: Session cleared
657
846
  </how-to-verify>
658
847
  <resume-signal>Type "approved" or describe issues</resume-signal>
659
848
  </task>
@@ -662,7 +851,77 @@ Task 3 complete. Continuing to task 4...
662
851
 
663
852
  <anti_patterns>
664
853
 
665
- ### ❌ BAD: Asking human to automate
854
+ ### ❌ BAD: Asking user to start dev server
855
+
856
+ ```xml
857
+ <task type="checkpoint:human-verify" gate="blocking">
858
+ <what-built>Dashboard component</what-built>
859
+ <how-to-verify>
860
+ 1. Run: npm run dev
861
+ 2. Visit: http://localhost:3000/dashboard
862
+ 3. Check layout is correct
863
+ </how-to-verify>
864
+ </task>
865
+ ```
866
+
867
+ **Why bad:** Claude can run `npm run dev`. User should only visit URLs, not execute commands.
868
+
869
+ ### ✅ GOOD: Claude starts server, user visits
870
+
871
+ ```xml
872
+ <task type="auto">
873
+ <name>Start dev server</name>
874
+ <action>Run `npm run dev` in background</action>
875
+ <verify>curl localhost:3000 returns 200</verify>
876
+ </task>
877
+
878
+ <task type="checkpoint:human-verify" gate="blocking">
879
+ <what-built>Dashboard at http://localhost:3000/dashboard (server running)</what-built>
880
+ <how-to-verify>
881
+ Visit http://localhost:3000/dashboard and verify:
882
+ 1. Layout matches design
883
+ 2. No console errors
884
+ </how-to-verify>
885
+ </task>
886
+ ```
887
+
888
+ ### ❌ BAD: Asking user to add env vars in dashboard
889
+
890
+ ```xml
891
+ <task type="checkpoint:human-action" gate="blocking">
892
+ <action>Add environment variables to Convex</action>
893
+ <instructions>
894
+ 1. Go to dashboard.convex.dev
895
+ 2. Select your project
896
+ 3. Navigate to Settings → Environment Variables
897
+ 4. Add OPENAI_API_KEY with your key
898
+ </instructions>
899
+ </task>
900
+ ```
901
+
902
+ **Why bad:** Convex has `npx convex env set`. Claude should ask for the key value, then run the CLI command.
903
+
904
+ ### ✅ GOOD: Claude collects secret, adds via CLI
905
+
906
+ ```xml
907
+ <task type="checkpoint:human-action" gate="blocking">
908
+ <action>Provide your OpenAI API key</action>
909
+ <instructions>
910
+ I need your OpenAI API key. Get it from: https://platform.openai.com/api-keys
911
+ Paste the key below (starts with sk-)
912
+ </instructions>
913
+ <verification>I'll configure it via CLI</verification>
914
+ <resume-signal>Paste your key</resume-signal>
915
+ </task>
916
+
917
+ <task type="auto">
918
+ <name>Add OpenAI key to Convex</name>
919
+ <action>Run `npx convex env set OPENAI_API_KEY {key}`</action>
920
+ <verify>`npx convex env get` shows OPENAI_API_KEY configured</verify>
921
+ </task>
922
+ ```
923
+
924
+ ### ❌ BAD: Asking human to deploy
666
925
 
667
926
  ```xml
668
927
  <task type="checkpoint:human-action" gate="blocking">
@@ -750,23 +1009,54 @@ Task 3 complete. Continuing to task 4...
750
1009
 
751
1010
  **Why bad:** No specifics. User doesn't know what to test or what "works" means.
752
1011
 
753
- ### ✅ GOOD: Specific verification steps
1012
+ ### ✅ GOOD: Specific verification steps (server already running)
754
1013
 
755
1014
  ```xml
756
1015
  <task type="checkpoint:human-verify">
757
- <what-built>Responsive dashboard at /dashboard</what-built>
1016
+ <what-built>Responsive dashboard - server running at http://localhost:3000</what-built>
758
1017
  <how-to-verify>
759
- 1. Run: npm run dev
760
- 2. Visit: http://localhost:3000/dashboard
761
- 3. Desktop (>1024px): Sidebar visible, content area fills remaining space
762
- 4. Tablet (768px): Sidebar collapses to icons
763
- 5. Mobile (375px): Sidebar hidden, hamburger menu in header
764
- 6. Check: No horizontal scroll at any size
1018
+ Visit http://localhost:3000/dashboard and verify:
1019
+ 1. Desktop (>1024px): Sidebar visible, content area fills remaining space
1020
+ 2. Tablet (768px): Sidebar collapses to icons
1021
+ 3. Mobile (375px): Sidebar hidden, hamburger menu in header
1022
+ 4. No horizontal scroll at any size
765
1023
  </how-to-verify>
766
1024
  <resume-signal>Type "approved" or describe layout issues</resume-signal>
767
1025
  </task>
768
1026
  ```
769
1027
 
1028
+ ### ❌ BAD: Asking user to run any CLI command
1029
+
1030
+ ```xml
1031
+ <task type="checkpoint:human-action">
1032
+ <action>Run database migrations</action>
1033
+ <instructions>
1034
+ 1. Run: npx prisma migrate deploy
1035
+ 2. Run: npx prisma db seed
1036
+ 3. Verify tables exist
1037
+ </instructions>
1038
+ </task>
1039
+ ```
1040
+
1041
+ **Why bad:** Claude can run these commands. User should never execute CLI commands.
1042
+
1043
+ ### ❌ BAD: Asking user to copy values between services
1044
+
1045
+ ```xml
1046
+ <task type="checkpoint:human-action">
1047
+ <action>Configure webhook URL in Stripe</action>
1048
+ <instructions>
1049
+ 1. Copy the deployment URL from terminal
1050
+ 2. Go to Stripe Dashboard → Webhooks
1051
+ 3. Add endpoint with URL + /api/webhooks
1052
+ 4. Copy webhook signing secret
1053
+ 5. Add to .env file
1054
+ </instructions>
1055
+ </task>
1056
+ ```
1057
+
1058
+ **Why bad:** Stripe has an API. Claude should create the webhook via API and write to .env directly.
1059
+
770
1060
  </anti_patterns>
771
1061
 
772
1062
  <summary>
@@ -593,3 +593,20 @@ Some things can't be verified programmatically. Flag these for human testing:
593
593
  ```
594
594
 
595
595
  </human_verification_triggers>
596
+
597
+ <checkpoint_automation_reference>
598
+
599
+ ## Pre-Checkpoint Automation
600
+
601
+ For automation-first checkpoint patterns, server lifecycle management, CLI installation handling, and error recovery protocols, see:
602
+
603
+ **@~/.claude/get-shit-done/references/checkpoints.md** → `<automation_reference>` section
604
+
605
+ Key principles:
606
+ - Claude sets up verification environment BEFORE presenting checkpoints
607
+ - Users never run CLI commands (visit URLs only)
608
+ - Server lifecycle: start before checkpoint, handle port conflicts, keep running for duration
609
+ - CLI installation: auto-install where safe, checkpoint for user choice otherwise
610
+ - Error handling: fix broken environment before checkpoint, never present checkpoint with failed setup
611
+
612
+ </checkpoint_automation_reference>
@@ -75,33 +75,23 @@ Output: [What artifacts will be created]
75
75
  <done>[Acceptance criteria]</done>
76
76
  </task>
77
77
 
78
+ <!-- For checkpoint task examples and patterns, see @~/.claude/get-shit-done/references/checkpoints.md -->
79
+ <!-- Key rule: Claude starts dev server BEFORE human-verify checkpoints. User only visits URLs. -->
80
+
78
81
  <task type="checkpoint:decision" gate="blocking">
79
82
  <decision>[What needs deciding]</decision>
80
83
  <context>[Why this decision matters]</context>
81
84
  <options>
82
- <option id="option-a">
83
- <name>[Option name]</name>
84
- <pros>[Benefits and advantages]</pros>
85
- <cons>[Tradeoffs and limitations]</cons>
86
- </option>
87
- <option id="option-b">
88
- <name>[Option name]</name>
89
- <pros>[Benefits and advantages]</pros>
90
- <cons>[Tradeoffs and limitations]</cons>
91
- </option>
85
+ <option id="option-a"><name>[Name]</name><pros>[Benefits]</pros><cons>[Tradeoffs]</cons></option>
86
+ <option id="option-b"><name>[Name]</name><pros>[Benefits]</pros><cons>[Tradeoffs]</cons></option>
92
87
  </options>
93
- <resume-signal>[How to indicate choice - "Select: option-a or option-b"]</resume-signal>
88
+ <resume-signal>Select: option-a or option-b</resume-signal>
94
89
  </task>
95
90
 
96
91
  <task type="checkpoint:human-verify" gate="blocking">
97
- <what-built>[What Claude just built that needs verification]</what-built>
98
- <how-to-verify>
99
- 1. Run: [command to start dev server/app]
100
- 2. Visit: [URL to check]
101
- 3. Test: [Specific interactions]
102
- 4. Confirm: [Expected behaviors]
103
- </how-to-verify>
104
- <resume-signal>Type "approved" to continue, or describe issues to fix</resume-signal>
92
+ <what-built>[What Claude built] - server running at [URL]</what-built>
93
+ <how-to-verify>Visit [URL] and verify: [visual checks only, NO CLI commands]</how-to-verify>
94
+ <resume-signal>Type "approved" or describe issues</resume-signal>
105
95
  </task>
106
96
 
107
97
  </tasks>
@@ -403,15 +393,16 @@ Output: Working dashboard component.
403
393
  <done>Dashboard renders without errors</done>
404
394
  </task>
405
395
 
396
+ <!-- Checkpoint pattern: Claude starts server, user visits URL. See checkpoints.md for full patterns. -->
397
+ <task type="auto">
398
+ <name>Start dev server</name>
399
+ <action>Run `npm run dev` in background, wait for ready</action>
400
+ <verify>curl localhost:3000 returns 200</verify>
401
+ </task>
402
+
406
403
  <task type="checkpoint:human-verify" gate="blocking">
407
- <what-built>Responsive dashboard with user and product sections</what-built>
408
- <how-to-verify>
409
- 1. Run: npm run dev
410
- 2. Visit: http://localhost:3000/dashboard
411
- 3. Desktop: Verify two-column grid
412
- 4. Mobile: Verify stacked layout
413
- 5. Check: No layout shift, no scroll issues
414
- </how-to-verify>
404
+ <what-built>Dashboard - server at http://localhost:3000</what-built>
405
+ <how-to-verify>Visit localhost:3000/dashboard. Check: desktop grid, mobile stack, no scroll issues.</how-to-verify>
415
406
  <resume-signal>Type "approved" or describe issues</resume-signal>
416
407
  </task>
417
408
  </tasks>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-shit-done-cc",
3
- "version": "1.9.2",
3
+ "version": "1.9.4",
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"