@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
|
@@ -14,14 +14,14 @@ allowed-tools:
|
|
|
14
14
|
<objective>
|
|
15
15
|
Validate built features through conversational testing with persistent state.
|
|
16
16
|
|
|
17
|
-
Purpose: Confirm what
|
|
17
|
+
Purpose: Confirm what Codex built actually works from user's perspective. One test at a time, plain text responses, no interrogation. When issues are found, automatically diagnose, plan fixes, and prepare for execution.
|
|
18
18
|
|
|
19
19
|
Output: {phase_num}-UAT.md tracking all test results. If issues found: diagnosed gaps, verified fix plans ready for /gsd:execute-phase
|
|
20
20
|
</objective>
|
|
21
21
|
|
|
22
22
|
<execution_context>
|
|
23
|
-
@~/.
|
|
24
|
-
@~/.
|
|
23
|
+
@~/.codex/get-shit-done/workflows/verify-work.md
|
|
24
|
+
@~/.codex/get-shit-done/templates/UAT.md
|
|
25
25
|
</execution_context>
|
|
26
26
|
|
|
27
27
|
<context>
|
|
@@ -34,6 +34,6 @@ Phase: $ARGUMENTS (optional)
|
|
|
34
34
|
</context>
|
|
35
35
|
|
|
36
36
|
<process>
|
|
37
|
-
Execute the verify-work workflow from @~/.
|
|
37
|
+
Execute the verify-work workflow from @~/.codex/get-shit-done/workflows/verify-work.md end-to-end.
|
|
38
38
|
Preserve all workflow gates (session management, test presentation, diagnosis, fix planning, routing).
|
|
39
39
|
</process>
|
|
@@ -471,7 +471,7 @@ function output(result, raw, rawValue) {
|
|
|
471
471
|
process.stdout.write(String(rawValue));
|
|
472
472
|
} else {
|
|
473
473
|
const json = JSON.stringify(result, null, 2);
|
|
474
|
-
// Large payloads exceed
|
|
474
|
+
// Large payloads exceed Codex CLI's Bash tool buffer (~50KB).
|
|
475
475
|
// Write to tmpfile and output the path prefixed with @file: so callers can detect it.
|
|
476
476
|
if (json.length > 50000) {
|
|
477
477
|
const tmpPath = path.join(require('os').tmpdir(), `gsd-${Date.now()}.json`);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<overview>
|
|
2
2
|
Plans execute autonomously. Checkpoints formalize interaction points where human verification or decisions are needed.
|
|
3
3
|
|
|
4
|
-
**Core principle:**
|
|
4
|
+
**Core principle:** Codex automates everything with CLI/API. Checkpoints are for verification and decisions, not manual work.
|
|
5
5
|
|
|
6
6
|
**Golden rules:**
|
|
7
|
-
1. **If
|
|
8
|
-
2. **
|
|
7
|
+
1. **If Codex can run it, Codex runs it** - Never ask user to execute CLI commands, start servers, or run builds
|
|
8
|
+
2. **Codex sets up the verification environment** - Start dev servers, seed databases, configure env vars
|
|
9
9
|
3. **User only does what requires human judgment** - Visual checks, UX evaluation, "does this feel right?"
|
|
10
|
-
4. **Secrets come from user, automation comes from
|
|
10
|
+
4. **Secrets come from user, automation comes from Codex** - Ask for API keys, then Codex uses them via CLI
|
|
11
11
|
</overview>
|
|
12
12
|
|
|
13
13
|
<checkpoint_types>
|
|
@@ -15,7 +15,7 @@ Plans execute autonomously. Checkpoints formalize interaction points where human
|
|
|
15
15
|
<type name="human-verify">
|
|
16
16
|
## checkpoint:human-verify (Most Common - 90%)
|
|
17
17
|
|
|
18
|
-
**When:**
|
|
18
|
+
**When:** Codex completed automated work, human confirms it works correctly.
|
|
19
19
|
|
|
20
20
|
**Use for:**
|
|
21
21
|
- Visual UI checks (layout, styling, responsiveness)
|
|
@@ -28,7 +28,7 @@ Plans execute autonomously. Checkpoints formalize interaction points where human
|
|
|
28
28
|
**Structure:**
|
|
29
29
|
```xml
|
|
30
30
|
<task type="checkpoint:human-verify" gate="blocking">
|
|
31
|
-
<what-built>[What
|
|
31
|
+
<what-built>[What Codex automated and deployed/built]</what-built>
|
|
32
32
|
<how-to-verify>
|
|
33
33
|
[Exact steps to test - URLs, commands, expected behavior]
|
|
34
34
|
</how-to-verify>
|
|
@@ -36,7 +36,7 @@ Plans execute autonomously. Checkpoints formalize interaction points where human
|
|
|
36
36
|
</task>
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
**Example: UI Component (shows key pattern:
|
|
39
|
+
**Example: UI Component (shows key pattern: Codex starts server BEFORE checkpoint)**
|
|
40
40
|
```xml
|
|
41
41
|
<task type="auto">
|
|
42
42
|
<name>Build responsive dashboard layout</name>
|
|
@@ -184,10 +184,10 @@ Plans execute autonomously. Checkpoints formalize interaction points where human
|
|
|
184
184
|
<type name="human-action">
|
|
185
185
|
## checkpoint:human-action (1% - Rare)
|
|
186
186
|
|
|
187
|
-
**When:** Action has NO CLI/API and requires human-only interaction, OR
|
|
187
|
+
**When:** Action has NO CLI/API and requires human-only interaction, OR Codex hit an authentication gate during automation.
|
|
188
188
|
|
|
189
189
|
**Use ONLY for:**
|
|
190
|
-
- **Authentication gates** -
|
|
190
|
+
- **Authentication gates** - Codex tried CLI/API but needs credentials (this is NOT a failure)
|
|
191
191
|
- Email verification links (clicking email)
|
|
192
192
|
- SMS 2FA codes (phone verification)
|
|
193
193
|
- Manual account approvals (platform requires human review)
|
|
@@ -203,12 +203,12 @@ Plans execute autonomously. Checkpoints formalize interaction points where human
|
|
|
203
203
|
**Structure:**
|
|
204
204
|
```xml
|
|
205
205
|
<task type="checkpoint:human-action" gate="blocking">
|
|
206
|
-
<action>[What human must do -
|
|
206
|
+
<action>[What human must do - Codex already did everything automatable]</action>
|
|
207
207
|
<instructions>
|
|
208
|
-
[What
|
|
208
|
+
[What Codex already automated]
|
|
209
209
|
[The ONE thing requiring human action]
|
|
210
210
|
</instructions>
|
|
211
|
-
<verification>[What
|
|
211
|
+
<verification>[What Codex can check afterward]</verification>
|
|
212
212
|
<resume-signal>[How to continue]</resume-signal>
|
|
213
213
|
</task>
|
|
214
214
|
```
|
|
@@ -242,7 +242,7 @@ Plans execute autonomously. Checkpoints formalize interaction points where human
|
|
|
242
242
|
<verify>vercel ls shows deployment, curl returns 200</verify>
|
|
243
243
|
</task>
|
|
244
244
|
|
|
245
|
-
<!-- If vercel returns "Error: Not authenticated",
|
|
245
|
+
<!-- If vercel returns "Error: Not authenticated", Codex creates checkpoint on the fly -->
|
|
246
246
|
|
|
247
247
|
<task type="checkpoint:human-action" gate="blocking">
|
|
248
248
|
<action>Authenticate Vercel CLI so I can continue deployment</action>
|
|
@@ -255,7 +255,7 @@ Plans execute autonomously. Checkpoints formalize interaction points where human
|
|
|
255
255
|
<resume-signal>Type "done" when authenticated</resume-signal>
|
|
256
256
|
</task>
|
|
257
257
|
|
|
258
|
-
<!-- After authentication,
|
|
258
|
+
<!-- After authentication, Codex retries the deployment -->
|
|
259
259
|
|
|
260
260
|
<task type="auto">
|
|
261
261
|
<name>Retry Vercel deployment</name>
|
|
@@ -264,13 +264,13 @@ Plans execute autonomously. Checkpoints formalize interaction points where human
|
|
|
264
264
|
</task>
|
|
265
265
|
```
|
|
266
266
|
|
|
267
|
-
**Key distinction:** Auth gates are created dynamically when
|
|
267
|
+
**Key distinction:** Auth gates are created dynamically when Codex encounters auth errors. NOT pre-planned — Codex automates first, asks for credentials only when blocked.
|
|
268
268
|
</type>
|
|
269
269
|
</checkpoint_types>
|
|
270
270
|
|
|
271
271
|
<execution_protocol>
|
|
272
272
|
|
|
273
|
-
When
|
|
273
|
+
When Codex encounters `type="checkpoint:*"`:
|
|
274
274
|
|
|
275
275
|
1. **Stop immediately** - do not proceed to next task
|
|
276
276
|
2. **Display checkpoint clearly** using the format below
|
|
@@ -358,9 +358,9 @@ I'll verify: vercel whoami returns your account
|
|
|
358
358
|
|
|
359
359
|
<authentication_gates>
|
|
360
360
|
|
|
361
|
-
**Auth gate =
|
|
361
|
+
**Auth gate = Codex tried CLI/API, got auth error.** Not a failure — a gate requiring human input to unblock.
|
|
362
362
|
|
|
363
|
-
**Pattern:**
|
|
363
|
+
**Pattern:** Codex tries automation → auth error → creates checkpoint:human-action → user authenticates → Codex retries → continues
|
|
364
364
|
|
|
365
365
|
**Gate protocol:**
|
|
366
366
|
1. Recognize it's not a failure - missing auth is expected
|
|
@@ -372,14 +372,14 @@ I'll verify: vercel whoami returns your account
|
|
|
372
372
|
7. Continue normally
|
|
373
373
|
|
|
374
374
|
**Key distinction:**
|
|
375
|
-
- Pre-planned checkpoint: "I need you to do X" (wrong -
|
|
375
|
+
- Pre-planned checkpoint: "I need you to do X" (wrong - Codex should automate)
|
|
376
376
|
- Auth gate: "I tried to automate X but need credentials" (correct - unblocks automation)
|
|
377
377
|
|
|
378
378
|
</authentication_gates>
|
|
379
379
|
|
|
380
380
|
<automation_reference>
|
|
381
381
|
|
|
382
|
-
**The rule:** If it has CLI/API,
|
|
382
|
+
**The rule:** If it has CLI/API, Codex does it. Never ask human to perform automatable work.
|
|
383
383
|
|
|
384
384
|
## Service CLI Reference
|
|
385
385
|
|
|
@@ -419,7 +419,7 @@ I'll verify: vercel whoami returns your account
|
|
|
419
419
|
<instructions>Go to dashboard.convex.dev → Settings → Environment Variables → Add</instructions>
|
|
420
420
|
</task>
|
|
421
421
|
|
|
422
|
-
<!-- RIGHT:
|
|
422
|
+
<!-- RIGHT: Codex asks for value, then adds via CLI -->
|
|
423
423
|
<task type="checkpoint:human-action">
|
|
424
424
|
<action>Provide your OpenAI API key</action>
|
|
425
425
|
<instructions>
|
|
@@ -512,7 +512,7 @@ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; d
|
|
|
512
512
|
|
|
513
513
|
## Automatable Quick Reference
|
|
514
514
|
|
|
515
|
-
| Action | Automatable? |
|
|
515
|
+
| Action | Automatable? | Codex does it? |
|
|
516
516
|
|--------|--------------|-----------------|
|
|
517
517
|
| Deploy to Vercel | Yes (`vercel`) | YES |
|
|
518
518
|
| Create Stripe webhook | Yes (API) | YES |
|
|
@@ -541,13 +541,13 @@ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; d
|
|
|
541
541
|
- Provide context: why this checkpoint exists
|
|
542
542
|
|
|
543
543
|
**DON'T:**
|
|
544
|
-
- Ask human to do work
|
|
544
|
+
- Ask human to do work Codex can automate ❌
|
|
545
545
|
- Assume knowledge: "Configure the usual settings" ❌
|
|
546
546
|
- Skip steps: "Set up database" (too vague) ❌
|
|
547
547
|
- Mix multiple verifications in one checkpoint ❌
|
|
548
548
|
|
|
549
549
|
**Placement:**
|
|
550
|
-
- **After automation completes** - not before
|
|
550
|
+
- **After automation completes** - not before Codex does the work
|
|
551
551
|
- **After UI buildout** - before declaring phase complete
|
|
552
552
|
- **Before dependent work** - decisions before implementation
|
|
553
553
|
- **At integration points** - after configuring external services
|
|
@@ -577,7 +577,7 @@ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; d
|
|
|
577
577
|
<done>Redis database created and configured</done>
|
|
578
578
|
</task>
|
|
579
579
|
|
|
580
|
-
<!-- NO CHECKPOINT NEEDED -
|
|
580
|
+
<!-- NO CHECKPOINT NEEDED - Codex automated everything and verified programmatically -->
|
|
581
581
|
```
|
|
582
582
|
|
|
583
583
|
### Example 2: Full Auth Flow (Single checkpoint at end)
|
|
@@ -642,9 +642,9 @@ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; d
|
|
|
642
642
|
</task>
|
|
643
643
|
```
|
|
644
644
|
|
|
645
|
-
**Why bad:**
|
|
645
|
+
**Why bad:** Codex can run `npm run dev`. User should only visit URLs, not execute commands.
|
|
646
646
|
|
|
647
|
-
### ✅ GOOD:
|
|
647
|
+
### ✅ GOOD: Codex starts server, user visits
|
|
648
648
|
|
|
649
649
|
```xml
|
|
650
650
|
<task type="auto">
|
|
@@ -663,7 +663,7 @@ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; d
|
|
|
663
663
|
</task>
|
|
664
664
|
```
|
|
665
665
|
|
|
666
|
-
### ❌ BAD: Asking human to deploy / ✅ GOOD:
|
|
666
|
+
### ❌ BAD: Asking human to deploy / ✅ GOOD: Codex automates
|
|
667
667
|
|
|
668
668
|
```xml
|
|
669
669
|
<!-- BAD: Asking user to deploy via dashboard -->
|
|
@@ -672,7 +672,7 @@ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; d
|
|
|
672
672
|
<instructions>Visit vercel.com/new → Import repo → Click Deploy → Copy URL</instructions>
|
|
673
673
|
</task>
|
|
674
674
|
|
|
675
|
-
<!-- GOOD:
|
|
675
|
+
<!-- GOOD: Codex deploys, user verifies -->
|
|
676
676
|
<task type="auto">
|
|
677
677
|
<name>Deploy to Vercel</name>
|
|
678
678
|
<action>Run `vercel --yes`. Capture URL.</action>
|
|
@@ -741,7 +741,7 @@ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; d
|
|
|
741
741
|
</task>
|
|
742
742
|
```
|
|
743
743
|
|
|
744
|
-
**Why bad:**
|
|
744
|
+
**Why bad:** Codex can run these commands. User should never execute CLI commands.
|
|
745
745
|
|
|
746
746
|
### ❌ BAD: Asking user to copy values between services
|
|
747
747
|
|
|
@@ -752,7 +752,7 @@ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; d
|
|
|
752
752
|
</task>
|
|
753
753
|
```
|
|
754
754
|
|
|
755
|
-
**Why bad:** Stripe has an API.
|
|
755
|
+
**Why bad:** Stripe has an API. Codex should create the webhook via API and write to .env directly.
|
|
756
756
|
|
|
757
757
|
</anti_patterns>
|
|
758
758
|
|
|
@@ -760,16 +760,16 @@ timeout 30 bash -c 'until curl -s localhost:3000 > /dev/null 2>&1; do sleep 1; d
|
|
|
760
760
|
|
|
761
761
|
Checkpoints formalize human-in-the-loop points for verification and decisions, not manual work.
|
|
762
762
|
|
|
763
|
-
**The golden rule:** If
|
|
763
|
+
**The golden rule:** If Codex CAN automate it, Codex MUST automate it.
|
|
764
764
|
|
|
765
765
|
**Checkpoint priority:**
|
|
766
|
-
1. **checkpoint:human-verify** (90%) -
|
|
766
|
+
1. **checkpoint:human-verify** (90%) - Codex automated everything, human confirms visual/functional correctness
|
|
767
767
|
2. **checkpoint:decision** (9%) - Human makes architectural/technology choices
|
|
768
768
|
3. **checkpoint:human-action** (1%) - Truly unavoidable manual steps with no API/CLI
|
|
769
769
|
|
|
770
770
|
**When NOT to use checkpoints:**
|
|
771
|
-
- Things
|
|
772
|
-
- File operations (
|
|
771
|
+
- Things Codex can verify programmatically (tests, builds)
|
|
772
|
+
- File operations (Codex can read files)
|
|
773
773
|
- Code correctness (tests and static analysis)
|
|
774
774
|
- Anything automatable via CLI/API
|
|
775
775
|
</summary>
|
|
@@ -6,7 +6,7 @@ Calculate the next decimal phase number for urgent insertions.
|
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# Get next decimal phase after phase 6
|
|
9
|
-
node ~/.
|
|
9
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs phase next-decimal 6
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
Output:
|
|
@@ -32,14 +32,14 @@ With existing decimals:
|
|
|
32
32
|
## Extract Values
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
DECIMAL_INFO=$(node ~/.
|
|
35
|
+
DECIMAL_INFO=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs phase next-decimal "${AFTER_PHASE}")
|
|
36
36
|
DECIMAL_PHASE=$(echo "$DECIMAL_INFO" | jq -r '.next')
|
|
37
37
|
BASE_PHASE=$(echo "$DECIMAL_INFO" | jq -r '.base_phase')
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
Or with --raw flag:
|
|
41
41
|
```bash
|
|
42
|
-
DECIMAL_PHASE=$(node ~/.
|
|
42
|
+
DECIMAL_PHASE=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs phase next-decimal "${AFTER_PHASE}" --raw)
|
|
43
43
|
# Returns just: 06.1
|
|
44
44
|
```
|
|
45
45
|
|
|
@@ -57,7 +57,7 @@ DECIMAL_PHASE=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs phase next-decima
|
|
|
57
57
|
Decimal phase directories use the full decimal number:
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
|
-
SLUG=$(node ~/.
|
|
60
|
+
SLUG=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs generate-slug "$DESCRIPTION" --raw)
|
|
61
61
|
PHASE_DIR=".planning/phases/${DECIMAL_PHASE}-${SLUG}"
|
|
62
62
|
mkdir -p "$PHASE_DIR"
|
|
63
63
|
```
|
|
@@ -51,7 +51,7 @@ Phases:
|
|
|
51
51
|
What to commit:
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
node ~/.
|
|
54
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs: initialize [project-name] ([N] phases)" --files .planning/
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
</format>
|
|
@@ -129,7 +129,7 @@ SUMMARY: .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md
|
|
|
129
129
|
What to commit:
|
|
130
130
|
|
|
131
131
|
```bash
|
|
132
|
-
node ~/.
|
|
132
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-PLAN.md .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md
|
|
133
133
|
```
|
|
134
134
|
|
|
135
135
|
**Note:** Code files NOT included - already committed per-task.
|
|
@@ -149,7 +149,7 @@ Current: [task name]
|
|
|
149
149
|
What to commit:
|
|
150
150
|
|
|
151
151
|
```bash
|
|
152
|
-
node ~/.
|
|
152
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "wip: [phase-name] paused at task [X]/[Y]" --files .planning/
|
|
153
153
|
```
|
|
154
154
|
|
|
155
155
|
</format>
|
|
@@ -225,14 +225,14 @@ Each plan produces 2-4 commits (tasks + metadata). Clear, granular, bisectable.
|
|
|
225
225
|
## Why Per-Task Commits?
|
|
226
226
|
|
|
227
227
|
**Context engineering for AI:**
|
|
228
|
-
- Git history becomes primary context source for future
|
|
228
|
+
- Git history becomes primary context source for future Codex sessions
|
|
229
229
|
- `git log --grep="{phase}-{plan}"` shows all work for a plan
|
|
230
230
|
- `git diff <hash>^..<hash>` shows exact changes per task
|
|
231
231
|
- Less reliance on parsing SUMMARY.md = more context for actual work
|
|
232
232
|
|
|
233
233
|
**Failure recovery:**
|
|
234
234
|
- Task 1 committed ✅, Task 2 failed ❌
|
|
235
|
-
-
|
|
235
|
+
- Codex in next session: sees task 1 complete, can retry task 2
|
|
236
236
|
- Can `git reset --hard` to last successful task
|
|
237
237
|
|
|
238
238
|
**Debugging:**
|
|
@@ -241,8 +241,8 @@ Each plan produces 2-4 commits (tasks + metadata). Clear, granular, bisectable.
|
|
|
241
241
|
- Each commit is independently revertable
|
|
242
242
|
|
|
243
243
|
**Observability:**
|
|
244
|
-
- Solo developer +
|
|
244
|
+
- Solo developer + Codex workflow benefits from granular attribution
|
|
245
245
|
- Atomic commits are git best practice
|
|
246
|
-
- "Commit noise" irrelevant when consumer is
|
|
246
|
+
- "Commit noise" irrelevant when consumer is Codex, not humans
|
|
247
247
|
|
|
248
248
|
</commit_strategy_rationale>
|
|
@@ -7,7 +7,7 @@ Commit planning artifacts using the gsd-tools CLI, which automatically checks `c
|
|
|
7
7
|
Always use `gsd-tools.cjs commit` for `.planning/` files — it handles `commit_docs` and gitignore checks automatically:
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
node ~/.
|
|
10
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs({scope}): {description}" --files .planning/STATE.md .planning/ROADMAP.md
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
The CLI will return `skipped` (with reason) if `commit_docs` is `false` or `.planning/` is gitignored. No manual conditional checks needed.
|
|
@@ -17,7 +17,7 @@ The CLI will return `skipped` (with reason) if `commit_docs` is `false` or `.pla
|
|
|
17
17
|
To fold `.planning/` file changes into the previous commit:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
node ~/.
|
|
20
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "" --files .planning/codebase/*.md --amend
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
## Commit Message Patterns
|
|
@@ -12,7 +12,7 @@ Default: `balanced` if not set or config missing.
|
|
|
12
12
|
|
|
13
13
|
## Lookup Table
|
|
14
14
|
|
|
15
|
-
@~/.
|
|
15
|
+
@~/.codex/get-shit-done/references/model-profiles.md
|
|
16
16
|
|
|
17
17
|
Look up the agent in the table for the resolved profile. Pass the model parameter to Task calls:
|
|
18
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Model Profiles
|
|
2
2
|
|
|
3
|
-
Model profiles control which
|
|
3
|
+
Model profiles control which Codex model each GSD agent uses. This allows balancing quality vs token spend.
|
|
4
4
|
|
|
5
5
|
## Profile Definitions
|
|
6
6
|
|
|
@@ -89,4 +89,4 @@ Verification requires goal-backward reasoning - checking if code *delivers* what
|
|
|
89
89
|
Read-only exploration and pattern extraction. No reasoning required, just structured output from file contents.
|
|
90
90
|
|
|
91
91
|
**Why `inherit` instead of passing `opus` directly?**
|
|
92
|
-
|
|
92
|
+
Codex CLI's `"opus"` alias maps to a specific model version. Organizations may block older opus versions while allowing newer ones. GSD returns `"inherit"` for opus-tier agents, causing them to use whatever opus version the user has configured in their session. This avoids version conflicts and silent fallbacks to Sonnet.
|
|
@@ -14,7 +14,7 @@ From `$ARGUMENTS`:
|
|
|
14
14
|
The `find-phase` command handles normalization and validation in one step:
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
|
-
PHASE_INFO=$(node ~/.
|
|
17
|
+
PHASE_INFO=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs find-phase "${PHASE}")
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Returns JSON with:
|
|
@@ -45,7 +45,7 @@ fi
|
|
|
45
45
|
Use `roadmap get-phase` to validate phase exists:
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
|
-
PHASE_CHECK=$(node ~/.
|
|
48
|
+
PHASE_CHECK=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "${PHASE}")
|
|
49
49
|
if [ "$(echo "$PHASE_CHECK" | jq -r '.found')" = "false" ]; then
|
|
50
50
|
echo "ERROR: Phase ${PHASE} not found in roadmap"
|
|
51
51
|
exit 1
|
|
@@ -57,5 +57,5 @@ fi
|
|
|
57
57
|
Use `find-phase` for directory lookup:
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
|
-
PHASE_DIR=$(node ~/.
|
|
60
|
+
PHASE_DIR=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs find-phase "${PHASE}" --raw)
|
|
61
61
|
```
|
|
@@ -40,14 +40,14 @@ Configuration options for `.planning/` directory behavior.
|
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
42
|
# Commit with automatic commit_docs + gitignore checks:
|
|
43
|
-
node ~/.
|
|
43
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs: update state" --files .planning/STATE.md
|
|
44
44
|
|
|
45
45
|
# Load config via state load (returns JSON):
|
|
46
|
-
INIT=$(node ~/.
|
|
46
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs state load)
|
|
47
47
|
# commit_docs is available in the JSON output
|
|
48
48
|
|
|
49
49
|
# Or use init commands which include commit_docs:
|
|
50
|
-
INIT=$(node ~/.
|
|
50
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init execute-phase "1")
|
|
51
51
|
# commit_docs is included in all init command outputs
|
|
52
52
|
```
|
|
53
53
|
|
|
@@ -56,7 +56,7 @@ INIT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs init execute-phase "1")
|
|
|
56
56
|
**Commit via CLI (handles checks automatically):**
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
|
-
node ~/.
|
|
59
|
+
node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs: update state" --files .planning/STATE.md
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
The CLI checks `commit_docs` config and gitignore status internally — no manual conditionals needed.
|
|
@@ -144,13 +144,13 @@ To use uncommitted mode:
|
|
|
144
144
|
|
|
145
145
|
Use `init execute-phase` which returns all config as JSON:
|
|
146
146
|
```bash
|
|
147
|
-
INIT=$(node ~/.
|
|
147
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init execute-phase "1")
|
|
148
148
|
# JSON output includes: branching_strategy, phase_branch_template, milestone_branch_template
|
|
149
149
|
```
|
|
150
150
|
|
|
151
151
|
Or use `state load` for the config values:
|
|
152
152
|
```bash
|
|
153
|
-
INIT=$(node ~/.
|
|
153
|
+
INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs state load)
|
|
154
154
|
# Parse branching_strategy, phase_branch_template, milestone_branch_template from JSON
|
|
155
155
|
```
|
|
156
156
|
|
|
@@ -138,7 +138,7 @@ Loop until "Create PROJECT.md" selected.
|
|
|
138
138
|
- **Rushing** — Minimizing questions to get to "the work"
|
|
139
139
|
- **Shallow acceptance** — Taking vague answers without probing
|
|
140
140
|
- **Premature constraints** — Asking about tech stack before understanding the idea
|
|
141
|
-
- **User skills** — NEVER ask about user's technical experience.
|
|
141
|
+
- **User skills** — NEVER ask about user's technical experience. Codex builds.
|
|
142
142
|
|
|
143
143
|
</anti_patterns>
|
|
144
144
|
|
|
@@ -600,10 +600,10 @@ Some things can't be verified programmatically. Flag these for human testing:
|
|
|
600
600
|
|
|
601
601
|
For automation-first checkpoint patterns, server lifecycle management, CLI installation handling, and error recovery protocols, see:
|
|
602
602
|
|
|
603
|
-
**@~/.
|
|
603
|
+
**@~/.codex/get-shit-done/references/checkpoints.md** → `<automation_reference>` section
|
|
604
604
|
|
|
605
605
|
Key principles:
|
|
606
|
-
-
|
|
606
|
+
- Codex sets up verification environment BEFORE presenting checkpoints
|
|
607
607
|
- Users never run CLI commands (visit URLs only)
|
|
608
608
|
- Server lifecycle: start before checkpoint, handle port conflicts, keep running for duration
|
|
609
609
|
- CLI installation: auto-install where safe, checkpoint for user choice otherwise
|
|
@@ -67,8 +67,8 @@ files_changed: []
|
|
|
67
67
|
|
|
68
68
|
**Current Focus:**
|
|
69
69
|
- OVERWRITE entirely on each update
|
|
70
|
-
- Always reflects what
|
|
71
|
-
- If
|
|
70
|
+
- Always reflects what Codex is doing RIGHT NOW
|
|
71
|
+
- If Codex reads this after /clear, it knows exactly where to resume
|
|
72
72
|
- Fields: hypothesis, test, expecting, next_action
|
|
73
73
|
|
|
74
74
|
**Symptoms:**
|
|
@@ -135,7 +135,7 @@ files_changed: []
|
|
|
135
135
|
|
|
136
136
|
<resume_behavior>
|
|
137
137
|
|
|
138
|
-
When
|
|
138
|
+
When Codex reads this file after /clear:
|
|
139
139
|
|
|
140
140
|
1. Parse frontmatter → know status
|
|
141
141
|
2. Read Current Focus → know exactly what was happening
|
|
@@ -143,7 +143,7 @@ When Claude reads this file after /clear:
|
|
|
143
143
|
4. Read Evidence → know what's been learned
|
|
144
144
|
5. Continue from next_action
|
|
145
145
|
|
|
146
|
-
The file IS the debugging brain.
|
|
146
|
+
The file IS the debugging brain. Codex should be able to resume perfectly from any interruption point.
|
|
147
147
|
|
|
148
148
|
</resume_behavior>
|
|
149
149
|
|
|
@@ -238,7 +238,7 @@ Template for `.planning/codebase/ARCHITECTURE.md` - captures conceptual code org
|
|
|
238
238
|
- Implementation details of specific features
|
|
239
239
|
|
|
240
240
|
**File paths ARE welcome:**
|
|
241
|
-
Include file paths as concrete examples of abstractions. Use backtick formatting: `src/services/user.ts`. This makes the architecture document actionable for
|
|
241
|
+
Include file paths as concrete examples of abstractions. Use backtick formatting: `src/services/user.ts`. This makes the architecture document actionable for Codex when planning.
|
|
242
242
|
|
|
243
243
|
**When filling this template:**
|
|
244
244
|
- Read main entry points (index, server, main)
|
|
@@ -302,7 +302,7 @@ Template for `.planning/codebase/CONCERNS.md` - captures known issues and areas
|
|
|
302
302
|
- Estimating risk of changes
|
|
303
303
|
- Understanding where to be careful
|
|
304
304
|
- Prioritizing improvements
|
|
305
|
-
- Onboarding new
|
|
305
|
+
- Onboarding new Codex contexts
|
|
306
306
|
- Planning refactoring work
|
|
307
307
|
|
|
308
308
|
**How this gets populated:**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Template for `.planning/codebase/CONVENTIONS.md` - captures coding style and patterns.
|
|
4
4
|
|
|
5
|
-
**Purpose:** Document how code is written in this codebase. Prescriptive guide for
|
|
5
|
+
**Purpose:** Document how code is written in this codebase. Prescriptive guide for Codex to match existing style.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -146,7 +146,7 @@ get-shit-done/
|
|
|
146
146
|
- Subdirectories: None
|
|
147
147
|
|
|
148
148
|
**commands/gsd/**
|
|
149
|
-
- Purpose: Slash command definitions for
|
|
149
|
+
- Purpose: Slash command definitions for Codex CLI
|
|
150
150
|
- Contains: *.md files (one per command)
|
|
151
151
|
- Key files: new-project.md, plan-phase.md, execute-plan.md
|
|
152
152
|
- Subdirectories: None (flat structure)
|
|
@@ -186,14 +186,14 @@ get-shit-done/
|
|
|
186
186
|
|
|
187
187
|
**Documentation:**
|
|
188
188
|
- `README.md` - User-facing installation and usage guide
|
|
189
|
-
- `
|
|
189
|
+
- `CODEX.md` - Instructions for Codex CLI when working in this repo
|
|
190
190
|
|
|
191
191
|
## Naming Conventions
|
|
192
192
|
|
|
193
193
|
**Files:**
|
|
194
194
|
- kebab-case.md: Markdown documents
|
|
195
195
|
- kebab-case.js: JavaScript source files
|
|
196
|
-
- UPPERCASE.md: Important project files (README,
|
|
196
|
+
- UPPERCASE.md: Important project files (README, CODEX, CHANGELOG)
|
|
197
197
|
|
|
198
198
|
**Directories:**
|
|
199
199
|
- kebab-case: All directories
|
|
@@ -216,7 +216,7 @@ get-shit-done/
|
|
|
216
216
|
|
|
217
217
|
**New Workflow:**
|
|
218
218
|
- Implementation: `get-shit-done/workflows/{name}.md`
|
|
219
|
-
- Usage: Reference from command with `@~/.
|
|
219
|
+
- Usage: Reference from command with `@~/.codex/get-shit-done/workflows/{name}.md`
|
|
220
220
|
|
|
221
221
|
**New Reference Document:**
|
|
222
222
|
- Implementation: `get-shit-done/references/{name}.md`
|
|
@@ -229,12 +229,12 @@ get-shit-done/
|
|
|
229
229
|
## Special Directories
|
|
230
230
|
|
|
231
231
|
**get-shit-done/**
|
|
232
|
-
- Purpose: Resources installed to ~/.
|
|
232
|
+
- Purpose: Resources installed to ~/.codex/
|
|
233
233
|
- Source: Copied by bin/install.js during installation
|
|
234
234
|
- Committed: Yes (source of truth)
|
|
235
235
|
|
|
236
236
|
**commands/**
|
|
237
|
-
- Purpose: Slash commands installed to ~/.
|
|
237
|
+
- Purpose: Slash commands installed to ~/.codex/commands/
|
|
238
238
|
- Source: Copied by bin/install.js during installation
|
|
239
239
|
- Committed: Yes (source of truth)
|
|
240
240
|
|