pi-gsd 1.8.2 → 1.9.1

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 (143) hide show
  1. package/.gsd/extensions/pi-gsd-hooks.ts +35 -12
  2. package/.gsd/harnesses/pi/get-shit-done/VERSION +1 -0
  3. package/.gsd/harnesses/pi/get-shit-done/bin/gsd-tools.cjs +974 -0
  4. package/.gsd/harnesses/pi/get-shit-done/bin/lib/commands.cjs +959 -0
  5. package/.gsd/harnesses/pi/get-shit-done/bin/lib/config.cjs +442 -0
  6. package/.gsd/harnesses/pi/get-shit-done/bin/lib/core.cjs +1646 -0
  7. package/.gsd/harnesses/pi/get-shit-done/bin/lib/frontmatter.cjs +336 -0
  8. package/.gsd/harnesses/pi/get-shit-done/bin/lib/init.cjs +1459 -0
  9. package/.gsd/harnesses/pi/get-shit-done/bin/lib/milestone.cjs +252 -0
  10. package/.gsd/harnesses/pi/get-shit-done/bin/lib/model-profiles.cjs +331 -0
  11. package/.gsd/harnesses/pi/get-shit-done/bin/lib/phase.cjs +888 -0
  12. package/.gsd/harnesses/pi/get-shit-done/bin/lib/profile-output.cjs +952 -0
  13. package/.gsd/harnesses/pi/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
  14. package/.gsd/harnesses/pi/get-shit-done/bin/lib/roadmap.cjs +329 -0
  15. package/.gsd/harnesses/pi/get-shit-done/bin/lib/security.cjs +382 -0
  16. package/.gsd/harnesses/pi/get-shit-done/bin/lib/state.cjs +1031 -0
  17. package/.gsd/harnesses/pi/get-shit-done/bin/lib/template.cjs +222 -0
  18. package/.gsd/harnesses/pi/get-shit-done/bin/lib/uat.cjs +282 -0
  19. package/.gsd/harnesses/pi/get-shit-done/bin/lib/verify.cjs +888 -0
  20. package/.gsd/harnesses/pi/get-shit-done/bin/lib/workstream.cjs +491 -0
  21. package/.gsd/harnesses/pi/get-shit-done/commands/gsd/workstreams.md +63 -0
  22. package/.gsd/harnesses/pi/get-shit-done/references/checkpoints.md +778 -0
  23. package/.gsd/harnesses/pi/get-shit-done/references/continuation-format.md +249 -0
  24. package/.gsd/harnesses/pi/get-shit-done/references/decimal-phase-calculation.md +64 -0
  25. package/.gsd/harnesses/pi/get-shit-done/references/git-integration.md +295 -0
  26. package/.gsd/harnesses/pi/get-shit-done/references/git-planning-commit.md +38 -0
  27. package/.gsd/harnesses/pi/get-shit-done/references/model-profile-resolution.md +36 -0
  28. package/.gsd/harnesses/pi/get-shit-done/references/model-profiles.md +146 -0
  29. package/.gsd/harnesses/pi/get-shit-done/references/phase-argument-parsing.md +61 -0
  30. package/.gsd/harnesses/pi/get-shit-done/references/planning-config.md +202 -0
  31. package/.gsd/harnesses/pi/get-shit-done/references/questioning.md +162 -0
  32. package/.gsd/harnesses/pi/get-shit-done/references/tdd.md +263 -0
  33. package/.gsd/harnesses/pi/get-shit-done/references/ui-brand.md +165 -0
  34. package/.gsd/harnesses/pi/get-shit-done/references/user-profiling.md +681 -0
  35. package/.gsd/harnesses/pi/get-shit-done/references/verification-patterns.md +612 -0
  36. package/.gsd/harnesses/pi/get-shit-done/references/workstream-flag.md +58 -0
  37. package/.gsd/harnesses/pi/get-shit-done/templates/DEBUG.md +164 -0
  38. package/.gsd/harnesses/pi/get-shit-done/templates/UAT.md +265 -0
  39. package/.gsd/harnesses/pi/get-shit-done/templates/UI-SPEC.md +100 -0
  40. package/.gsd/harnesses/pi/get-shit-done/templates/VALIDATION.md +76 -0
  41. package/.gsd/harnesses/pi/get-shit-done/templates/claude-md.md +122 -0
  42. package/.gsd/harnesses/pi/get-shit-done/templates/codebase/architecture.md +255 -0
  43. package/.gsd/harnesses/pi/get-shit-done/templates/codebase/concerns.md +310 -0
  44. package/.gsd/harnesses/pi/get-shit-done/templates/codebase/conventions.md +307 -0
  45. package/.gsd/harnesses/pi/get-shit-done/templates/codebase/integrations.md +280 -0
  46. package/.gsd/harnesses/pi/get-shit-done/templates/codebase/stack.md +186 -0
  47. package/.gsd/harnesses/pi/get-shit-done/templates/codebase/structure.md +285 -0
  48. package/.gsd/harnesses/pi/get-shit-done/templates/codebase/testing.md +480 -0
  49. package/.gsd/harnesses/pi/get-shit-done/templates/config.json +44 -0
  50. package/.gsd/harnesses/pi/get-shit-done/templates/context.md +352 -0
  51. package/.gsd/harnesses/pi/get-shit-done/templates/continue-here.md +78 -0
  52. package/.gsd/harnesses/pi/get-shit-done/templates/copilot-instructions.md +7 -0
  53. package/.gsd/harnesses/pi/get-shit-done/templates/debug-subagent-prompt.md +91 -0
  54. package/.gsd/harnesses/pi/get-shit-done/templates/dev-preferences.md +21 -0
  55. package/.gsd/harnesses/pi/get-shit-done/templates/discovery.md +146 -0
  56. package/.gsd/harnesses/pi/get-shit-done/templates/discussion-log.md +63 -0
  57. package/.gsd/harnesses/pi/get-shit-done/templates/milestone-archive.md +123 -0
  58. package/.gsd/harnesses/pi/get-shit-done/templates/milestone.md +115 -0
  59. package/.gsd/harnesses/pi/get-shit-done/templates/phase-prompt.md +610 -0
  60. package/.gsd/harnesses/pi/get-shit-done/templates/planner-subagent-prompt.md +117 -0
  61. package/.gsd/harnesses/pi/get-shit-done/templates/project.md +186 -0
  62. package/.gsd/harnesses/pi/get-shit-done/templates/requirements.md +231 -0
  63. package/.gsd/harnesses/pi/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
  64. package/.gsd/harnesses/pi/get-shit-done/templates/research-project/FEATURES.md +147 -0
  65. package/.gsd/harnesses/pi/get-shit-done/templates/research-project/PITFALLS.md +200 -0
  66. package/.gsd/harnesses/pi/get-shit-done/templates/research-project/STACK.md +120 -0
  67. package/.gsd/harnesses/pi/get-shit-done/templates/research-project/SUMMARY.md +170 -0
  68. package/.gsd/harnesses/pi/get-shit-done/templates/research.md +552 -0
  69. package/.gsd/harnesses/pi/get-shit-done/templates/retrospective.md +54 -0
  70. package/.gsd/harnesses/pi/get-shit-done/templates/roadmap.md +202 -0
  71. package/.gsd/harnesses/pi/get-shit-done/templates/state.md +176 -0
  72. package/.gsd/harnesses/pi/get-shit-done/templates/summary-complex.md +59 -0
  73. package/.gsd/harnesses/pi/get-shit-done/templates/summary-minimal.md +41 -0
  74. package/.gsd/harnesses/pi/get-shit-done/templates/summary-standard.md +48 -0
  75. package/.gsd/harnesses/pi/get-shit-done/templates/summary.md +248 -0
  76. package/.gsd/harnesses/pi/get-shit-done/templates/user-profile.md +146 -0
  77. package/.gsd/harnesses/pi/get-shit-done/templates/user-setup.md +311 -0
  78. package/.gsd/harnesses/pi/get-shit-done/templates/verification-report.md +322 -0
  79. package/.gsd/harnesses/pi/get-shit-done/workflows/add-phase.md +112 -0
  80. package/.gsd/harnesses/pi/get-shit-done/workflows/add-tests.md +351 -0
  81. package/.gsd/harnesses/pi/get-shit-done/workflows/add-todo.md +158 -0
  82. package/.gsd/harnesses/pi/get-shit-done/workflows/audit-milestone.md +340 -0
  83. package/.gsd/harnesses/pi/get-shit-done/workflows/audit-uat.md +109 -0
  84. package/.gsd/harnesses/pi/get-shit-done/workflows/autonomous.md +891 -0
  85. package/.gsd/harnesses/pi/get-shit-done/workflows/check-todos.md +177 -0
  86. package/.gsd/harnesses/pi/get-shit-done/workflows/cleanup.md +152 -0
  87. package/.gsd/harnesses/pi/get-shit-done/workflows/complete-milestone.md +767 -0
  88. package/.gsd/harnesses/pi/get-shit-done/workflows/diagnose-issues.md +231 -0
  89. package/.gsd/harnesses/pi/get-shit-done/workflows/discovery-phase.md +289 -0
  90. package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase-assumptions.md +653 -0
  91. package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md +1049 -0
  92. package/.gsd/harnesses/pi/get-shit-done/workflows/do.md +104 -0
  93. package/.gsd/harnesses/pi/get-shit-done/workflows/execute-milestone.md +365 -0
  94. package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md +846 -0
  95. package/.gsd/harnesses/pi/get-shit-done/workflows/execute-plan.md +514 -0
  96. package/.gsd/harnesses/pi/get-shit-done/workflows/fast.md +105 -0
  97. package/.gsd/harnesses/pi/get-shit-done/workflows/forensics.md +265 -0
  98. package/.gsd/harnesses/pi/get-shit-done/workflows/health.md +181 -0
  99. package/.gsd/harnesses/pi/get-shit-done/workflows/help.md +606 -0
  100. package/.gsd/harnesses/pi/get-shit-done/workflows/insert-phase.md +130 -0
  101. package/.gsd/harnesses/pi/get-shit-done/workflows/list-phase-assumptions.md +178 -0
  102. package/.gsd/harnesses/pi/get-shit-done/workflows/list-workspaces.md +56 -0
  103. package/.gsd/harnesses/pi/get-shit-done/workflows/manager.md +362 -0
  104. package/.gsd/harnesses/pi/get-shit-done/workflows/map-codebase.md +377 -0
  105. package/.gsd/harnesses/pi/get-shit-done/workflows/milestone-summary.md +223 -0
  106. package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md +486 -0
  107. package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md +1250 -0
  108. package/.gsd/harnesses/pi/get-shit-done/workflows/new-workspace.md +237 -0
  109. package/.gsd/harnesses/pi/get-shit-done/workflows/next.md +97 -0
  110. package/.gsd/harnesses/pi/get-shit-done/workflows/node-repair.md +92 -0
  111. package/.gsd/harnesses/pi/get-shit-done/workflows/note.md +156 -0
  112. package/.gsd/harnesses/pi/get-shit-done/workflows/pause-work.md +176 -0
  113. package/.gsd/harnesses/pi/get-shit-done/workflows/plan-milestone-gaps.md +273 -0
  114. package/.gsd/harnesses/pi/get-shit-done/workflows/plan-milestone.md +81 -0
  115. package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md +859 -0
  116. package/.gsd/harnesses/pi/get-shit-done/workflows/plant-seed.md +169 -0
  117. package/.gsd/harnesses/pi/get-shit-done/workflows/pr-branch.md +129 -0
  118. package/.gsd/harnesses/pi/get-shit-done/workflows/profile-user.md +450 -0
  119. package/.gsd/harnesses/pi/get-shit-done/workflows/progress.md +507 -0
  120. package/.gsd/harnesses/pi/get-shit-done/workflows/quick.md +757 -0
  121. package/.gsd/harnesses/pi/get-shit-done/workflows/remove-phase.md +155 -0
  122. package/.gsd/harnesses/pi/get-shit-done/workflows/remove-workspace.md +90 -0
  123. package/.gsd/harnesses/pi/get-shit-done/workflows/research-phase.md +82 -0
  124. package/.gsd/harnesses/pi/get-shit-done/workflows/resume-project.md +326 -0
  125. package/.gsd/harnesses/pi/get-shit-done/workflows/review.md +228 -0
  126. package/.gsd/harnesses/pi/get-shit-done/workflows/session-report.md +146 -0
  127. package/.gsd/harnesses/pi/get-shit-done/workflows/settings.md +283 -0
  128. package/.gsd/harnesses/pi/get-shit-done/workflows/ship.md +228 -0
  129. package/.gsd/harnesses/pi/get-shit-done/workflows/stats.md +60 -0
  130. package/.gsd/harnesses/pi/get-shit-done/workflows/transition.md +671 -0
  131. package/.gsd/harnesses/pi/get-shit-done/workflows/ui-phase.md +302 -0
  132. package/.gsd/harnesses/pi/get-shit-done/workflows/ui-review.md +165 -0
  133. package/.gsd/harnesses/pi/get-shit-done/workflows/update.md +323 -0
  134. package/.gsd/harnesses/pi/get-shit-done/workflows/validate-phase.md +174 -0
  135. package/.gsd/harnesses/pi/get-shit-done/workflows/verify-phase.md +254 -0
  136. package/.gsd/harnesses/pi/get-shit-done/workflows/verify-work.md +637 -0
  137. package/.gsd/harnesses/pi/gsd-file-manifest.json +219 -0
  138. package/.gsd/harnesses/pi/hooks/gsd-check-update.js +125 -0
  139. package/.gsd/harnesses/pi/hooks/gsd-context-monitor.js +159 -0
  140. package/.gsd/harnesses/pi/hooks/gsd-prompt-guard.js +99 -0
  141. package/.gsd/harnesses/pi/hooks/gsd-statusline.js +126 -0
  142. package/.gsd/harnesses/pi/hooks/gsd-workflow-guard.js +97 -0
  143. package/package.json +2 -1
@@ -22,25 +22,45 @@ import {
22
22
  mkdirSync,
23
23
  readFileSync,
24
24
  statSync,
25
+ symlinkSync,
25
26
  writeFileSync,
26
27
  } from "node:fs";
27
28
  import { homedir } from "node:os";
28
- import { join } from "node:path";
29
+ import { dirname, join } from "node:path";
29
30
  import type { ContextUsage, ExtensionAPI } from "@mariozechner/pi-coding-agent";
30
31
 
31
32
  /**
32
- * Extracts the <core> section from a reference file and writes a derived
33
- * `-core.md` sibling. Runs on session_start and tool_result so the core
34
- * file is always fresh including immediately after the LLM creates the
35
- * source file mid-session.
36
- *
37
- * @param cwd - project root
38
- * @param ref - name segments, e.g. ['ui', 'brand'] → reads ui-brand.md,
39
- * writes ui-brand-core.md
40
- *
41
- * Fallback: if the source has no <core> tag, copies the full file so
42
- * prompts that reference the core variant never 404.
33
+ * Ensures .pi/gsd/ in the project is a symlink to the harness files
34
+ * inside the pi-gsd package. Creates the symlink on first run; skips
35
+ * if already present. Never overwrites a real directory (user may have
36
+ * customised it).
43
37
  */
38
+ const ensureHarnessSymlink = (cwd: string): void => {
39
+ try {
40
+ const dest = join(cwd, ".pi", "gsd");
41
+ if (existsSync(dest)) return; // already there (symlink or real dir)
42
+
43
+ // Walk up from this extension file to the package root:
44
+ // <pkg>/.gsd/extensions/pi-gsd-hooks.ts → <pkg>
45
+ const extFile = typeof __filename !== "undefined" ? __filename : "";
46
+ const pkgRoot = join(dirname(extFile), "..", "..");
47
+ const harnessSrc = join(
48
+ pkgRoot,
49
+ ".gsd",
50
+ "harnesses",
51
+ "pi",
52
+ "get-shit-done",
53
+ );
54
+
55
+ if (!existsSync(harnessSrc)) return; // package incomplete — skip silently
56
+
57
+ mkdirSync(join(cwd, ".pi"), { recursive: true });
58
+ symlinkSync(harnessSrc, dest, "dir");
59
+ } catch {
60
+ /* silent — never block session startup */
61
+ }
62
+ };
63
+
44
64
  const syncReferenceToCore = (cwd: string, ref: string[]): void => {
45
65
  try {
46
66
  const refsDir = join(cwd, ".pi", "gsd", "references");
@@ -63,6 +83,9 @@ const syncReferenceToCore = (cwd: string, ref: string[]): void => {
63
83
  export default function (pi: ExtensionAPI) {
64
84
  // ── session_start: GSD update check ──────────────────────────────────────
65
85
  pi.on("session_start", async (_event, ctx) => {
86
+ // Ensure harness files are reachable via .pi/gsd/ symlink
87
+ ensureHarnessSymlink(ctx.cwd);
88
+
66
89
  // Sync derived core files from tagged reference sources
67
90
  syncReferenceToCore(ctx.cwd, ["ui", "brand"]);
68
91
 
@@ -0,0 +1 @@
1
+ 1.30.0