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.
- package/.codex/prompts/gsd-add-phase.md +1 -0
- package/.codex/prompts/gsd-add-todo.md +1 -0
- package/.codex/prompts/gsd-audit-milestone.md +1 -0
- package/.codex/prompts/gsd-check-todos.md +1 -0
- package/.codex/prompts/gsd-complete-milestone.md +1 -0
- package/.codex/prompts/gsd-debug.md +1 -0
- package/.codex/prompts/gsd-discuss-phase.md +1 -0
- package/.codex/prompts/gsd-execute-phase.md +39 -36
- package/.codex/prompts/gsd-help.md +1 -0
- package/.codex/prompts/gsd-insert-phase.md +1 -0
- package/.codex/prompts/gsd-list-phase-assumptions.md +1 -0
- package/.codex/prompts/gsd-map-codebase.md +1 -0
- package/.codex/prompts/gsd-new-milestone.md +1 -0
- package/.codex/prompts/gsd-new-project.md +1 -0
- package/.codex/prompts/gsd-pause-work.md +1 -0
- package/.codex/prompts/gsd-plan-milestone-gaps.md +1 -0
- package/.codex/prompts/gsd-plan-phase.md +1 -0
- package/.codex/prompts/gsd-progress.md +1 -0
- package/.codex/prompts/gsd-quick.md +1 -0
- package/.codex/prompts/gsd-remove-phase.md +1 -0
- package/.codex/prompts/gsd-research-phase.md +1 -0
- package/.codex/prompts/gsd-resume-work.md +1 -0
- package/.codex/prompts/gsd-set-profile.md +1 -0
- package/.codex/prompts/gsd-settings.md +1 -0
- package/.codex/prompts/gsd-update.md +1 -0
- package/.codex/prompts/gsd-verify-work.md +1 -0
- package/.codex/skills/get-shit-done-codex/references/compat.md +6 -4
- package/.codex/skills/get-shit-done-codex/references/windows.md +26 -12
- package/package.json +1 -1
|
@@ -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
|
-
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
4.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
##
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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.
|