@undeemed/get-shit-done-codex 1.6.12 → 1.20.2
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/README.md +22 -3
- package/agents/gsd-codebase-mapper.md +761 -0
- package/agents/gsd-debugger.md +1198 -0
- package/agents/gsd-executor.md +419 -0
- package/agents/gsd-integration-checker.md +423 -0
- package/agents/gsd-phase-researcher.md +469 -0
- package/agents/gsd-plan-checker.md +622 -0
- package/agents/gsd-planner.md +1159 -0
- package/agents/gsd-project-researcher.md +618 -0
- package/agents/gsd-research-synthesizer.md +236 -0
- package/agents/gsd-roadmapper.md +639 -0
- package/agents/gsd-verifier.md +541 -0
- package/bin/install.js +106 -100
- package/commands/gsd/add-phase.md +17 -185
- package/commands/gsd/add-todo.md +23 -163
- package/commands/gsd/audit-milestone.md +3 -219
- package/commands/gsd/check-todos.md +20 -196
- package/commands/gsd/cleanup.md +18 -0
- package/commands/gsd/debug.md +13 -0
- package/commands/gsd/discuss-phase.md +10 -3
- package/commands/gsd/execute-phase.md +3 -265
- package/commands/gsd/health.md +22 -0
- package/commands/gsd/help.md +8 -369
- package/commands/gsd/insert-phase.md +9 -203
- package/commands/gsd/join-discord.md +18 -0
- package/commands/gsd/new-milestone.md +12 -678
- package/commands/gsd/new-project.md +8 -862
- package/commands/gsd/new-project.md.bak +1041 -0
- package/commands/gsd/pause-work.md +17 -105
- package/commands/gsd/plan-milestone-gaps.md +3 -247
- package/commands/gsd/plan-phase.md +13 -444
- package/commands/gsd/progress.md +5 -337
- package/commands/gsd/quick.md +40 -0
- package/commands/gsd/reapply-patches.md +110 -0
- package/commands/gsd/remove-phase.md +9 -315
- package/commands/gsd/research-phase.md +26 -19
- package/commands/gsd/set-profile.md +34 -0
- package/commands/gsd/settings.md +36 -0
- package/commands/gsd/update.md +25 -160
- package/commands/gsd/verify-work.md +3 -183
- package/get-shit-done/bin/gsd-tools.cjs +5243 -0
- package/get-shit-done/bin/gsd-tools.test.cjs +2273 -0
- package/get-shit-done/references/checkpoints.md +254 -267
- package/get-shit-done/references/decimal-phase-calculation.md +65 -0
- package/get-shit-done/references/git-integration.md +3 -9
- package/get-shit-done/references/git-planning-commit.md +38 -0
- package/get-shit-done/references/model-profile-resolution.md +34 -0
- package/get-shit-done/references/model-profiles.md +92 -0
- package/get-shit-done/references/phase-argument-parsing.md +61 -0
- package/get-shit-done/references/planning-config.md +196 -0
- package/get-shit-done/references/questioning.md +4 -0
- package/get-shit-done/references/verification-patterns.md +17 -0
- package/get-shit-done/templates/UAT.md +1 -1
- package/get-shit-done/templates/codebase/structure.md +3 -3
- package/get-shit-done/templates/config.json +10 -0
- package/get-shit-done/templates/context.md +2 -10
- package/get-shit-done/templates/phase-prompt.md +18 -27
- package/get-shit-done/templates/planner-subagent-prompt.md +4 -4
- package/get-shit-done/templates/research-project/ARCHITECTURE.md +1 -1
- package/get-shit-done/templates/research.md +25 -2
- package/get-shit-done/templates/state.md +0 -30
- package/get-shit-done/templates/summary-complex.md +59 -0
- package/get-shit-done/templates/summary-minimal.md +41 -0
- package/get-shit-done/templates/summary-standard.md +48 -0
- package/get-shit-done/templates/summary.md +5 -28
- package/get-shit-done/templates/user-setup.md +1 -13
- package/get-shit-done/templates/verification-report.md +1 -1
- package/get-shit-done/workflows/add-phase.md +111 -0
- package/get-shit-done/workflows/add-todo.md +157 -0
- package/get-shit-done/workflows/audit-milestone.md +242 -0
- package/get-shit-done/workflows/check-todos.md +176 -0
- package/get-shit-done/workflows/cleanup.md +152 -0
- package/get-shit-done/workflows/complete-milestone.md +225 -301
- package/get-shit-done/workflows/diagnose-issues.md +3 -17
- package/get-shit-done/workflows/discovery-phase.md +6 -10
- package/get-shit-done/workflows/discuss-phase.md +99 -36
- package/get-shit-done/workflows/execute-phase.md +205 -349
- package/get-shit-done/workflows/execute-plan.md +179 -1569
- package/get-shit-done/workflows/health.md +156 -0
- package/get-shit-done/workflows/help.md +486 -0
- package/get-shit-done/workflows/insert-phase.md +129 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +2 -2
- package/get-shit-done/workflows/map-codebase.md +55 -17
- package/get-shit-done/workflows/new-milestone.md +373 -0
- package/get-shit-done/workflows/new-project.md +1113 -0
- package/get-shit-done/workflows/pause-work.md +122 -0
- package/get-shit-done/workflows/plan-milestone-gaps.md +256 -0
- package/get-shit-done/workflows/plan-phase.md +448 -0
- package/get-shit-done/workflows/progress.md +393 -0
- package/get-shit-done/workflows/quick.md +444 -0
- package/get-shit-done/workflows/remove-phase.md +154 -0
- package/get-shit-done/workflows/research-phase.md +74 -0
- package/get-shit-done/workflows/resume-project.md +18 -23
- package/get-shit-done/workflows/set-profile.md +80 -0
- package/get-shit-done/workflows/settings.md +200 -0
- package/get-shit-done/workflows/transition.md +78 -103
- package/get-shit-done/workflows/update.md +214 -0
- package/get-shit-done/workflows/verify-phase.md +107 -494
- package/get-shit-done/workflows/verify-work.md +18 -11
- package/hooks/dist/gsd-check-update.js +66 -0
- package/hooks/dist/gsd-statusline.js +91 -0
- package/package.json +19 -3
- package/scripts/build-hooks.js +42 -0
- package/commands/gsd/whats-new.md +0 -124
|
@@ -158,8 +158,7 @@ Update status in frontmatter to "diagnosed".
|
|
|
158
158
|
|
|
159
159
|
Commit the updated UAT.md:
|
|
160
160
|
```bash
|
|
161
|
-
|
|
162
|
-
git commit -m "docs({phase}): add root causes from diagnosis"
|
|
161
|
+
node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "docs({phase_num}): add root causes from diagnosis" --files ".planning/phases/XX-name/{phase_num}-UAT.md"
|
|
163
162
|
```
|
|
164
163
|
</step>
|
|
165
164
|
|
|
@@ -190,21 +189,8 @@ Do NOT offer manual next steps - verify-work handles the rest.
|
|
|
190
189
|
</process>
|
|
191
190
|
|
|
192
191
|
<context_efficiency>
|
|
193
|
-
|
|
194
|
-
-
|
|
195
|
-
- Fill template strings
|
|
196
|
-
- Spawn parallel Task calls
|
|
197
|
-
- Collect results
|
|
198
|
-
- Update UAT.md
|
|
199
|
-
|
|
200
|
-
**Each debug agent:** Fresh 200k context
|
|
201
|
-
- Loads full debug workflow
|
|
202
|
-
- Loads debugging references
|
|
203
|
-
- Investigates with full capacity
|
|
204
|
-
- Returns root cause
|
|
205
|
-
|
|
206
|
-
**No symptom gathering.** Agents start with symptoms pre-filled from UAT.
|
|
207
|
-
**No fix application.** Agents only diagnose - plan-phase --gaps handles fixes.
|
|
192
|
+
Agents start with symptoms pre-filled from UAT (no symptom gathering).
|
|
193
|
+
Agents only diagnose—plan-phase --gaps handles fixes (no fix application).
|
|
208
194
|
</context_efficiency>
|
|
209
195
|
|
|
210
196
|
<failure_handling>
|
|
@@ -107,16 +107,14 @@ For: Choosing between options, new external integration.
|
|
|
107
107
|
|
|
108
108
|
5. **Cross-verify:** Any WebSearch finding → confirm with Context7/official docs.
|
|
109
109
|
|
|
110
|
-
6. **
|
|
111
|
-
|
|
112
|
-
7. **Create DISCOVERY.md** using ~/.claude/get-shit-done/templates/discovery.md structure:
|
|
110
|
+
6. **Create DISCOVERY.md** using ~/.claude/get-shit-done/templates/discovery.md structure:
|
|
113
111
|
|
|
114
112
|
- Summary with recommendation
|
|
115
113
|
- Key findings per option
|
|
116
114
|
- Code examples from Context7
|
|
117
115
|
- Confidence level (should be MEDIUM-HIGH for Level 2)
|
|
118
116
|
|
|
119
|
-
|
|
117
|
+
7. Return to plan-phase.md.
|
|
120
118
|
|
|
121
119
|
**Output:** `.planning/phases/XX-name/DISCOVERY.md`
|
|
122
120
|
</step>
|
|
@@ -160,18 +158,16 @@ For: Architectural decisions, novel problems, high-risk choices.
|
|
|
160
158
|
- Mark what's verified vs assumed
|
|
161
159
|
- Flag contradictions
|
|
162
160
|
|
|
163
|
-
6. **
|
|
164
|
-
|
|
165
|
-
7. **Create comprehensive DISCOVERY.md:**
|
|
161
|
+
6. **Create comprehensive DISCOVERY.md:**
|
|
166
162
|
|
|
167
163
|
- Full structure from ~/.claude/get-shit-done/templates/discovery.md
|
|
168
164
|
- Quality report with source attribution
|
|
169
165
|
- Confidence by finding
|
|
170
166
|
- If LOW confidence on any critical finding → add validation checkpoints
|
|
171
167
|
|
|
172
|
-
|
|
168
|
+
7. **Confidence gate:** If overall confidence is LOW, present options before proceeding.
|
|
173
169
|
|
|
174
|
-
|
|
170
|
+
8. Return to plan-phase.md.
|
|
175
171
|
|
|
176
172
|
**Output:** `.planning/phases/XX-name/DISCOVERY.md` (comprehensive)
|
|
177
173
|
</step>
|
|
@@ -220,7 +216,7 @@ After creating DISCOVERY.md, check confidence level.
|
|
|
220
216
|
If confidence is LOW:
|
|
221
217
|
Use AskUserQuestion:
|
|
222
218
|
|
|
223
|
-
- header: "Low
|
|
219
|
+
- header: "Low Conf."
|
|
224
220
|
- question: "Discovery confidence is LOW: [reason]. How would you like to proceed?"
|
|
225
221
|
- options:
|
|
226
222
|
- "Dig deeper" - Do more research before planning
|
|
@@ -107,15 +107,16 @@ Phase: "API documentation"
|
|
|
107
107
|
|
|
108
108
|
<process>
|
|
109
109
|
|
|
110
|
-
<step name="
|
|
110
|
+
<step name="initialize" priority="first">
|
|
111
111
|
Phase number from argument (required).
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
|
|
116
|
-
|
|
113
|
+
```bash
|
|
114
|
+
INIT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs init phase-op "${PHASE}")
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Parse JSON for: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `has_verification`, `plan_count`, `roadmap_exists`, `planning_exists`.
|
|
117
118
|
|
|
118
|
-
**If
|
|
119
|
+
**If `phase_found` is false:**
|
|
119
120
|
```
|
|
120
121
|
Phase [X] not found in roadmap.
|
|
121
122
|
|
|
@@ -123,21 +124,19 @@ Use /gsd:progress to see available phases.
|
|
|
123
124
|
```
|
|
124
125
|
Exit workflow.
|
|
125
126
|
|
|
126
|
-
**If
|
|
127
|
+
**If `phase_found` is true:** Continue to check_existing.
|
|
127
128
|
</step>
|
|
128
129
|
|
|
129
130
|
<step name="check_existing">
|
|
130
|
-
Check if CONTEXT.md already exists
|
|
131
|
+
Check if CONTEXT.md already exists using `has_context` from init.
|
|
131
132
|
|
|
132
133
|
```bash
|
|
133
|
-
|
|
134
|
-
PADDED_PHASE=$(printf "%02d" ${PHASE})
|
|
135
|
-
ls .planning/phases/${PADDED_PHASE}-*/CONTEXT.md .planning/phases/${PADDED_PHASE}-*/${PADDED_PHASE}-CONTEXT.md .planning/phases/${PHASE}-*/CONTEXT.md .planning/phases/${PHASE}-*/${PHASE}-CONTEXT.md 2>/dev/null
|
|
134
|
+
ls ${phase_dir}/*-CONTEXT.md 2>/dev/null
|
|
136
135
|
```
|
|
137
136
|
|
|
138
137
|
**If exists:**
|
|
139
138
|
Use AskUserQuestion:
|
|
140
|
-
- header: "
|
|
139
|
+
- header: "Context"
|
|
141
140
|
- question: "Phase [X] already has context. What do you want to do?"
|
|
142
141
|
- options:
|
|
143
142
|
- "Update it" — Review and revise existing context
|
|
@@ -148,7 +147,23 @@ If "Update": Load existing, continue to analyze_phase
|
|
|
148
147
|
If "View": Display CONTEXT.md, then offer update/skip
|
|
149
148
|
If "Skip": Exit workflow
|
|
150
149
|
|
|
151
|
-
**If doesn't exist:**
|
|
150
|
+
**If doesn't exist:**
|
|
151
|
+
|
|
152
|
+
Check `has_plans` and `plan_count` from init. **If `has_plans` is true:**
|
|
153
|
+
|
|
154
|
+
Use AskUserQuestion:
|
|
155
|
+
- header: "Plans exist"
|
|
156
|
+
- question: "Phase [X] already has {plan_count} plan(s) created without user context. Your decisions here won't affect existing plans unless you replan."
|
|
157
|
+
- options:
|
|
158
|
+
- "Continue and replan after" — Capture context, then run /gsd:plan-phase {X} to replan
|
|
159
|
+
- "View existing plans" — Show plans before deciding
|
|
160
|
+
- "Cancel" — Skip discuss-phase
|
|
161
|
+
|
|
162
|
+
If "Continue and replan after": Continue to analyze_phase.
|
|
163
|
+
If "View existing plans": Display plan files, then offer "Continue" / "Cancel".
|
|
164
|
+
If "Cancel": Exit workflow.
|
|
165
|
+
|
|
166
|
+
**If `has_plans` is false:** Continue to analyze_phase.
|
|
152
167
|
</step>
|
|
153
168
|
|
|
154
169
|
<step name="analyze_phase">
|
|
@@ -241,18 +256,19 @@ Ask 4 questions per area before offering to continue or move on. Each answer oft
|
|
|
241
256
|
```
|
|
242
257
|
|
|
243
258
|
2. **Ask 4 questions using AskUserQuestion:**
|
|
244
|
-
- header: "[Area]"
|
|
259
|
+
- header: "[Area]" (max 12 chars — abbreviate if needed)
|
|
245
260
|
- question: Specific decision for this area
|
|
246
261
|
- options: 2-3 concrete choices (AskUserQuestion adds "Other" automatically)
|
|
247
262
|
- Include "You decide" as an option when reasonable — captures Claude discretion
|
|
248
263
|
|
|
249
264
|
3. **After 4 questions, check:**
|
|
250
|
-
- header: "[Area]"
|
|
265
|
+
- header: "[Area]" (max 12 chars)
|
|
251
266
|
- question: "More questions about [area], or move to next?"
|
|
252
267
|
- options: "More questions" / "Next area"
|
|
253
268
|
|
|
254
269
|
If "More questions" → ask 4 more, then check again
|
|
255
270
|
If "Next area" → proceed to next selected area
|
|
271
|
+
If "Other" (free text) → interpret intent: continuation phrases ("chat more", "keep going", "yes", "more") map to "More questions"; advancement phrases ("done", "move on", "next", "skip") map to "Next area". If ambiguous, ask: "Continue with more questions about [area], or move to the next area?"
|
|
256
272
|
|
|
257
273
|
4. **After all areas complete:**
|
|
258
274
|
- header: "Done"
|
|
@@ -281,19 +297,14 @@ Create CONTEXT.md capturing decisions made.
|
|
|
281
297
|
|
|
282
298
|
**Find or create phase directory:**
|
|
283
299
|
|
|
300
|
+
Use values from init: `phase_dir`, `phase_slug`, `padded_phase`.
|
|
301
|
+
|
|
302
|
+
If `phase_dir` is null (phase exists in roadmap but no directory):
|
|
284
303
|
```bash
|
|
285
|
-
|
|
286
|
-
PADDED_PHASE=$(printf "%02d" ${PHASE})
|
|
287
|
-
PHASE_DIR=$(ls -d .planning/phases/${PADDED_PHASE}-* .planning/phases/${PHASE}-* 2>/dev/null | head -1)
|
|
288
|
-
if [ -z "$PHASE_DIR" ]; then
|
|
289
|
-
# Create from roadmap name (lowercase, hyphens)
|
|
290
|
-
PHASE_NAME=$(grep "Phase ${PHASE}:" .planning/ROADMAP.md | sed 's/.*Phase [0-9]*: //' | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
|
|
291
|
-
mkdir -p ".planning/phases/${PADDED_PHASE}-${PHASE_NAME}"
|
|
292
|
-
PHASE_DIR=".planning/phases/${PADDED_PHASE}-${PHASE_NAME}"
|
|
293
|
-
fi
|
|
304
|
+
mkdir -p ".planning/phases/${padded_phase}-${phase_slug}"
|
|
294
305
|
```
|
|
295
306
|
|
|
296
|
-
**File location:** `${
|
|
307
|
+
**File location:** `${phase_dir}/${padded_phase}-CONTEXT.md`
|
|
297
308
|
|
|
298
309
|
**Structure the content by what was discussed:**
|
|
299
310
|
|
|
@@ -391,21 +402,72 @@ Created: .planning/phases/${PADDED_PHASE}-${SLUG}/${PADDED_PHASE}-CONTEXT.md
|
|
|
391
402
|
</step>
|
|
392
403
|
|
|
393
404
|
<step name="git_commit">
|
|
394
|
-
Commit phase context:
|
|
405
|
+
Commit phase context (uses `commit_docs` from init internally):
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "docs(${padded_phase}): capture phase context" --files "${phase_dir}/${padded_phase}-CONTEXT.md"
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
Confirm: "Committed: docs(${padded_phase}): capture phase context"
|
|
412
|
+
</step>
|
|
413
|
+
|
|
414
|
+
<step name="update_state">
|
|
415
|
+
Update STATE.md with session info:
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
node ~/.claude/get-shit-done/bin/gsd-tools.cjs state record-session \
|
|
419
|
+
--stopped-at "Phase ${PHASE} context gathered" \
|
|
420
|
+
--resume-file "${phase_dir}/${padded_phase}-CONTEXT.md"
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
Commit STATE.md:
|
|
395
424
|
|
|
396
425
|
```bash
|
|
397
|
-
|
|
398
|
-
git commit -m "$(cat <<'EOF'
|
|
399
|
-
docs(${PADDED_PHASE}): capture phase context
|
|
400
|
-
|
|
401
|
-
Phase ${PADDED_PHASE}: ${PHASE_NAME}
|
|
402
|
-
- Implementation decisions documented
|
|
403
|
-
- Phase boundary established
|
|
404
|
-
EOF
|
|
405
|
-
)"
|
|
426
|
+
node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "docs(state): record phase ${PHASE} context session" --files .planning/STATE.md
|
|
406
427
|
```
|
|
428
|
+
</step>
|
|
429
|
+
|
|
430
|
+
<step name="auto_advance">
|
|
431
|
+
Check for auto-advance trigger:
|
|
432
|
+
|
|
433
|
+
1. Parse `--auto` flag from $ARGUMENTS
|
|
434
|
+
2. Read `workflow.auto_advance` from config:
|
|
435
|
+
```bash
|
|
436
|
+
AUTO_CFG=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs config-get workflow.auto_advance 2>/dev/null || echo "false")
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
**If `--auto` flag present OR `AUTO_CFG` is true:**
|
|
440
|
+
|
|
441
|
+
Display banner:
|
|
442
|
+
```
|
|
443
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
444
|
+
GSD ► AUTO-ADVANCING TO PLAN
|
|
445
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
446
|
+
|
|
447
|
+
Context captured. Spawning plan-phase...
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
Spawn plan-phase as Task:
|
|
451
|
+
```
|
|
452
|
+
Task(
|
|
453
|
+
prompt="Run /gsd:plan-phase ${PHASE} --auto",
|
|
454
|
+
subagent_type="general-purpose",
|
|
455
|
+
description="Plan Phase ${PHASE}"
|
|
456
|
+
)
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
**Handle plan-phase return:**
|
|
460
|
+
- **PLANNING COMPLETE** → Plan-phase handles chaining to execute-phase (via its own auto_advance step)
|
|
461
|
+
- **PLANNING INCONCLUSIVE / CHECKPOINT** → Display result, stop chain:
|
|
462
|
+
```
|
|
463
|
+
Auto-advance stopped: Planning needs input.
|
|
464
|
+
|
|
465
|
+
Review the output above and continue manually:
|
|
466
|
+
/gsd:plan-phase ${PHASE}
|
|
467
|
+
```
|
|
407
468
|
|
|
408
|
-
|
|
469
|
+
**If neither `--auto` nor config enabled:**
|
|
470
|
+
Route to `confirm_creation` step (existing behavior — show manual next steps).
|
|
409
471
|
</step>
|
|
410
472
|
|
|
411
473
|
</process>
|
|
@@ -418,5 +480,6 @@ Confirm: "Committed: docs(${PADDED_PHASE}): capture phase context"
|
|
|
418
480
|
- Scope creep redirected to deferred ideas
|
|
419
481
|
- CONTEXT.md captures actual decisions, not vague vision
|
|
420
482
|
- Deferred ideas preserved for future phases
|
|
483
|
+
- STATE.md updated with session info
|
|
421
484
|
- User knows next steps
|
|
422
485
|
</success_criteria>
|