pi-gsd 1.1.0 → 1.2.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 (61) hide show
  1. package/.gsd/extensions/gsd-hooks.ts +212 -212
  2. package/README.md +45 -44
  3. package/dist/{gsd-tools.js → pi-gsd-tools.js} +54 -54
  4. package/package.json +6 -6
  5. package/scripts/postinstall.js +253 -293
  6. package/skills/gsd-add-backlog/SKILL.md +3 -3
  7. package/skills/gsd-add-phase/SKILL.md +2 -2
  8. package/skills/gsd-add-tests/SKILL.md +2 -2
  9. package/skills/gsd-add-todo/SKILL.md +2 -2
  10. package/skills/gsd-audit-milestone/SKILL.md +2 -2
  11. package/skills/gsd-audit-uat/SKILL.md +1 -1
  12. package/skills/gsd-autonomous/SKILL.md +4 -4
  13. package/skills/gsd-check-todos/SKILL.md +2 -2
  14. package/skills/gsd-cleanup/SKILL.md +2 -2
  15. package/skills/gsd-complete-milestone/SKILL.md +2 -2
  16. package/skills/gsd-debug/SKILL.md +2 -2
  17. package/skills/gsd-discuss-phase/SKILL.md +6 -6
  18. package/skills/gsd-do/SKILL.md +3 -3
  19. package/skills/gsd-execute-phase/SKILL.md +4 -4
  20. package/skills/gsd-fast/SKILL.md +2 -2
  21. package/skills/gsd-forensics/SKILL.md +2 -2
  22. package/skills/gsd-health/SKILL.md +4 -4
  23. package/skills/gsd-help/SKILL.md +2 -2
  24. package/skills/gsd-insert-phase/SKILL.md +2 -2
  25. package/skills/gsd-list-phase-assumptions/SKILL.md +1 -1
  26. package/skills/gsd-list-workspaces/SKILL.md +3 -3
  27. package/skills/gsd-manager/SKILL.md +4 -4
  28. package/skills/gsd-map-codebase/SKILL.md +1 -1
  29. package/skills/gsd-milestone-summary/SKILL.md +2 -2
  30. package/skills/gsd-new-milestone/SKILL.md +6 -6
  31. package/skills/gsd-new-project/SKILL.md +6 -6
  32. package/skills/gsd-new-workspace/SKILL.md +3 -3
  33. package/skills/gsd-next/SKILL.md +2 -2
  34. package/skills/gsd-note/SKILL.md +3 -3
  35. package/skills/gsd-pause-work/SKILL.md +2 -2
  36. package/skills/gsd-plan-milestone-gaps/SKILL.md +2 -2
  37. package/skills/gsd-plan-phase/SKILL.md +3 -3
  38. package/skills/gsd-plant-seed/SKILL.md +2 -2
  39. package/skills/gsd-pr-branch/SKILL.md +2 -2
  40. package/skills/gsd-profile-user/SKILL.md +2 -2
  41. package/skills/gsd-progress/SKILL.md +4 -4
  42. package/skills/gsd-quick/SKILL.md +2 -2
  43. package/skills/gsd-remove-phase/SKILL.md +2 -2
  44. package/skills/gsd-remove-workspace/SKILL.md +3 -3
  45. package/skills/gsd-research-phase/SKILL.md +3 -3
  46. package/skills/gsd-resume-work/SKILL.md +2 -2
  47. package/skills/gsd-review/SKILL.md +2 -2
  48. package/skills/gsd-review-backlog/SKILL.md +2 -2
  49. package/skills/gsd-session-report/SKILL.md +2 -2
  50. package/skills/gsd-set-profile/SKILL.md +1 -1
  51. package/skills/gsd-settings/SKILL.md +2 -2
  52. package/skills/gsd-setup-pi/SKILL.md +15 -13
  53. package/skills/gsd-ship/SKILL.md +2 -2
  54. package/skills/gsd-stats/SKILL.md +4 -4
  55. package/skills/gsd-thread/SKILL.md +2 -2
  56. package/skills/gsd-ui-phase/SKILL.md +3 -3
  57. package/skills/gsd-ui-review/SKILL.md +3 -3
  58. package/skills/gsd-update/SKILL.md +2 -2
  59. package/skills/gsd-validate-phase/SKILL.md +2 -2
  60. package/skills/gsd-verify-work/SKILL.md +3 -3
  61. package/skills/gsd-workstreams/SKILL.md +1 -1
@@ -11,7 +11,7 @@ Output: Phase deleted, all subsequent phases renumbered, git commit as historica
11
11
  </objective>
12
12
 
13
13
  <execution_context>
14
- @.pi/get-shit-done/workflows/remove-phase.md
14
+ @.pi/gsd/workflows/remove-phase.md
15
15
  </execution_context>
16
16
 
17
17
  <context>
@@ -21,6 +21,6 @@ Roadmap and state are resolved in-workflow via `init phase-op` and targeted read
21
21
  </context>
22
22
 
23
23
  <process>
24
- Execute the remove-phase workflow from @.pi/get-shit-done/workflows/remove-phase.md end-to-end.
24
+ Execute the remove-phase workflow from @.pi/gsd/workflows/remove-phase.md end-to-end.
25
25
  Preserve all validation gates (future phase check, work check), renumbering logic, and commit.
26
26
  </process>
@@ -13,10 +13,10 @@ Remove a workspace directory after confirmation. For worktree strategy, runs `gi
13
13
  </objective>
14
14
 
15
15
  <execution_context>
16
- @.pi/get-shit-done/workflows/remove-workspace.md
17
- @.pi/get-shit-done/references/ui-brand.md
16
+ @.pi/gsd/workflows/remove-workspace.md
17
+ @.pi/gsd/references/ui-brand.md
18
18
  </execution_context>
19
19
 
20
20
  <process>
21
- Execute the remove-workspace workflow from @.pi/get-shit-done/workflows/remove-workspace.md end-to-end.
21
+ Execute the remove-workspace workflow from @.pi/gsd/workflows/remove-workspace.md end-to-end.
22
22
  </process>
@@ -36,7 +36,7 @@ Normalize phase input in step 1 before any directory lookups.
36
36
  ## 0. Initialize Context
37
37
 
38
38
  ```bash
39
- INIT=$(node ".pi/get-shit-done/bin/gsd-tools.cjs" init phase-op "$ARGUMENTS")
39
+ INIT=$(node ".pi/gsd/bin/pi-gsd-tools.cjs" init phase-op "$ARGUMENTS")
40
40
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
41
41
  ```
42
42
 
@@ -45,13 +45,13 @@ Extract from init JSON: `phase_dir`, `phase_number`, `phase_name`, `phase_found`
45
45
  Resolve researcher model:
46
46
 
47
47
  ```bash
48
- RESEARCHER_MODEL=$(node ".pi/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-phase-researcher --raw)
48
+ RESEARCHER_MODEL=$(node ".pi/gsd/bin/pi-gsd-tools.cjs" resolve-model gsd-phase-researcher --raw)
49
49
  ```
50
50
 
51
51
  ## 1. Validate Phase
52
52
 
53
53
  ```bash
54
- PHASE_INFO=$(node ".pi/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "${phase_number}")
54
+ PHASE_INFO=$(node ".pi/gsd/bin/pi-gsd-tools.cjs" roadmap get-phase "${phase_number}")
55
55
  ```
56
56
 
57
57
  **If `found` is false:** Error and exit. **If `found` is true:** Extract `phase_number`, `phase_name`, `goal` from JSON.
@@ -17,11 +17,11 @@ Routes to the resume-project workflow which handles:
17
17
  </objective>
18
18
 
19
19
  <execution_context>
20
- @.pi/get-shit-done/workflows/resume-project.md
20
+ @.pi/gsd/workflows/resume-project.md
21
21
  </execution_context>
22
22
 
23
23
  <process>
24
- **Follow the resume-project workflow** from `@.pi/get-shit-done/workflows/resume-project.md`.
24
+ **Follow the resume-project workflow** from `@.pi/gsd/workflows/resume-project.md`.
25
25
 
26
26
  The workflow handles all resumption logic including:
27
27
 
@@ -12,7 +12,7 @@ planning via /gsd-plan-phase --reviews.
12
12
  </objective>
13
13
 
14
14
  <execution_context>
15
- @.pi/get-shit-done/workflows/review.md
15
+ @.pi/gsd/workflows/review.md
16
16
  </execution_context>
17
17
 
18
18
  <context>
@@ -27,5 +27,5 @@ Phase number: extracted from $ARGUMENTS (required)
27
27
  </context>
28
28
 
29
29
  <process>
30
- Execute the review workflow from @.pi/get-shit-done/workflows/review.md end-to-end.
30
+ Execute the review workflow from @.pi/gsd/workflows/review.md end-to-end.
31
31
  </process>
@@ -32,7 +32,7 @@ milestone sequence or remove stale entries.
32
32
  - Find the next sequential phase number in the active milestone
33
33
  - Rename the directory from `999.x-slug` to `{new_num}-slug`:
34
34
  ```bash
35
- NEW_NUM=$(node ".pi/get-shit-done/bin/gsd-tools.cjs" phase add "${DESCRIPTION}" --raw)
35
+ NEW_NUM=$(node ".pi/gsd/bin/pi-gsd-tools.cjs" phase add "${DESCRIPTION}" --raw)
36
36
  ```
37
37
  - Move accumulated artifacts to the new phase directory
38
38
  - Update ROADMAP.md: move the entry from `## Backlog` section to the active phase list
@@ -46,7 +46,7 @@ milestone sequence or remove stale entries.
46
46
  6. **Commit changes:**
47
47
 
48
48
  ```bash
49
- node ".pi/get-shit-done/bin/gsd-tools.cjs" commit "docs: review backlog - promoted N, removed M" --files .planning/ROADMAP.md
49
+ node ".pi/gsd/bin/pi-gsd-tools.cjs" commit "docs: review backlog - promoted N, removed M" --files .planning/ROADMAP.md
50
50
  ```
51
51
 
52
52
  7. **Report summary:**
@@ -8,9 +8,9 @@ Generate a structured SESSION_REPORT.md document capturing session outcomes, wor
8
8
  </objective>
9
9
 
10
10
  <execution_context>
11
- @.pi/get-shit-done/workflows/session-report.md
11
+ @.pi/gsd/workflows/session-report.md
12
12
  </execution_context>
13
13
 
14
14
  <process>
15
- Execute the session-report workflow from @.pi/get-shit-done/workflows/session-report.md end-to-end.
15
+ Execute the session-report workflow from @.pi/gsd/workflows/session-report.md end-to-end.
16
16
  </process>
@@ -6,4 +6,4 @@ description: Switch model profile for GSD agents (quality/balanced/budget/inheri
6
6
 
7
7
  Show the following output to the user verbatim, with no extra commentary:
8
8
 
9
- !`node ".pi/get-shit-done/bin/gsd-tools.cjs" config-set-model-profile $ARGUMENTS --raw`
9
+ !`node ".pi/gsd/bin/pi-gsd-tools.cjs" config-set-model-profile $ARGUMENTS --raw`
@@ -16,11 +16,11 @@ Routes to the settings workflow which handles:
16
16
  </objective>
17
17
 
18
18
  <execution_context>
19
- @.pi/get-shit-done/workflows/settings.md
19
+ @.pi/gsd/workflows/settings.md
20
20
  </execution_context>
21
21
 
22
22
  <process>
23
- **Follow the settings workflow** from `@.pi/get-shit-done/workflows/settings.md`.
23
+ **Follow the settings workflow** from `@.pi/gsd/workflows/settings.md`.
24
24
 
25
25
  The workflow handles all logic including:
26
26
  1. Config file creation with defaults if missing
@@ -17,6 +17,7 @@ automatically copied into the consumer project's `.pi/extensions/` directory.
17
17
  This skill provides a manual fallback that performs the same wiring as `postinstall.js`.
18
18
 
19
19
  **What the extension does:**
20
+
20
21
  - `session_start` → background GSD update check (24 h cache in `~/.pi/cache/`)
21
22
  - `tool_call` (write/edit) → advisory workflow guard when `hooks.workflow_guard` is set
22
23
  - `tool_result` → context-usage monitor with debounced warnings
@@ -27,24 +28,25 @@ This skill provides a manual fallback that performs the same wiring as `postinst
27
28
  **Target location in the consumer project:**
28
29
  `.pi/extensions/gsd-hooks.ts`
29
30
 
30
- **settings.json entry (belt-and-suspenders pi also auto-discovers from `.pi/extensions/`):**
31
+ **settings.json entry (belt-and-suspenders - pi also auto-discovers from `.pi/extensions/`):**
31
32
  `{ "extensions": ["<absolute-path-to-.pi/extensions/gsd-hooks.ts>"] }`
32
33
  </context>
33
34
 
34
35
  <process>
35
36
 
36
- ## Step 1 Locate the pi-gsd package
37
+ ## Step 1 - Locate the pi-gsd package
37
38
 
38
39
  Resolve the pi-gsd package root (where `gsd-hooks.ts` lives):
39
- 1. Try `node -e "console.log(require.resolve('pi-gsd/package.json'))"` — strip `/package.json` suffix to get PKG_DIR.
40
+
41
+ 1. Try `node -e "console.log(require.resolve('pi-gsd/package.json'))"` - strip `/package.json` suffix to get PKG_DIR.
40
42
  2. If that fails, try common global paths:
41
43
  - `~/.bun/install/global/node_modules/pi-gsd`
42
44
  - `/home/linuxbrew/.linuxbrew/lib/node_modules/pi-gsd`
43
45
  - Output of `npm root -g` + `/pi-gsd`
44
46
  3. Confirm the extension source exists at `<PKG_DIR>/.gsd/extensions/gsd-hooks.ts`.
45
- If the source cannot be found, report the error clearly and stop do not proceed to Step 2.
47
+ If the source cannot be found, report the error clearly and stop - do not proceed to Step 2.
46
48
 
47
- ## Step 2 Check current project extension status
49
+ ## Step 2 - Check current project extension status
48
50
 
49
51
  In the current working directory (the consumer project):
50
52
 
@@ -52,7 +54,7 @@ In the current working directory (the consumer project):
52
54
  - **Check B:** Does `.pi/settings.json` exist? If yes, does `extensions` array include an absolute path to the extension file?
53
55
  - **Check C:** Does `.pi/extensions/` directory exist?
54
56
 
55
- ## Step 3 Install or confirm
57
+ ## Step 3 - Install or confirm
56
58
 
57
59
  ### If extension is MISSING (Check A failed):
58
60
 
@@ -61,21 +63,21 @@ In the current working directory (the consumer project):
61
63
  3. Update `.pi/settings.json`:
62
64
  - If the file does not exist, create it as `{ "extensions": ["<absolute-path>/.pi/extensions/gsd-hooks.ts"] }`.
63
65
  - If the file exists but `extensions` array is missing or does not include the path, add the absolute path.
64
- - Preserve all other existing settings merge, do not overwrite.
66
+ - Preserve all other existing settings - merge, do not overwrite.
65
67
  4. Report: `✓ GSD extension installed at .pi/extensions/gsd-hooks.ts`
66
68
  5. Report: `✓ .pi/settings.json updated`
67
69
 
68
70
  ### If extension is PRESENT (Check A passed):
69
71
 
70
72
  1. Confirm the file is non-empty (not a zero-byte stub).
71
- 2. Confirm it contains the marker comment `gsd-extension-version:` indicating it is the genuine GSD extension, not a stale copy from another tool.
72
- 3. Check Check B if `settings.json` is missing or the extension path is absent, add it now (same logic as missing case, step 3).
73
+ 2. Confirm it contains the marker comment `gsd-extension-version:` - indicating it is the genuine GSD extension, not a stale copy from another tool.
74
+ 3. Check Check B - if `settings.json` is missing or the extension path is absent, add it now (same logic as missing case, step 3).
73
75
  4. Report:
74
76
  - `✓ GSD extension present at .pi/extensions/gsd-hooks.ts`
75
77
  - `✓ hooks: session_start (update-check), tool_call (workflow-guard), tool_result (context-monitor)`
76
- - `✓ .pi/settings.json` either "already registered" or "path added"
78
+ - `✓ .pi/settings.json` - either "already registered" or "path added"
77
79
 
78
- ## Step 4 Summarise status
80
+ ## Step 4 - Summarise status
79
81
 
80
82
  Print a concise status table:
81
83
 
@@ -90,7 +92,7 @@ Extension version gsd-extension-version: X.Y.Z (value)
90
92
 
91
93
  If any item is `✗` after repair attempts, explain what failed and the manual fix.
92
94
 
93
- ## Step 5 Route to first-time setup
95
+ ## Step 5 - Route to first-time setup
94
96
 
95
97
  Ask the user:
96
98
 
@@ -98,6 +100,6 @@ Ask the user:
98
100
 
99
101
  - **Yes / first time:** Run `/gsd-new-project` to initialise `.planning/`, requirements, and roadmap.
100
102
  - **Already set up:** Run `/gsd-progress` to show current project state and next steps.
101
- - **Just checking:** Report "All done hooks verified." and stop.
103
+ - **Just checking:** Report "All done - hooks verified." and stop.
102
104
 
103
105
  </process>
@@ -10,7 +10,7 @@ Closes the plan → execute → verify → ship loop.
10
10
  </objective>
11
11
 
12
12
  <execution_context>
13
- @.pi/get-shit-done/workflows/ship.md
13
+ @.pi/gsd/workflows/ship.md
14
14
  </execution_context>
15
15
 
16
- Execute the ship workflow from @.pi/get-shit-done/workflows/ship.md end-to-end.
16
+ Execute the ship workflow from @.pi/gsd/workflows/ship.md end-to-end.
@@ -8,13 +8,13 @@ Display comprehensive project statistics including phase progress, plan executio
8
8
  </objective>
9
9
 
10
10
  <execution_context>
11
- @.pi/get-shit-done/workflows/stats.md
11
+ @.pi/gsd/workflows/stats.md
12
12
  </execution_context>
13
13
 
14
14
  <process>
15
- 1. Run: `gsd-tools stats --output toon`
15
+ 1. Run: `pi-gsd-tools stats --output toon`
16
16
  - If successful, present the toon output to the user.
17
- - If the command fails or toon output is unavailable, fall back to: `gsd-tools stats` (plain JSON output).
17
+ - If the command fails or toon output is unavailable, fall back to: `pi-gsd-tools stats` (plain JSON output).
18
18
 
19
- 2. Execute the stats workflow from @.pi/get-shit-done/workflows/stats.md end-to-end.
19
+ 2. Execute the stats workflow from @.pi/gsd/workflows/stats.md end-to-end.
20
20
  </process>
@@ -63,7 +63,7 @@ Create a new thread:
63
63
  1. Generate slug from description:
64
64
 
65
65
  ```bash
66
- SLUG=$(node ".pi/get-shit-done/bin/gsd-tools.cjs" generate-slug "$ARGUMENTS")
66
+ SLUG=$(node ".pi/gsd/bin/pi-gsd-tools.cjs" generate-slug "$ARGUMENTS")
67
67
  ```
68
68
 
69
69
  2. Create the threads directory if needed:
@@ -105,7 +105,7 @@ Create a new thread:
105
105
  5. Commit:
106
106
 
107
107
  ```bash
108
- node ".pi/get-shit-done/bin/gsd-tools.cjs" commit "docs: create thread - ${ARGUMENTS}" --files ".planning/threads/${SLUG}.md"
108
+ node ".pi/gsd/bin/pi-gsd-tools.cjs" commit "docs: create thread - ${ARGUMENTS}" --files ".planning/threads/${SLUG}.md"
109
109
  ```
110
110
 
111
111
  6. Report:
@@ -10,8 +10,8 @@ Flow: Validate → Research UI → Verify UI-SPEC → Done
10
10
  </objective>
11
11
 
12
12
  <execution_context>
13
- @.pi/get-shit-done/workflows/ui-phase.md
14
- @.pi/get-shit-done/references/ui-brand.md
13
+ @.pi/gsd/workflows/ui-phase.md
14
+ @.pi/gsd/references/ui-brand.md
15
15
  </execution_context>
16
16
 
17
17
  <context>
@@ -19,6 +19,6 @@ Phase number: $ARGUMENTS - optional, auto-detects next unplanned phase if omitte
19
19
  </context>
20
20
 
21
21
  <process>
22
- Execute @.pi/get-shit-done/workflows/ui-phase.md end-to-end.
22
+ Execute @.pi/gsd/workflows/ui-phase.md end-to-end.
23
23
  Preserve all workflow gates.
24
24
  </process>
@@ -10,8 +10,8 @@ Output: {phase_num}-UI-REVIEW.md
10
10
  </objective>
11
11
 
12
12
  <execution_context>
13
- @.pi/get-shit-done/workflows/ui-review.md
14
- @.pi/get-shit-done/references/ui-brand.md
13
+ @.pi/gsd/workflows/ui-review.md
14
+ @.pi/gsd/references/ui-brand.md
15
15
  </execution_context>
16
16
 
17
17
  <context>
@@ -19,6 +19,6 @@ Phase: $ARGUMENTS - optional, defaults to last completed phase.
19
19
  </context>
20
20
 
21
21
  <process>
22
- Execute @.pi/get-shit-done/workflows/ui-review.md end-to-end.
22
+ Execute @.pi/gsd/workflows/ui-review.md end-to-end.
23
23
  Preserve all workflow gates.
24
24
  </process>
@@ -17,11 +17,11 @@ Routes to the update workflow which handles:
17
17
  </objective>
18
18
 
19
19
  <execution_context>
20
- @.pi/get-shit-done/workflows/update.md
20
+ @.pi/gsd/workflows/update.md
21
21
  </execution_context>
22
22
 
23
23
  <process>
24
- **Follow the update workflow** from `@.pi/get-shit-done/workflows/update.md`.
24
+ **Follow the update workflow** from `@.pi/gsd/workflows/update.md`.
25
25
 
26
26
  The workflow handles all logic including:
27
27
  1. Installed version detection (local/global)
@@ -13,7 +13,7 @@ Output: updated VALIDATION.md + generated test files.
13
13
  </objective>
14
14
 
15
15
  <execution_context>
16
- @.pi/get-shit-done/workflows/validate-phase.md
16
+ @.pi/gsd/workflows/validate-phase.md
17
17
  </execution_context>
18
18
 
19
19
  <context>
@@ -21,6 +21,6 @@ Phase: $ARGUMENTS - optional, defaults to last completed phase.
21
21
  </context>
22
22
 
23
23
  <process>
24
- Execute @.pi/get-shit-done/workflows/validate-phase.md.
24
+ Execute @.pi/gsd/workflows/validate-phase.md.
25
25
  Preserve all workflow gates.
26
26
  </process>
@@ -12,8 +12,8 @@ Output: {phase_num}-UAT.md tracking all test results. If issues found: diagnosed
12
12
  </objective>
13
13
 
14
14
  <execution_context>
15
- @.pi/get-shit-done/workflows/verify-work.md
16
- @.pi/get-shit-done/templates/UAT.md
15
+ @.pi/gsd/workflows/verify-work.md
16
+ @.pi/gsd/templates/UAT.md
17
17
  </execution_context>
18
18
 
19
19
  <context>
@@ -25,6 +25,6 @@ Context files are resolved inside the workflow (`init verify-work`) and delegate
25
25
  </context>
26
26
 
27
27
  <process>
28
- Execute the verify-work workflow from @.pi/get-shit-done/workflows/verify-work.md end-to-end.
28
+ Execute the verify-work workflow from @.pi/gsd/workflows/verify-work.md end-to-end.
29
29
  Preserve all workflow gates (session management, test presentation, diagnosis, fix planning, routing).
30
30
  </process>
@@ -68,5 +68,5 @@ Set the workstream as active and suggest `/gsd-resume-work --ws <name>`.
68
68
 
69
69
  ## Step 3: Display Results
70
70
 
71
- Format the JSON output from gsd-tools into a human-readable display.
71
+ Format the JSON output from pi-gsd-tools into a human-readable display.
72
72
  Include the `${GSD_WS}` flag in any routing suggestions.