@undeemed/get-shit-done-codex 1.20.2 → 1.20.3
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 +18 -4
- package/agents/gsd-codebase-mapper.md +2 -2
- package/agents/gsd-debugger.md +3 -3
- package/agents/gsd-executor.md +11 -11
- package/agents/gsd-phase-researcher.md +10 -10
- package/agents/gsd-plan-checker.md +7 -7
- package/agents/gsd-planner.md +26 -26
- package/agents/gsd-project-researcher.md +2 -2
- package/agents/gsd-research-synthesizer.md +3 -3
- package/agents/gsd-roadmapper.md +5 -5
- package/agents/gsd-verifier.md +8 -8
- package/bin/install.js +6 -6
- package/commands/gsd/add-phase.md +2 -2
- package/commands/gsd/add-todo.md +2 -2
- package/commands/gsd/audit-milestone.md +2 -2
- package/commands/gsd/check-todos.md +2 -2
- package/commands/gsd/cleanup.md +2 -2
- package/commands/gsd/complete-milestone.md +2 -2
- package/commands/gsd/debug.md +2 -2
- package/commands/gsd/discuss-phase.md +3 -3
- package/commands/gsd/execute-phase.md +3 -3
- package/commands/gsd/health.md +2 -2
- package/commands/gsd/help.md +2 -2
- package/commands/gsd/insert-phase.md +2 -2
- package/commands/gsd/list-phase-assumptions.md +4 -4
- package/commands/gsd/map-codebase.md +1 -1
- package/commands/gsd/new-milestone.md +6 -6
- package/commands/gsd/new-project.md +6 -6
- package/commands/gsd/new-project.md.bak +13 -13
- package/commands/gsd/pause-work.md +2 -2
- package/commands/gsd/plan-milestone-gaps.md +2 -2
- package/commands/gsd/plan-phase.md +3 -3
- package/commands/gsd/progress.md +2 -2
- package/commands/gsd/quick.md +2 -2
- package/commands/gsd/reapply-patches.md +2 -2
- package/commands/gsd/remove-phase.md +2 -2
- package/commands/gsd/research-phase.md +6 -6
- package/commands/gsd/resume-work.md +2 -2
- package/commands/gsd/set-profile.md +3 -3
- package/commands/gsd/settings.md +2 -2
- package/commands/gsd/update.md +2 -2
- package/commands/gsd/verify-work.md +4 -4
- package/get-shit-done/bin/gsd-tools.cjs +1 -1
- package/get-shit-done/references/checkpoints.md +35 -35
- package/get-shit-done/references/decimal-phase-calculation.md +4 -4
- package/get-shit-done/references/git-integration.md +7 -7
- package/get-shit-done/references/git-planning-commit.md +2 -2
- package/get-shit-done/references/model-profile-resolution.md +1 -1
- package/get-shit-done/references/model-profiles.md +2 -2
- package/get-shit-done/references/phase-argument-parsing.md +3 -3
- package/get-shit-done/references/planning-config.md +6 -6
- package/get-shit-done/references/questioning.md +1 -1
- package/get-shit-done/references/verification-patterns.md +2 -2
- package/get-shit-done/templates/DEBUG.md +4 -4
- package/get-shit-done/templates/codebase/architecture.md +1 -1
- 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 +6 -6
- package/get-shit-done/templates/context.md +5 -5
- package/get-shit-done/templates/continue-here.md +1 -1
- package/get-shit-done/templates/phase-prompt.md +18 -18
- package/get-shit-done/templates/project.md +1 -1
- package/get-shit-done/templates/research.md +4 -4
- package/get-shit-done/templates/state.md +1 -1
- package/get-shit-done/templates/user-setup.md +8 -8
- package/get-shit-done/templates/verification-report.md +2 -2
- package/get-shit-done/workflows/add-phase.md +2 -2
- package/get-shit-done/workflows/add-todo.md +5 -5
- package/get-shit-done/workflows/audit-milestone.md +4 -4
- package/get-shit-done/workflows/check-todos.md +2 -2
- package/get-shit-done/workflows/cleanup.md +1 -1
- package/get-shit-done/workflows/complete-milestone.md +5 -5
- package/get-shit-done/workflows/diagnose-issues.md +1 -1
- package/get-shit-done/workflows/discovery-phase.md +6 -6
- package/get-shit-done/workflows/discuss-phase.md +11 -11
- package/get-shit-done/workflows/execute-phase.md +14 -14
- package/get-shit-done/workflows/execute-plan.md +17 -17
- package/get-shit-done/workflows/health.md +2 -2
- package/get-shit-done/workflows/help.md +4 -4
- package/get-shit-done/workflows/insert-phase.md +2 -2
- package/get-shit-done/workflows/list-phase-assumptions.md +7 -7
- package/get-shit-done/workflows/map-codebase.md +4 -4
- package/get-shit-done/workflows/new-milestone.md +8 -8
- package/get-shit-done/workflows/new-project.md +15 -15
- package/get-shit-done/workflows/pause-work.md +3 -3
- package/get-shit-done/workflows/plan-milestone-gaps.md +2 -2
- package/get-shit-done/workflows/plan-phase.md +12 -12
- package/get-shit-done/workflows/progress.md +5 -5
- package/get-shit-done/workflows/quick.md +4 -4
- package/get-shit-done/workflows/remove-phase.md +4 -4
- package/get-shit-done/workflows/research-phase.md +4 -4
- package/get-shit-done/workflows/resume-project.md +2 -2
- package/get-shit-done/workflows/set-profile.md +3 -3
- package/get-shit-done/workflows/settings.md +2 -2
- package/get-shit-done/workflows/transition.md +3 -3
- package/get-shit-done/workflows/update.md +9 -9
- package/get-shit-done/workflows/verify-phase.md +9 -9
- package/get-shit-done/workflows/verify-work.md +6 -6
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ Create executable phase prompts (PLAN.md files) for a roadmap phase with integra
|
|
|
5
5
|
<required_reading>
|
|
6
6
|
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
7
|
|
|
8
|
-
@~/.
|
|
8
|
+
@~/.codex/get-shit-done/references/ui-brand.md
|
|
9
9
|
</required_reading>
|
|
10
10
|
|
|
11
11
|
<process>
|
|
@@ -15,7 +15,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
15
15
|
Load all context in one call (include file contents to avoid redundant reads):
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
INIT_RAW=$(node ~/.
|
|
18
|
+
INIT_RAW=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init plan-phase "$PHASE" --include state,roadmap,requirements,context,research,verification,uat)
|
|
19
19
|
# Large payloads are written to a tmpfile — output starts with @file:/path
|
|
20
20
|
if [[ "$INIT_RAW" == @file:* ]]; then
|
|
21
21
|
INIT_FILE="${INIT_RAW#@file:}"
|
|
@@ -48,7 +48,7 @@ mkdir -p ".planning/phases/${padded_phase}-${phase_slug}"
|
|
|
48
48
|
## 3. Validate Phase
|
|
49
49
|
|
|
50
50
|
```bash
|
|
51
|
-
PHASE_INFO=$(node ~/.
|
|
51
|
+
PHASE_INFO=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "${PHASE}")
|
|
52
52
|
```
|
|
53
53
|
|
|
54
54
|
**If `found` is false:** Error with available phases. **If `found` is true:** Extract `phase_number`, `phase_name`, `goal` from JSON.
|
|
@@ -93,10 +93,10 @@ Display banner:
|
|
|
93
93
|
### Spawn gsd-phase-researcher
|
|
94
94
|
|
|
95
95
|
```bash
|
|
96
|
-
PHASE_DESC=$(node ~/.
|
|
96
|
+
PHASE_DESC=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "${PHASE}" | jq -r '.section')
|
|
97
97
|
# Use requirements_content from INIT (already loaded via --include requirements)
|
|
98
98
|
REQUIREMENTS=$(echo "$INIT" | jq -r '.requirements_content // empty' | grep -A100 "## Requirements" | head -50)
|
|
99
|
-
STATE_SNAP=$(node ~/.
|
|
99
|
+
STATE_SNAP=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs state-snapshot)
|
|
100
100
|
# Extract decisions from state-snapshot JSON: jq '.decisions[] | "\(.phase): \(.summary) - \(.rationale)"'
|
|
101
101
|
```
|
|
102
102
|
|
|
@@ -111,7 +111,7 @@ Answer: "What do I need to know to PLAN this phase well?"
|
|
|
111
111
|
<phase_context>
|
|
112
112
|
IMPORTANT: If CONTEXT.md exists below, it contains user decisions from /gsd:discuss-phase.
|
|
113
113
|
- **Decisions** = Locked — research THESE deeply, no alternatives
|
|
114
|
-
- **
|
|
114
|
+
- **Codex's Discretion** = Freedom areas — research options, recommend
|
|
115
115
|
- **Deferred Ideas** = Out of scope — ignore
|
|
116
116
|
|
|
117
117
|
{context_content}
|
|
@@ -130,7 +130,7 @@ Write to: {phase_dir}/{phase_num}-RESEARCH.md
|
|
|
130
130
|
|
|
131
131
|
```
|
|
132
132
|
Task(
|
|
133
|
-
prompt="First, read ~/.
|
|
133
|
+
prompt="First, read ~/.codex/agents/gsd-phase-researcher.md for your role and instructions.\n\n" + research_prompt,
|
|
134
134
|
subagent_type="general-purpose",
|
|
135
135
|
model="{researcher_model}",
|
|
136
136
|
description="Research Phase {phase}"
|
|
@@ -190,7 +190,7 @@ Planner prompt:
|
|
|
190
190
|
**Phase Context:**
|
|
191
191
|
IMPORTANT: If context exists below, it contains USER DECISIONS from /gsd:discuss-phase.
|
|
192
192
|
- **Decisions** = LOCKED — honor exactly, do not revisit
|
|
193
|
-
- **
|
|
193
|
+
- **Codex's Discretion** = Freedom — make implementation choices
|
|
194
194
|
- **Deferred Ideas** = Out of scope — do NOT include
|
|
195
195
|
|
|
196
196
|
{context_content}
|
|
@@ -219,7 +219,7 @@ Output consumed by /gsd:execute-phase. Plans need:
|
|
|
219
219
|
|
|
220
220
|
```
|
|
221
221
|
Task(
|
|
222
|
-
prompt="First, read ~/.
|
|
222
|
+
prompt="First, read ~/.codex/agents/gsd-planner.md for your role and instructions.\n\n" + filled_prompt,
|
|
223
223
|
subagent_type="general-purpose",
|
|
224
224
|
model="{planner_model}",
|
|
225
225
|
description="Plan Phase {phase}"
|
|
@@ -260,7 +260,7 @@ Checker prompt:
|
|
|
260
260
|
**Phase Context:**
|
|
261
261
|
IMPORTANT: Plans MUST honor user decisions. Flag as issue if plans contradict.
|
|
262
262
|
- **Decisions** = LOCKED — plans must implement exactly
|
|
263
|
-
- **
|
|
263
|
+
- **Codex's Discretion** = Freedom areas — plans can choose approach
|
|
264
264
|
- **Deferred Ideas** = Out of scope — plans must NOT include
|
|
265
265
|
|
|
266
266
|
{context_content}
|
|
@@ -322,7 +322,7 @@ Return what changed.
|
|
|
322
322
|
|
|
323
323
|
```
|
|
324
324
|
Task(
|
|
325
|
-
prompt="First, read ~/.
|
|
325
|
+
prompt="First, read ~/.codex/agents/gsd-planner.md for your role and instructions.\n\n" + revision_prompt,
|
|
326
326
|
subagent_type="general-purpose",
|
|
327
327
|
model="{planner_model}",
|
|
328
328
|
description="Revise Phase {phase} plans"
|
|
@@ -348,7 +348,7 @@ Check for auto-advance trigger:
|
|
|
348
348
|
1. Parse `--auto` flag from $ARGUMENTS
|
|
349
349
|
2. Read `workflow.auto_advance` from config:
|
|
350
350
|
```bash
|
|
351
|
-
AUTO_CFG=$(node ~/.
|
|
351
|
+
AUTO_CFG=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs config-get workflow.auto_advance 2>/dev/null || echo "false")
|
|
352
352
|
```
|
|
353
353
|
|
|
354
354
|
**If `--auto` flag present OR `AUTO_CFG` is true:**
|
|
@@ -12,7 +12,7 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
12
12
|
**Load progress context (with file contents to avoid redundant reads):**
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
INIT_RAW=$(node ~/.
|
|
15
|
+
INIT_RAW=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init progress --include state,roadmap,project,config)
|
|
16
16
|
# Large payloads are written to a tmpfile — output starts with @file:/path
|
|
17
17
|
if [[ "$INIT_RAW" == @file:* ]]; then
|
|
18
18
|
INIT_FILE="${INIT_RAW#@file:}"
|
|
@@ -62,7 +62,7 @@ No additional file reads needed.
|
|
|
62
62
|
**Get comprehensive roadmap analysis (replaces manual parsing):**
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
|
-
ROADMAP=$(node ~/.
|
|
65
|
+
ROADMAP=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap analyze)
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
This returns structured JSON with:
|
|
@@ -81,7 +81,7 @@ Use this instead of manually reading/parsing ROADMAP.md.
|
|
|
81
81
|
- Find the 2-3 most recent SUMMARY.md files
|
|
82
82
|
- Use `summary-extract` for efficient parsing:
|
|
83
83
|
```bash
|
|
84
|
-
node ~/.
|
|
84
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs summary-extract <path> --fields one_liner
|
|
85
85
|
```
|
|
86
86
|
- This shows "what we've been working on"
|
|
87
87
|
</step>
|
|
@@ -101,7 +101,7 @@ Use this instead of manually reading/parsing ROADMAP.md.
|
|
|
101
101
|
|
|
102
102
|
```bash
|
|
103
103
|
# Get formatted progress bar
|
|
104
|
-
PROGRESS_BAR=$(node ~/.
|
|
104
|
+
PROGRESS_BAR=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs progress bar --raw)
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
Present:
|
|
@@ -238,7 +238,7 @@ Check if `{phase_num}-CONTEXT.md` exists in phase directory.
|
|
|
238
238
|
|
|
239
239
|
**Also available:**
|
|
240
240
|
- `/gsd:plan-phase {phase}` — skip discussion, plan directly
|
|
241
|
-
- `/gsd:list-phase-assumptions {phase}` — see
|
|
241
|
+
- `/gsd:list-phase-assumptions {phase}` — see Codex's assumptions
|
|
242
242
|
|
|
243
243
|
---
|
|
244
244
|
```
|
|
@@ -43,7 +43,7 @@ If `$FULL_MODE`:
|
|
|
43
43
|
**Step 2: Initialize**
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
INIT=$(node ~/.
|
|
46
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init quick "$DESCRIPTION")
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
Parse JSON for: `planner_model`, `executor_model`, `checker_model`, `verifier_model`, `commit_docs`, `next_num`, `slug`, `date`, `timestamp`, `quick_dir`, `task_dir`, `roadmap_exists`, `planning_exists`.
|
|
@@ -221,7 +221,7 @@ Return what changed.
|
|
|
221
221
|
|
|
222
222
|
```
|
|
223
223
|
Task(
|
|
224
|
-
prompt="First, read ~/.
|
|
224
|
+
prompt="First, read ~/.codex/agents/gsd-planner.md for your role and instructions.\n\n" + revision_prompt,
|
|
225
225
|
subagent_type="general-purpose",
|
|
226
226
|
model="{planner_model}",
|
|
227
227
|
description="Revise quick plan: ${DESCRIPTION}"
|
|
@@ -268,7 +268,7 @@ After executor returns:
|
|
|
268
268
|
2. Extract commit hash from executor output
|
|
269
269
|
3. Report completion status
|
|
270
270
|
|
|
271
|
-
**Known
|
|
271
|
+
**Known Codex CLI bug (classifyHandoffIfNeeded):** If executor reports "failed" with error `classifyHandoffIfNeeded is not defined`, this is a Codex CLI runtime bug — not a real failure. Check if summary file exists and git log shows commits. If so, treat as successful.
|
|
272
272
|
|
|
273
273
|
If summary not found, error: "Executor failed to create ${next_num}-SUMMARY.md"
|
|
274
274
|
|
|
@@ -383,7 +383,7 @@ Build file list:
|
|
|
383
383
|
- If `$FULL_MODE` and verification file exists: `${QUICK_DIR}/${next_num}-VERIFICATION.md`
|
|
384
384
|
|
|
385
385
|
```bash
|
|
386
|
-
node ~/.
|
|
386
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs(quick-${next_num}): ${DESCRIPTION}" --files ${file_list}
|
|
387
387
|
```
|
|
388
388
|
|
|
389
389
|
Get final commit hash:
|
|
@@ -29,7 +29,7 @@ Exit.
|
|
|
29
29
|
Load phase operation context:
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
INIT=$(node ~/.
|
|
32
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init phase-op "${target}")
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
Extract: `phase_found`, `phase_dir`, `phase_number`, `commit_docs`, `roadmap_exists`.
|
|
@@ -79,13 +79,13 @@ Wait for confirmation.
|
|
|
79
79
|
**Delegate the entire removal operation to gsd-tools:**
|
|
80
80
|
|
|
81
81
|
```bash
|
|
82
|
-
RESULT=$(node ~/.
|
|
82
|
+
RESULT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs phase remove "${target}")
|
|
83
83
|
```
|
|
84
84
|
|
|
85
85
|
If the phase has executed plans (SUMMARY.md files), gsd-tools will error. Use `--force` only if the user confirms:
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
|
-
RESULT=$(node ~/.
|
|
88
|
+
RESULT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs phase remove "${target}" --force)
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
The CLI handles:
|
|
@@ -102,7 +102,7 @@ Extract from result: `removed`, `directory_deleted`, `renamed_directories`, `ren
|
|
|
102
102
|
Stage and commit the removal:
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
|
-
node ~/.
|
|
105
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "chore: remove phase {target} ({original-phase-name})" --files .planning/
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
The commit message preserves the historical record of what was removed.
|
|
@@ -8,17 +8,17 @@ Standalone research command. For most workflows, use `/gsd:plan-phase` which int
|
|
|
8
8
|
|
|
9
9
|
## Step 0: Resolve Model Profile
|
|
10
10
|
|
|
11
|
-
@~/.
|
|
11
|
+
@~/.codex/get-shit-done/references/model-profile-resolution.md
|
|
12
12
|
|
|
13
13
|
Resolve model for:
|
|
14
14
|
- `gsd-phase-researcher`
|
|
15
15
|
|
|
16
16
|
## Step 1: Normalize and Validate Phase
|
|
17
17
|
|
|
18
|
-
@~/.
|
|
18
|
+
@~/.codex/get-shit-done/references/phase-argument-parsing.md
|
|
19
19
|
|
|
20
20
|
```bash
|
|
21
|
-
PHASE_INFO=$(node ~/.
|
|
21
|
+
PHASE_INFO=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "${PHASE}")
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
If `found` is false: Error and exit.
|
|
@@ -39,7 +39,7 @@ echo "$PHASE_INFO" | jq -r '.section'
|
|
|
39
39
|
cat .planning/REQUIREMENTS.md 2>/dev/null
|
|
40
40
|
cat .planning/phases/${PHASE}-*/*-CONTEXT.md 2>/dev/null
|
|
41
41
|
# Decisions from state-snapshot (structured JSON)
|
|
42
|
-
node ~/.
|
|
42
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs state-snapshot | jq '.decisions'
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
## Step 4: Spawn Researcher
|
|
@@ -11,7 +11,7 @@ Instantly restore full project context so "Where were we?" has an immediate, com
|
|
|
11
11
|
</purpose>
|
|
12
12
|
|
|
13
13
|
<required_reading>
|
|
14
|
-
@~/.
|
|
14
|
+
@~/.codex/get-shit-done/references/continuation-format.md
|
|
15
15
|
</required_reading>
|
|
16
16
|
|
|
17
17
|
<process>
|
|
@@ -20,7 +20,7 @@ Instantly restore full project context so "Where were we?" has an immediate, com
|
|
|
20
20
|
Load all context in one call:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
INIT=$(node ~/.
|
|
23
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init resume)
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Parse JSON for: `state_exists`, `roadmap_exists`, `project_exists`, `planning_exists`, `has_interrupted_agent`, `interrupted_agent_id`, `commit_docs`.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Switch the model profile used by GSD agents. Controls which
|
|
2
|
+
Switch the model profile used by GSD agents. Controls which Codex model each agent uses, balancing quality vs token spend.
|
|
3
3
|
</purpose>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
@@ -23,8 +23,8 @@ if $ARGUMENTS.profile not in ["quality", "balanced", "budget"]:
|
|
|
23
23
|
Ensure config exists and load current state:
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
node ~/.
|
|
27
|
-
INIT=$(node ~/.
|
|
26
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs config-ensure-section
|
|
27
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs state load)
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
This creates `.planning/config.json` with defaults if missing and loads current config.
|
|
@@ -12,8 +12,8 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
12
12
|
Ensure config exists and load current state:
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
node ~/.
|
|
16
|
-
INIT=$(node ~/.
|
|
15
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs config-ensure-section
|
|
16
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs state load)
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Creates `.planning/config.json` with defaults if missing and loads current config values.
|
|
@@ -123,7 +123,7 @@ If found, delete them — phase is complete, handoffs are stale.
|
|
|
123
123
|
**Delegate ROADMAP.md and STATE.md updates to gsd-tools:**
|
|
124
124
|
|
|
125
125
|
```bash
|
|
126
|
-
TRANSITION=$(node ~/.
|
|
126
|
+
TRANSITION=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs phase complete "${current_phase}")
|
|
127
127
|
```
|
|
128
128
|
|
|
129
129
|
The CLI handles:
|
|
@@ -238,7 +238,7 @@ After (Phase 2 shipped JWT auth, discovered rate limiting needed):
|
|
|
238
238
|
Verify the updates are correct by reading STATE.md. If the progress bar needs updating, use:
|
|
239
239
|
|
|
240
240
|
```bash
|
|
241
|
-
PROGRESS=$(node ~/.
|
|
241
|
+
PROGRESS=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs progress bar --raw)
|
|
242
242
|
```
|
|
243
243
|
|
|
244
244
|
Update the progress bar line in STATE.md with the result.
|
|
@@ -347,7 +347,7 @@ The `next_phase` and `next_phase_name` fields give you the next phase details.
|
|
|
347
347
|
|
|
348
348
|
If you need additional context, use:
|
|
349
349
|
```bash
|
|
350
|
-
ROADMAP=$(node ~/.
|
|
350
|
+
ROADMAP=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap analyze)
|
|
351
351
|
```
|
|
352
352
|
|
|
353
353
|
This returns all phases with goals, disk status, and completion info.
|
|
@@ -14,11 +14,11 @@ Detect whether GSD is installed locally or globally by checking both locations:
|
|
|
14
14
|
```bash
|
|
15
15
|
# Check local first (takes priority)
|
|
16
16
|
# Paths templated at install time for runtime compatibility
|
|
17
|
-
if [ -f ./.
|
|
18
|
-
cat ./.
|
|
17
|
+
if [ -f ./.codex/get-shit-done/VERSION ]; then
|
|
18
|
+
cat ./.codex/get-shit-done/VERSION
|
|
19
19
|
echo "LOCAL"
|
|
20
|
-
elif [ -f ~/.
|
|
21
|
-
cat ~/.
|
|
20
|
+
elif [ -f ~/.codex/get-shit-done/VERSION ]; then
|
|
21
|
+
cat ~/.codex/get-shit-done/VERSION
|
|
22
22
|
echo "GLOBAL"
|
|
23
23
|
else
|
|
24
24
|
echo "UNKNOWN"
|
|
@@ -122,13 +122,13 @@ Exit.
|
|
|
122
122
|
- `get-shit-done/` will be wiped and replaced
|
|
123
123
|
- `agents/gsd-*` files will be replaced
|
|
124
124
|
|
|
125
|
-
(Paths are relative to your install location: `~/.
|
|
125
|
+
(Paths are relative to your install location: `~/.codex/` for global, `./.codex/` for local)
|
|
126
126
|
|
|
127
127
|
Your custom files in other locations are preserved:
|
|
128
128
|
- Custom commands not in `commands/gsd/` ✓
|
|
129
129
|
- Custom agents not prefixed with `gsd-` ✓
|
|
130
130
|
- Custom hooks ✓
|
|
131
|
-
- Your
|
|
131
|
+
- Your CODEX.md files ✓
|
|
132
132
|
|
|
133
133
|
If you've modified any GSD files directly, they'll be automatically backed up to `gsd-local-patches/` and can be reapplied with `/gsd:reapply-patches` after the update.
|
|
134
134
|
```
|
|
@@ -161,12 +161,12 @@ Clear the update cache so statusline indicator disappears:
|
|
|
161
161
|
|
|
162
162
|
**If LOCAL install:**
|
|
163
163
|
```bash
|
|
164
|
-
rm -f ./.
|
|
164
|
+
rm -f ./.codex/cache/gsd-update-check.json
|
|
165
165
|
```
|
|
166
166
|
|
|
167
167
|
**If GLOBAL install:**
|
|
168
168
|
```bash
|
|
169
|
-
rm -f ~/.
|
|
169
|
+
rm -f ~/.codex/cache/gsd-update-check.json
|
|
170
170
|
```
|
|
171
171
|
(Paths are templated at install time for runtime compatibility)
|
|
172
172
|
</step>
|
|
@@ -179,7 +179,7 @@ Format completion message (changelog was already shown in confirmation step):
|
|
|
179
179
|
║ GSD Updated: v1.5.10 → v1.5.15 ║
|
|
180
180
|
╚═══════════════════════════════════════════════════════════╝
|
|
181
181
|
|
|
182
|
-
⚠️ Restart
|
|
182
|
+
⚠️ Restart Codex CLI to pick up the new commands.
|
|
183
183
|
|
|
184
184
|
[View full changelog](https://github.com/glittercowboy/get-shit-done/blob/main/CHANGELOG.md)
|
|
185
185
|
```
|
|
@@ -18,8 +18,8 @@ Then verify each level against the actual codebase.
|
|
|
18
18
|
</core_principle>
|
|
19
19
|
|
|
20
20
|
<required_reading>
|
|
21
|
-
@~/.
|
|
22
|
-
@~/.
|
|
21
|
+
@~/.codex/get-shit-done/references/verification-patterns.md
|
|
22
|
+
@~/.codex/get-shit-done/templates/verification-report.md
|
|
23
23
|
</required_reading>
|
|
24
24
|
|
|
25
25
|
<process>
|
|
@@ -28,14 +28,14 @@ Then verify each level against the actual codebase.
|
|
|
28
28
|
Load phase operation context:
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
|
-
INIT=$(node ~/.
|
|
31
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init phase-op "${PHASE_ARG}")
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
Extract from init JSON: `phase_dir`, `phase_number`, `phase_name`, `has_plans`, `plan_count`.
|
|
35
35
|
|
|
36
36
|
Then load phase details and list plans/summaries:
|
|
37
37
|
```bash
|
|
38
|
-
node ~/.
|
|
38
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "${phase_number}"
|
|
39
39
|
grep -E "^| ${phase_number}" .planning/REQUIREMENTS.md 2>/dev/null
|
|
40
40
|
ls "$phase_dir"/*-SUMMARY.md "$phase_dir"/*-PLAN.md 2>/dev/null
|
|
41
41
|
```
|
|
@@ -50,7 +50,7 @@ Use gsd-tools to extract must_haves from each PLAN:
|
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
52
|
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
53
|
-
MUST_HAVES=$(node ~/.
|
|
53
|
+
MUST_HAVES=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs frontmatter get "$plan" --field must_haves)
|
|
54
54
|
echo "=== $plan ===" && echo "$MUST_HAVES"
|
|
55
55
|
done
|
|
56
56
|
```
|
|
@@ -64,7 +64,7 @@ Aggregate all must_haves across plans for phase-level verification.
|
|
|
64
64
|
If no must_haves in frontmatter (MUST_HAVES returns error or empty), check for Success Criteria:
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
PHASE_DATA=$(node ~/.
|
|
67
|
+
PHASE_DATA=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "${phase_number}" --raw)
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
Parse the `success_criteria` array from the JSON output. If non-empty:
|
|
@@ -100,7 +100,7 @@ Use gsd-tools for artifact verification against must_haves in each PLAN:
|
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
102
|
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
103
|
-
ARTIFACT_RESULT=$(node ~/.
|
|
103
|
+
ARTIFACT_RESULT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify artifacts "$plan")
|
|
104
104
|
echo "=== $plan ===" && echo "$ARTIFACT_RESULT"
|
|
105
105
|
done
|
|
106
106
|
```
|
|
@@ -132,7 +132,7 @@ Use gsd-tools for key link verification against must_haves in each PLAN:
|
|
|
132
132
|
|
|
133
133
|
```bash
|
|
134
134
|
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
135
|
-
LINKS_RESULT=$(node ~/.
|
|
135
|
+
LINKS_RESULT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify key-links "$plan")
|
|
136
136
|
echo "=== $plan ===" && echo "$LINKS_RESULT"
|
|
137
137
|
done
|
|
138
138
|
```
|
|
@@ -213,7 +213,7 @@ REPORT_PATH="$PHASE_DIR/${PHASE_NUM}-VERIFICATION.md"
|
|
|
213
213
|
|
|
214
214
|
Fill template sections: frontmatter (phase/timestamp/status/score), goal achievement, artifact table, wiring table, requirements coverage, anti-patterns, human verification, gaps summary, fix plans (if gaps_found), metadata.
|
|
215
215
|
|
|
216
|
-
See ~/.
|
|
216
|
+
See ~/.codex/get-shit-done/templates/verification-report.md for complete template.
|
|
217
217
|
</step>
|
|
218
218
|
|
|
219
219
|
<step name="return_to_orchestrator">
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<purpose>
|
|
2
2
|
Validate built features through conversational testing with persistent state. Creates UAT.md that tracks test progress, survives /clear, and feeds gaps into /gsd:plan-phase --gaps.
|
|
3
3
|
|
|
4
|
-
User tests,
|
|
4
|
+
User tests, Codex records. One test at a time. Plain text responses.
|
|
5
5
|
</purpose>
|
|
6
6
|
|
|
7
7
|
<philosophy>
|
|
8
8
|
**Show expected, ask if reality matches.**
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Codex presents what SHOULD happen. User confirms or describes what's different.
|
|
11
11
|
- "yes" / "y" / "next" / empty → pass
|
|
12
12
|
- Anything else → logged as issue, severity inferred
|
|
13
13
|
|
|
@@ -15,7 +15,7 @@ No Pass/Fail buttons. No severity questions. Just: "Here's what should happen. D
|
|
|
15
15
|
</philosophy>
|
|
16
16
|
|
|
17
17
|
<template>
|
|
18
|
-
@~/.
|
|
18
|
+
@~/.codex/get-shit-done/templates/UAT.md
|
|
19
19
|
</template>
|
|
20
20
|
|
|
21
21
|
<process>
|
|
@@ -24,7 +24,7 @@ No Pass/Fail buttons. No severity questions. Just: "Here's what should happen. D
|
|
|
24
24
|
If $ARGUMENTS contains a phase number, load context:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
INIT=$(node ~/.
|
|
27
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init verify-work "${PHASE_ARG}")
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Parse JSON for: `planner_model`, `checker_model`, `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `has_verification`.
|
|
@@ -292,7 +292,7 @@ Clear Current Test section:
|
|
|
292
292
|
|
|
293
293
|
Commit the UAT file:
|
|
294
294
|
```bash
|
|
295
|
-
node ~/.
|
|
295
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "test({phase_num}): complete UAT - {passed} passed, {issues} issues" --files ".planning/phases/XX-name/{phase_num}-UAT.md"
|
|
296
296
|
```
|
|
297
297
|
|
|
298
298
|
Present summary:
|
|
@@ -334,7 +334,7 @@ Spawning parallel debug agents to investigate each issue.
|
|
|
334
334
|
```
|
|
335
335
|
|
|
336
336
|
- Load diagnose-issues workflow
|
|
337
|
-
- Follow @~/.
|
|
337
|
+
- Follow @~/.codex/get-shit-done/workflows/diagnose-issues.md
|
|
338
338
|
- Spawn parallel debug agents for each issue
|
|
339
339
|
- Collect root causes
|
|
340
340
|
- Update UAT.md with root causes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@undeemed/get-shit-done-codex",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.3",
|
|
4
4
|
"description": "A meta-prompting, context engineering and spec-driven development system for OpenAI Codex (CLI and Desktop). Fork of get-shit-done by TÂCHES, adapted for Codex by undeemed.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"get-shit-done-codex": "bin/install.js"
|