pi-gsd 1.9.0 → 1.9.2

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.
Files changed (58) hide show
  1. package/.gsd/harnesses/pi/get-shit-done/references/decimal-phase-calculation.md +5 -5
  2. package/.gsd/harnesses/pi/get-shit-done/references/git-integration.md +4 -4
  3. package/.gsd/harnesses/pi/get-shit-done/references/git-planning-commit.md +2 -2
  4. package/.gsd/harnesses/pi/get-shit-done/references/model-profile-resolution.md +1 -1
  5. package/.gsd/harnesses/pi/get-shit-done/references/phase-argument-parsing.md +3 -3
  6. package/.gsd/harnesses/pi/get-shit-done/references/planning-config.md +6 -6
  7. package/.gsd/harnesses/pi/get-shit-done/references/verification-patterns.md +1 -1
  8. package/.gsd/harnesses/pi/get-shit-done/templates/codebase/structure.md +1 -1
  9. package/.gsd/harnesses/pi/get-shit-done/templates/phase-prompt.md +10 -10
  10. package/.gsd/harnesses/pi/get-shit-done/workflows/add-phase.md +2 -2
  11. package/.gsd/harnesses/pi/get-shit-done/workflows/add-tests.md +2 -2
  12. package/.gsd/harnesses/pi/get-shit-done/workflows/add-todo.md +3 -3
  13. package/.gsd/harnesses/pi/get-shit-done/workflows/audit-milestone.md +7 -7
  14. package/.gsd/harnesses/pi/get-shit-done/workflows/audit-uat.md +1 -1
  15. package/.gsd/harnesses/pi/get-shit-done/workflows/autonomous.md +16 -16
  16. package/.gsd/harnesses/pi/get-shit-done/workflows/check-todos.md +2 -2
  17. package/.gsd/harnesses/pi/get-shit-done/workflows/cleanup.md +1 -1
  18. package/.gsd/harnesses/pi/get-shit-done/workflows/complete-milestone.md +7 -7
  19. package/.gsd/harnesses/pi/get-shit-done/workflows/diagnose-issues.md +2 -2
  20. package/.gsd/harnesses/pi/get-shit-done/workflows/discovery-phase.md +5 -5
  21. package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase-assumptions.md +11 -11
  22. package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md +13 -13
  23. package/.gsd/harnesses/pi/get-shit-done/workflows/do.md +1 -1
  24. package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md +25 -25
  25. package/.gsd/harnesses/pi/get-shit-done/workflows/execute-plan.md +20 -20
  26. package/.gsd/harnesses/pi/get-shit-done/workflows/forensics.md +1 -1
  27. package/.gsd/harnesses/pi/get-shit-done/workflows/health.md +2 -2
  28. package/.gsd/harnesses/pi/get-shit-done/workflows/insert-phase.md +2 -2
  29. package/.gsd/harnesses/pi/get-shit-done/workflows/list-workspaces.md +1 -1
  30. package/.gsd/harnesses/pi/get-shit-done/workflows/manager.md +6 -6
  31. package/.gsd/harnesses/pi/get-shit-done/workflows/map-codebase.md +3 -3
  32. package/.gsd/harnesses/pi/get-shit-done/workflows/milestone-summary.md +3 -3
  33. package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md +9 -9
  34. package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md +19 -19
  35. package/.gsd/harnesses/pi/get-shit-done/workflows/new-workspace.md +1 -1
  36. package/.gsd/harnesses/pi/get-shit-done/workflows/next.md +1 -1
  37. package/.gsd/harnesses/pi/get-shit-done/workflows/pause-work.md +3 -3
  38. package/.gsd/harnesses/pi/get-shit-done/workflows/plan-milestone-gaps.md +2 -2
  39. package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md +17 -17
  40. package/.gsd/harnesses/pi/get-shit-done/workflows/plant-seed.md +1 -1
  41. package/.gsd/harnesses/pi/get-shit-done/workflows/profile-user.md +23 -23
  42. package/.gsd/harnesses/pi/get-shit-done/workflows/progress.md +10 -10
  43. package/.gsd/harnesses/pi/get-shit-done/workflows/quick.md +6 -6
  44. package/.gsd/harnesses/pi/get-shit-done/workflows/remove-phase.md +4 -4
  45. package/.gsd/harnesses/pi/get-shit-done/workflows/remove-workspace.md +1 -1
  46. package/.gsd/harnesses/pi/get-shit-done/workflows/research-phase.md +5 -5
  47. package/.gsd/harnesses/pi/get-shit-done/workflows/resume-project.md +2 -2
  48. package/.gsd/harnesses/pi/get-shit-done/workflows/review.md +2 -2
  49. package/.gsd/harnesses/pi/get-shit-done/workflows/settings.md +2 -2
  50. package/.gsd/harnesses/pi/get-shit-done/workflows/ship.md +5 -5
  51. package/.gsd/harnesses/pi/get-shit-done/workflows/stats.md +1 -1
  52. package/.gsd/harnesses/pi/get-shit-done/workflows/transition.md +6 -6
  53. package/.gsd/harnesses/pi/get-shit-done/workflows/ui-phase.md +13 -13
  54. package/.gsd/harnesses/pi/get-shit-done/workflows/ui-review.md +6 -6
  55. package/.gsd/harnesses/pi/get-shit-done/workflows/validate-phase.md +8 -8
  56. package/.gsd/harnesses/pi/get-shit-done/workflows/verify-phase.md +9 -9
  57. package/.gsd/harnesses/pi/get-shit-done/workflows/verify-work.md +7 -7
  58. package/package.json +1 -1
@@ -28,7 +28,7 @@ the agent's training data is 6-18 months stale. Always verify.
28
28
  2. **Official docs** - When Context7 lacks coverage
29
29
  3. **WebSearch LAST** - For comparisons and trends only
30
30
 
31
- See .agent/get-shit-done/templates/discovery.md `<discovery_protocol>` for full protocol.
31
+ See .pi/gsd/templates/discovery.md `<discovery_protocol>` for full protocol.
32
32
  </source_hierarchy>
33
33
 
34
34
  <process>
@@ -107,7 +107,7 @@ For: Choosing between options, new external integration.
107
107
 
108
108
  5. **Cross-verify:** Any WebSearch finding → confirm with Context7/official docs.
109
109
 
110
- 6. **Create DISCOVERY.md** using .agent/get-shit-done/templates/discovery.md structure:
110
+ 6. **Create DISCOVERY.md** using .pi/gsd/templates/discovery.md structure:
111
111
 
112
112
  - Summary with recommendation
113
113
  - Key findings per option
@@ -126,7 +126,7 @@ For: Architectural decisions, novel problems, high-risk choices.
126
126
 
127
127
  **Process:**
128
128
 
129
- 1. **Scope the discovery** using .agent/get-shit-done/templates/discovery.md:
129
+ 1. **Scope the discovery** using .pi/gsd/templates/discovery.md:
130
130
 
131
131
  - Define clear scope
132
132
  - Define include/exclude boundaries
@@ -160,7 +160,7 @@ For: Architectural decisions, novel problems, high-risk choices.
160
160
 
161
161
  6. **Create comprehensive DISCOVERY.md:**
162
162
 
163
- - Full structure from .agent/get-shit-done/templates/discovery.md
163
+ - Full structure from .pi/gsd/templates/discovery.md
164
164
  - Quality report with source attribution
165
165
  - Confidence by finding
166
166
  - If LOW confidence on any critical finding → add validation checkpoints
@@ -184,7 +184,7 @@ Ask: What do we need to learn before we can plan this phase?
184
184
  </step>
185
185
 
186
186
  <step name="create_discovery_scope">
187
- Use .agent/get-shit-done/templates/discovery.md.
187
+ Use .pi/gsd/templates/discovery.md.
188
188
 
189
189
  Include:
190
190
 
@@ -64,9 +64,9 @@ plain-text numbered list and ask the user to type their choice number.
64
64
  Phase number from argument (required).
65
65
 
66
66
  ```bash
67
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init phase-op "${PHASE}")
67
+ INIT=$(pi-gsd-tools init phase-op "${PHASE}")
68
68
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
69
- AGENT_SKILLS_ANALYZER=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-assumptions-analyzer 2>/dev/null)
69
+ AGENT_SKILLS_ANALYZER=$(pi-gsd-tools agent-skills gsd-assumptions-analyzer 2>/dev/null)
70
70
  ```
71
71
 
72
72
  Parse JSON for: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`,
@@ -171,7 +171,7 @@ Structure the extracted information for use in assumption generation.
171
171
  Check if any pending todos are relevant to this phase's scope.
172
172
 
173
173
  ```bash
174
- TODO_MATCHES=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" todo match-phase "${PHASE_NUMBER}")
174
+ TODO_MATCHES=$(pi-gsd-tools todo match-phase "${PHASE_NUMBER}")
175
175
  ```
176
176
 
177
177
  Parse JSON for: `todo_count`, `matches[]`.
@@ -218,7 +218,7 @@ keeps raw file contents out of the main context window, protecting token budget.
218
218
  **Resolve calibration tier (if USER-PROFILE.md exists):**
219
219
 
220
220
  ```bash
221
- PROFILE_PATH=".agent/get-shit-done/USER-PROFILE.md"
221
+ PROFILE_PATH=".pi/gsd/USER-PROFILE.md"
222
222
  ```
223
223
 
224
224
  If file exists at PROFILE_PATH:
@@ -530,7 +530,7 @@ Write file.
530
530
  Commit phase context and discussion log:
531
531
 
532
532
  ```bash
533
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs(${padded_phase}): capture phase context (assumptions mode)" --files "${phase_dir}/${padded_phase}-CONTEXT.md" "${phase_dir}/${padded_phase}-DISCUSSION-LOG.md"
533
+ pi-gsd-tools commit "docs(${padded_phase}): capture phase context (assumptions mode)" --files "${phase_dir}/${padded_phase}-CONTEXT.md" "${phase_dir}/${padded_phase}-DISCUSSION-LOG.md"
534
534
  ```
535
535
 
536
536
  Confirm: "Committed: docs(${padded_phase}): capture phase context (assumptions mode)"
@@ -540,7 +540,7 @@ Confirm: "Committed: docs(${padded_phase}): capture phase context (assumptions m
540
540
  Update STATE.md with session info:
541
541
 
542
542
  ```bash
543
- node ".agent/get-shit-done/bin/gsd-tools.cjs" state record-session \
543
+ pi-gsd-tools state record-session \
544
544
  --stopped-at "Phase ${PHASE} context gathered (assumptions mode)" \
545
545
  --resume-file "${phase_dir}/${padded_phase}-CONTEXT.md"
546
546
  ```
@@ -548,7 +548,7 @@ node ".agent/get-shit-done/bin/gsd-tools.cjs" state record-session \
548
548
  Commit STATE.md:
549
549
 
550
550
  ```bash
551
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs(state): record phase ${PHASE} context session" --files .planning/STATE.md
551
+ pi-gsd-tools commit "docs(state): record phase ${PHASE} context session" --files .planning/STATE.md
552
552
  ```
553
553
  </step>
554
554
 
@@ -601,18 +601,18 @@ Check for auto-advance trigger:
601
601
  2. Sync chain flag:
602
602
  ```bash
603
603
  if [[ ! "$ARGUMENTS" =~ --auto ]]; then
604
- node ".agent/get-shit-done/bin/gsd-tools.cjs" config-set workflow._auto_chain_active false 2>/dev/null
604
+ pi-gsd-tools config-set workflow._auto_chain_active false 2>/dev/null
605
605
  fi
606
606
  ```
607
607
  3. Read chain flag and user preference:
608
608
  ```bash
609
- AUTO_CHAIN=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow._auto_chain_active 2>/dev/null || echo "false")
610
- AUTO_CFG=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow.auto_advance 2>/dev/null || echo "false")
609
+ AUTO_CHAIN=$(pi-gsd-tools config-get workflow._auto_chain_active 2>/dev/null || echo "false")
610
+ AUTO_CFG=$(pi-gsd-tools config-get workflow.auto_advance 2>/dev/null || echo "false")
611
611
  ```
612
612
 
613
613
  **If `--auto` flag present AND `AUTO_CHAIN` is not true:**
614
614
  ```bash
615
- node ".agent/get-shit-done/bin/gsd-tools.cjs" config-set workflow._auto_chain_active true
615
+ pi-gsd-tools config-set workflow._auto_chain_active true
616
616
  ```
617
617
 
618
618
  **If `--auto` flag present OR `AUTO_CHAIN` is true OR `AUTO_CFG` is true:**
@@ -132,9 +132,9 @@ Text mode applies to ALL workflows in the session, not just discuss-phase.
132
132
  Phase number from argument (required).
133
133
 
134
134
  ```bash
135
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init phase-op "${PHASE}")
135
+ INIT=$(pi-gsd-tools init phase-op "${PHASE}")
136
136
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
137
- AGENT_SKILLS_ADVISOR=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-advisor 2>/dev/null)
137
+ AGENT_SKILLS_ADVISOR=$(pi-gsd-tools agent-skills gsd-advisor 2>/dev/null)
138
138
  ```
139
139
 
140
140
  Parse JSON for: `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `has_verification`, `plan_count`, `roadmap_exists`, `planning_exists`.
@@ -260,7 +260,7 @@ Check if any pending todos are relevant to this phase's scope. Surfaces backlog
260
260
 
261
261
  **Load and match todos:**
262
262
  ```bash
263
- TODO_MATCHES=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" todo match-phase "${PHASE_NUMBER}")
263
+ TODO_MATCHES=$(pi-gsd-tools todo match-phase "${PHASE_NUMBER}")
264
264
  ```
265
265
 
266
266
  Parse JSON for: `todo_count`, `matches[]` (each with `file`, `title`, `area`, `score`, `reasons`).
@@ -369,7 +369,7 @@ Check if advisor mode should activate:
369
369
 
370
370
  1. Check for USER-PROFILE.md:
371
371
  ```bash
372
- PROFILE_PATH=".agent/get-shit-done/USER-PROFILE.md"
372
+ PROFILE_PATH=".pi/gsd/USER-PROFILE.md"
373
373
  ```
374
374
  ADVISOR_MODE = file exists at PROFILE_PATH → true, otherwise → false
375
375
 
@@ -385,7 +385,7 @@ Check if advisor mode should activate:
385
385
 
386
386
  3. Resolve model for advisor agents:
387
387
  ```bash
388
- ADVISOR_MODEL=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-advisor-researcher --raw)
388
+ ADVISOR_MODEL=$(pi-gsd-tools resolve-model gsd-advisor-researcher --raw)
389
389
  ```
390
390
 
391
391
  If ADVISOR_MODE is false, skip all advisor-specific steps - workflow proceeds with existing conversational flow unchanged.
@@ -492,7 +492,7 @@ After user selects gray areas in present_gray_areas, spawn parallel research age
492
492
  2. For EACH user-selected gray area, spawn a Task() in parallel:
493
493
 
494
494
  Task(
495
- prompt="First, read @.agent/agents/gsd-advisor-researcher.md for your role and instructions.
495
+ prompt="First, read @.pi/gsd/agents/gsd-advisor-researcher.md for your role and instructions.
496
496
 
497
497
  <gray_area>{area_name}: {area_description from gray area identification}</gray_area>
498
498
  <phase_context>{phase_goal and description from ROADMAP.md}</phase_context>
@@ -936,7 +936,7 @@ Write file.
936
936
  Commit phase context and discussion log:
937
937
 
938
938
  ```bash
939
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs(${padded_phase}): capture phase context" --files "${phase_dir}/${padded_phase}-CONTEXT.md" "${phase_dir}/${padded_phase}-DISCUSSION-LOG.md"
939
+ pi-gsd-tools commit "docs(${padded_phase}): capture phase context" --files "${phase_dir}/${padded_phase}-CONTEXT.md" "${phase_dir}/${padded_phase}-DISCUSSION-LOG.md"
940
940
  ```
941
941
 
942
942
  Confirm: "Committed: docs(${padded_phase}): capture phase context"
@@ -946,7 +946,7 @@ Confirm: "Committed: docs(${padded_phase}): capture phase context"
946
946
  Update STATE.md with session info:
947
947
 
948
948
  ```bash
949
- node ".agent/get-shit-done/bin/gsd-tools.cjs" state record-session \
949
+ pi-gsd-tools state record-session \
950
950
  --stopped-at "Phase ${PHASE} context gathered" \
951
951
  --resume-file "${phase_dir}/${padded_phase}-CONTEXT.md"
952
952
  ```
@@ -954,7 +954,7 @@ node ".agent/get-shit-done/bin/gsd-tools.cjs" state record-session \
954
954
  Commit STATE.md:
955
955
 
956
956
  ```bash
957
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs(state): record phase ${PHASE} context session" --files .planning/STATE.md
957
+ pi-gsd-tools commit "docs(state): record phase ${PHASE} context session" --files .planning/STATE.md
958
958
  ```
959
959
  </step>
960
960
 
@@ -965,18 +965,18 @@ Check for auto-advance trigger:
965
965
  2. **Sync chain flag with intent** - if user invoked manually (no `--auto`), clear the ephemeral chain flag from any previous interrupted `--auto` chain. This does NOT touch `workflow.auto_advance` (the user's persistent settings preference):
966
966
  ```bash
967
967
  if [[ ! "$ARGUMENTS" =~ --auto ]]; then
968
- node ".agent/get-shit-done/bin/gsd-tools.cjs" config-set workflow._auto_chain_active false 2>/dev/null
968
+ pi-gsd-tools config-set workflow._auto_chain_active false 2>/dev/null
969
969
  fi
970
970
  ```
971
971
  3. Read both the chain flag and user preference:
972
972
  ```bash
973
- AUTO_CHAIN=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow._auto_chain_active 2>/dev/null || echo "false")
974
- AUTO_CFG=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow.auto_advance 2>/dev/null || echo "false")
973
+ AUTO_CHAIN=$(pi-gsd-tools config-get workflow._auto_chain_active 2>/dev/null || echo "false")
974
+ AUTO_CFG=$(pi-gsd-tools config-get workflow.auto_advance 2>/dev/null || echo "false")
975
975
  ```
976
976
 
977
977
  **If `--auto` flag present AND `AUTO_CHAIN` is not true:** Persist chain flag to config (handles direct `--auto` usage without new-project):
978
978
  ```bash
979
- node ".agent/get-shit-done/bin/gsd-tools.cjs" config-set workflow._auto_chain_active true
979
+ pi-gsd-tools config-set workflow._auto_chain_active true
980
980
  ```
981
981
 
982
982
  **If `--auto` flag present OR `AUTO_CHAIN` is true OR `AUTO_CFG` is true:**
@@ -24,7 +24,7 @@ Wait for response before continuing.
24
24
  **Check if project exists.**
25
25
 
26
26
  ```bash
27
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" state load 2>/dev/null)
27
+ INIT=$(pi-gsd-tools state load 2>/dev/null)
28
28
  ```
29
29
 
30
30
  Track whether `.planning/` exists - some routes require it, others don't.
@@ -28,7 +28,7 @@ Read STATE.md before any operation to load project context.
28
28
  </required_reading>
29
29
 
30
30
  <available_agent_types>
31
- These are the valid GSD subagent types registered in .agent/agents/ (or equivalent for your runtime).
31
+ These are the valid GSD subagent types registered in .pi/gsd/agents/ (or equivalent for your runtime).
32
32
  Always use the exact name from this list - do not fall back to 'general-purpose' or other built-in types:
33
33
 
34
34
  - gsd-executor - Executes plan tasks, commits, creates SUMMARY.md
@@ -61,9 +61,9 @@ If `--wave` is absent, preserve the current behavior of executing all incomplete
61
61
  Load all context in one call:
62
62
 
63
63
  ```bash
64
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init execute-phase "${PHASE_ARG}")
64
+ INIT=$(pi-gsd-tools init execute-phase "${PHASE_ARG}")
65
65
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
66
- AGENT_SKILLS=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-executor 2>/dev/null)
66
+ AGENT_SKILLS=$(pi-gsd-tools agent-skills gsd-executor 2>/dev/null)
67
67
  ```
68
68
 
69
69
  Parse JSON for: `executor_model`, `verifier_model`, `commit_docs`, `parallelization`, `branching_strategy`, `branch_name`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `plans`, `incomplete_plans`, `plan_count`, `incomplete_count`, `state_exists`, `roadmap_exists`, `phase_req_ids`.
@@ -86,7 +86,7 @@ inline path for each plan.
86
86
  ```bash
87
87
  # REQUIRED: prevents stale auto-chain from previous --auto runs
88
88
  if [[ ! "$ARGUMENTS" =~ --auto ]]; then
89
- node ".agent/get-shit-done/bin/gsd-tools.cjs" config-set workflow._auto_chain_active false 2>/dev/null
89
+ pi-gsd-tools config-set workflow._auto_chain_active false 2>/dev/null
90
90
  fi
91
91
  ```
92
92
  </step>
@@ -120,7 +120,7 @@ checkpoints between tasks. The user can review, modify, or redirect work at any
120
120
 
121
121
  b. **If "Review first":** Read and display the full plan file. Ask again: Execute, Modify, Skip.
122
122
 
123
- c. **If "Execute":** Read and follow `.agent/get-shit-done/workflows/execute-plan.md` **inline**
123
+ c. **If "Execute":** Read and follow `.pi/gsd/workflows/execute-plan.md` **inline**
124
124
  (do NOT spawn a subagent). Execute tasks one at a time.
125
125
 
126
126
  d. **After each task:** Pause briefly. If the user intervenes (types anything), stop and address
@@ -159,7 +159,7 @@ Report: "Found {plan_count} plans in {phase_dir} ({incomplete_count} incomplete)
159
159
 
160
160
  **Update STATE.md for phase start:**
161
161
  ```bash
162
- node ".agent/get-shit-done/bin/gsd-tools.cjs" state begin-phase --phase "${PHASE_NUMBER}" --name "${PHASE_NAME}" --plans "${PLAN_COUNT}"
162
+ pi-gsd-tools state begin-phase --phase "${PHASE_NUMBER}" --name "${PHASE_NAME}" --plans "${PLAN_COUNT}"
163
163
  ```
164
164
  This updates Status, Last Activity, Current focus, Current Position, and plan counts in STATE.md so frontmatter and body text reflect the active phase immediately.
165
165
  </step>
@@ -168,7 +168,7 @@ This updates Status, Last Activity, Current focus, Current Position, and plan co
168
168
  Load plan inventory with wave grouping in one call:
169
169
 
170
170
  ```bash
171
- PLAN_INDEX=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" phase-plan-index "${PHASE_NUMBER}")
171
+ PLAN_INDEX=$(pi-gsd-tools phase-plan-index "${PHASE_NUMBER}")
172
172
  ```
173
173
 
174
174
  Parse JSON for: `phase`, `plans[]` (each with `id`, `wave`, `autonomous`, `objective`, `files_modified`, `task_count`, `has_summary`), `waves` (map of wave number → plan IDs), `incomplete`, `has_checkpoints`.
@@ -243,10 +243,10 @@ Execute each selected wave in sequence. Within a wave: parallel if `PARALLELIZAT
243
243
  </parallel_execution>
244
244
 
245
245
  <execution_context>
246
- @.agent/get-shit-done/workflows/execute-plan.md
247
- @.agent/get-shit-done/templates/summary.md
248
- @.agent/get-shit-done/references/checkpoints.md
249
- @.agent/get-shit-done/references/tdd.md
246
+ @.pi/gsd/workflows/execute-plan.md
247
+ @.pi/gsd/templates/summary.md
248
+ @.pi/gsd/references/checkpoints.md
249
+ @.pi/gsd/references/tdd.md
250
250
  </execution_context>
251
251
 
252
252
  <files_to_read>
@@ -348,7 +348,7 @@ Execute each selected wave in sequence. Within a wave: parallel if `PARALLELIZAT
348
348
 
349
349
  Before spawning wave N+1, for each plan in the upcoming wave:
350
350
  ```bash
351
- node ".agent/get-shit-done/bin/gsd-tools.cjs" verify key-links {phase_dir}/{plan}-PLAN.md
351
+ pi-gsd-tools verify key-links {phase_dir}/{plan}-PLAN.md
352
352
  ```
353
353
 
354
354
  If any key-link from a PRIOR wave's artifact fails verification:
@@ -377,8 +377,8 @@ Plans with `autonomous: false` require user interaction.
377
377
 
378
378
  Read auto-advance config (chain flag + user preference):
379
379
  ```bash
380
- AUTO_CHAIN=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow._auto_chain_active 2>/dev/null || echo "false")
381
- AUTO_CFG=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow.auto_advance 2>/dev/null || echo "false")
380
+ AUTO_CHAIN=$(pi-gsd-tools config-get workflow._auto_chain_active 2>/dev/null || echo "false")
381
+ AUTO_CFG=$(pi-gsd-tools config-get workflow.auto_advance 2>/dev/null || echo "false")
382
382
  ```
383
383
 
384
384
  When executor returns a checkpoint AND (`AUTO_CHAIN` is `"true"` OR `AUTO_CFG` is `"true"`):
@@ -442,7 +442,7 @@ After all waves:
442
442
  If `WAVE_FILTER` was used, re-run plan discovery after execution:
443
443
 
444
444
  ```bash
445
- POST_PLAN_INDEX=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" phase-plan-index "${PHASE_NUMBER}")
445
+ POST_PLAN_INDEX=$(pi-gsd-tools phase-plan-index "${PHASE_NUMBER}")
446
446
  ```
447
447
 
448
448
  Apply the same "incomplete" filtering rules as earlier:
@@ -484,7 +484,7 @@ fi
484
484
 
485
485
  **2. Find parent UAT file:**
486
486
  ```bash
487
- PARENT_INFO=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" find-phase "${PARENT_PHASE}" --raw)
487
+ PARENT_INFO=$(pi-gsd-tools find-phase "${PARENT_PHASE}" --raw)
488
488
  # Extract directory from PARENT_INFO JSON, then find UAT file in that directory
489
489
  ```
490
490
 
@@ -515,7 +515,7 @@ mv .planning/debug/{slug}.md .planning/debug/resolved/
515
515
 
516
516
  **6. Commit updated artifacts:**
517
517
  ```bash
518
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs(phase-${PARENT_PHASE}): resolve UAT gaps and debug sessions after ${PHASE_NUMBER} gap closure" --files .planning/phases/*${PARENT_PHASE}*/*-UAT.md .planning/debug/resolved/*.md
518
+ pi-gsd-tools commit "docs(phase-${PARENT_PHASE}): resolve UAT gaps and debug sessions after ${PHASE_NUMBER} gap closure" --files .planning/phases/*${PARENT_PHASE}*/*-UAT.md .planning/debug/resolved/*.md
519
519
  ```
520
520
  </step>
521
521
 
@@ -584,7 +584,7 @@ Use AskUserQuestion to present the options.
584
584
  Verify phase achieved its GOAL, not just completed tasks.
585
585
 
586
586
  ```bash
587
- VERIFIER_SKILLS=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-verifier 2>/dev/null)
587
+ VERIFIER_SKILLS=$(pi-gsd-tools agent-skills gsd-verifier 2>/dev/null)
588
588
  ```
589
589
 
590
590
  ```
@@ -654,7 +654,7 @@ blocked: 0
654
654
 
655
655
  Commit the file:
656
656
  ```bash
657
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "test({phase_num}): persist human verification items as UAT" --files "{phase_dir}/{phase_num}-HUMAN-UAT.md"
657
+ pi-gsd-tools commit "test({phase_num}): persist human verification items as UAT" --files "{phase_dir}/{phase_num}-HUMAN-UAT.md"
658
658
  ```
659
659
 
660
660
  **Step B: Present to user:**
@@ -703,7 +703,7 @@ Gap closure cycle: `/gsd-plan-phase {X} --gaps ${GSD_WS}` reads VERIFICATION.md
703
703
  **Mark phase complete and update all tracking files:**
704
704
 
705
705
  ```bash
706
- COMPLETION=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" phase complete "${PHASE_NUMBER}")
706
+ COMPLETION=$(pi-gsd-tools phase complete "${PHASE_NUMBER}")
707
707
  ```
708
708
 
709
709
  The CLI handles:
@@ -726,7 +726,7 @@ These items are tracked and will appear in `/gsd-progress` and `/gsd-audit-uat`.
726
726
  ```
727
727
 
728
728
  ```bash
729
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs(phase-{X}): complete phase execution" --files .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md {phase_dir}/*-VERIFICATION.md
729
+ pi-gsd-tools commit "docs(phase-{X}): complete phase execution" --files .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md {phase_dir}/*-VERIFICATION.md
730
730
  ```
731
731
  </step>
732
732
 
@@ -746,7 +746,7 @@ PROJECT.md falls behind silently over multiple phases.
746
746
  5. Commit the change:
747
747
 
748
748
  ```bash
749
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs(phase-{X}): evolve PROJECT.md after phase completion" --files .planning/PROJECT.md
749
+ pi-gsd-tools commit "docs(phase-{X}): evolve PROJECT.md after phase completion" --files .planning/PROJECT.md
750
750
  ```
751
751
 
752
752
  **Skip this step if** `.planning/PROJECT.md` does not exist.
@@ -784,8 +784,8 @@ STOP. Do not proceed to auto-advance or transition.
784
784
  1. Parse `--auto` flag from $ARGUMENTS
785
785
  2. Read both the chain flag and user preference (chain flag already synced in init step):
786
786
  ```bash
787
- AUTO_CHAIN=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow._auto_chain_active 2>/dev/null || echo "false")
788
- AUTO_CFG=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow.auto_advance 2>/dev/null || echo "false")
787
+ AUTO_CHAIN=$(pi-gsd-tools config-get workflow._auto_chain_active 2>/dev/null || echo "false")
788
+ AUTO_CFG=$(pi-gsd-tools config-get workflow.auto_advance 2>/dev/null || echo "false")
789
789
  ```
790
790
 
791
791
  **If `--auto` flag present OR `AUTO_CHAIN` is true OR `AUTO_CFG` is true (AND verification passed with no gaps):**
@@ -799,7 +799,7 @@ STOP. Do not proceed to auto-advance or transition.
799
799
 
800
800
  Execute the transition workflow inline (do NOT use Task - orchestrator context is ~10-15%, transition needs phase completion data already in context):
801
801
 
802
- Read and follow `.agent/get-shit-done/workflows/transition.md`, passing through the `--auto` flag so it propagates to the next phase invocation.
802
+ Read and follow `.pi/gsd/workflows/transition.md`, passing through the `--auto` flag so it propagates to the next phase invocation.
803
803
 
804
804
  **If none of `--auto`, `AUTO_CHAIN`, or `AUTO_CFG` is true:**
805
805
 
@@ -6,7 +6,7 @@ Execute a phase prompt (PLAN.md) and create the outcome summary (SUMMARY.md).
6
6
  Read STATE.md before any operation to load project context.
7
7
  Read config.json for planning behavior settings.
8
8
 
9
- @.agent/get-shit-done/references/git-integration.md
9
+ @.pi/gsd/references/git-integration.md
10
10
  </required_reading>
11
11
 
12
12
  <available_agent_types>
@@ -20,7 +20,7 @@ Valid GSD subagent types (use exact names - do not fall back to 'general-purpose
20
20
  Load execution context (paths only to minimize orchestrator context):
21
21
 
22
22
  ```bash
23
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init execute-phase "${PHASE}")
23
+ INIT=$(pi-gsd-tools init execute-phase "${PHASE}")
24
24
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
25
25
  ```
26
26
 
@@ -130,7 +130,7 @@ This IS the execution instructions. Follow exactly. If plan references CONTEXT.m
130
130
 
131
131
  <step name="previous_phase_check">
132
132
  ```bash
133
- node ".agent/get-shit-done/bin/gsd-tools.cjs" phases list --type summaries --raw
133
+ pi-gsd-tools phases list --type summaries --raw
134
134
  # Extract the second-to-last summary from the JSON result
135
135
  ```
136
136
  If previous SUMMARY has unresolved "Issues Encountered" or "Next Phase Readiness" blockers: AskUserQuestion(header="Previous Issues", options: "Proceed anyway" | "Address first" | "Review previous").
@@ -231,7 +231,7 @@ For `type: tdd` plans - RED-GREEN-REFACTOR:
231
231
 
232
232
  Errors: RED doesn't fail → investigate test/existing feature. GREEN doesn't pass → debug, iterate. REFACTOR breaks → undo.
233
233
 
234
- See `.agent/get-shit-done/references/tdd.md` for structure.
234
+ See `.pi/gsd/references/tdd.md` for structure.
235
235
  </tdd_plan_execution>
236
236
 
237
237
  <precommit_failure_handling>
@@ -285,7 +285,7 @@ git add src/types/user.ts
285
285
  **Sub-repos mode:** If `sub_repos` is configured (non-empty array from init context), use `commit-to-subrepo` instead of standard git commit. This routes files to their correct sub-repo based on path prefix.
286
286
 
287
287
  ```bash
288
- node .agent/get-shit-done/bin/gsd-tools.cjs commit-to-subrepo "{type}({phase}-{plan}): {description}" --files file1 file2 ...
288
+ pi-gsd-tools commit-to-subrepo "{type}({phase}-{plan}): {description}" --files file1 file2 ...
289
289
  ```
290
290
 
291
291
  The command groups files by sub-repo prefix and commits atomically to each. Returns JSON: `{ committed: true, repos: { "backend": { hash: "abc", files: [...] }, ... } }`.
@@ -325,7 +325,7 @@ Display: `CHECKPOINT: [Type]` box → Progress {X}/{Y} → Task name → type-sp
325
325
 
326
326
  After response: verify if specified. Pass → continue. Fail → inform, wait. WAIT for user - do NOT hallucinate completion.
327
327
 
328
- See .agent/get-shit-done/references/checkpoints.md for details.
328
+ See .pi/gsd/references/checkpoints.md for details.
329
329
  </step>
330
330
 
331
331
  <step name="checkpoint_return_for_orchestrator">
@@ -341,10 +341,10 @@ If verification fails:
341
341
 
342
342
  **Check if node repair is enabled** (default: on):
343
343
  ```bash
344
- NODE_REPAIR=$(node "./.agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow.node_repair 2>/dev/null || echo "true")
344
+ NODE_REPAIR=$(pi-gsd-tools config-get workflow.node_repair 2>/dev/null || echo "true")
345
345
  ```
346
346
 
347
- If `NODE_REPAIR` is `true`: invoke `@./.agent/get-shit-done/workflows/node-repair.md` with:
347
+ If `NODE_REPAIR` is `true`: invoke `@./.pi/gsd/workflows/node-repair.md` with:
348
348
  - FAILED_TASK: task number, name, done-criteria
349
349
  - ERROR: expected vs actual result
350
350
  - PLAN_CONTEXT: adjacent task names + phase goal
@@ -378,11 +378,11 @@ fi
378
378
  grep -A 50 "^user_setup:" .planning/phases/XX-name/{phase}-{plan}-PLAN.md | head -50
379
379
  ```
380
380
 
381
- If user_setup exists: create `{phase}-USER-SETUP.md` using template `.agent/get-shit-done/templates/user-setup.md`. Per service: env vars table, account setup checklist, dashboard config, local dev notes, verification commands. Status "Incomplete". Set `USER_SETUP_CREATED=true`. If empty/missing: skip.
381
+ If user_setup exists: create `{phase}-USER-SETUP.md` using template `.pi/gsd/templates/user-setup.md`. Per service: env vars table, account setup checklist, dashboard config, local dev notes, verification commands. Status "Incomplete". Set `USER_SETUP_CREATED=true`. If empty/missing: skip.
382
382
  </step>
383
383
 
384
384
  <step name="create_summary">
385
- Create `{phase}-{plan}-SUMMARY.md` at `.planning/phases/XX-name/`. Use `.agent/get-shit-done/templates/summary.md`.
385
+ Create `{phase}-{plan}-SUMMARY.md` at `.planning/phases/XX-name/`. Use `.pi/gsd/templates/summary.md`.
386
386
 
387
387
  **Frontmatter:** phase, plan, subsystem, tags | requires/provides/affects | tech-stack.added/patterns | key-files.created/modified | key-decisions | requirements-completed (**MUST** copy `requirements` array from PLAN.md frontmatter verbatim) | duration ($DURATION), completed ($PLAN_END_TIME date).
388
388
 
@@ -400,13 +400,13 @@ Update STATE.md using gsd-tools:
400
400
 
401
401
  ```bash
402
402
  # Advance plan counter (handles last-plan edge case)
403
- node ".agent/get-shit-done/bin/gsd-tools.cjs" state advance-plan
403
+ pi-gsd-tools state advance-plan
404
404
 
405
405
  # Recalculate progress bar from disk state
406
- node ".agent/get-shit-done/bin/gsd-tools.cjs" state update-progress
406
+ pi-gsd-tools state update-progress
407
407
 
408
408
  # Record execution metrics
409
- node ".agent/get-shit-done/bin/gsd-tools.cjs" state record-metric \
409
+ pi-gsd-tools state record-metric \
410
410
  --phase "${PHASE}" --plan "${PLAN}" --duration "${DURATION}" \
411
411
  --tasks "${TASK_COUNT}" --files "${FILE_COUNT}"
412
412
  ```
@@ -418,11 +418,11 @@ From SUMMARY: Extract decisions and add to STATE.md:
418
418
  ```bash
419
419
  # Add each decision from SUMMARY key-decisions
420
420
  # Prefer file inputs for shell-safe text (preserves `$`, `*`, etc. exactly)
421
- node ".agent/get-shit-done/bin/gsd-tools.cjs" state add-decision \
421
+ pi-gsd-tools state add-decision \
422
422
  --phase "${PHASE}" --summary-file "${DECISION_TEXT_FILE}" --rationale-file "${RATIONALE_FILE}"
423
423
 
424
424
  # Add blockers if any found
425
- node ".agent/get-shit-done/bin/gsd-tools.cjs" state add-blocker --text-file "${BLOCKER_TEXT_FILE}"
425
+ pi-gsd-tools state add-blocker --text-file "${BLOCKER_TEXT_FILE}"
426
426
  ```
427
427
  </step>
428
428
 
@@ -430,7 +430,7 @@ node ".agent/get-shit-done/bin/gsd-tools.cjs" state add-blocker --text-file "${B
430
430
  Update session info using gsd-tools:
431
431
 
432
432
  ```bash
433
- node ".agent/get-shit-done/bin/gsd-tools.cjs" state record-session \
433
+ pi-gsd-tools state record-session \
434
434
  --stopped-at "Completed ${PHASE}-${PLAN}-PLAN.md" \
435
435
  --resume-file "None"
436
436
  ```
@@ -444,7 +444,7 @@ If SUMMARY "Issues Encountered" ≠ "None": yolo → log and continue. Interacti
444
444
 
445
445
  <step name="update_roadmap">
446
446
  ```bash
447
- node ".agent/get-shit-done/bin/gsd-tools.cjs" roadmap update-plan-progress "${PHASE}"
447
+ pi-gsd-tools roadmap update-plan-progress "${PHASE}"
448
448
  ```
449
449
  Counts PLAN vs SUMMARY files on disk. Updates progress table row with correct count and status (`In Progress` or `Complete` with date).
450
450
  </step>
@@ -453,7 +453,7 @@ Counts PLAN vs SUMMARY files on disk. Updates progress table row with correct co
453
453
  Mark completed requirements from the PLAN.md frontmatter `requirements:` field:
454
454
 
455
455
  ```bash
456
- node ".agent/get-shit-done/bin/gsd-tools.cjs" requirements mark-complete ${REQ_IDS}
456
+ pi-gsd-tools requirements mark-complete ${REQ_IDS}
457
457
  ```
458
458
 
459
459
  Extract requirement IDs from the plan's frontmatter (e.g., `requirements: [AUTH-01, AUTH-02]`). If no requirements field, skip.
@@ -463,7 +463,7 @@ Extract requirement IDs from the plan's frontmatter (e.g., `requirements: [AUTH-
463
463
  Task code already committed per-task. Commit plan metadata:
464
464
 
465
465
  ```bash
466
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md .planning/REQUIREMENTS.md
466
+ pi-gsd-tools commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md .planning/REQUIREMENTS.md
467
467
  ```
468
468
  </step>
469
469
 
@@ -478,7 +478,7 @@ git diff --name-only ${FIRST_TASK}^..HEAD 2>/dev/null || true
478
478
  Update only structural changes: new src/ dir → STRUCTURE.md | deps → STACK.md | file pattern → CONVENTIONS.md | API client → INTEGRATIONS.md | config → STACK.md | renamed → update paths. Skip code-only/bugfix/content changes.
479
479
 
480
480
  ```bash
481
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "" --files .planning/codebase/*.md --amend
481
+ pi-gsd-tools commit "" --files .planning/codebase/*.md --amend
482
482
  ```
483
483
  </step>
484
484
 
@@ -259,7 +259,7 @@ gh issue create \
259
259
  ## Step 8: Update STATE.md
260
260
 
261
261
  ```bash
262
- gsd-tools.cjs state record-session \
262
+ pi-gsd-tools state record-session \
263
263
  --stopped-at "Forensic investigation complete" \
264
264
  --resume-file ".planning/forensics/report-{timestamp}.md"
265
265
  ```
@@ -25,7 +25,7 @@ fi
25
25
  **Run health validation:**
26
26
 
27
27
  ```bash
28
- node ".agent/get-shit-done/bin/gsd-tools.cjs" validate health $REPAIR_FLAG
28
+ pi-gsd-tools validate health $REPAIR_FLAG
29
29
  ```
30
30
 
31
31
  Parse JSON output:
@@ -112,7 +112,7 @@ If yes, re-run with --repair flag and display results.
112
112
  Re-run health check without --repair to confirm issues are resolved:
113
113
 
114
114
  ```bash
115
- node ".agent/get-shit-done/bin/gsd-tools.cjs" validate health
115
+ pi-gsd-tools validate health
116
116
  ```
117
117
 
118
118
  Report final status.
@@ -34,7 +34,7 @@ Validate first argument is an integer.
34
34
  Load phase operation context:
35
35
 
36
36
  ```bash
37
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init phase-op "${after_phase}")
37
+ INIT=$(pi-gsd-tools init phase-op "${after_phase}")
38
38
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
39
39
  ```
40
40
 
@@ -49,7 +49,7 @@ Exit.
49
49
  **Delegate the phase insertion to gsd-tools:**
50
50
 
51
51
  ```bash
52
- RESULT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" phase insert "${after_phase}" "${description}")
52
+ RESULT=$(pi-gsd-tools phase insert "${after_phase}" "${description}")
53
53
  ```
54
54
 
55
55
  The CLI handles:
@@ -11,7 +11,7 @@ Read all files referenced by the invoking prompt's execution_context before star
11
11
  ## 1. Setup
12
12
 
13
13
  ```bash
14
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init list-workspaces)
14
+ INIT=$(pi-gsd-tools init list-workspaces)
15
15
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
16
16
  ```
17
17