gsd-codex-cli 1.20.4 → 1.20.5

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.
@@ -12,10 +12,11 @@ Add phase to end of current milestone in roadmap
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ Add phase to end of current milestone in roadmap
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse <description> from the user input.
38
37
  2. Run init:
39
- node $GsdTools init phase-op "0" --raw
38
+ node <gsd-tools-path> init phase-op "0" --raw
40
39
 
41
40
  3. Load .claude/get-shit-done/workflows/add-phase.md and execute it step-by-step.
42
41
  4. Translate each Task(...) in workflow into:
@@ -44,7 +43,7 @@ node $GsdTools init phase-op "0" --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output
@@ -12,10 +12,11 @@ Capture idea or task as todo from current conversation context
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ Capture idea or task as todo from current conversation context
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse [optional description] from the user input.
38
37
  2. Run init:
39
- node $GsdTools init todos $ARG --raw
38
+ node <gsd-tools-path> init todos [argument] --raw
40
39
 
41
40
  3. Load .claude/get-shit-done/workflows/add-todo.md and execute it step-by-step.
42
41
  4. Translate each Task(...) in workflow into:
@@ -44,7 +43,7 @@ node $GsdTools init todos $ARG --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output
@@ -12,10 +12,11 @@ Audit milestone completion against original intent before archiving
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ Audit milestone completion against original intent before archiving
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse "[version]" from the user input.
38
37
  2. Run init:
39
- node $GsdTools init milestone-op --raw
38
+ node <gsd-tools-path> init milestone-op --raw
40
39
 
41
40
  3. Load .claude/get-shit-done/workflows/audit-milestone.md and execute it step-by-step.
42
41
  4. Translate each Task(...) in workflow into:
@@ -44,7 +43,7 @@ node $GsdTools init milestone-op --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output
@@ -12,10 +12,11 @@ List pending todos and select one to work on
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ List pending todos and select one to work on
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse [area filter] from the user input.
38
37
  2. Run init:
39
- node $GsdTools init todos $ARG --raw
38
+ node <gsd-tools-path> init todos [argument] --raw
40
39
 
41
40
  3. Load .claude/get-shit-done/workflows/check-todos.md and execute it step-by-step.
42
41
  4. Translate each Task(...) in workflow into:
@@ -44,7 +43,7 @@ node $GsdTools init todos $ARG --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output
@@ -12,10 +12,11 @@ Archive completed milestone and prepare for next version
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ Archive completed milestone and prepare for next version
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse <version> from the user input.
38
37
  2. Run init:
39
- node $GsdTools init execute-phase "1" --raw
38
+ node <gsd-tools-path> init execute-phase "1" --raw
40
39
 
41
40
  3. Load .claude/get-shit-done/workflows/complete-milestone.md and execute it step-by-step.
42
41
  4. Translate each Task(...) in workflow into:
@@ -44,7 +43,7 @@ node $GsdTools init execute-phase "1" --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output
@@ -12,10 +12,11 @@ Systematic debugging with persistent state across context resets
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ Systematic debugging with persistent state across context resets
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse [issue description] from the user input.
38
37
  2. Run init:
39
- node $GsdTools state load --raw
38
+ node <gsd-tools-path> state load --raw
40
39
 
41
40
  3. Execute the debug flow defined in this command (no separate workflow file exists in the gsd commands set).
42
41
  4. Translate each Task(...) in the debug flow into:
@@ -44,7 +43,7 @@ node $GsdTools state load --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. Checkpoint handling:
49
48
  - If an active debug session exists and no new issue was provided, list open sessions and ask the user which to resume.
50
49
  - If a checkpoint is returned by the debugger, summarize the checkpoint and continue only after user confirmation.
@@ -12,10 +12,11 @@ Gather phase context through adaptive questioning before planning
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ Gather phase context through adaptive questioning before planning
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse "<phase>" from the user input.
38
37
  2. Run init:
39
- node $GsdTools init phase-op $ARG --raw
38
+ node <gsd-tools-path> init phase-op [argument] --raw
40
39
 
41
40
  3. Load .claude/get-shit-done/workflows/discuss-phase.md and execute it step-by-step.
42
41
  4. Translate each Task(...) in workflow into:
@@ -44,10 +43,10 @@ node $GsdTools init phase-op $ARG --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output
51
50
  - Summarize key artifacts created/updated.
52
- - Next recommended command: `gsd-plan-phase $PHASE` (Codex) / `/gsd:plan-phase $PHASE` (Claude)
51
+ - Next recommended command: `gsd-plan-phase [phase]` (Codex) / `/gsd:plan-phase [phase]` (Claude)
53
52
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -19,10 +19,10 @@ Run these checks and then present a compact table: `check | status | details | f
19
19
  ### Versions
20
20
  - Codex fork installed version (first match wins):
21
21
  - `.codex/gsd/VERSION`
22
- - `$HOME/.codex/gsd/VERSION`
22
+ - `~/.codex/gsd/VERSION`
23
23
  - Claude engine installed version (first match wins):
24
24
  - `.claude/get-shit-done/VERSION`
25
- - `$HOME/.claude/get-shit-done/VERSION`
25
+ - `~/.claude/get-shit-done/VERSION`
26
26
 
27
27
  ### Engine presence (required for Codex prompts)
28
28
  - `.claude/get-shit-done/bin/gsd-tools.cjs` OR `.claude/get-shit-done/bin/gsd-tools.js`
@@ -12,10 +12,11 @@ Execute all plans in a phase with wave-based parallelization
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ Execute all plans in a phase with wave-based parallelization
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse "<phase-number> [--gaps-only]" from the user input.
38
37
  2. Run init:
39
- node $GsdTools init execute-phase $PHASE --raw
38
+ node <gsd-tools-path> init execute-phase [phase] --raw
40
39
 
41
40
  3. Load .claude/get-shit-done/workflows/execute-phase.md and execute it step-by-step.
42
41
  4. Translate each Task(...) in workflow into:
@@ -44,10 +43,10 @@ node $GsdTools init execute-phase $PHASE --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output
51
50
  - Summarize key artifacts created/updated.
52
- - Next recommended command: `gsd-verify-work $PHASE` (Codex) / `/gsd:verify-work $PHASE` (Claude)
51
+ - Next recommended command: `gsd-verify-work [phase]` (Codex) / `/gsd:verify-work [phase]` (Claude)
53
52
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,10 +12,11 @@ Show available GSD commands and usage guide
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,11 +28,9 @@ Show available GSD commands and usage guide
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse [none] from the user input.
@@ -44,7 +43,7 @@ Show available GSD commands and usage guide
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output
@@ -12,10 +12,11 @@ Insert urgent work as decimal phase (for example 72.1) between existing phases
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ Insert urgent work as decimal phase (for example 72.1) between existing phases
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse <after> <description> from the user input.
38
37
  2. Run init:
39
- node $GsdTools init phase-op $AFTER --raw
38
+ node <gsd-tools-path> init phase-op [after-phase] --raw
40
39
 
41
40
  3. Load .claude/get-shit-done/workflows/insert-phase.md and execute it step-by-step.
42
41
  4. Translate each Task(...) in workflow into:
@@ -44,7 +43,7 @@ node $GsdTools init phase-op $AFTER --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output
@@ -12,10 +12,11 @@ Surface Claude's assumptions about a phase approach before planning
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ Surface Claude's assumptions about a phase approach before planning
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse "[phase]" from the user input.
38
37
  2. Run init:
39
- node $GsdTools init phase-op $ARG --raw
38
+ node <gsd-tools-path> init phase-op [argument] --raw
40
39
 
41
40
  3. Load .claude/get-shit-done/workflows/list-phase-assumptions.md and execute it step-by-step.
42
41
  4. Translate each Task(...) in workflow into:
@@ -44,7 +43,7 @@ node $GsdTools init phase-op $ARG --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output
@@ -12,10 +12,11 @@ Analyze codebase with parallel mapper agents to produce .planning/codebase/ docu
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
- $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
- - Run engine commands through PowerShell:
18
- node $GsdTools ...
15
+ - Use one of these engine paths (prefer local, fallback global):
16
+ node .claude/get-shit-done/bin/gsd-tools.js ...
17
+ node ~/.claude/get-shit-done/bin/gsd-tools.js ...
18
+ - If `.js` is unavailable, use the same path with `.cjs`.
19
+ - Run engine commands through PowerShell.
19
20
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
21
  - No jq / bash-only constructs.
21
22
 
@@ -27,16 +28,14 @@ Analyze codebase with parallel mapper agents to produce .planning/codebase/ docu
27
28
  - Do not advance workflow steps until wait and close complete.
28
29
  ## Update check
29
30
  - Best-effort only; do not fail if offline.
30
- - Run:
31
- $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
- $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
- - If $installed and $latest and $installed -ne $latest, surface:
34
- "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
31
+ - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
32
+ - Check latest published version with `npm view gsd-codex-cli version`.
33
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
34
 
36
35
  ## Execution
37
36
  1. Parse "[optional: specific area to map, for example api or auth]" from the user input.
38
37
  2. Run init:
39
- node $GsdTools init map-codebase --raw
38
+ node <gsd-tools-path> init map-codebase --raw
40
39
 
41
40
  3. Load .claude/get-shit-done/workflows/map-codebase.md and execute it step-by-step.
42
41
  4. Translate each Task(...) in workflow into:
@@ -44,7 +43,7 @@ node $GsdTools init map-codebase --raw
44
43
  - wait for each spawned agent and apply returned output before moving forward.
45
44
  5. Preserve all gates and routing from upstream workflow.
46
45
  6. Preserve commit behavior using
47
- node $GsdTools commit "message" --files ....
46
+ node <gsd-tools-path> commit "message" --files ....
48
47
  7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
48
 
50
49
  ## Completion output