gsd-codex-cli 1.20.6 → 1.20.7

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.
@@ -15,6 +15,7 @@ Add phase to end of current milestone in roadmap
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Capture idea or task as todo from current conversation context
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Audit milestone completion against original intent before archiving
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ List pending todos and select one to work on
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Archive completed milestone and prepare for next version
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Systematic debugging with persistent state across context resets
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Gather phase context through adaptive questioning before planning
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -13,39 +13,42 @@ Execute all plans in a phase with wave-based parallelization
13
13
  - Use one of these engine paths (prefer local, fallback global):
14
14
  node .claude/get-shit-done/bin/gsd-tools.js ...
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
- - If `.js` is unavailable, use the same path with `.cjs`.
17
- - Run engine commands through PowerShell.
18
- - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
- - No jq / bash-only constructs.
20
-
21
- ## Subagent lifecycle (required)
22
-
23
- - Translate each upstream `Task(...)` into `spawn_agent` -> `wait` -> `close_agent`.
24
- - Spawn only when the upstream workflow defines an agent role.
25
- - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
26
- - Do not advance workflow steps until wait and close complete.
27
-
28
- ## Update check
29
- - Best-effort only; do not fail if offline.
30
- - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
31
- - Check latest published version with `npm view gsd-codex-cli version`.
32
- - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
33
-
34
- ## Execution
35
- 1. Parse "<phase-number> [--gaps-only]" from the user input.
36
- 2. Run init:
37
- node <gsd-tools-path> init execute-phase [phase] --raw
38
-
39
- 3. Load .claude/get-shit-done/workflows/execute-phase.md and execute it step-by-step.
40
- 4. Translate each Task(...) in workflow into:
41
- - spawn_agent with the matching role file context from .claude/agents/.
42
- - wait for each spawned agent and apply returned output before moving forward.
43
- 5. Preserve all gates and routing from upstream workflow.
44
- 6. Preserve commit behavior using
45
- node <gsd-tools-path> commit "message" --files ....
46
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
47
-
48
- ## Completion output
49
- - Summarize key artifacts created/updated.
50
- - Next recommended command: `gsd-verify-work [phase]` (Codex) / `/gsd:verify-work [phase]` (Claude)
51
- - Never recommend internal `node ... gsd-tools ...` commands to the user.
16
+ - If `.js` is unavailable, use the same path with `.cjs`.
17
+ - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
19
+ - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
20
+ - No jq / bash-only constructs.
21
+
22
+ ## Subagent lifecycle (required)
23
+
24
+ - Translate each upstream `Task(...)` into `spawn_agent` -> `wait` -> `close_agent`.
25
+ - Spawn only when the upstream workflow defines an agent role.
26
+ - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
27
+ - Do not advance workflow steps until wait and close complete.
28
+
29
+ ## Input contract
30
+ - The command argument is authoritative.
31
+ - If user runs `gsd-execute-phase 28`, execute phase `28`. Do not auto-discover a different phase.
32
+ - Parse flags only from the same argument string (`--gaps-only`, `--auto`).
33
+ - If phase argument is missing or invalid, stop and ask for a valid phase number.
34
+
35
+ ## Execution
36
+ 1. Parse "<phase-number> [--gaps-only] [--auto]" from the command argument string.
37
+ 2. Treat parsed phase as the execution target and keep it unchanged for all downstream steps.
38
+ 3. Run init with the parsed phase:
39
+ node <gsd-tools-path> init execute-phase <phase> --raw
40
+ 4. If `--gaps-only` is present, apply gap-closure filtering exactly as defined in the upstream workflow.
41
+ 5. If `--auto` is present, preserve auto-advance behavior from the upstream workflow.
42
+ 6. Load .claude/get-shit-done/workflows/execute-phase.md and execute it step-by-step.
43
+ 7. Translate each Task(...) in workflow into:
44
+ - spawn_agent with the matching role file context from .claude/agents/.
45
+ - wait for each spawned agent and apply returned output before moving forward.
46
+ 8. Preserve all gates and routing from upstream workflow.
47
+ 9. Preserve commit behavior using
48
+ node <gsd-tools-path> commit "message" --files ....
49
+ 10. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
50
+
51
+ ## Completion output
52
+ - Summarize key artifacts created/updated.
53
+ - Next recommended command: `gsd-verify-work <phase>` (Codex) / `/gsd:verify-work <phase>` (Claude)
54
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -15,6 +15,7 @@ Show available GSD commands and usage guide
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Insert urgent work as decimal phase (for example 72.1) between existing phases
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Surface Claude's assumptions about a phase approach before planning
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Analyze codebase with parallel mapper agents to produce .planning/codebase/ docu
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Start a new milestone cycle — update PROJECT.md and route to requirements
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Initialize a new project with deep context gathering and PROJECT.md
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Create context handoff when pausing work mid-phase
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Create phases to close all gaps identified by milestone audit
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Create detailed execution plan for a phase (PLAN.md) with verification loop
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Check project progress, show context, and route to next action
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Execute a quick task with GSD guarantees (atomic commits, state tracking) but sk
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Remove a future phase from roadmap and renumber subsequent phases
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Research how to implement a phase (standalone - usually use plan-phase instead)
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Resume work from previous session with full context restoration
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Switch model profile for GSD agents (quality/balanced/budget)
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Configure GSD workflow toggles and model profile
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Update GSD to latest version with changelog display
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -15,6 +15,7 @@ Validate built features through conversational UAT
15
15
  node ~/.claude/get-shit-done/bin/gsd-tools.js ...
16
16
  - If `.js` is unavailable, use the same path with `.cjs`.
17
17
  - Run engine commands through PowerShell.
18
+ - Do not set `node <path> ...` as one string variable and invoke `& $var`; run direct `node <path> ...` or `& node <path> ...`.
18
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
19
20
  - No jq / bash-only constructs.
20
21
 
@@ -9,10 +9,12 @@
9
9
  - `C:/Users/Ahmed/.claude/get-shit-done/...` → `.claude/get-shit-done/...`
10
10
  - `C:/Users/Ahmed/.claude/agents/...` → `.claude/agents/...`
11
11
 
12
- ## CLI mapping
13
- - Use `node .claude/get-shit-done/bin/gsd-tools.js ...`.
14
- - Keep `--raw` when upstream workflow uses it.
15
- - Parse JSON by `ConvertFrom-Json`.
12
+ ## CLI mapping
13
+ - Use `node .claude/get-shit-done/bin/gsd-tools.js ...`.
14
+ - Keep `--raw` when upstream workflow uses it.
15
+ - Parse JSON by `ConvertFrom-Json`.
16
+ - Do not assign `node <path> <args>` into a single PowerShell string and invoke `& $cmd`.
17
+ - Use direct invocation: `node <path> ...` or `& node <path> ...`.
16
18
 
17
19
  ## Subagent mapping
18
20
  - `subagent_type=gsd-*` maps to equivalent role contract in `.claude/agents/gsd-*.md`.
@@ -7,17 +7,31 @@ $raw = & node .claude/get-shit-done/bin/gsd-tools.js state load --raw
7
7
  $data = $raw | ConvertFrom-Json
8
8
  ```
9
9
 
10
- ## Key/value parse
11
-
12
- ```powershell
13
- $raw = & node .claude/get-shit-done/bin/gsd-tools.js state load --raw
14
- $out = @{}
10
+ ## Key/value parse
11
+
12
+ ```powershell
13
+ $raw = & node .claude/get-shit-done/bin/gsd-tools.js state load --raw
14
+ $out = @{}
15
15
  $raw -split "`n" | ForEach-Object {
16
16
  if ($_ -match '^(.*?)=(.*)$') { $out[$Matches[1]] = $Matches[2] }
17
- }
18
- ```
19
-
20
- ## Syntax notes
21
- - Replace jq with `ConvertFrom-Json`.
22
- - Avoid bash-only heredocs and command substitution.
23
- - Use quoted paths for PowerShell compatibility.
17
+ }
18
+ ```
19
+
20
+ ## Command invocation (important)
21
+
22
+ ```powershell
23
+ # Good: path is separate from the command
24
+ $gsd = ".claude/get-shit-done/bin/gsd-tools.js"
25
+ $raw = & node $gsd init execute-phase 28 --raw
26
+ ```
27
+
28
+ ```powershell
29
+ # Bad: this fails because PowerShell treats it as one command token
30
+ $cmd = "node .claude/get-shit-done/bin/gsd-tools.js"
31
+ $raw = & $cmd init execute-phase 28 --raw
32
+ ```
33
+
34
+ ## Syntax notes
35
+ - Replace jq with `ConvertFrom-Json`.
36
+ - Avoid bash-only heredocs and command substitution.
37
+ - Use quoted paths for PowerShell compatibility.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gsd-codex-cli",
3
- "version": "1.20.6",
3
+ "version": "1.20.7",
4
4
  "description": "Codex-native package for the get-shit-done workflow with native subagent orchestration.",
5
5
  "bin": {
6
6
  "gsd-codex-cli": "bin/install-codex.js",