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
@@ -6,7 +6,7 @@ Calculate the next decimal phase number for urgent insertions.
6
6
 
7
7
  ```bash
8
8
  # Get next decimal phase after phase 6
9
- node ".agent/get-shit-done/bin/gsd-tools.cjs" phase next-decimal 6
9
+ node ".pi/gsd/bin/gsd-tools.cjs" phase next-decimal 6
10
10
  ```
11
11
 
12
12
  Output:
@@ -32,13 +32,13 @@ With existing decimals:
32
32
  ## Extract Values
33
33
 
34
34
  ```bash
35
- DECIMAL_PHASE=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" phase next-decimal "${AFTER_PHASE}" --pick next)
36
- BASE_PHASE=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" phase next-decimal "${AFTER_PHASE}" --pick base_phase)
35
+ DECIMAL_PHASE=$(node ".pi/gsd/bin/gsd-tools.cjs" phase next-decimal "${AFTER_PHASE}" --pick next)
36
+ BASE_PHASE=$(node ".pi/gsd/bin/gsd-tools.cjs" phase next-decimal "${AFTER_PHASE}" --pick base_phase)
37
37
  ```
38
38
 
39
39
  Or with --raw flag:
40
40
  ```bash
41
- DECIMAL_PHASE=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" phase next-decimal "${AFTER_PHASE}" --raw)
41
+ DECIMAL_PHASE=$(node ".pi/gsd/bin/gsd-tools.cjs" phase next-decimal "${AFTER_PHASE}" --raw)
42
42
  # Returns just: 06.1
43
43
  ```
44
44
 
@@ -56,7 +56,7 @@ DECIMAL_PHASE=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" phase next-decimal
56
56
  Decimal phase directories use the full decimal number:
57
57
 
58
58
  ```bash
59
- SLUG=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" generate-slug "$DESCRIPTION" --raw)
59
+ SLUG=$(node ".pi/gsd/bin/gsd-tools.cjs" generate-slug "$DESCRIPTION" --raw)
60
60
  PHASE_DIR=".planning/phases/${DECIMAL_PHASE}-${SLUG}"
61
61
  mkdir -p "$PHASE_DIR"
62
62
  ```
@@ -51,7 +51,7 @@ Phases:
51
51
  What to commit:
52
52
 
53
53
  ```bash
54
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs: initialize [project-name] ([N] phases)" --files .planning/
54
+ node ".pi/gsd/bin/gsd-tools.cjs" commit "docs: initialize [project-name] ([N] phases)" --files .planning/
55
55
  ```
56
56
 
57
57
  </format>
@@ -133,7 +133,7 @@ SUMMARY: .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md
133
133
  What to commit:
134
134
 
135
135
  ```bash
136
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-PLAN.md .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md
136
+ node ".pi/gsd/bin/gsd-tools.cjs" commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-PLAN.md .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md .planning/ROADMAP.md
137
137
  ```
138
138
 
139
139
  **Note:** Code files NOT included - already committed per-task.
@@ -153,7 +153,7 @@ Current: [task name]
153
153
  What to commit:
154
154
 
155
155
  ```bash
156
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "wip: [phase-name] paused at task [X]/[Y]" --files .planning/
156
+ node ".pi/gsd/bin/gsd-tools.cjs" commit "wip: [phase-name] paused at task [X]/[Y]" --files .planning/
157
157
  ```
158
158
 
159
159
  </format>
@@ -284,7 +284,7 @@ Set `commit_docs: false` so planning docs stay local and are not committed to an
284
284
  Instead of the standard `commit` command, use `commit-to-subrepo` when `sub_repos` is configured:
285
285
 
286
286
  ```bash
287
- node .agent/get-shit-done/bin/gsd-tools.cjs commit-to-subrepo "feat(02-01): add user API" \
287
+ node .pi/gsd/bin/gsd-tools.cjs commit-to-subrepo "feat(02-01): add user API" \
288
288
  --files backend/src/api/users.ts backend/src/types/user.ts frontend/src/components/UserForm.tsx
289
289
  ```
290
290
 
@@ -7,7 +7,7 @@ Commit planning artifacts using the gsd-tools CLI, which automatically checks `c
7
7
  Always use `gsd-tools.cjs commit` for `.planning/` files - it handles `commit_docs` and gitignore checks automatically:
8
8
 
9
9
  ```bash
10
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs({scope}): {description}" --files .planning/STATE.md .planning/ROADMAP.md
10
+ node ".pi/gsd/bin/gsd-tools.cjs" commit "docs({scope}): {description}" --files .planning/STATE.md .planning/ROADMAP.md
11
11
  ```
12
12
 
13
13
  The CLI will return `skipped` (with reason) if `commit_docs` is `false` or `.planning/` is gitignored. No manual conditional checks needed.
@@ -17,7 +17,7 @@ The CLI will return `skipped` (with reason) if `commit_docs` is `false` or `.pla
17
17
  To fold `.planning/` file changes into the previous commit:
18
18
 
19
19
  ```bash
20
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "" --files .planning/codebase/*.md --amend
20
+ node ".pi/gsd/bin/gsd-tools.cjs" commit "" --files .planning/codebase/*.md --amend
21
21
  ```
22
22
 
23
23
  ## Commit Message Patterns
@@ -12,7 +12,7 @@ Default: `balanced` if not set or config missing.
12
12
 
13
13
  ## Lookup Table
14
14
 
15
- @.agent/get-shit-done/references/model-profiles.md
15
+ @.pi/gsd/references/model-profiles.md
16
16
 
17
17
  Look up the agent in the table for the resolved profile. Pass the model parameter to Task calls:
18
18
 
@@ -14,7 +14,7 @@ From `$ARGUMENTS`:
14
14
  The `find-phase` command handles normalization and validation in one step:
15
15
 
16
16
  ```bash
17
- PHASE_INFO=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" find-phase "${PHASE}")
17
+ PHASE_INFO=$(node ".pi/gsd/bin/gsd-tools.cjs" find-phase "${PHASE}")
18
18
  ```
19
19
 
20
20
  Returns JSON with:
@@ -45,7 +45,7 @@ fi
45
45
  Use `roadmap get-phase` to validate phase exists:
46
46
 
47
47
  ```bash
48
- PHASE_CHECK=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "${PHASE}" --pick found)
48
+ PHASE_CHECK=$(node ".pi/gsd/bin/gsd-tools.cjs" roadmap get-phase "${PHASE}" --pick found)
49
49
  if [ "$PHASE_CHECK" = "false" ]; then
50
50
  echo "ERROR: Phase ${PHASE} not found in roadmap"
51
51
  exit 1
@@ -57,5 +57,5 @@ fi
57
57
  Use `find-phase` for directory lookup:
58
58
 
59
59
  ```bash
60
- PHASE_DIR=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" find-phase "${PHASE}" --raw)
60
+ PHASE_DIR=$(node ".pi/gsd/bin/gsd-tools.cjs" find-phase "${PHASE}" --raw)
61
61
  ```
@@ -42,15 +42,15 @@ Configuration options for `.planning/` directory behavior.
42
42
 
43
43
  ```bash
44
44
  # Commit with automatic commit_docs + gitignore checks:
45
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs: update state" --files .planning/STATE.md
45
+ node ".pi/gsd/bin/gsd-tools.cjs" commit "docs: update state" --files .planning/STATE.md
46
46
 
47
47
  # Load config via state load (returns JSON):
48
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" state load)
48
+ INIT=$(node ".pi/gsd/bin/gsd-tools.cjs" state load)
49
49
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
50
50
  # commit_docs is available in the JSON output
51
51
 
52
52
  # Or use init commands which include commit_docs:
53
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init execute-phase "1")
53
+ INIT=$(node ".pi/gsd/bin/gsd-tools.cjs" init execute-phase "1")
54
54
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
55
55
  # commit_docs is included in all init command outputs
56
56
  ```
@@ -60,7 +60,7 @@ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
60
60
  **Commit via CLI (handles checks automatically):**
61
61
 
62
62
  ```bash
63
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs: update state" --files .planning/STATE.md
63
+ node ".pi/gsd/bin/gsd-tools.cjs" commit "docs: update state" --files .planning/STATE.md
64
64
  ```
65
65
 
66
66
  The CLI checks `commit_docs` config and gitignore status internally - no manual conditionals needed.
@@ -148,14 +148,14 @@ To use uncommitted mode:
148
148
 
149
149
  Use `init execute-phase` which returns all config as JSON:
150
150
  ```bash
151
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init execute-phase "1")
151
+ INIT=$(node ".pi/gsd/bin/gsd-tools.cjs" init execute-phase "1")
152
152
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
153
153
  # JSON output includes: branching_strategy, phase_branch_template, milestone_branch_template
154
154
  ```
155
155
 
156
156
  Or use `state load` for the config values:
157
157
  ```bash
158
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" state load)
158
+ INIT=$(node ".pi/gsd/bin/gsd-tools.cjs" state load)
159
159
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
160
160
  # Parse branching_strategy, phase_branch_template, milestone_branch_template from JSON
161
161
  ```
@@ -600,7 +600,7 @@ Some things can't be verified programmatically. Flag these for human testing:
600
600
 
601
601
  For automation-first checkpoint patterns, server lifecycle management, CLI installation handling, and error recovery protocols, see:
602
602
 
603
- **@.agent/get-shit-done/references/checkpoints.md** → `<automation_reference>` section
603
+ **@.pi/gsd/references/checkpoints.md** → `<automation_reference>` section
604
604
 
605
605
  Key principles:
606
606
  - the agent sets up verification environment BEFORE presenting checkpoints
@@ -216,7 +216,7 @@ get-shit-done/
216
216
 
217
217
  **New Workflow:**
218
218
  - Implementation: `get-shit-done/workflows/{name}.md`
219
- - Usage: Reference from command with `@.agent/get-shit-done/workflows/{name}.md`
219
+ - Usage: Reference from command with `@.pi/gsd/workflows/{name}.md`
220
220
 
221
221
  **New Reference Document:**
222
222
  - Implementation: `get-shit-done/references/{name}.md`
@@ -38,10 +38,10 @@ Output: [What artifacts will be created]
38
38
  </objective>
39
39
 
40
40
  <execution_context>
41
- @.agent/get-shit-done/workflows/execute-plan.md
42
- @.agent/get-shit-done/templates/summary.md
41
+ @.pi/gsd/workflows/execute-plan.md
42
+ @.pi/gsd/templates/summary.md
43
43
  [If plan contains checkpoint tasks (type="checkpoint:*"), add:]
44
- @.agent/get-shit-done/references/checkpoints.md
44
+ @.pi/gsd/references/checkpoints.md
45
45
  </execution_context>
46
46
 
47
47
  <context>
@@ -85,7 +85,7 @@ Output: [What artifacts will be created]
85
85
  <done>[Acceptance criteria]</done>
86
86
  </task>
87
87
 
88
- <!-- For checkpoint task examples and patterns, see @.agent/get-shit-done/references/checkpoints.md -->
88
+ <!-- For checkpoint task examples and patterns, see @.pi/gsd/references/checkpoints.md -->
89
89
 
90
90
  <task type="checkpoint:decision" gate="blocking">
91
91
  <decision>[What needs deciding]</decision>
@@ -278,7 +278,7 @@ TDD features get dedicated plans with `type: tdd`.
278
278
  → Yes: Create a TDD plan
279
279
  → No: Standard task in standard plan
280
280
 
281
- See `.agent/get-shit-done/references/tdd.md` for TDD plan structure.
281
+ See `.pi/gsd/references/tdd.md` for TDD plan structure.
282
282
 
283
283
  ---
284
284
 
@@ -382,9 +382,9 @@ Output: Working dashboard component.
382
382
  </objective>
383
383
 
384
384
  <execution_context>
385
- @.agent/get-shit-done/workflows/execute-plan.md
386
- @.agent/get-shit-done/templates/summary.md
387
- @.agent/get-shit-done/references/checkpoints.md
385
+ @.pi/gsd/workflows/execute-plan.md
386
+ @.pi/gsd/templates/summary.md
387
+ @.pi/gsd/references/checkpoints.md
388
388
  </execution_context>
389
389
 
390
390
  <context>
@@ -540,7 +540,7 @@ user_setup:
540
540
 
541
541
  **Result:** Execute-plan generates `{phase}-USER-SETUP.md` with checklist for the user.
542
542
 
543
- See `.agent/get-shit-done/templates/user-setup.md` for full schema and examples
543
+ See `.pi/gsd/templates/user-setup.md` for full schema and examples
544
544
 
545
545
  ---
546
546
 
@@ -607,4 +607,4 @@ Task completion ≠ Goal achievement. A task "create chat component" can complet
607
607
  5. Gaps found → fix plans created → execute → re-verify
608
608
  6. All must_haves pass → phase complete
609
609
 
610
- See `.agent/get-shit-done/workflows/verify-phase.md` for verification logic.
610
+ See `.pi/gsd/workflows/verify-phase.md` for verification logic.
@@ -29,7 +29,7 @@ Exit.
29
29
  Load phase operation context:
30
30
 
31
31
  ```bash
32
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init phase-op "0")
32
+ INIT=$(pi-gsd-tools init phase-op "0")
33
33
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
34
34
  ```
35
35
 
@@ -45,7 +45,7 @@ Exit.
45
45
  **Delegate the phase addition to gsd-tools:**
46
46
 
47
47
  ```bash
48
- RESULT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" phase add "${description}")
48
+ RESULT=$(pi-gsd-tools phase add "${description}")
49
49
  ```
50
50
 
51
51
  The CLI handles:
@@ -33,7 +33,7 @@ Exit.
33
33
  Load phase operation context:
34
34
 
35
35
  ```bash
36
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init phase-op "${PHASE_ARG}")
36
+ INIT=$(pi-gsd-tools init phase-op "${PHASE_ARG}")
37
37
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
38
38
  ```
39
39
 
@@ -297,7 +297,7 @@ Create a test coverage report and present to user:
297
297
 
298
298
  Record test generation in project state:
299
299
  ```bash
300
- node ".agent/get-shit-done/bin/gsd-tools.cjs" state-snapshot
300
+ pi-gsd-tools state-snapshot
301
301
  ```
302
302
 
303
303
  If there are passing tests to commit:
@@ -12,7 +12,7 @@ Read all files referenced by the invoking prompt's execution_context before star
12
12
  Load todo context:
13
13
 
14
14
  ```bash
15
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init todos)
15
+ INIT=$(pi-gsd-tools init todos)
16
16
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
17
17
  ```
18
18
 
@@ -84,7 +84,7 @@ Use values from init context: `timestamp` and `date` are already available.
84
84
 
85
85
  Generate slug for the title:
86
86
  ```bash
87
- slug=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" generate-slug "$title" --raw)
87
+ slug=$(pi-gsd-tools generate-slug "$title" --raw)
88
88
  ```
89
89
 
90
90
  Write to `.planning/todos/pending/${date}-${slug}.md`:
@@ -119,7 +119,7 @@ If `.planning/STATE.md` exists:
119
119
  Commit the todo and any updated state:
120
120
 
121
121
  ```bash
122
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs: capture todo - [title]" --files .planning/todos/pending/[filename] .planning/STATE.md
122
+ pi-gsd-tools commit "docs: capture todo - [title]" --files .planning/todos/pending/[filename] .planning/STATE.md
123
123
  ```
124
124
 
125
125
  Tool respects `commit_docs` config and gitignore automatically.
@@ -16,23 +16,23 @@ Valid GSD subagent types (use exact names - do not fall back to 'general-purpose
16
16
  ## 0. Initialize Milestone Context
17
17
 
18
18
  ```bash
19
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init milestone-op)
19
+ INIT=$(pi-gsd-tools init milestone-op)
20
20
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
21
- AGENT_SKILLS_CHECKER=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-integration-checker 2>/dev/null)
21
+ AGENT_SKILLS_CHECKER=$(pi-gsd-tools agent-skills gsd-integration-checker 2>/dev/null)
22
22
  ```
23
23
 
24
24
  Extract from init JSON: `milestone_version`, `milestone_name`, `phase_count`, `completed_phases`, `commit_docs`.
25
25
 
26
26
  Resolve integration checker model:
27
27
  ```bash
28
- integration_checker_model=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-integration-checker --raw)
28
+ integration_checker_model=$(pi-gsd-tools resolve-model gsd-integration-checker --raw)
29
29
  ```
30
30
 
31
31
  ## 1. Determine Milestone Scope
32
32
 
33
33
  ```bash
34
34
  # Get phases in milestone (sorted numerically, handles decimals)
35
- node ".agent/get-shit-done/bin/gsd-tools.cjs" phases list
35
+ pi-gsd-tools phases list
36
36
  ```
37
37
 
38
38
  - Parse version from arguments or detect current from ROADMAP.md
@@ -46,7 +46,7 @@ For each phase directory, read the VERIFICATION.md:
46
46
 
47
47
  ```bash
48
48
  # For each phase, use find-phase to resolve the directory (handles archived phases)
49
- PHASE_INFO=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" find-phase 01 --raw)
49
+ PHASE_INFO=$(pi-gsd-tools find-phase 01 --raw)
50
50
  # Extract directory from JSON, then read VERIFICATION.md from that directory
51
51
  # Repeat for each phase number from ROADMAP.md
52
52
  ```
@@ -113,7 +113,7 @@ For each phase's SUMMARY.md, extract `requirements-completed` from YAML frontmat
113
113
  ```bash
114
114
  for summary in .planning/phases/*-*/*-SUMMARY.md; do
115
115
  [ -e "$summary" ] || continue
116
- node ".agent/get-shit-done/bin/gsd-tools.cjs" summary-extract "$summary" --fields requirements_completed --pick requirements_completed
116
+ pi-gsd-tools summary-extract "$summary" --fields requirements_completed --pick requirements_completed
117
117
  done
118
118
  ```
119
119
 
@@ -141,7 +141,7 @@ For each REQ-ID, determine status using all three sources:
141
141
  Skip if `workflow.nyquist_validation` is explicitly `false` (absent = enabled).
142
142
 
143
143
  ```bash
144
- NYQUIST_CONFIG=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow.nyquist_validation --raw 2>/dev/null)
144
+ NYQUIST_CONFIG=$(pi-gsd-tools config-get workflow.nyquist_validation --raw 2>/dev/null)
145
145
  ```
146
146
 
147
147
  If `false`: skip entirely.
@@ -8,7 +8,7 @@ Cross-phase audit of all UAT and verification files. Finds every outstanding ite
8
8
  Run the CLI audit:
9
9
 
10
10
  ```bash
11
- AUDIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" audit-uat --raw)
11
+ AUDIT=$(pi-gsd-tools audit-uat --raw)
12
12
  ```
13
13
 
14
14
  Parse JSON for `results` array and `summary` object.
@@ -28,7 +28,7 @@ fi
28
28
  Bootstrap via milestone-level init:
29
29
 
30
30
  ```bash
31
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init milestone-op)
31
+ INIT=$(pi-gsd-tools init milestone-op)
32
32
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
33
33
  ```
34
34
 
@@ -59,7 +59,7 @@ If `FROM_PHASE` is set, display: `Starting from phase ${FROM_PHASE}`
59
59
  Run phase discovery:
60
60
 
61
61
  ```bash
62
- ROADMAP=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" roadmap analyze)
62
+ ROADMAP=$(pi-gsd-tools roadmap analyze)
63
63
  ```
64
64
 
65
65
  Parse the JSON `phases` array.
@@ -98,7 +98,7 @@ Exit cleanly.
98
98
  **Fetch details for each phase:**
99
99
 
100
100
  ```bash
101
- DETAIL=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase ${PHASE_NUM})
101
+ DETAIL=$(pi-gsd-tools roadmap get-phase ${PHASE_NUM})
102
102
  ```
103
103
 
104
104
  Extract `phase_name`, `goal`, `success_criteria` from each. Store for use in execute_phase and transition messages.
@@ -124,7 +124,7 @@ Where N = current phase number (from the ROADMAP, e.g., 6), T = total milestone
124
124
  Check if CONTEXT.md already exists for this phase:
125
125
 
126
126
  ```bash
127
- PHASE_STATE=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init phase-op ${PHASE_NUM})
127
+ PHASE_STATE=$(pi-gsd-tools init phase-op ${PHASE_NUM})
128
128
  ```
129
129
 
130
130
  Parse `has_context` from JSON.
@@ -140,7 +140,7 @@ Proceed to 3b.
140
140
  **If has_context is false:** Check if discuss is disabled via settings:
141
141
 
142
142
  ```bash
143
- SKIP_DISCUSS=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow.skip_discuss 2>/dev/null || echo "false")
143
+ SKIP_DISCUSS=$(pi-gsd-tools config-get workflow.skip_discuss 2>/dev/null || echo "false")
144
144
  ```
145
145
 
146
146
  **If SKIP_DISCUSS is `true`:** Skip discuss entirely - the ROADMAP phase description is the spec. Display:
@@ -152,7 +152,7 @@ Phase ${PHASE_NUM}: Discuss skipped (workflow.skip_discuss=true) - using ROADMAP
152
152
  Write a minimal CONTEXT.md so downstream plan-phase has valid input. Get phase details:
153
153
 
154
154
  ```bash
155
- DETAIL=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase ${PHASE_NUM})
155
+ DETAIL=$(pi-gsd-tools roadmap get-phase ${PHASE_NUM})
156
156
  ```
157
157
 
158
158
  Extract `goal` and `requirements` from JSON. Write `${phase_dir}/${padded_phase}-CONTEXT.md` with:
@@ -204,7 +204,7 @@ None - discuss phase skipped.
204
204
  Commit the minimal context:
205
205
 
206
206
  ```bash
207
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs(${PADDED_PHASE}): auto-generated context (discuss skipped)" --files "${phase_dir}/${padded_phase}-CONTEXT.md"
207
+ pi-gsd-tools commit "docs(${PADDED_PHASE}): auto-generated context (discuss skipped)" --files "${phase_dir}/${padded_phase}-CONTEXT.md"
208
208
  ```
209
209
 
210
210
  Proceed to 3b.
@@ -214,7 +214,7 @@ Proceed to 3b.
214
214
  After smart_discuss completes, verify context was written:
215
215
 
216
216
  ```bash
217
- PHASE_STATE=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init phase-op ${PHASE_NUM})
217
+ PHASE_STATE=$(pi-gsd-tools init phase-op ${PHASE_NUM})
218
218
  ```
219
219
 
220
220
  Check `has_context`. If false → go to handle_blocker: "Smart discuss for phase ${PHASE_NUM} did not produce CONTEXT.md."
@@ -224,7 +224,7 @@ Check `has_context`. If false → go to handle_blocker: "Smart discuss for phase
224
224
  Check if this phase has frontend indicators and whether a UI-SPEC already exists:
225
225
 
226
226
  ```bash
227
- PHASE_SECTION=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase ${PHASE_NUM} 2>/dev/null)
227
+ PHASE_SECTION=$(pi-gsd-tools roadmap get-phase ${PHASE_NUM} 2>/dev/null)
228
228
  echo "$PHASE_SECTION" | grep -iE "UI|interface|frontend|component|layout|page|screen|view|form|dashboard|widget" > /dev/null 2>&1
229
229
  HAS_UI=$?
230
230
  UI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-UI-SPEC.md 2>/dev/null | head -1)
@@ -233,7 +233,7 @@ UI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-UI-SPEC.md 2>/dev/null | head -1)
233
233
  Check if UI phase workflow is enabled:
234
234
 
235
235
  ```bash
236
- UI_PHASE_CFG=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow.ui_phase 2>/dev/null || echo "true")
236
+ UI_PHASE_CFG=$(pi-gsd-tools config-get workflow.ui_phase 2>/dev/null || echo "true")
237
237
  ```
238
238
 
239
239
  **If `HAS_UI` is 0 (frontend indicators found) AND `UI_SPEC_FILE` is empty (no UI-SPEC exists) AND `UI_PHASE_CFG` is not `false`:**
@@ -283,7 +283,7 @@ VERIFY_STATUS=$(grep "^status:" "${PHASE_DIR}"/*-VERIFICATION.md 2>/dev/null | h
283
283
  Where `PHASE_DIR` comes from the `init phase-op` call already made in step 3a. If the variable is not in scope, re-fetch:
284
284
 
285
285
  ```bash
286
- PHASE_STATE=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init phase-op ${PHASE_NUM})
286
+ PHASE_STATE=$(pi-gsd-tools init phase-op ${PHASE_NUM})
287
287
  ```
288
288
 
289
289
  Parse `phase_dir` from the JSON.
@@ -377,7 +377,7 @@ UI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-UI-SPEC.md 2>/dev/null | head -1)
377
377
  Check if UI review is enabled:
378
378
 
379
379
  ```bash
380
- UI_REVIEW_CFG=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" config-get workflow.ui_review 2>/dev/null || echo "true")
380
+ UI_REVIEW_CFG=$(pi-gsd-tools config-get workflow.ui_review 2>/dev/null || echo "true")
381
381
  ```
382
382
 
383
383
  **If `UI_SPEC_FILE` is not empty AND `UI_REVIEW_CFG` is not `false`:**
@@ -409,7 +409,7 @@ Run smart discuss for the current phase. Proposes grey area answers in batch tab
409
409
  **Inputs:** `PHASE_NUM` from execute_phase. Run init to get phase paths:
410
410
 
411
411
  ```bash
412
- PHASE_STATE=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init phase-op ${PHASE_NUM})
412
+ PHASE_STATE=$(pi-gsd-tools init phase-op ${PHASE_NUM})
413
413
  ```
414
414
 
415
415
  Parse from JSON: `phase_dir`, `phase_slug`, `padded_phase`, `phase_name`.
@@ -498,7 +498,7 @@ Read the 3-5 most relevant files to understand existing patterns.
498
498
  **Get phase details:**
499
499
 
500
500
  ```bash
501
- DETAIL=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase ${PHASE_NUM})
501
+ DETAIL=$(pi-gsd-tools roadmap get-phase ${PHASE_NUM})
502
502
  ```
503
503
 
504
504
  Extract `goal`, `requirements`, `success_criteria` from the JSON response.
@@ -670,7 +670,7 @@ Write the file.
670
670
  **Commit:**
671
671
 
672
672
  ```bash
673
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs(${PADDED_PHASE}): smart discuss context" --files "${phase_dir}/${padded_phase}-CONTEXT.md"
673
+ pi-gsd-tools commit "docs(${PADDED_PHASE}): smart discuss context" --files "${phase_dir}/${padded_phase}-CONTEXT.md"
674
674
  ```
675
675
 
676
676
  Display confirmation:
@@ -689,7 +689,7 @@ Decisions captured: {count} across {area_count} areas
689
689
  After each phase completes, re-read ROADMAP.md to catch phases inserted mid-execution (decimal phases like 5.1):
690
690
 
691
691
  ```bash
692
- ROADMAP=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" roadmap analyze)
692
+ ROADMAP=$(pi-gsd-tools roadmap analyze)
693
693
  ```
694
694
 
695
695
  Re-filter incomplete phases using the same logic as discover_phases:
@@ -12,7 +12,7 @@ Read all files referenced by the invoking prompt's execution_context before star
12
12
  Load todo context:
13
13
 
14
14
  ```bash
15
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init todos)
15
+ INIT=$(pi-gsd-tools init todos)
16
16
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
17
17
  ```
18
18
 
@@ -155,7 +155,7 @@ If todo was moved to done/, commit the change:
155
155
 
156
156
  ```bash
157
157
  git rm --cached .planning/todos/pending/[filename] 2>/dev/null || true
158
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs: start work on todo - [title]" --files .planning/todos/done/[filename] .planning/STATE.md
158
+ pi-gsd-tools commit "docs: start work on todo - [title]" --files .planning/todos/done/[filename] .planning/STATE.md
159
159
  ```
160
160
 
161
161
  Tool respects `commit_docs` config and gitignore automatically.
@@ -122,7 +122,7 @@ Repeat for all milestones in the cleanup set.
122
122
  Commit the changes:
123
123
 
124
124
  ```bash
125
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "chore: archive phase directories from completed milestones" --files .planning/milestones/ .planning/phases/
125
+ pi-gsd-tools commit "chore: archive phase directories from completed milestones" --files .planning/milestones/ .planning/phases/
126
126
  ```
127
127
 
128
128
  </step>
@@ -42,7 +42,7 @@ When a milestone completes:
42
42
  **Use `roadmap analyze` for comprehensive readiness check:**
43
43
 
44
44
  ```bash
45
- ROADMAP=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" roadmap analyze)
45
+ ROADMAP=$(pi-gsd-tools roadmap analyze)
46
46
  ```
47
47
 
48
48
  This returns all phases with plan/summary counts and disk status. Use this to verify:
@@ -157,7 +157,7 @@ Extract one-liners from SUMMARY.md files using summary-extract:
157
157
  # For each phase in milestone, extract one-liner
158
158
  for summary in .planning/phases/*-*/*-SUMMARY.md; do
159
159
  [ -e "$summary" ] || continue
160
- node ".agent/get-shit-done/bin/gsd-tools.cjs" summary-extract "$summary" --fields one_liner --pick one_liner
160
+ pi-gsd-tools summary-extract "$summary" --fields one_liner --pick one_liner
161
161
  done
162
162
  ```
163
163
 
@@ -370,7 +370,7 @@ Update `.planning/ROADMAP.md` - group completed milestone phases:
370
370
  **Delegate archival to gsd-tools:**
371
371
 
372
372
  ```bash
373
- ARCHIVE=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" milestone complete "v[X.Y]" --name "[Milestone Name]")
373
+ ARCHIVE=$(pi-gsd-tools milestone complete "v[X.Y]" --name "[Milestone Name]")
374
374
  ```
375
375
 
376
376
  The CLI handles:
@@ -452,7 +452,7 @@ ls .planning/RETROSPECTIVE.md 2>/dev/null || true
452
452
 
453
453
  **If exists:** Read the file, append new milestone section before the "## Cross-Milestone Trends" section.
454
454
 
455
- **If doesn't exist:** Create from template at `.agent/get-shit-done/templates/retrospective.md`.
455
+ **If doesn't exist:** Create from template at `.pi/gsd/templates/retrospective.md`.
456
456
 
457
457
  **Gather retrospective data:**
458
458
 
@@ -497,7 +497,7 @@ If the "## Cross-Milestone Trends" section exists, update the tables with new da
497
497
 
498
498
  **Commit:**
499
499
  ```bash
500
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs: update retrospective for v${VERSION}" --files .planning/RETROSPECTIVE.md
500
+ pi-gsd-tools commit "docs: update retrospective for v${VERSION}" --files .planning/RETROSPECTIVE.md
501
501
  ```
502
502
 
503
503
  </step>
@@ -531,7 +531,7 @@ Check branching strategy and offer merge options.
531
531
  Use `init milestone-op` for context, or load config directly:
532
532
 
533
533
  ```bash
534
- INIT=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" init execute-phase "1")
534
+ INIT=$(pi-gsd-tools init execute-phase "1")
535
535
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
536
536
  ```
537
537
 
@@ -680,7 +680,7 @@ git push origin v[X.Y]
680
680
  Commit milestone completion.
681
681
 
682
682
  ```bash
683
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "chore: complete v[X.Y] milestone" --files .planning/milestones/v[X.Y]-ROADMAP.md .planning/milestones/v[X.Y]-REQUIREMENTS.md .planning/milestones/v[X.Y]-MILESTONE-AUDIT.md .planning/MILESTONES.md .planning/PROJECT.md .planning/STATE.md
683
+ pi-gsd-tools commit "chore: complete v[X.Y] milestone" --files .planning/milestones/v[X.Y]-ROADMAP.md .planning/milestones/v[X.Y]-REQUIREMENTS.md .planning/milestones/v[X.Y]-MILESTONE-AUDIT.md .planning/MILESTONES.md .planning/PROJECT.md .planning/STATE.md
684
684
  ```
685
685
  ```
686
686
 
@@ -81,7 +81,7 @@ This runs in parallel - all gaps investigated simultaneously.
81
81
  **Load agent skills:**
82
82
 
83
83
  ```bash
84
- AGENT_SKILLS_DEBUGGER=$(node ".agent/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-debugger 2>/dev/null)
84
+ AGENT_SKILLS_DEBUGGER=$(pi-gsd-tools agent-skills gsd-debugger 2>/dev/null)
85
85
  ```
86
86
 
87
87
  **Spawn debug agents in parallel:**
@@ -170,7 +170,7 @@ Update status in frontmatter to "diagnosed".
170
170
 
171
171
  Commit the updated UAT.md:
172
172
  ```bash
173
- node ".agent/get-shit-done/bin/gsd-tools.cjs" commit "docs({phase_num}): add root causes from diagnosis" --files ".planning/phases/XX-name/{phase_num}-UAT.md"
173
+ pi-gsd-tools commit "docs({phase_num}): add root causes from diagnosis" --files ".planning/phases/XX-name/{phase_num}-UAT.md"
174
174
  ```
175
175
  </step>
176
176