gsd-opencode 1.5.2 → 1.6.1
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/agents/gsd-codebase-mapper.md +743 -0
- package/agents/gsd-debugger.md +1191 -0
- package/agents/gsd-executor.md +759 -0
- package/agents/gsd-integration-checker.md +427 -0
- package/agents/gsd-phase-researcher.md +637 -0
- package/agents/gsd-plan-checker.md +749 -0
- package/agents/gsd-planner.md +1373 -0
- package/agents/gsd-project-researcher.md +877 -0
- package/agents/gsd-research-synthesizer.md +250 -0
- package/agents/gsd-roadmapper.md +610 -0
- package/agents/gsd-verifier.md +782 -0
- package/bin/install.js +11 -1
- package/command/gsd/add-phase.md +5 -7
- package/command/gsd/add-todo.md +4 -6
- package/command/gsd/audit-milestone.md +257 -0
- package/command/gsd/check-todos.md +2 -4
- package/command/gsd/complete-milestone.md +53 -23
- package/command/gsd/debug.md +120 -30
- package/command/gsd/discuss-phase.md +51 -30
- package/command/gsd/execute-phase.md +192 -26
- package/command/gsd/help.md +66 -75
- package/command/gsd/insert-phase.md +6 -6
- package/command/gsd/list-phase-assumptions.md +1 -1
- package/command/gsd/map-codebase.md +15 -28
- package/command/gsd/new-milestone.md +693 -36
- package/command/gsd/new-project.md +668 -108
- package/command/gsd/pause-work.md +2 -2
- package/command/gsd/plan-milestone-gaps.md +284 -0
- package/command/gsd/plan-phase.md +449 -42
- package/command/gsd/progress.md +66 -36
- package/command/gsd/remove-phase.md +17 -19
- package/command/gsd/research-phase.md +155 -67
- package/command/gsd/resume-work.md +3 -3
- package/command/gsd/update.md +172 -0
- package/command/gsd/verify-work.md +186 -38
- package/command/gsd/whats-new.md +124 -0
- package/get-shit-done/references/checkpoints.md +599 -98
- package/get-shit-done/references/continuation-format.md +5 -11
- package/get-shit-done/references/questioning.md +87 -108
- package/get-shit-done/references/tdd.md +3 -3
- package/get-shit-done/references/ui-brand.md +160 -0
- package/get-shit-done/references/verification-patterns.md +595 -0
- package/get-shit-done/templates/DEBUG.md +3 -3
- package/get-shit-done/templates/UAT.md +247 -0
- package/get-shit-done/templates/codebase/architecture.md +5 -5
- package/get-shit-done/templates/codebase/concerns.md +1 -1
- package/get-shit-done/templates/codebase/conventions.md +1 -1
- package/get-shit-done/templates/codebase/structure.md +8 -8
- package/get-shit-done/templates/codebase/testing.md +2 -2
- package/get-shit-done/templates/context.md +221 -70
- package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
- package/get-shit-done/templates/discovery.md +5 -5
- package/get-shit-done/templates/phase-prompt.md +115 -2
- package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
- package/get-shit-done/templates/requirements.md +231 -0
- package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
- package/get-shit-done/templates/research-project/FEATURES.md +147 -0
- package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
- package/get-shit-done/templates/research-project/STACK.md +120 -0
- package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
- package/get-shit-done/templates/research.md +2 -2
- package/get-shit-done/templates/roadmap.md +26 -20
- package/get-shit-done/templates/state.md +2 -17
- package/get-shit-done/templates/summary.md +13 -17
- package/get-shit-done/templates/user-setup.md +323 -0
- package/get-shit-done/templates/verification-report.md +322 -0
- package/get-shit-done/workflows/complete-milestone.md +152 -45
- package/get-shit-done/workflows/diagnose-issues.md +233 -0
- package/get-shit-done/workflows/discovery-phase.md +12 -17
- package/get-shit-done/workflows/discuss-phase.md +309 -124
- package/get-shit-done/workflows/execute-phase.md +177 -18
- package/get-shit-done/workflows/execute-plan.md +163 -145
- package/get-shit-done/workflows/map-codebase.md +86 -231
- package/get-shit-done/workflows/resume-project.md +18 -20
- package/get-shit-done/workflows/transition.md +7 -23
- package/get-shit-done/workflows/verify-phase.md +629 -0
- package/get-shit-done/workflows/verify-work.md +495 -134
- package/package.json +2 -1
- package/command/gsd/consider-issues.md +0 -201
- package/command/gsd/create-roadmap.md +0 -115
- package/command/gsd/discuss-milestone.md +0 -47
- package/command/gsd/execute-plan.md +0 -103
- package/command/gsd/plan-fix.md +0 -205
- package/command/gsd/status.md +0 -127
- package/get-shit-done/references/debugging/debugging-mindset.md +0 -253
- package/get-shit-done/references/debugging/hypothesis-testing.md +0 -373
- package/get-shit-done/references/debugging/investigation-techniques.md +0 -337
- package/get-shit-done/references/debugging/verification-patterns.md +0 -425
- package/get-shit-done/references/debugging/when-to-research.md +0 -361
- package/get-shit-done/references/plan-format.md +0 -475
- package/get-shit-done/references/principles.md +0 -157
- package/get-shit-done/references/research-pitfalls.md +0 -215
- package/get-shit-done/references/scope-estimation.md +0 -256
- package/get-shit-done/templates/agent-history.md +0 -263
- package/get-shit-done/templates/checkpoint-return.md +0 -204
- package/get-shit-done/templates/config.json +0 -26
- package/get-shit-done/templates/continuation-prompt.md +0 -235
- package/get-shit-done/templates/issues.md +0 -32
- package/get-shit-done/templates/milestone-context.md +0 -93
- package/get-shit-done/templates/subagent-task-prompt.md +0 -95
- package/get-shit-done/templates/uat-issues.md +0 -143
- package/get-shit-done/workflows/_archive/execute-phase.md +0 -899
- package/get-shit-done/workflows/create-milestone.md +0 -416
- package/get-shit-done/workflows/create-roadmap.md +0 -481
- package/get-shit-done/workflows/debug.md +0 -426
- package/get-shit-done/workflows/discuss-milestone.md +0 -236
- package/get-shit-done/workflows/plan-phase.md +0 -701
- package/get-shit-done/workflows/research-phase.md +0 -436
|
@@ -3,7 +3,7 @@ Execute a phase prompt (PLAN.md) and create the outcome summary (SUMMARY.md).
|
|
|
3
3
|
</purpose>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
6
|
-
|
|
6
|
+
read STATE.md before any operation to load project context.
|
|
7
7
|
</required_reading>
|
|
8
8
|
|
|
9
9
|
<process>
|
|
@@ -19,7 +19,6 @@ cat .planning/STATE.md 2>/dev/null
|
|
|
19
19
|
|
|
20
20
|
- Current position (phase, plan, status)
|
|
21
21
|
- Accumulated decisions (constraints on this execution)
|
|
22
|
-
- Deferred issues (context for deviations)
|
|
23
22
|
- Blockers/concerns (things to watch for)
|
|
24
23
|
- Brief alignment status
|
|
25
24
|
|
|
@@ -206,7 +205,7 @@ No segmentation benefit - execute entirely in main
|
|
|
206
205
|
```
|
|
207
206
|
1. Run init_agent_tracking step first (see step below)
|
|
208
207
|
|
|
209
|
-
2. Use Task tool with subagent_type="
|
|
208
|
+
2. Use Task tool with subagent_type="gsd-executor":
|
|
210
209
|
|
|
211
210
|
Prompt: "Execute plan at .planning/phases/{phase}-{plan}-PLAN.md
|
|
212
211
|
|
|
@@ -218,7 +217,7 @@ No segmentation benefit - execute entirely in main
|
|
|
218
217
|
|
|
219
218
|
3. After Task tool returns with agent_id:
|
|
220
219
|
|
|
221
|
-
a.
|
|
220
|
+
a. write agent_id to current-agent-id.txt:
|
|
222
221
|
echo "[agent_id]" > .planning/current-agent-id.txt
|
|
223
222
|
|
|
224
223
|
b. Append spawn entry to agent-history.json:
|
|
@@ -254,7 +253,7 @@ No segmentation benefit - execute entirely in main
|
|
|
254
253
|
Execute segment-by-segment:
|
|
255
254
|
|
|
256
255
|
For each autonomous segment:
|
|
257
|
-
Spawn subagent with prompt: "Execute tasks [X-Y] from plan at .planning/phases/{phase}-{plan}-PLAN.md.
|
|
256
|
+
Spawn subagent with prompt: "Execute tasks [X-Y] from plan at .planning/phases/{phase}-{plan}-PLAN.md. read the plan for full context and deviation rules. Do NOT create SUMMARY or commit - just execute these tasks and report results."
|
|
258
257
|
|
|
259
258
|
Wait for subagent completion
|
|
260
259
|
|
|
@@ -339,7 +338,7 @@ For Pattern A (fully autonomous) and Pattern C (decision-dependent), skip this s
|
|
|
339
338
|
|
|
340
339
|
````
|
|
341
340
|
1. Parse plan to identify segments:
|
|
342
|
-
-
|
|
341
|
+
- read plan file
|
|
343
342
|
- Find checkpoint locations: grep -n "type=\"checkpoint" PLAN.md
|
|
344
343
|
- Identify checkpoint types: grep "type=\"checkpoint" PLAN.md | grep -o 'checkpoint:[^"]*'
|
|
345
344
|
- Build segment map:
|
|
@@ -358,12 +357,12 @@ For Pattern A (fully autonomous) and Pattern C (decision-dependent), skip this s
|
|
|
358
357
|
|
|
359
358
|
B. If routing = Subagent:
|
|
360
359
|
```
|
|
361
|
-
Spawn Task tool with subagent_type="
|
|
360
|
+
Spawn Task tool with subagent_type="gsd-executor":
|
|
362
361
|
|
|
363
362
|
Prompt: "Execute tasks [task numbers/names] from plan at [plan path].
|
|
364
363
|
|
|
365
364
|
**Context:**
|
|
366
|
-
-
|
|
365
|
+
- read the full plan for objective, context files, and deviation rules
|
|
367
366
|
- You are executing a SEGMENT of this plan (not the full plan)
|
|
368
367
|
- Other segments will be executed separately
|
|
369
368
|
|
|
@@ -382,7 +381,7 @@ For Pattern A (fully autonomous) and Pattern C (decision-dependent), skip this s
|
|
|
382
381
|
|
|
383
382
|
**After Task tool returns with agent_id:**
|
|
384
383
|
|
|
385
|
-
1.
|
|
384
|
+
1. write agent_id to current-agent-id.txt:
|
|
386
385
|
echo "[agent_id]" > .planning/current-agent-id.txt
|
|
387
386
|
|
|
388
387
|
2. Append spawn entry to agent-history.json:
|
|
@@ -467,12 +466,21 @@ Execution:
|
|
|
467
466
|
[1] Spawning subagent for tasks 1-3...
|
|
468
467
|
→ Subagent completes: 3 files modified, 0 deviations
|
|
469
468
|
[2] Executing checkpoint 4 (human-verify)...
|
|
470
|
-
|
|
471
|
-
CHECKPOINT: Verification Required
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
469
|
+
╔═══════════════════════════════════════════════════════╗
|
|
470
|
+
║ CHECKPOINT: Verification Required ║
|
|
471
|
+
╚═══════════════════════════════════════════════════════╝
|
|
472
|
+
|
|
473
|
+
Progress: 3/8 tasks complete
|
|
474
|
+
Task: Verify database schema
|
|
475
|
+
|
|
476
|
+
Built: User and Session tables with relations
|
|
477
|
+
|
|
478
|
+
How to verify:
|
|
479
|
+
1. Check src/db/schema.ts for correct types
|
|
480
|
+
|
|
481
|
+
────────────────────────────────────────────────────────
|
|
482
|
+
→ YOUR ACTION: Type "approved" or describe issues
|
|
483
|
+
────────────────────────────────────────────────────────
|
|
476
484
|
User: "approved"
|
|
477
485
|
[3] Spawning subagent for tasks 5-6...
|
|
478
486
|
→ Subagent completes: 2 files modified, 1 deviation (added error handling)
|
|
@@ -508,7 +516,7 @@ Committing...
|
|
|
508
516
|
</step>
|
|
509
517
|
|
|
510
518
|
<step name="load_prompt">
|
|
511
|
-
|
|
519
|
+
read the plan prompt:
|
|
512
520
|
```bash
|
|
513
521
|
cat .planning/phases/XX-name/{phase}-{plan}-PLAN.md
|
|
514
522
|
````
|
|
@@ -542,7 +550,7 @@ Use question:
|
|
|
542
550
|
<step name="execute">
|
|
543
551
|
Execute each task in the prompt. **Deviations are normal** - handle them automatically using embedded rules below.
|
|
544
552
|
|
|
545
|
-
1.
|
|
553
|
+
1. read the @context files listed in the prompt
|
|
546
554
|
|
|
547
555
|
2. For each task:
|
|
548
556
|
|
|
@@ -610,23 +618,25 @@ Error: Not authenticated. Please run 'vercel login'
|
|
|
610
618
|
|
|
611
619
|
[Create checkpoint dynamically]
|
|
612
620
|
|
|
613
|
-
|
|
614
|
-
CHECKPOINT:
|
|
615
|
-
|
|
621
|
+
╔═══════════════════════════════════════════════════════╗
|
|
622
|
+
║ CHECKPOINT: Action Required ║
|
|
623
|
+
╚═══════════════════════════════════════════════════════╝
|
|
616
624
|
|
|
617
|
-
|
|
625
|
+
Progress: 2/8 tasks complete
|
|
626
|
+
Task: Authenticate Vercel CLI
|
|
618
627
|
|
|
619
|
-
|
|
628
|
+
Attempted: vercel --yes
|
|
629
|
+
Error: Not authenticated
|
|
620
630
|
|
|
621
631
|
What you need to do:
|
|
622
|
-
Run: vercel login
|
|
632
|
+
1. Run: vercel login
|
|
633
|
+
2. Complete browser authentication
|
|
623
634
|
|
|
624
|
-
|
|
635
|
+
I'll verify: vercel whoami returns your account
|
|
625
636
|
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
════════════════════════════════════════
|
|
637
|
+
────────────────────────────────────────────────────────
|
|
638
|
+
→ YOUR ACTION: Type "done" when authenticated
|
|
639
|
+
────────────────────────────────────────────────────────
|
|
630
640
|
|
|
631
641
|
[Wait for user response]
|
|
632
642
|
|
|
@@ -804,60 +814,28 @@ Proceed with proposed change? (yes / different approach / defer)
|
|
|
804
814
|
3. WAIT for user response
|
|
805
815
|
4. If approved: implement, track as `[Rule 4 - Architectural] [description]`
|
|
806
816
|
5. If different approach: discuss and implement
|
|
807
|
-
6. If deferred:
|
|
817
|
+
6. If deferred: note in Summary and continue without change
|
|
808
818
|
|
|
809
819
|
**User decision required.** These changes affect system design.
|
|
810
820
|
|
|
811
821
|
---
|
|
812
822
|
|
|
813
|
-
**RULE 5: Log non-critical enhancements**
|
|
814
|
-
|
|
815
|
-
**Trigger:** Improvement that would enhance code but isn't essential now
|
|
816
|
-
|
|
817
|
-
**Action:** Add to .planning/ISSUES.md automatically, continue task
|
|
818
|
-
|
|
819
|
-
**Examples:**
|
|
820
|
-
|
|
821
|
-
- Performance optimization (works correctly, just slower than ideal)
|
|
822
|
-
- Code refactoring (works, but could be cleaner/DRY-er)
|
|
823
|
-
- Better naming (works, but variables could be clearer)
|
|
824
|
-
- Organizational improvements (works, but file structure could be better)
|
|
825
|
-
- Nice-to-have UX improvements (works, but could be smoother)
|
|
826
|
-
- Additional test coverage beyond basics (basics exist, could be more thorough)
|
|
827
|
-
- Documentation improvements (code works, docs could be better)
|
|
828
|
-
- Accessibility enhancements beyond minimum
|
|
829
|
-
|
|
830
|
-
**Process:**
|
|
831
|
-
|
|
832
|
-
1. Create .planning/ISSUES.md if doesn't exist (use `~/.config/opencode/get-shit-done/templates/issues.md`)
|
|
833
|
-
2. Add entry with ISS-XXX number (auto-increment)
|
|
834
|
-
3. Brief notification: `📋 Logged enhancement: [brief] (ISS-XXX)`
|
|
835
|
-
4. Continue task without implementing
|
|
836
|
-
|
|
837
|
-
**No user permission needed.** Logging for future consideration.
|
|
838
|
-
|
|
839
|
-
---
|
|
840
|
-
|
|
841
823
|
**RULE PRIORITY (when multiple could apply):**
|
|
842
824
|
|
|
843
825
|
1. **If Rule 4 applies** → STOP and ask (architectural decision)
|
|
844
826
|
2. **If Rules 1-3 apply** → Fix automatically, track for Summary
|
|
845
|
-
3. **If
|
|
846
|
-
4. **If genuinely unsure which rule** → Apply Rule 4 (ask user)
|
|
827
|
+
3. **If genuinely unsure which rule** → Apply Rule 4 (ask user)
|
|
847
828
|
|
|
848
829
|
**Edge case guidance:**
|
|
849
830
|
|
|
850
831
|
- "This validation is missing" → Rule 2 (critical for security)
|
|
851
|
-
- "This validation could be better" → Rule 5 (enhancement)
|
|
852
832
|
- "This crashes on null" → Rule 1 (bug)
|
|
853
|
-
- "This could be faster" → Rule 5 (enhancement) UNLESS actually timing out → Rule 2 (critical)
|
|
854
833
|
- "Need to add table" → Rule 4 (architectural)
|
|
855
834
|
- "Need to add column" → Rule 1 or 2 (depends: fixing bug or adding critical field)
|
|
856
835
|
|
|
857
836
|
**When in doubt:** Ask yourself "Does this affect correctness, security, or ability to complete task?"
|
|
858
837
|
|
|
859
838
|
- YES → Rules 1-3 (fix automatically)
|
|
860
|
-
- NO → Rule 5 (log it)
|
|
861
839
|
- MAYBE → Rule 4 (ask user)
|
|
862
840
|
|
|
863
841
|
</deviation_rules>
|
|
@@ -901,16 +879,9 @@ None - plan executed exactly as written.
|
|
|
901
879
|
- **Verification:** Expired token test passes - properly rejects with 401
|
|
902
880
|
- **Commit:** def456g
|
|
903
881
|
|
|
904
|
-
### Deferred Enhancements
|
|
905
|
-
|
|
906
|
-
Logged to .planning/ISSUES.md for future consideration:
|
|
907
|
-
|
|
908
|
-
- ISS-001: Refactor UserService into smaller modules (discovered in Task 3)
|
|
909
|
-
- ISS-002: Add connection pooling for Redis (discovered in Task 6)
|
|
910
|
-
|
|
911
882
|
---
|
|
912
883
|
|
|
913
|
-
**Total deviations:** 4 auto-fixed (1 bug, 1 missing critical, 1 blocking, 1 architectural with approval)
|
|
884
|
+
**Total deviations:** 4 auto-fixed (1 bug, 1 missing critical, 1 blocking, 1 architectural with approval)
|
|
914
885
|
**Impact on plan:** All auto-fixes necessary for correctness/security/performance. No scope creep.
|
|
915
886
|
```
|
|
916
887
|
|
|
@@ -937,16 +908,16 @@ If no test framework configured:
|
|
|
937
908
|
- Verify: run empty test suite
|
|
938
909
|
- This is part of the RED phase, not a separate task
|
|
939
910
|
|
|
940
|
-
**2. RED -
|
|
941
|
-
-
|
|
911
|
+
**2. RED - write failing test:**
|
|
912
|
+
- read `<behavior>` element for test specification
|
|
942
913
|
- Create test file if doesn't exist (follow project conventions)
|
|
943
|
-
-
|
|
914
|
+
- write test(s) that describe expected behavior
|
|
944
915
|
- Run tests - MUST fail (if passes, test is wrong or feature exists)
|
|
945
916
|
- Commit: `test({phase}-{plan}): add failing test for [feature]`
|
|
946
917
|
|
|
947
918
|
**3. GREEN - Implement to pass:**
|
|
948
|
-
-
|
|
949
|
-
-
|
|
919
|
+
- read `<implementation>` element for guidance
|
|
920
|
+
- write minimal code to make test pass
|
|
950
921
|
- Run tests - MUST pass
|
|
951
922
|
- Commit: `feat({phase}-{plan}): implement [feature]`
|
|
952
923
|
|
|
@@ -1082,29 +1053,33 @@ When encountering `type="checkpoint:*"`:
|
|
|
1082
1053
|
**Display checkpoint clearly:**
|
|
1083
1054
|
|
|
1084
1055
|
```
|
|
1085
|
-
|
|
1086
|
-
CHECKPOINT: [Type]
|
|
1087
|
-
|
|
1056
|
+
╔═══════════════════════════════════════════════════════╗
|
|
1057
|
+
║ CHECKPOINT: [Type] ║
|
|
1058
|
+
╚═══════════════════════════════════════════════════════╝
|
|
1088
1059
|
|
|
1089
|
-
|
|
1060
|
+
Progress: {X}/{Y} tasks complete
|
|
1061
|
+
Task: [task name]
|
|
1090
1062
|
|
|
1091
1063
|
[Display task-specific content based on type]
|
|
1092
1064
|
|
|
1093
|
-
|
|
1094
|
-
|
|
1065
|
+
────────────────────────────────────────────────────────
|
|
1066
|
+
→ YOUR ACTION: [Resume signal instruction]
|
|
1067
|
+
────────────────────────────────────────────────────────
|
|
1095
1068
|
```
|
|
1096
1069
|
|
|
1097
1070
|
**For checkpoint:human-verify (90% of checkpoints):**
|
|
1098
1071
|
|
|
1099
1072
|
```
|
|
1100
|
-
|
|
1073
|
+
Built: [what was automated - deployed, built, configured]
|
|
1101
1074
|
|
|
1102
1075
|
How to verify:
|
|
1103
|
-
1. [Step 1 - exact command/URL]
|
|
1104
|
-
2. [Step 2 - what to check]
|
|
1105
|
-
3. [Step 3 - expected behavior]
|
|
1076
|
+
1. [Step 1 - exact command/URL]
|
|
1077
|
+
2. [Step 2 - what to check]
|
|
1078
|
+
3. [Step 3 - expected behavior]
|
|
1106
1079
|
|
|
1107
|
-
|
|
1080
|
+
────────────────────────────────────────────────────────
|
|
1081
|
+
→ YOUR ACTION: Type "approved" or describe issues
|
|
1082
|
+
────────────────────────────────────────────────────────
|
|
1108
1083
|
```
|
|
1109
1084
|
|
|
1110
1085
|
**For checkpoint:decision (9% of checkpoints):**
|
|
@@ -1159,9 +1134,6 @@ If you were spawned via Task tool and hit a checkpoint, you cannot directly inte
|
|
|
1159
1134
|
|
|
1160
1135
|
**Return format for checkpoints:**
|
|
1161
1136
|
|
|
1162
|
-
Use the structured format from:
|
|
1163
|
-
@~/.config/opencode/get-shit-done/templates/checkpoint-return.md
|
|
1164
|
-
|
|
1165
1137
|
**Required in your return:**
|
|
1166
1138
|
|
|
1167
1139
|
1. **Completed Tasks table** - Tasks done so far with commit hashes and files created
|
|
@@ -1224,7 +1196,7 @@ You will NOT be resumed. A new agent continues from where you stopped, using you
|
|
|
1224
1196
|
|
|
1225
1197
|
**How to know if you were spawned:**
|
|
1226
1198
|
|
|
1227
|
-
If you're reading this workflow because an orchestrator spawned you (vs running directly
|
|
1199
|
+
If you're reading this workflow because an orchestrator spawned you (vs running directly), the orchestrator's prompt will include checkpoint return instructions. Follow those instructions when you hit a checkpoint.
|
|
1228
1200
|
|
|
1229
1201
|
**If running in main context (not spawned):**
|
|
1230
1202
|
|
|
@@ -1275,6 +1247,76 @@ fi
|
|
|
1275
1247
|
Pass timing data to SUMMARY.md creation.
|
|
1276
1248
|
</step>
|
|
1277
1249
|
|
|
1250
|
+
<step name="generate_user_setup">
|
|
1251
|
+
**Generate USER-SETUP.md if plan has user_setup in frontmatter.**
|
|
1252
|
+
|
|
1253
|
+
Check PLAN.md frontmatter for `user_setup` field:
|
|
1254
|
+
|
|
1255
|
+
```bash
|
|
1256
|
+
grep -A 50 "^user_setup:" .planning/phases/XX-name/{phase}-{plan}-PLAN.md | head -50
|
|
1257
|
+
```
|
|
1258
|
+
|
|
1259
|
+
**If user_setup exists and is not empty:**
|
|
1260
|
+
|
|
1261
|
+
Create `.planning/phases/XX-name/{phase}-USER-SETUP.md` using template from `~/.config/opencode/get-shit-done/templates/user-setup.md`.
|
|
1262
|
+
|
|
1263
|
+
**Content generation:**
|
|
1264
|
+
|
|
1265
|
+
1. Parse each service in `user_setup` array
|
|
1266
|
+
2. For each service, generate sections:
|
|
1267
|
+
- Environment Variables table (from `env_vars`)
|
|
1268
|
+
- Account Setup checklist (from `account_setup`, if present)
|
|
1269
|
+
- Dashboard Configuration steps (from `dashboard_config`, if present)
|
|
1270
|
+
- Local Development notes (from `local_dev`, if present)
|
|
1271
|
+
3. Add verification section with commands to confirm setup works
|
|
1272
|
+
4. Set status to "Incomplete"
|
|
1273
|
+
|
|
1274
|
+
**Example output:**
|
|
1275
|
+
|
|
1276
|
+
```markdown
|
|
1277
|
+
# Phase 10: User Setup Required
|
|
1278
|
+
|
|
1279
|
+
**Generated:** 2025-01-14
|
|
1280
|
+
**Phase:** 10-monetization
|
|
1281
|
+
**Status:** Incomplete
|
|
1282
|
+
|
|
1283
|
+
## Environment Variables
|
|
1284
|
+
|
|
1285
|
+
| Status | Variable | Source | Add to |
|
|
1286
|
+
|--------|----------|--------|--------|
|
|
1287
|
+
| [ ] | `STRIPE_SECRET_KEY` | Stripe Dashboard → Developers → API keys → Secret key | `.env.local` |
|
|
1288
|
+
| [ ] | `STRIPE_WEBHOOK_SECRET` | Stripe Dashboard → Developers → Webhooks → Signing secret | `.env.local` |
|
|
1289
|
+
|
|
1290
|
+
## Dashboard Configuration
|
|
1291
|
+
|
|
1292
|
+
- [ ] **Create webhook endpoint**
|
|
1293
|
+
- Location: Stripe Dashboard → Developers → Webhooks → Add endpoint
|
|
1294
|
+
- Details: URL: https://[your-domain]/api/webhooks/stripe, Events: checkout.session.completed
|
|
1295
|
+
|
|
1296
|
+
## Local Development
|
|
1297
|
+
|
|
1298
|
+
For local testing:
|
|
1299
|
+
\`\`\`bash
|
|
1300
|
+
stripe listen --forward-to localhost:3000/api/webhooks/stripe
|
|
1301
|
+
\`\`\`
|
|
1302
|
+
|
|
1303
|
+
## Verification
|
|
1304
|
+
|
|
1305
|
+
[Verification commands based on service]
|
|
1306
|
+
|
|
1307
|
+
---
|
|
1308
|
+
**Once all items complete:** Mark status as "Complete"
|
|
1309
|
+
```
|
|
1310
|
+
|
|
1311
|
+
**If user_setup is empty or missing:**
|
|
1312
|
+
|
|
1313
|
+
Skip this step - no USER-SETUP.md needed.
|
|
1314
|
+
|
|
1315
|
+
**Track for offer_next:**
|
|
1316
|
+
|
|
1317
|
+
Set `USER_SETUP_CREATED=true` if file was generated, for use in completion messaging.
|
|
1318
|
+
</step>
|
|
1319
|
+
|
|
1278
1320
|
<step name="create_summary">
|
|
1279
1321
|
Create `{phase}-{plan}-SUMMARY.md` as specified in the prompt's `<output>` section.
|
|
1280
1322
|
Use ~/.config/opencode/get-shit-done/templates/summary.md for structure.
|
|
@@ -1307,10 +1349,7 @@ Before writing summary content, populate frontmatter fields from execution conte
|
|
|
1307
1349
|
5. **Decisions:**
|
|
1308
1350
|
- key-decisions: Extract from "Decisions Made" section
|
|
1309
1351
|
|
|
1310
|
-
6. **
|
|
1311
|
-
- issues-created: Check if ISSUES.md was updated during execution
|
|
1312
|
-
|
|
1313
|
-
7. **Metrics:**
|
|
1352
|
+
6. **Metrics:**
|
|
1314
1353
|
- duration: From $DURATION variable
|
|
1315
1354
|
- completed: From $PLAN_END_TIME (date only, format YYYY-MM-DD)
|
|
1316
1355
|
|
|
@@ -1400,20 +1439,14 @@ Extract decisions, issues, and concerns from SUMMARY.md into STATE.md accumulate
|
|
|
1400
1439
|
|
|
1401
1440
|
**Decisions Made:**
|
|
1402
1441
|
|
|
1403
|
-
-
|
|
1442
|
+
- read SUMMARY.md "## Decisions Made" section
|
|
1404
1443
|
- If content exists (not "None"):
|
|
1405
1444
|
- Add each decision to STATE.md Decisions table
|
|
1406
1445
|
- Format: `| [phase number] | [decision summary] | [rationale] |`
|
|
1407
1446
|
|
|
1408
|
-
**Deferred Issues:**
|
|
1409
|
-
|
|
1410
|
-
- Read SUMMARY.md to check if new issues were logged to ISSUES.md
|
|
1411
|
-
- If new ISS-XXX entries created:
|
|
1412
|
-
- Update STATE.md "Deferred Issues" section
|
|
1413
|
-
|
|
1414
1447
|
**Blockers/Concerns:**
|
|
1415
1448
|
|
|
1416
|
-
-
|
|
1449
|
+
- read SUMMARY.md "## Next Phase Readiness" section
|
|
1417
1450
|
- If contains blockers or concerns:
|
|
1418
1451
|
- Add to STATE.md "Blockers/Concerns Carried Forward"
|
|
1419
1452
|
</step>
|
|
@@ -1470,7 +1503,7 @@ ROADMAP_FILE=".planning/ROADMAP.md"
|
|
|
1470
1503
|
|
|
1471
1504
|
- Mark phase complete: status → "Complete"
|
|
1472
1505
|
- Add completion date
|
|
1473
|
-
|
|
1506
|
+
</step>
|
|
1474
1507
|
|
|
1475
1508
|
<step name="git_commit_metadata">
|
|
1476
1509
|
Commit execution metadata (SUMMARY + STATE + ROADMAP):
|
|
@@ -1485,7 +1518,7 @@ git add .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md
|
|
|
1485
1518
|
git add .planning/STATE.md
|
|
1486
1519
|
```
|
|
1487
1520
|
|
|
1488
|
-
**2. Stage roadmap
|
|
1521
|
+
**2. Stage roadmap:**
|
|
1489
1522
|
|
|
1490
1523
|
```bash
|
|
1491
1524
|
git add .planning/ROADMAP.md
|
|
@@ -1585,49 +1618,34 @@ git commit --amend --no-edit # Include in metadata commit
|
|
|
1585
1618
|
Skip this step.
|
|
1586
1619
|
</step>
|
|
1587
1620
|
|
|
1588
|
-
<step name="
|
|
1589
|
-
**
|
|
1621
|
+
<step name="offer_next">
|
|
1622
|
+
**MANDATORY: Verify remaining work before presenting next steps.**
|
|
1590
1623
|
|
|
1591
|
-
|
|
1592
|
-
# Check if ISSUES.md exists and has issues from current phase
|
|
1593
|
-
if [ -f .planning/ISSUES.md ]; then
|
|
1594
|
-
grep -E "Phase ${PHASE}.*Task" .planning/ISSUES.md | grep -v "^#" || echo "NO_ISSUES_THIS_PHASE"
|
|
1595
|
-
fi
|
|
1596
|
-
```
|
|
1624
|
+
Do NOT skip this verification. Do NOT assume phase or milestone completion without checking.
|
|
1597
1625
|
|
|
1598
|
-
**
|
|
1626
|
+
**Step 0: Check for USER-SETUP.md**
|
|
1599
1627
|
|
|
1600
|
-
|
|
1601
|
-
📋 Issues logged during this phase:
|
|
1602
|
-
- ISS-XXX: [brief description]
|
|
1603
|
-
- ISS-YYY: [brief description]
|
|
1628
|
+
If `USER_SETUP_CREATED=true` (from generate_user_setup step), always include this warning block at the TOP of completion output:
|
|
1604
1629
|
|
|
1605
|
-
Review these now?
|
|
1606
1630
|
```
|
|
1631
|
+
⚠️ USER SETUP REQUIRED
|
|
1607
1632
|
|
|
1608
|
-
|
|
1609
|
-
- header: "Phase Issues"
|
|
1610
|
-
- question: "[N] issues were logged during this phase. Review now?"
|
|
1611
|
-
- options:
|
|
1612
|
-
- "Review issues" - Analyze with /gsd-consider-issues
|
|
1613
|
-
- "Continue" - Address later, proceed to next work
|
|
1633
|
+
This phase introduced external services requiring manual configuration:
|
|
1614
1634
|
|
|
1615
|
-
|
|
1616
|
-
- Invoke: `[removed - use /command syntax]("/gsd-consider-issues")`
|
|
1617
|
-
- After consider-issues completes, return to offer_next
|
|
1635
|
+
📋 .planning/phases/{phase-dir}/{phase}-USER-SETUP.md
|
|
1618
1636
|
|
|
1619
|
-
|
|
1620
|
-
-
|
|
1637
|
+
Quick view:
|
|
1638
|
+
- [ ] {ENV_VAR_1}
|
|
1639
|
+
- [ ] {ENV_VAR_2}
|
|
1640
|
+
- [ ] {Dashboard config task}
|
|
1621
1641
|
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
- Continue to offer_next automatically
|
|
1625
|
-
</step>
|
|
1642
|
+
Complete this setup for the integration to function.
|
|
1643
|
+
Run `cat .planning/phases/{phase-dir}/{phase}-USER-SETUP.md` for full details.
|
|
1626
1644
|
|
|
1627
|
-
|
|
1628
|
-
|
|
1645
|
+
---
|
|
1646
|
+
```
|
|
1629
1647
|
|
|
1630
|
-
|
|
1648
|
+
This warning appears BEFORE "Plan complete" messaging. User sees setup requirements prominently.
|
|
1631
1649
|
|
|
1632
1650
|
**Step 1: Count plans and summaries in current phase**
|
|
1633
1651
|
|
|
@@ -1655,7 +1673,7 @@ Compare the counts from Step 1:
|
|
|
1655
1673
|
|
|
1656
1674
|
Identify the next unexecuted plan:
|
|
1657
1675
|
- Find the first PLAN.md file that has no matching SUMMARY.md
|
|
1658
|
-
-
|
|
1676
|
+
- read its `<objective>` section
|
|
1659
1677
|
|
|
1660
1678
|
<if mode="yolo">
|
|
1661
1679
|
```
|
|
@@ -1683,7 +1701,7 @@ Summary: .planning/phases/{phase-dir}/{phase}-{plan}-SUMMARY.md
|
|
|
1683
1701
|
|
|
1684
1702
|
**{phase}-{next-plan}: [Plan Name]** — [objective from next PLAN.md]
|
|
1685
1703
|
|
|
1686
|
-
`/gsd-execute-
|
|
1704
|
+
`/gsd-execute-phase {phase}`
|
|
1687
1705
|
|
|
1688
1706
|
*`/new` first → fresh context window*
|
|
1689
1707
|
|
|
@@ -1705,7 +1723,7 @@ Wait for user to clear and run next command.
|
|
|
1705
1723
|
|
|
1706
1724
|
**Step 3: Check milestone status (only when all plans in phase are complete)**
|
|
1707
1725
|
|
|
1708
|
-
|
|
1726
|
+
read ROADMAP.md and extract:
|
|
1709
1727
|
1. Current phase number (from the plan just completed)
|
|
1710
1728
|
2. All phase numbers listed in the current milestone section
|
|
1711
1729
|
|
|
@@ -1728,7 +1746,7 @@ State: "Current phase is {X}. Milestone has {N} phases (highest: {Y})."
|
|
|
1728
1746
|
|
|
1729
1747
|
**Route B: Phase complete, more phases remain in milestone**
|
|
1730
1748
|
|
|
1731
|
-
|
|
1749
|
+
read ROADMAP.md to get the next phase's name and goal.
|
|
1732
1750
|
|
|
1733
1751
|
```
|
|
1734
1752
|
Plan {phase}-{plan} complete.
|
|
@@ -1753,7 +1771,6 @@ All {Y} plans finished.
|
|
|
1753
1771
|
**Also available:**
|
|
1754
1772
|
- `/gsd-verify-work {Z}` — manual acceptance testing before continuing
|
|
1755
1773
|
- `/gsd-discuss-phase {Z+1}` — gather context first
|
|
1756
|
-
- `/gsd-research-phase {Z+1}` — investigate unknowns
|
|
1757
1774
|
- Review phase accomplishments before continuing
|
|
1758
1775
|
|
|
1759
1776
|
---
|
|
@@ -1773,10 +1790,9 @@ Summary: .planning/phases/{phase-dir}/{phase}-{plan}-SUMMARY.md
|
|
|
1773
1790
|
|
|
1774
1791
|
All {Y} plans finished.
|
|
1775
1792
|
|
|
1776
|
-
|
|
1777
|
-
All {N} phases complete!
|
|
1778
|
-
|
|
1779
|
-
════════════════════════════════════════
|
|
1793
|
+
╔═══════════════════════════════════════════════════════╗
|
|
1794
|
+
║ All {N} phases complete! Milestone is 100% done. ║
|
|
1795
|
+
╚═══════════════════════════════════════════════════════╝
|
|
1780
1796
|
|
|
1781
1797
|
---
|
|
1782
1798
|
|
|
@@ -1806,8 +1822,10 @@ Milestone is 100% done.
|
|
|
1806
1822
|
|
|
1807
1823
|
- All tasks from PLAN.md completed
|
|
1808
1824
|
- All verifications pass
|
|
1825
|
+
- USER-SETUP.md generated if user_setup in frontmatter
|
|
1809
1826
|
- SUMMARY.md created with substantive content
|
|
1810
1827
|
- STATE.md updated (position, decisions, issues, session)
|
|
1811
1828
|
- ROADMAP.md updated
|
|
1812
1829
|
- If codebase map exists: map updated with execution changes (or skipped if no significant changes)
|
|
1830
|
+
- If USER-SETUP.md created: prominently surfaced in completion output
|
|
1813
1831
|
</success_criteria>
|