@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
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ get-shit-done-codex (GSD) solves context rot — the quality degradation that ha
|
|
|
19
19
|
## Installation
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
npx @undeemed/get-shit-done-codex
|
|
22
|
+
npx @undeemed/get-shit-done-codex@latest
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
You'll be prompted to install globally (`~/.codex/`) or locally (`./`).
|
|
@@ -45,6 +45,20 @@ npx @undeemed/get-shit-done-codex@latest --global
|
|
|
45
45
|
|
|
46
46
|
The installer now writes a `get-shit-done/VERSION` file so `/prompts:gsd-update` can detect installed vs latest and show changelog before updating.
|
|
47
47
|
|
|
48
|
+
## npm Trusted Publisher (OIDC)
|
|
49
|
+
|
|
50
|
+
This repo includes a GitHub Actions publish workflow at:
|
|
51
|
+
|
|
52
|
+
- `.github/workflows/publish.yml`
|
|
53
|
+
|
|
54
|
+
When setting up npm Trusted Publisher for this package, use:
|
|
55
|
+
|
|
56
|
+
- **Publisher:** `GitHub Actions`
|
|
57
|
+
- **Organization or user:** `undeemed`
|
|
58
|
+
- **Repository:** `get-shit-done-codex`
|
|
59
|
+
- **Workflow filename:** `publish.yml`
|
|
60
|
+
- **Environment name:** leave blank (unless you later bind this workflow to a specific GitHub Environment)
|
|
61
|
+
|
|
48
62
|
## Quick Start
|
|
49
63
|
|
|
50
64
|
```bash
|
|
@@ -184,10 +198,10 @@ The original repository contains:
|
|
|
184
198
|
- Best practices and examples
|
|
185
199
|
- Architecture and design principles
|
|
186
200
|
|
|
187
|
-
**Note:** The original README is written for
|
|
201
|
+
**Note:** The original README is written for Codex CLI. When following it, remember that this fork uses:
|
|
188
202
|
- `/prompts:gsd-*` command format (instead of `/gsd:*`)
|
|
189
|
-
- Codex CLI (instead of
|
|
190
|
-
- `~/.codex/` directory (instead of `~/.
|
|
203
|
+
- Codex CLI (instead of Codex CLI)
|
|
204
|
+
- `~/.codex/` directory (instead of `~/.codex/`)
|
|
191
205
|
|
|
192
206
|
## Credits
|
|
193
207
|
|
|
@@ -55,13 +55,13 @@ Your job: Explore thoroughly, then write document(s) directly. Return confirmati
|
|
|
55
55
|
Include enough detail to be useful as reference. A 200-line TESTING.md with real patterns is more valuable than a 74-line summary.
|
|
56
56
|
|
|
57
57
|
**Always include file paths:**
|
|
58
|
-
Vague descriptions like "UserService handles users" are not actionable. Always include actual file paths formatted with backticks: `src/services/user.ts`. This allows
|
|
58
|
+
Vague descriptions like "UserService handles users" are not actionable. Always include actual file paths formatted with backticks: `src/services/user.ts`. This allows Codex to navigate directly to relevant code.
|
|
59
59
|
|
|
60
60
|
**Write current state only:**
|
|
61
61
|
Describe only what IS, never what WAS or what you considered. No temporal language.
|
|
62
62
|
|
|
63
63
|
**Be prescriptive, not descriptive:**
|
|
64
|
-
Your documents guide future
|
|
64
|
+
Your documents guide future Codex instances writing code. "Use X pattern" is more useful than "X pattern is used."
|
|
65
65
|
</philosophy>
|
|
66
66
|
|
|
67
67
|
<process>
|
package/agents/gsd-debugger.md
CHANGED
|
@@ -24,7 +24,7 @@ Your job: Find the root cause through hypothesis testing, maintain debug file st
|
|
|
24
24
|
|
|
25
25
|
<philosophy>
|
|
26
26
|
|
|
27
|
-
## User = Reporter,
|
|
27
|
+
## User = Reporter, Codex = Investigator
|
|
28
28
|
|
|
29
29
|
The user knows:
|
|
30
30
|
- What they expected to happen
|
|
@@ -982,7 +982,7 @@ mv .planning/debug/{slug}.md .planning/debug/resolved/
|
|
|
982
982
|
**Check planning config using state load (commit_docs is available from the output):**
|
|
983
983
|
|
|
984
984
|
```bash
|
|
985
|
-
INIT=$(node ~/.
|
|
985
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs state load)
|
|
986
986
|
# commit_docs is in the JSON output
|
|
987
987
|
```
|
|
988
988
|
|
|
@@ -999,7 +999,7 @@ Root cause: {root_cause}"
|
|
|
999
999
|
|
|
1000
1000
|
Then commit planning docs via CLI (respects `commit_docs` config automatically):
|
|
1001
1001
|
```bash
|
|
1002
|
-
node ~/.
|
|
1002
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs: resolve debug {slug}" --files .planning/debug/resolved/{slug}.md
|
|
1003
1003
|
```
|
|
1004
1004
|
|
|
1005
1005
|
Report completion and offer next steps.
|
package/agents/gsd-executor.md
CHANGED
|
@@ -19,7 +19,7 @@ Your job: Execute the plan completely, commit each task, create SUMMARY.md, upda
|
|
|
19
19
|
Load execution context:
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
INIT=$(node ~/.
|
|
22
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init execute-phase "${PHASE}")
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
Extract from init JSON: `executor_model`, `commit_docs`, `phase_dir`, `plans`, `incomplete_plans`.
|
|
@@ -175,9 +175,9 @@ Track auto-fix attempts per task. After 3 auto-fix attempts on a single task:
|
|
|
175
175
|
Before any `checkpoint:human-verify`, ensure verification environment is ready. If plan lacks server startup before checkpoint, ADD ONE (deviation Rule 3).
|
|
176
176
|
|
|
177
177
|
For full automation-first patterns, server lifecycle, CLI handling:
|
|
178
|
-
**See @~/.
|
|
178
|
+
**See @~/.codex/get-shit-done/references/checkpoints.md**
|
|
179
179
|
|
|
180
|
-
**Quick reference:** Users NEVER run CLI commands. Users ONLY visit URLs, click UI, evaluate visuals, provide secrets.
|
|
180
|
+
**Quick reference:** Users NEVER run CLI commands. Users ONLY visit URLs, click UI, evaluate visuals, provide secrets. Codex does all automation.
|
|
181
181
|
|
|
182
182
|
---
|
|
183
183
|
|
|
@@ -290,7 +290,7 @@ After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.planning/phase
|
|
|
290
290
|
|
|
291
291
|
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
|
|
292
292
|
|
|
293
|
-
**Use template:** @~/.
|
|
293
|
+
**Use template:** @~/.codex/get-shit-done/templates/summary.md
|
|
294
294
|
|
|
295
295
|
**Frontmatter:** phase, plan, subsystem, tags, dependency graph (requires/provides/affects), tech-stack (added/patterns), key-files (created/modified), decisions, metrics (duration, completed date).
|
|
296
296
|
|
|
@@ -343,24 +343,24 @@ After SUMMARY.md, update STATE.md using gsd-tools:
|
|
|
343
343
|
|
|
344
344
|
```bash
|
|
345
345
|
# Advance plan counter (handles edge cases automatically)
|
|
346
|
-
node ~/.
|
|
346
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs state advance-plan
|
|
347
347
|
|
|
348
348
|
# Recalculate progress bar from disk state
|
|
349
|
-
node ~/.
|
|
349
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs state update-progress
|
|
350
350
|
|
|
351
351
|
# Record execution metrics
|
|
352
|
-
node ~/.
|
|
352
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs state record-metric \
|
|
353
353
|
--phase "${PHASE}" --plan "${PLAN}" --duration "${DURATION}" \
|
|
354
354
|
--tasks "${TASK_COUNT}" --files "${FILE_COUNT}"
|
|
355
355
|
|
|
356
356
|
# Add decisions (extract from SUMMARY.md key-decisions)
|
|
357
357
|
for decision in "${DECISIONS[@]}"; do
|
|
358
|
-
node ~/.
|
|
358
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs state add-decision \
|
|
359
359
|
--phase "${PHASE}" --summary "${decision}"
|
|
360
360
|
done
|
|
361
361
|
|
|
362
362
|
# Update session info
|
|
363
|
-
node ~/.
|
|
363
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs state record-session \
|
|
364
364
|
--stopped-at "Completed ${PHASE}-${PLAN}-PLAN.md"
|
|
365
365
|
```
|
|
366
366
|
|
|
@@ -375,13 +375,13 @@ node ~/.claude/get-shit-done/bin/gsd-tools.cjs state record-session \
|
|
|
375
375
|
|
|
376
376
|
**For blockers found during execution:**
|
|
377
377
|
```bash
|
|
378
|
-
node ~/.
|
|
378
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs state add-blocker "Blocker description"
|
|
379
379
|
```
|
|
380
380
|
</state_updates>
|
|
381
381
|
|
|
382
382
|
<final_commit>
|
|
383
383
|
```bash
|
|
384
|
-
node ~/.
|
|
384
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md
|
|
385
385
|
```
|
|
386
386
|
|
|
387
387
|
Separate from per-task commits — captures execution results only.
|
|
@@ -24,7 +24,7 @@ Spawned by `/gsd:plan-phase` (integrated) or `/gsd:research-phase` (standalone).
|
|
|
24
24
|
| Section | How You Use It |
|
|
25
25
|
|---------|----------------|
|
|
26
26
|
| `## Decisions` | Locked choices — research THESE, not alternatives |
|
|
27
|
-
| `##
|
|
27
|
+
| `## Codex's Discretion` | Your freedom areas — research options, recommend |
|
|
28
28
|
| `## Deferred Ideas` | Out of scope — ignore completely |
|
|
29
29
|
|
|
30
30
|
If CONTEXT.md exists, it constrains your research scope. Don't explore alternatives to locked decisions.
|
|
@@ -49,11 +49,11 @@ Your RESEARCH.md is consumed by `gsd-planner`:
|
|
|
49
49
|
|
|
50
50
|
<philosophy>
|
|
51
51
|
|
|
52
|
-
##
|
|
52
|
+
## Codex's Training as Hypothesis
|
|
53
53
|
|
|
54
54
|
Training data is 6-18 months stale. Treat pre-existing knowledge as hypothesis, not fact.
|
|
55
55
|
|
|
56
|
-
**The trap:**
|
|
56
|
+
**The trap:** Codex "knows" things confidently, but knowledge may be outdated, incomplete, or wrong.
|
|
57
57
|
|
|
58
58
|
**The discipline:**
|
|
59
59
|
1. **Verify before asserting** — don't state library capabilities without checking Context7 or official docs
|
|
@@ -102,7 +102,7 @@ When researching "best library for X": find what the ecosystem actually uses, do
|
|
|
102
102
|
Check `brave_search` from init context. If `true`, use Brave Search for higher quality results:
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
|
-
node ~/.
|
|
105
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs websearch "your query" --limit 10
|
|
106
106
|
```
|
|
107
107
|
|
|
108
108
|
**Options:**
|
|
@@ -311,7 +311,7 @@ Orchestrator provides: phase number/name, description/goal, requirements, constr
|
|
|
311
311
|
|
|
312
312
|
Load phase context using init command:
|
|
313
313
|
```bash
|
|
314
|
-
INIT=$(node ~/.
|
|
314
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init phase-op "${PHASE}")
|
|
315
315
|
```
|
|
316
316
|
|
|
317
317
|
Extract from init JSON: `phase_dir`, `padded_phase`, `phase_number`, `commit_docs`.
|
|
@@ -326,13 +326,13 @@ cat "$phase_dir"/*-CONTEXT.md 2>/dev/null
|
|
|
326
326
|
| Section | Constraint |
|
|
327
327
|
|---------|------------|
|
|
328
328
|
| **Decisions** | Locked — research THESE deeply, no alternatives |
|
|
329
|
-
| **
|
|
329
|
+
| **Codex's Discretion** | Research options, make recommendations |
|
|
330
330
|
| **Deferred Ideas** | Out of scope — ignore completely |
|
|
331
331
|
|
|
332
332
|
**Examples:**
|
|
333
333
|
- User decided "use library X" → research X deeply, don't explore alternatives
|
|
334
334
|
- User decided "simple UI, no animations" → don't research animation libraries
|
|
335
|
-
- Marked as
|
|
335
|
+
- Marked as Codex's discretion → research options and recommend
|
|
336
336
|
|
|
337
337
|
## Step 2: Identify Research Domains
|
|
338
338
|
|
|
@@ -369,8 +369,8 @@ For each domain: Context7 first → Official docs → WebSearch → Cross-verify
|
|
|
369
369
|
### Locked Decisions
|
|
370
370
|
[Copy verbatim from CONTEXT.md ## Decisions]
|
|
371
371
|
|
|
372
|
-
###
|
|
373
|
-
[Copy verbatim from CONTEXT.md ##
|
|
372
|
+
### Codex's Discretion
|
|
373
|
+
[Copy verbatim from CONTEXT.md ## Codex's Discretion]
|
|
374
374
|
|
|
375
375
|
### Deferred Ideas (OUT OF SCOPE)
|
|
376
376
|
[Copy verbatim from CONTEXT.md ## Deferred Ideas]
|
|
@@ -384,7 +384,7 @@ Write to: `$PHASE_DIR/$PADDED_PHASE-RESEARCH.md`
|
|
|
384
384
|
## Step 6: Commit Research (optional)
|
|
385
385
|
|
|
386
386
|
```bash
|
|
387
|
-
node ~/.
|
|
387
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs($PHASE): research phase domain" --files "$PHASE_DIR/$PADDED_PHASE-RESEARCH.md"
|
|
388
388
|
```
|
|
389
389
|
|
|
390
390
|
## Step 7: Return Structured Result
|
|
@@ -29,7 +29,7 @@ You are NOT the executor or verifier — you verify plans WILL work before execu
|
|
|
29
29
|
| Section | How You Use It |
|
|
30
30
|
|---------|----------------|
|
|
31
31
|
| `## Decisions` | LOCKED — plans MUST implement these exactly. Flag if contradicted. |
|
|
32
|
-
| `##
|
|
32
|
+
| `## Codex's Discretion` | Freedom areas — planner can choose approach, don't flag. |
|
|
33
33
|
| `## Deferred Ideas` | Out of scope — plans must NOT include these. Flag if present. |
|
|
34
34
|
|
|
35
35
|
If CONTEXT.md exists, add verification dimension: **Context Compliance**
|
|
@@ -255,7 +255,7 @@ issue:
|
|
|
255
255
|
**Only check if CONTEXT.md was provided in the verification context.**
|
|
256
256
|
|
|
257
257
|
**Process:**
|
|
258
|
-
1. Parse CONTEXT.md sections: Decisions,
|
|
258
|
+
1. Parse CONTEXT.md sections: Decisions, Codex's Discretion, Deferred Ideas
|
|
259
259
|
2. For each locked Decision, find implementing task(s)
|
|
260
260
|
3. Verify no tasks implement Deferred Ideas (scope creep)
|
|
261
261
|
4. Verify Discretion areas are handled (planner's choice is valid)
|
|
@@ -299,7 +299,7 @@ issue:
|
|
|
299
299
|
|
|
300
300
|
Load phase operation context:
|
|
301
301
|
```bash
|
|
302
|
-
INIT=$(node ~/.
|
|
302
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init phase-op "${PHASE_ARG}")
|
|
303
303
|
```
|
|
304
304
|
|
|
305
305
|
Extract from init JSON: `phase_dir`, `phase_number`, `has_plans`, `plan_count`.
|
|
@@ -308,7 +308,7 @@ Orchestrator provides CONTEXT.md content in the verification prompt. If provided
|
|
|
308
308
|
|
|
309
309
|
```bash
|
|
310
310
|
ls "$phase_dir"/*-PLAN.md 2>/dev/null
|
|
311
|
-
node ~/.
|
|
311
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$phase_number"
|
|
312
312
|
ls "$phase_dir"/*-BRIEF.md 2>/dev/null
|
|
313
313
|
```
|
|
314
314
|
|
|
@@ -321,7 +321,7 @@ Use gsd-tools to validate plan structure:
|
|
|
321
321
|
```bash
|
|
322
322
|
for plan in "$PHASE_DIR"/*-PLAN.md; do
|
|
323
323
|
echo "=== $plan ==="
|
|
324
|
-
PLAN_STRUCTURE=$(node ~/.
|
|
324
|
+
PLAN_STRUCTURE=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify plan-structure "$plan")
|
|
325
325
|
echo "$PLAN_STRUCTURE"
|
|
326
326
|
done
|
|
327
327
|
```
|
|
@@ -339,7 +339,7 @@ Map errors/warnings to verification dimensions:
|
|
|
339
339
|
Extract must_haves from each plan using gsd-tools:
|
|
340
340
|
|
|
341
341
|
```bash
|
|
342
|
-
MUST_HAVES=$(node ~/.
|
|
342
|
+
MUST_HAVES=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs frontmatter get "$PLAN_PATH" --field must_haves)
|
|
343
343
|
```
|
|
344
344
|
|
|
345
345
|
Returns JSON: `{ truths: [...], artifacts: [...], key_links: [...] }`
|
|
@@ -382,7 +382,7 @@ For each requirement: find covering task(s), verify action is specific, flag gap
|
|
|
382
382
|
Use gsd-tools plan-structure verification (already run in Step 2):
|
|
383
383
|
|
|
384
384
|
```bash
|
|
385
|
-
PLAN_STRUCTURE=$(node ~/.
|
|
385
|
+
PLAN_STRUCTURE=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify plan-structure "$PLAN_PATH")
|
|
386
386
|
```
|
|
387
387
|
|
|
388
388
|
The `tasks` array in the result shows each task's completeness:
|
package/agents/gsd-planner.md
CHANGED
|
@@ -13,7 +13,7 @@ Spawned by:
|
|
|
13
13
|
- `/gsd:plan-phase --gaps` orchestrator (gap closure from verification failures)
|
|
14
14
|
- `/gsd:plan-phase` in revision mode (updating plans based on checker feedback)
|
|
15
15
|
|
|
16
|
-
Your job: Produce PLAN.md files that
|
|
16
|
+
Your job: Produce PLAN.md files that Codex executors can implement without interpretation. Plans are prompts, not documents that become prompts.
|
|
17
17
|
|
|
18
18
|
**Core responsibilities:**
|
|
19
19
|
- **FIRST: Parse and honor user decisions from CONTEXT.md** (locked decisions are NON-NEGOTIABLE)
|
|
@@ -41,7 +41,7 @@ The orchestrator provides user decisions in `<user_decisions>` tags from `/gsd:d
|
|
|
41
41
|
- If user deferred "search functionality" → NO search tasks allowed
|
|
42
42
|
- If user deferred "dark mode" → NO dark mode tasks allowed
|
|
43
43
|
|
|
44
|
-
3. **
|
|
44
|
+
3. **Codex's Discretion (from `## Codex's Discretion`)** — Use your judgment
|
|
45
45
|
- Make reasonable choices and document in task actions
|
|
46
46
|
|
|
47
47
|
**Self-check before returning:** For each plan, verify:
|
|
@@ -56,12 +56,12 @@ The orchestrator provides user decisions in `<user_decisions>` tags from `/gsd:d
|
|
|
56
56
|
|
|
57
57
|
<philosophy>
|
|
58
58
|
|
|
59
|
-
## Solo Developer +
|
|
59
|
+
## Solo Developer + Codex Workflow
|
|
60
60
|
|
|
61
|
-
Planning for ONE person (the user) and ONE implementer (
|
|
61
|
+
Planning for ONE person (the user) and ONE implementer (Codex).
|
|
62
62
|
- No teams, stakeholders, ceremonies, coordination overhead
|
|
63
|
-
- User = visionary/product owner,
|
|
64
|
-
- Estimate effort in
|
|
63
|
+
- User = visionary/product owner, Codex = builder
|
|
64
|
+
- Estimate effort in Codex execution time, not human dev time
|
|
65
65
|
|
|
66
66
|
## Plans Are Prompts
|
|
67
67
|
|
|
@@ -73,7 +73,7 @@ PLAN.md IS the prompt (not a document that becomes one). Contains:
|
|
|
73
73
|
|
|
74
74
|
## Quality Degradation Curve
|
|
75
75
|
|
|
76
|
-
| Context Usage | Quality |
|
|
76
|
+
| Context Usage | Quality | Codex's State |
|
|
77
77
|
|---------------|---------|----------------|
|
|
78
78
|
| 0-30% | PEAK | Thorough, comprehensive |
|
|
79
79
|
| 30-50% | GOOD | Confident, solid work |
|
|
@@ -151,16 +151,16 @@ Every task has four required fields:
|
|
|
151
151
|
|
|
152
152
|
| Type | Use For | Autonomy |
|
|
153
153
|
|------|---------|----------|
|
|
154
|
-
| `auto` | Everything
|
|
154
|
+
| `auto` | Everything Codex can do independently | Fully autonomous |
|
|
155
155
|
| `checkpoint:human-verify` | Visual/functional verification | Pauses for user |
|
|
156
156
|
| `checkpoint:decision` | Implementation choices | Pauses for user |
|
|
157
157
|
| `checkpoint:human-action` | Truly unavoidable manual steps (rare) | Pauses for user |
|
|
158
158
|
|
|
159
|
-
**Automation-first rule:** If
|
|
159
|
+
**Automation-first rule:** If Codex CAN do it via CLI/API, Codex MUST do it. Checkpoints verify AFTER automation, not replace it.
|
|
160
160
|
|
|
161
161
|
## Task Sizing
|
|
162
162
|
|
|
163
|
-
Each task: **15-60 minutes**
|
|
163
|
+
Each task: **15-60 minutes** Codex execution time.
|
|
164
164
|
|
|
165
165
|
| Duration | Action |
|
|
166
166
|
|----------|--------|
|
|
@@ -182,7 +182,7 @@ Each task: **15-60 minutes** Claude execution time.
|
|
|
182
182
|
| "Handle errors" | "Wrap API calls in try/catch, return {error: string} on 4xx/5xx, show toast via sonner on client" |
|
|
183
183
|
| "Set up the database" | "Add User and Project models to schema.prisma with UUID ids, email unique constraint, createdAt/updatedAt timestamps, run prisma db push" |
|
|
184
184
|
|
|
185
|
-
**Test:** Could a different
|
|
185
|
+
**Test:** Could a different Codex instance execute without asking clarifying questions? If not, add specificity.
|
|
186
186
|
|
|
187
187
|
## TDD Detection
|
|
188
188
|
|
|
@@ -207,7 +207,7 @@ For each external service, determine:
|
|
|
207
207
|
2. **Account setup** — Does user need to create an account?
|
|
208
208
|
3. **Dashboard config** — What must be configured in external UI?
|
|
209
209
|
|
|
210
|
-
Record in `user_setup` frontmatter. Only include what
|
|
210
|
+
Record in `user_setup` frontmatter. Only include what Codex literally cannot do. Do NOT surface in planning output — execute-plan handles presentation.
|
|
211
211
|
|
|
212
212
|
</task_breakdown>
|
|
213
213
|
|
|
@@ -361,8 +361,8 @@ Output: [Artifacts created]
|
|
|
361
361
|
</objective>
|
|
362
362
|
|
|
363
363
|
<execution_context>
|
|
364
|
-
@~/.
|
|
365
|
-
@~/.
|
|
364
|
+
@~/.codex/get-shit-done/workflows/execute-plan.md
|
|
365
|
+
@~/.codex/get-shit-done/templates/summary.md
|
|
366
366
|
</execution_context>
|
|
367
367
|
|
|
368
368
|
<context>
|
|
@@ -437,7 +437,7 @@ user_setup:
|
|
|
437
437
|
location: "Stripe Dashboard -> Developers -> Webhooks"
|
|
438
438
|
```
|
|
439
439
|
|
|
440
|
-
Only include what
|
|
440
|
+
Only include what Codex literally cannot do.
|
|
441
441
|
|
|
442
442
|
</plan_format>
|
|
443
443
|
|
|
@@ -545,13 +545,13 @@ must_haves:
|
|
|
545
545
|
## Checkpoint Types
|
|
546
546
|
|
|
547
547
|
**checkpoint:human-verify (90% of checkpoints)**
|
|
548
|
-
Human confirms
|
|
548
|
+
Human confirms Codex's automated work works correctly.
|
|
549
549
|
|
|
550
550
|
Use for: Visual UI checks, interactive flows, functional verification, animation/accessibility.
|
|
551
551
|
|
|
552
552
|
```xml
|
|
553
553
|
<task type="checkpoint:human-verify" gate="blocking">
|
|
554
|
-
<what-built>[What
|
|
554
|
+
<what-built>[What Codex automated]</what-built>
|
|
555
555
|
<how-to-verify>
|
|
556
556
|
[Exact steps to test - URLs, commands, expected behavior]
|
|
557
557
|
</how-to-verify>
|
|
@@ -588,13 +588,13 @@ Do NOT use for: Deploying (use CLI), creating webhooks (use API), creating datab
|
|
|
588
588
|
|
|
589
589
|
## Authentication Gates
|
|
590
590
|
|
|
591
|
-
When
|
|
591
|
+
When Codex tries CLI/API and gets auth error → creates checkpoint → user authenticates → Codex retries. Auth gates are created dynamically, NOT pre-planned.
|
|
592
592
|
|
|
593
593
|
## Writing Guidelines
|
|
594
594
|
|
|
595
595
|
**DO:** Automate everything before checkpoint, be specific ("Visit https://myapp.vercel.app" not "check deployment"), number verification steps, state expected outcomes.
|
|
596
596
|
|
|
597
|
-
**DON'T:** Ask human to do work
|
|
597
|
+
**DON'T:** Ask human to do work Codex can automate, mix multiple verifications, place checkpoints before automation completes.
|
|
598
598
|
|
|
599
599
|
## Anti-Patterns
|
|
600
600
|
|
|
@@ -605,7 +605,7 @@ When Claude tries CLI/API and gets auth error → creates checkpoint → user au
|
|
|
605
605
|
<instructions>Visit vercel.com, import repo, click deploy...</instructions>
|
|
606
606
|
</task>
|
|
607
607
|
```
|
|
608
|
-
Why bad: Vercel has a CLI.
|
|
608
|
+
Why bad: Vercel has a CLI. Codex should run `vercel --yes`.
|
|
609
609
|
|
|
610
610
|
**Bad - Too many checkpoints:**
|
|
611
611
|
```xml
|
|
@@ -794,7 +794,7 @@ Group by plan, dimension, severity.
|
|
|
794
794
|
### Step 6: Commit
|
|
795
795
|
|
|
796
796
|
```bash
|
|
797
|
-
node ~/.
|
|
797
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "fix($PHASE): revise plans based on checker feedback" --files .planning/phases/$PHASE-*/$PHASE-*-PLAN.md
|
|
798
798
|
```
|
|
799
799
|
|
|
800
800
|
### Step 7: Return Revision Summary
|
|
@@ -833,7 +833,7 @@ node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "fix($PHASE): revise plans
|
|
|
833
833
|
Load planning context:
|
|
834
834
|
|
|
835
835
|
```bash
|
|
836
|
-
INIT=$(node ~/.
|
|
836
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init plan-phase "${PHASE}")
|
|
837
837
|
```
|
|
838
838
|
|
|
839
839
|
Extract from init JSON: `planner_model`, `researcher_model`, `checker_model`, `commit_docs`, `research_enabled`, `phase_dir`, `phase_number`, `has_research`, `has_context`.
|
|
@@ -889,7 +889,7 @@ Apply discovery level protocol (see discovery_levels section).
|
|
|
889
889
|
|
|
890
890
|
**Step 1 — Generate digest index:**
|
|
891
891
|
```bash
|
|
892
|
-
node ~/.
|
|
892
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs history-digest
|
|
893
893
|
```
|
|
894
894
|
|
|
895
895
|
**Step 2 — Select relevant phases (typically 2-4):**
|
|
@@ -1007,7 +1007,7 @@ Include all frontmatter fields.
|
|
|
1007
1007
|
Validate each created PLAN.md using gsd-tools:
|
|
1008
1008
|
|
|
1009
1009
|
```bash
|
|
1010
|
-
VALID=$(node ~/.
|
|
1010
|
+
VALID=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs frontmatter validate "$PLAN_PATH" --schema plan)
|
|
1011
1011
|
```
|
|
1012
1012
|
|
|
1013
1013
|
Returns JSON: `{ valid, missing, present, schema }`
|
|
@@ -1020,7 +1020,7 @@ Required plan frontmatter fields:
|
|
|
1020
1020
|
Also validate plan structure:
|
|
1021
1021
|
|
|
1022
1022
|
```bash
|
|
1023
|
-
STRUCTURE=$(node ~/.
|
|
1023
|
+
STRUCTURE=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify plan-structure "$PLAN_PATH")
|
|
1024
1024
|
```
|
|
1025
1025
|
|
|
1026
1026
|
Returns JSON: `{ valid, errors, warnings, task_count, tasks }`
|
|
@@ -1057,7 +1057,7 @@ Plans:
|
|
|
1057
1057
|
|
|
1058
1058
|
<step name="git_commit">
|
|
1059
1059
|
```bash
|
|
1060
|
-
node ~/.
|
|
1060
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs($PHASE): create phase plan" --files .planning/phases/$PHASE-*/$PHASE-*-PLAN.md .planning/ROADMAP.md
|
|
1061
1061
|
```
|
|
1062
1062
|
</step>
|
|
1063
1063
|
|
|
@@ -27,7 +27,7 @@ Your files feed the roadmap:
|
|
|
27
27
|
|
|
28
28
|
## Training Data = Hypothesis
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
Codex's training is 6-18 months stale. Knowledge may be outdated, incomplete, or wrong.
|
|
31
31
|
|
|
32
32
|
**Discipline:**
|
|
33
33
|
1. **Verify before asserting** — check Context7 or official docs before stating capabilities
|
|
@@ -96,7 +96,7 @@ Always include current year. Use multiple query variations. Mark WebSearch-only
|
|
|
96
96
|
Check `brave_search` from orchestrator context. If `true`, use Brave Search for higher quality results:
|
|
97
97
|
|
|
98
98
|
```bash
|
|
99
|
-
node ~/.
|
|
99
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs websearch "your query" --limit 10
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
**Options:**
|
|
@@ -119,7 +119,7 @@ Identify gaps that couldn't be resolved and need attention during planning.
|
|
|
119
119
|
|
|
120
120
|
## Step 6: Write SUMMARY.md
|
|
121
121
|
|
|
122
|
-
Use template: ~/.
|
|
122
|
+
Use template: ~/.codex/get-shit-done/templates/research-project/SUMMARY.md
|
|
123
123
|
|
|
124
124
|
Write to `.planning/research/SUMMARY.md`
|
|
125
125
|
|
|
@@ -128,7 +128,7 @@ Write to `.planning/research/SUMMARY.md`
|
|
|
128
128
|
The 4 parallel researcher agents write files but do NOT commit. You commit everything together.
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
|
-
node ~/.
|
|
131
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs: complete project research" --files .planning/research/
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
## Step 8: Return Summary
|
|
@@ -139,7 +139,7 @@ Return brief confirmation with key points for the orchestrator.
|
|
|
139
139
|
|
|
140
140
|
<output_format>
|
|
141
141
|
|
|
142
|
-
Use template: ~/.
|
|
142
|
+
Use template: ~/.codex/get-shit-done/templates/research-project/SUMMARY.md
|
|
143
143
|
|
|
144
144
|
Key sections:
|
|
145
145
|
- Executive Summary (2-3 paragraphs)
|
package/agents/gsd-roadmapper.md
CHANGED
|
@@ -38,12 +38,12 @@ Your ROADMAP.md is consumed by `/gsd:plan-phase` which uses it to:
|
|
|
38
38
|
|
|
39
39
|
<philosophy>
|
|
40
40
|
|
|
41
|
-
## Solo Developer +
|
|
41
|
+
## Solo Developer + Codex Workflow
|
|
42
42
|
|
|
43
|
-
You are roadmapping for ONE person (the user) and ONE implementer (
|
|
43
|
+
You are roadmapping for ONE person (the user) and ONE implementer (Codex).
|
|
44
44
|
- No teams, stakeholders, sprints, resource allocation
|
|
45
45
|
- User is the visionary/product owner
|
|
46
|
-
-
|
|
46
|
+
- Codex is the builder
|
|
47
47
|
- Phases are buckets of work, not project management artifacts
|
|
48
48
|
|
|
49
49
|
## Anti-Enterprise
|
|
@@ -325,11 +325,11 @@ After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:
|
|
|
325
325
|
| 2. Name | 0/2 | Not started | - |
|
|
326
326
|
```
|
|
327
327
|
|
|
328
|
-
Reference full template: `~/.
|
|
328
|
+
Reference full template: `~/.codex/get-shit-done/templates/roadmap.md`
|
|
329
329
|
|
|
330
330
|
## STATE.md Structure
|
|
331
331
|
|
|
332
|
-
Use template from `~/.
|
|
332
|
+
Use template from `~/.codex/get-shit-done/templates/state.md`.
|
|
333
333
|
|
|
334
334
|
Key sections:
|
|
335
335
|
- Project Reference (core value, current focus)
|
package/agents/gsd-verifier.md
CHANGED
|
@@ -10,7 +10,7 @@ You are a GSD phase verifier. You verify that a phase achieved its GOAL, not jus
|
|
|
10
10
|
|
|
11
11
|
Your job: Goal-backward verification. Start from what the phase SHOULD deliver, verify it actually exists and works in the codebase.
|
|
12
12
|
|
|
13
|
-
**Critical mindset:** Do NOT trust SUMMARY.md claims. SUMMARYs document what
|
|
13
|
+
**Critical mindset:** Do NOT trust SUMMARY.md claims. SUMMARYs document what Codex SAID it did. You verify what ACTUALLY exists in the code. These often differ.
|
|
14
14
|
</role>
|
|
15
15
|
|
|
16
16
|
<core_principle>
|
|
@@ -54,7 +54,7 @@ Set `is_re_verification = false`, proceed with Step 1.
|
|
|
54
54
|
```bash
|
|
55
55
|
ls "$PHASE_DIR"/*-PLAN.md 2>/dev/null
|
|
56
56
|
ls "$PHASE_DIR"/*-SUMMARY.md 2>/dev/null
|
|
57
|
-
node ~/.
|
|
57
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$PHASE_NUM"
|
|
58
58
|
grep -E "^| $PHASE_NUM" .planning/REQUIREMENTS.md 2>/dev/null
|
|
59
59
|
```
|
|
60
60
|
|
|
@@ -91,7 +91,7 @@ must_haves:
|
|
|
91
91
|
If no must_haves in frontmatter, check for Success Criteria:
|
|
92
92
|
|
|
93
93
|
```bash
|
|
94
|
-
PHASE_DATA=$(node ~/.
|
|
94
|
+
PHASE_DATA=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$PHASE_NUM" --raw)
|
|
95
95
|
```
|
|
96
96
|
|
|
97
97
|
Parse the `success_criteria` array from the JSON output. If non-empty:
|
|
@@ -134,7 +134,7 @@ For each truth:
|
|
|
134
134
|
Use gsd-tools for artifact verification against must_haves in PLAN frontmatter:
|
|
135
135
|
|
|
136
136
|
```bash
|
|
137
|
-
ARTIFACT_RESULT=$(node ~/.
|
|
137
|
+
ARTIFACT_RESULT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify artifacts "$PLAN_PATH")
|
|
138
138
|
```
|
|
139
139
|
|
|
140
140
|
Parse JSON result: `{ all_passed, passed, total, artifacts: [{path, exists, issues, passed}] }`
|
|
@@ -183,7 +183,7 @@ Key links are critical connections. If broken, the goal fails even with all arti
|
|
|
183
183
|
Use gsd-tools for key link verification against must_haves in PLAN frontmatter:
|
|
184
184
|
|
|
185
185
|
```bash
|
|
186
|
-
LINKS_RESULT=$(node ~/.
|
|
186
|
+
LINKS_RESULT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify key-links "$PLAN_PATH")
|
|
187
187
|
```
|
|
188
188
|
|
|
189
189
|
Parse JSON result: `{ all_verified, verified, total, links: [{from, to, via, verified, detail}] }`
|
|
@@ -251,12 +251,12 @@ Identify files modified in this phase from SUMMARY.md key-files section, or extr
|
|
|
251
251
|
|
|
252
252
|
```bash
|
|
253
253
|
# Option 1: Extract from SUMMARY frontmatter
|
|
254
|
-
SUMMARY_FILES=$(node ~/.
|
|
254
|
+
SUMMARY_FILES=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs summary-extract "$PHASE_DIR"/*-SUMMARY.md --fields key-files)
|
|
255
255
|
|
|
256
256
|
# Option 2: Verify commits exist (if commit hashes documented)
|
|
257
257
|
COMMIT_HASHES=$(grep -oE "[a-f0-9]{7,40}" "$PHASE_DIR"/*-SUMMARY.md | head -10)
|
|
258
258
|
if [ -n "$COMMIT_HASHES" ]; then
|
|
259
|
-
COMMITS_VALID=$(node ~/.
|
|
259
|
+
COMMITS_VALID=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify commits $COMMIT_HASHES)
|
|
260
260
|
fi
|
|
261
261
|
|
|
262
262
|
# Fallback: grep for files
|
|
@@ -415,7 +415,7 @@ human_verification: # Only if status: human_needed
|
|
|
415
415
|
---
|
|
416
416
|
|
|
417
417
|
_Verified: {timestamp}_
|
|
418
|
-
_Verifier:
|
|
418
|
+
_Verifier: Codex (gsd-verifier)_
|
|
419
419
|
```
|
|
420
420
|
|
|
421
421
|
## Return to Orchestrator
|