@opengsd/gsd-core 1.3.0-rc.1 → 1.3.0

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 (521) hide show
  1. package/README.ja-JP.md +44 -790
  2. package/README.ko-KR.md +41 -778
  3. package/README.md +39 -180
  4. package/README.pt-BR.md +45 -413
  5. package/README.zh-CN.md +43 -761
  6. package/agents/gsd-ai-researcher.md +1 -1
  7. package/agents/gsd-debugger.md +8 -8
  8. package/agents/gsd-domain-researcher.md +14 -1
  9. package/agents/gsd-eval-auditor.md +1 -1
  10. package/agents/gsd-eval-planner.md +1 -1
  11. package/agents/gsd-executor.md +21 -8
  12. package/agents/gsd-framework-selector.md +1 -1
  13. package/agents/gsd-intel-updater.md +4 -4
  14. package/agents/gsd-phase-researcher.md +18 -5
  15. package/agents/gsd-plan-checker.md +3 -3
  16. package/agents/gsd-planner.md +36 -23
  17. package/agents/gsd-project-researcher.md +13 -0
  18. package/agents/gsd-research-synthesizer.md +6 -2
  19. package/agents/gsd-roadmapper.md +6 -6
  20. package/agents/gsd-ui-researcher.md +15 -2
  21. package/agents/gsd-user-profiler.md +2 -2
  22. package/agents/gsd-verifier.md +7 -7
  23. package/bin/install.js +169 -59
  24. package/commands/gsd/add-tests.md +1 -1
  25. package/commands/gsd/ai-integration-phase.md +3 -3
  26. package/commands/gsd/audit-fix.md +1 -1
  27. package/commands/gsd/audit-milestone.md +1 -1
  28. package/commands/gsd/audit-uat.md +1 -1
  29. package/commands/gsd/autonomous.md +2 -2
  30. package/commands/gsd/capture.md +6 -6
  31. package/commands/gsd/cleanup.md +1 -1
  32. package/commands/gsd/code-review.md +1 -1
  33. package/commands/gsd/complete-milestone.md +2 -2
  34. package/commands/gsd/config.md +3 -3
  35. package/commands/gsd/debug.md +1 -1
  36. package/commands/gsd/discuss-phase.md +5 -4
  37. package/commands/gsd/docs-update.md +1 -1
  38. package/commands/gsd/eval-review.md +2 -2
  39. package/commands/gsd/execute-phase.md +2 -2
  40. package/commands/gsd/explore.md +1 -1
  41. package/commands/gsd/extract-learnings.md +2 -2
  42. package/commands/gsd/fast.md +1 -1
  43. package/commands/gsd/forensics.md +1 -1
  44. package/commands/gsd/graphify.md +9 -9
  45. package/commands/gsd/health.md +1 -1
  46. package/commands/gsd/help.md +2 -2
  47. package/commands/gsd/import.md +5 -5
  48. package/commands/gsd/inbox.md +1 -1
  49. package/commands/gsd/ingest-docs.md +4 -4
  50. package/commands/gsd/manager.md +3 -3
  51. package/commands/gsd/map-codebase.md +1 -1
  52. package/commands/gsd/milestone-summary.md +1 -1
  53. package/commands/gsd/mvp-phase.md +4 -4
  54. package/commands/gsd/new-milestone.md +5 -5
  55. package/commands/gsd/new-project.md +5 -5
  56. package/commands/gsd/pause-work.md +2 -2
  57. package/commands/gsd/phase.md +4 -4
  58. package/commands/gsd/plan-phase.md +2 -2
  59. package/commands/gsd/plan-review-convergence.md +4 -4
  60. package/commands/gsd/pr-branch.md +1 -1
  61. package/commands/gsd/profile-user.md +2 -2
  62. package/commands/gsd/progress.md +4 -4
  63. package/commands/gsd/quick.md +1 -1
  64. package/commands/gsd/resume-work.md +1 -1
  65. package/commands/gsd/review.md +1 -1
  66. package/commands/gsd/secure-phase.md +1 -1
  67. package/commands/gsd/settings.md +1 -1
  68. package/commands/gsd/ship.md +2 -2
  69. package/commands/gsd/sketch.md +7 -7
  70. package/commands/gsd/spec-phase.md +2 -2
  71. package/commands/gsd/spike.md +3 -3
  72. package/commands/gsd/stats.md +1 -1
  73. package/commands/gsd/surface.md +4 -4
  74. package/commands/gsd/thread.md +1 -1
  75. package/commands/gsd/ui-phase.md +2 -2
  76. package/commands/gsd/ui-review.md +2 -2
  77. package/commands/gsd/ultraplan-phase.md +2 -2
  78. package/commands/gsd/undo.md +3 -3
  79. package/commands/gsd/update.md +3 -3
  80. package/commands/gsd/validate-phase.md +1 -1
  81. package/commands/gsd/verify-work.md +2 -2
  82. package/commands/gsd/workspace.md +4 -4
  83. package/{get-shit-done → gsd-core}/bin/check-latest-version.cjs +1 -1
  84. package/{get-shit-done → gsd-core}/bin/gsd-tools.cjs +13 -3
  85. package/gsd-core/bin/lib/active-workstream-store.cjs +291 -0
  86. package/gsd-core/bin/lib/adr-parser.cjs +399 -0
  87. package/gsd-core/bin/lib/agent-command-router.cjs +68 -0
  88. package/gsd-core/bin/lib/artifacts.cjs +51 -0
  89. package/gsd-core/bin/lib/audit.cjs +743 -0
  90. package/gsd-core/bin/lib/check-command-router.cjs +342 -0
  91. package/gsd-core/bin/lib/cjs-command-router-adapter.cjs +81 -0
  92. package/gsd-core/bin/lib/clock.cjs +95 -0
  93. package/gsd-core/bin/lib/clusters.cjs +128 -0
  94. package/gsd-core/bin/lib/code-review-flags.cjs +59 -0
  95. package/gsd-core/bin/lib/command-aliases.cjs +809 -0
  96. package/gsd-core/bin/lib/command-arg-projection.cjs +55 -0
  97. package/gsd-core/bin/lib/command-routing-hub.cjs +300 -0
  98. package/gsd-core/bin/lib/commands.cjs +1202 -0
  99. package/gsd-core/bin/lib/config-schema.cjs +29 -0
  100. package/{get-shit-done → gsd-core}/bin/lib/config-types.cjs +1 -1
  101. package/gsd-core/bin/lib/config.cjs +714 -0
  102. package/{get-shit-done → gsd-core}/bin/lib/configuration.cjs +76 -85
  103. package/gsd-core/bin/lib/context-utilization.cjs +48 -0
  104. package/gsd-core/bin/lib/core.cjs +2007 -0
  105. package/{get-shit-done → gsd-core}/bin/lib/decisions.cjs +9 -7
  106. package/gsd-core/bin/lib/docs.cjs +252 -0
  107. package/gsd-core/bin/lib/drift.cjs +364 -0
  108. package/gsd-core/bin/lib/fallow-runner.cjs +115 -0
  109. package/gsd-core/bin/lib/frontmatter.cjs +442 -0
  110. package/gsd-core/bin/lib/gap-checker.cjs +257 -0
  111. package/gsd-core/bin/lib/graphify.cjs +496 -0
  112. package/gsd-core/bin/lib/gsd2-import.cjs +456 -0
  113. package/gsd-core/bin/lib/init-command-router.cjs +62 -0
  114. package/gsd-core/bin/lib/init.cjs +1799 -0
  115. package/gsd-core/bin/lib/install-profiles.cjs +526 -0
  116. package/gsd-core/bin/lib/installer-migration-authoring.cjs +122 -0
  117. package/gsd-core/bin/lib/installer-migration-report.cjs +347 -0
  118. package/gsd-core/bin/lib/installer-migrations/000-first-time-baseline.cjs +218 -0
  119. package/gsd-core/bin/lib/installer-migrations/001-legacy-orphan-files.cjs +48 -0
  120. package/gsd-core/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs +94 -0
  121. package/gsd-core/bin/lib/installer-migrations/003-rename-get-shit-done-to-gsd-core.cjs +108 -0
  122. package/gsd-core/bin/lib/installer-migrations.cjs +784 -0
  123. package/gsd-core/bin/lib/intel.cjs +607 -0
  124. package/gsd-core/bin/lib/learnings.cjs +270 -0
  125. package/gsd-core/bin/lib/legacy-cleanup.cjs +253 -0
  126. package/gsd-core/bin/lib/milestone.cjs +373 -0
  127. package/gsd-core/bin/lib/model-catalog.cjs +154 -0
  128. package/gsd-core/bin/lib/model-profiles.cjs +24 -0
  129. package/gsd-core/bin/lib/observability/event.cjs +51 -0
  130. package/gsd-core/bin/lib/observability/logger.cjs +146 -0
  131. package/{get-shit-done → gsd-core}/bin/lib/observability/redaction.cjs +19 -21
  132. package/{get-shit-done → gsd-core}/bin/lib/package-identity.cjs +5 -1
  133. package/gsd-core/bin/lib/phase-command-router.cjs +189 -0
  134. package/gsd-core/bin/lib/phase-lifecycle.cjs +74 -0
  135. package/gsd-core/bin/lib/phase.cjs +1307 -0
  136. package/gsd-core/bin/lib/phases-command-router.cjs +43 -0
  137. package/{get-shit-done → gsd-core}/bin/lib/plan-scan.cjs +18 -24
  138. package/gsd-core/bin/lib/planning-workspace.cjs +245 -0
  139. package/gsd-core/bin/lib/profile-output.cjs +1120 -0
  140. package/gsd-core/bin/lib/profile-pipeline.cjs +517 -0
  141. package/gsd-core/bin/lib/project-root.cjs +119 -0
  142. package/gsd-core/bin/lib/prompt-budget.cjs +305 -0
  143. package/gsd-core/bin/lib/review-reviewer-selection.cjs +121 -0
  144. package/gsd-core/bin/lib/roadmap-command-router.cjs +166 -0
  145. package/gsd-core/bin/lib/roadmap-upgrade.cjs +491 -0
  146. package/gsd-core/bin/lib/roadmap.cjs +600 -0
  147. package/gsd-core/bin/lib/runtime-artifact-layout.cjs +254 -0
  148. package/gsd-core/bin/lib/runtime-homes.cjs +169 -0
  149. package/gsd-core/bin/lib/runtime-name-policy.cjs +96 -0
  150. package/gsd-core/bin/lib/runtime-slash.cjs +119 -0
  151. package/{get-shit-done → gsd-core}/bin/lib/schema-detect.cjs +20 -26
  152. package/gsd-core/bin/lib/secrets.cjs +34 -0
  153. package/gsd-core/bin/lib/security.cjs +407 -0
  154. package/{get-shit-done → gsd-core}/bin/lib/semver-compare.cjs +1 -1
  155. package/gsd-core/bin/lib/shell-command-projection.cjs +524 -0
  156. package/gsd-core/bin/lib/state-command-router.cjs +160 -0
  157. package/{get-shit-done → gsd-core}/bin/lib/state-document.cjs +78 -78
  158. package/gsd-core/bin/lib/state.cjs +2010 -0
  159. package/gsd-core/bin/lib/surface.cjs +406 -0
  160. package/gsd-core/bin/lib/task-command-router.cjs +85 -0
  161. package/gsd-core/bin/lib/template.cjs +237 -0
  162. package/gsd-core/bin/lib/uat.cjs +297 -0
  163. package/gsd-core/bin/lib/ui-safety-gate.cjs +98 -0
  164. package/gsd-core/bin/lib/update-context.cjs +218 -0
  165. package/gsd-core/bin/lib/validate-command-router.cjs +91 -0
  166. package/gsd-core/bin/lib/validate.cjs +112 -0
  167. package/gsd-core/bin/lib/verify-command-router.cjs +44 -0
  168. package/gsd-core/bin/lib/verify.cjs +1451 -0
  169. package/{get-shit-done → gsd-core}/bin/lib/workstream-inventory-builder.cjs +19 -12
  170. package/gsd-core/bin/lib/workstream-inventory.cjs +147 -0
  171. package/{get-shit-done → gsd-core}/bin/lib/workstream-name-policy.cjs +28 -31
  172. package/gsd-core/bin/lib/workstream.cjs +380 -0
  173. package/gsd-core/bin/lib/worktree-safety.cjs +912 -0
  174. package/{get-shit-done → gsd-core}/bin/shared/config-schema.manifest.json +5 -0
  175. package/{get-shit-done → gsd-core}/references/artifact-types.md +1 -1
  176. package/{get-shit-done → gsd-core}/references/few-shot-examples/plan-checker.md +2 -2
  177. package/{get-shit-done → gsd-core}/references/few-shot-examples/verifier.md +12 -12
  178. package/{get-shit-done → gsd-core}/references/model-profile-resolution.md +1 -1
  179. package/{get-shit-done → gsd-core}/references/mvp-concepts.md +1 -1
  180. package/{get-shit-done → gsd-core}/references/planner-graphify-auto-update.md +2 -2
  181. package/{get-shit-done → gsd-core}/references/planner-mvp-mode.md +1 -1
  182. package/{get-shit-done → gsd-core}/references/verification-patterns.md +1 -1
  183. package/gsd-core/references/worktree-branch-check.md +38 -0
  184. package/{get-shit-done → gsd-core}/references/worktree-path-safety.md +4 -26
  185. package/{get-shit-done → gsd-core}/templates/README.md +2 -2
  186. package/{get-shit-done → gsd-core}/templates/codebase/structure.md +10 -10
  187. package/{get-shit-done → gsd-core}/templates/copilot-instructions.md +1 -1
  188. package/{get-shit-done → gsd-core}/templates/phase-prompt.md +10 -10
  189. package/gsd-core/workflows/_runtime-launcher.snippet.sh +1 -0
  190. package/{get-shit-done → gsd-core}/workflows/add-backlog.md +1 -1
  191. package/{get-shit-done → gsd-core}/workflows/add-phase.md +1 -1
  192. package/{get-shit-done → gsd-core}/workflows/add-tests.md +1 -1
  193. package/{get-shit-done → gsd-core}/workflows/add-todo.md +1 -1
  194. package/{get-shit-done → gsd-core}/workflows/ai-integration-phase.md +4 -4
  195. package/{get-shit-done → gsd-core}/workflows/audit-fix.md +1 -1
  196. package/{get-shit-done → gsd-core}/workflows/audit-milestone.md +1 -1
  197. package/{get-shit-done → gsd-core}/workflows/audit-uat.md +1 -1
  198. package/{get-shit-done → gsd-core}/workflows/autonomous.md +4 -4
  199. package/{get-shit-done → gsd-core}/workflows/check-todos.md +1 -1
  200. package/{get-shit-done → gsd-core}/workflows/cleanup.md +1 -1
  201. package/{get-shit-done → gsd-core}/workflows/code-review-fix.md +1 -1
  202. package/{get-shit-done → gsd-core}/workflows/code-review.md +4 -4
  203. package/{get-shit-done → gsd-core}/workflows/complete-milestone.md +2 -2
  204. package/{get-shit-done → gsd-core}/workflows/debug.md +1 -1
  205. package/{get-shit-done → gsd-core}/workflows/diagnose-issues.md +4 -2
  206. package/{get-shit-done → gsd-core}/workflows/discovery-phase.md +5 -5
  207. package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/advisor.md +4 -4
  208. package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/auto.md +1 -1
  209. package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/chain.md +1 -1
  210. package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/power.md +1 -1
  211. package/{get-shit-done → gsd-core}/workflows/discuss-phase-assumptions.md +2 -2
  212. package/{get-shit-done → gsd-core}/workflows/discuss-phase.md +6 -6
  213. package/{get-shit-done → gsd-core}/workflows/do.md +1 -1
  214. package/{get-shit-done → gsd-core}/workflows/docs-update.md +1 -1
  215. package/{get-shit-done → gsd-core}/workflows/edit-phase.md +1 -1
  216. package/{get-shit-done → gsd-core}/workflows/eval-review.md +2 -2
  217. package/{get-shit-done → gsd-core}/workflows/execute-phase/steps/codebase-drift-gate.md +15 -2
  218. package/{get-shit-done → gsd-core}/workflows/execute-phase/steps/post-merge-gate.md +1 -1
  219. package/{get-shit-done → gsd-core}/workflows/execute-phase.md +68 -46
  220. package/{get-shit-done → gsd-core}/workflows/execute-plan.md +8 -8
  221. package/{get-shit-done → gsd-core}/workflows/explore.md +3 -3
  222. package/{get-shit-done → gsd-core}/workflows/extract-learnings.md +1 -1
  223. package/{get-shit-done → gsd-core}/workflows/forensics.md +1 -1
  224. package/{get-shit-done → gsd-core}/workflows/graduation.md +1 -1
  225. package/{get-shit-done → gsd-core}/workflows/health.md +1 -1
  226. package/{get-shit-done → gsd-core}/workflows/help/modes/full.md +1 -1
  227. package/{get-shit-done → gsd-core}/workflows/import.md +1 -1
  228. package/{get-shit-done → gsd-core}/workflows/ingest-docs.md +3 -3
  229. package/{get-shit-done → gsd-core}/workflows/insert-phase.md +1 -1
  230. package/{get-shit-done → gsd-core}/workflows/list-workspaces.md +1 -1
  231. package/{get-shit-done → gsd-core}/workflows/manager.md +1 -1
  232. package/{get-shit-done → gsd-core}/workflows/map-codebase.md +1 -1
  233. package/{get-shit-done → gsd-core}/workflows/milestone-summary.md +1 -1
  234. package/{get-shit-done → gsd-core}/workflows/mvp-phase.md +7 -7
  235. package/{get-shit-done → gsd-core}/workflows/new-milestone.md +3 -3
  236. package/{get-shit-done → gsd-core}/workflows/new-project.md +6 -6
  237. package/{get-shit-done → gsd-core}/workflows/new-workspace.md +1 -1
  238. package/{get-shit-done → gsd-core}/workflows/next.md +1 -1
  239. package/{get-shit-done → gsd-core}/workflows/pause-work.md +1 -1
  240. package/{get-shit-done → gsd-core}/workflows/plan-milestone-gaps.md +1 -1
  241. package/{get-shit-done → gsd-core}/workflows/plan-phase.md +15 -15
  242. package/{get-shit-done → gsd-core}/workflows/plan-review-convergence.md +7 -7
  243. package/{get-shit-done → gsd-core}/workflows/plant-seed.md +1 -1
  244. package/{get-shit-done → gsd-core}/workflows/profile-user.md +11 -11
  245. package/{get-shit-done → gsd-core}/workflows/progress.md +1 -1
  246. package/{get-shit-done → gsd-core}/workflows/quick.md +2 -26
  247. package/{get-shit-done → gsd-core}/workflows/reapply-patches.md +2 -2
  248. package/{get-shit-done → gsd-core}/workflows/remove-phase.md +1 -1
  249. package/{get-shit-done → gsd-core}/workflows/remove-workspace.md +1 -1
  250. package/{get-shit-done → gsd-core}/workflows/resume-project.md +2 -2
  251. package/{get-shit-done → gsd-core}/workflows/review.md +1 -1
  252. package/{get-shit-done → gsd-core}/workflows/scan.md +1 -1
  253. package/{get-shit-done → gsd-core}/workflows/secure-phase.md +3 -3
  254. package/{get-shit-done → gsd-core}/workflows/settings-advanced.md +1 -1
  255. package/{get-shit-done → gsd-core}/workflows/settings-integrations.md +2 -2
  256. package/{get-shit-done → gsd-core}/workflows/settings.md +1 -1
  257. package/{get-shit-done → gsd-core}/workflows/ship.md +56 -4
  258. package/{get-shit-done → gsd-core}/workflows/sketch-wrap-up.md +1 -1
  259. package/{get-shit-done → gsd-core}/workflows/sketch.md +5 -5
  260. package/{get-shit-done → gsd-core}/workflows/spec-phase.md +2 -2
  261. package/{get-shit-done → gsd-core}/workflows/spike-wrap-up.md +1 -1
  262. package/{get-shit-done → gsd-core}/workflows/spike.md +1 -1
  263. package/{get-shit-done → gsd-core}/workflows/stats.md +1 -1
  264. package/{get-shit-done → gsd-core}/workflows/sync-skills.md +3 -3
  265. package/{get-shit-done → gsd-core}/workflows/thread.md +1 -1
  266. package/{get-shit-done → gsd-core}/workflows/transition.md +2 -2
  267. package/{get-shit-done → gsd-core}/workflows/ui-phase.md +3 -3
  268. package/{get-shit-done → gsd-core}/workflows/ui-review.md +2 -2
  269. package/{get-shit-done → gsd-core}/workflows/ultraplan-phase.md +1 -1
  270. package/{get-shit-done → gsd-core}/workflows/undo.md +2 -2
  271. package/{get-shit-done → gsd-core}/workflows/update.md +41 -16
  272. package/{get-shit-done → gsd-core}/workflows/validate-phase.md +3 -3
  273. package/{get-shit-done → gsd-core}/workflows/verify-phase.md +4 -4
  274. package/{get-shit-done → gsd-core}/workflows/verify-work.md +5 -5
  275. package/hooks/dist/gsd-check-update-worker.js +16 -3
  276. package/hooks/dist/gsd-check-update.js +7 -5
  277. package/hooks/dist/gsd-context-monitor.js +2 -2
  278. package/hooks/dist/gsd-statusline.js +39 -21
  279. package/hooks/dist/gsd-update-banner.js +6 -2
  280. package/hooks/dist/managed-hooks-registry.cjs +35 -0
  281. package/hooks/gsd-check-update-worker.js +16 -3
  282. package/hooks/gsd-check-update.js +7 -5
  283. package/hooks/gsd-context-monitor.js +2 -2
  284. package/hooks/gsd-statusline.js +39 -21
  285. package/hooks/gsd-update-banner.js +6 -2
  286. package/package.json +9 -6
  287. package/scripts/affected-tests-lib.cjs +1 -1
  288. package/scripts/base64-scan.sh +12 -0
  289. package/scripts/build-hooks.js +4 -1
  290. package/scripts/changeset/cli.cjs +2 -2
  291. package/scripts/changeset/github-release-notes.cjs +1 -1
  292. package/scripts/changeset/lint.cjs +1 -1
  293. package/scripts/check-alias-drift.cjs +8 -8
  294. package/scripts/check-env.cjs +5 -1
  295. package/scripts/ci-test-scope.cjs +25 -10
  296. package/scripts/command-contract-helpers.cjs +1 -1
  297. package/scripts/fix-slash-commands.cjs +5 -5
  298. package/scripts/gen-inventory-manifest.cjs +3 -3
  299. package/scripts/generate-package-identity.cjs +28 -7
  300. package/scripts/lib/allowlist-ratchet.cjs +136 -0
  301. package/scripts/lint-command-contract.cjs +1 -1
  302. package/scripts/lint-legacy-dir-name.cjs +156 -0
  303. package/scripts/lint-package-identity-drift.cjs +8 -8
  304. package/scripts/lint-pr-check-project-dir.cjs +0 -1
  305. package/scripts/lint-shell-command-projection-drift.cjs +1 -1
  306. package/scripts/lint-skill-deps.cjs +1 -1
  307. package/scripts/lint-test-file-count.allowlist.json +129 -32
  308. package/scripts/lint-test-file-count.cjs +85 -30
  309. package/scripts/mutation-matrix.cjs +219 -0
  310. package/scripts/prompt-injection-scan.sh +5 -1
  311. package/scripts/release-notes/format-github-release-notes.cjs +256 -0
  312. package/scripts/release-tarball-smoke.cjs +9 -9
  313. package/scripts/run-tests.cjs +11 -3
  314. package/scripts/strip-prose-atrefs.cjs +2 -2
  315. package/scripts/sync-runtime-launcher.cjs +2 -2
  316. package/scripts/verify-npm-publish.cjs +252 -0
  317. package/get-shit-done/bin/lib/active-workstream-store.cjs +0 -302
  318. package/get-shit-done/bin/lib/adr-parser.cjs +0 -394
  319. package/get-shit-done/bin/lib/agent-command-router.cjs +0 -65
  320. package/get-shit-done/bin/lib/artifacts.cjs +0 -53
  321. package/get-shit-done/bin/lib/audit.cjs +0 -755
  322. package/get-shit-done/bin/lib/check-command-router.cjs +0 -333
  323. package/get-shit-done/bin/lib/cjs-command-router-adapter.cjs +0 -118
  324. package/get-shit-done/bin/lib/clock.cjs +0 -96
  325. package/get-shit-done/bin/lib/clusters.cjs +0 -135
  326. package/get-shit-done/bin/lib/code-review-flags.cjs +0 -74
  327. package/get-shit-done/bin/lib/command-aliases.cjs +0 -831
  328. package/get-shit-done/bin/lib/command-arg-projection.cjs +0 -62
  329. package/get-shit-done/bin/lib/command-routing-hub.cjs +0 -388
  330. package/get-shit-done/bin/lib/commands.cjs +0 -1292
  331. package/get-shit-done/bin/lib/config-schema.cjs +0 -31
  332. package/get-shit-done/bin/lib/config.cjs +0 -728
  333. package/get-shit-done/bin/lib/context-utilization.cjs +0 -47
  334. package/get-shit-done/bin/lib/core.cjs +0 -2513
  335. package/get-shit-done/bin/lib/docs.cjs +0 -270
  336. package/get-shit-done/bin/lib/drift.cjs +0 -388
  337. package/get-shit-done/bin/lib/fallow-runner.cjs +0 -109
  338. package/get-shit-done/bin/lib/frontmatter.cjs +0 -389
  339. package/get-shit-done/bin/lib/gap-checker.cjs +0 -254
  340. package/get-shit-done/bin/lib/graphify.cjs +0 -592
  341. package/get-shit-done/bin/lib/gsd2-import.cjs +0 -514
  342. package/get-shit-done/bin/lib/init-command-router.cjs +0 -58
  343. package/get-shit-done/bin/lib/init.cjs +0 -2112
  344. package/get-shit-done/bin/lib/install-profiles.cjs +0 -603
  345. package/get-shit-done/bin/lib/installer-migration-authoring.cjs +0 -117
  346. package/get-shit-done/bin/lib/installer-migration-report.cjs +0 -355
  347. package/get-shit-done/bin/lib/installer-migrations/000-first-time-baseline.cjs +0 -220
  348. package/get-shit-done/bin/lib/installer-migrations/001-legacy-orphan-files.cjs +0 -41
  349. package/get-shit-done/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs +0 -80
  350. package/get-shit-done/bin/lib/installer-migrations.cjs +0 -778
  351. package/get-shit-done/bin/lib/intel.cjs +0 -708
  352. package/get-shit-done/bin/lib/learnings.cjs +0 -421
  353. package/get-shit-done/bin/lib/milestone.cjs +0 -372
  354. package/get-shit-done/bin/lib/model-catalog.cjs +0 -229
  355. package/get-shit-done/bin/lib/model-profiles.cjs +0 -31
  356. package/get-shit-done/bin/lib/observability/event.cjs +0 -82
  357. package/get-shit-done/bin/lib/observability/logger.cjs +0 -174
  358. package/get-shit-done/bin/lib/phase-command-router.cjs +0 -191
  359. package/get-shit-done/bin/lib/phase-lifecycle.cjs +0 -79
  360. package/get-shit-done/bin/lib/phase.cjs +0 -1607
  361. package/get-shit-done/bin/lib/phases-command-router.cjs +0 -39
  362. package/get-shit-done/bin/lib/planning-workspace.cjs +0 -238
  363. package/get-shit-done/bin/lib/profile-output.cjs +0 -1141
  364. package/get-shit-done/bin/lib/profile-pipeline.cjs +0 -539
  365. package/get-shit-done/bin/lib/project-root.cjs +0 -112
  366. package/get-shit-done/bin/lib/prompt-budget.cjs +0 -399
  367. package/get-shit-done/bin/lib/review-reviewer-selection.cjs +0 -126
  368. package/get-shit-done/bin/lib/roadmap-command-router.cjs +0 -162
  369. package/get-shit-done/bin/lib/roadmap-upgrade.cjs +0 -569
  370. package/get-shit-done/bin/lib/roadmap.cjs +0 -651
  371. package/get-shit-done/bin/lib/runtime-artifact-layout.cjs +0 -301
  372. package/get-shit-done/bin/lib/runtime-homes.cjs +0 -222
  373. package/get-shit-done/bin/lib/runtime-name-policy.cjs +0 -83
  374. package/get-shit-done/bin/lib/runtime-slash.cjs +0 -112
  375. package/get-shit-done/bin/lib/secrets.cjs +0 -32
  376. package/get-shit-done/bin/lib/security.cjs +0 -600
  377. package/get-shit-done/bin/lib/shell-command-projection.cjs +0 -535
  378. package/get-shit-done/bin/lib/state-command-router.cjs +0 -252
  379. package/get-shit-done/bin/lib/state.cjs +0 -2073
  380. package/get-shit-done/bin/lib/surface.cjs +0 -470
  381. package/get-shit-done/bin/lib/task-command-router.cjs +0 -81
  382. package/get-shit-done/bin/lib/template.cjs +0 -228
  383. package/get-shit-done/bin/lib/uat.cjs +0 -289
  384. package/get-shit-done/bin/lib/ui-safety-gate.cjs +0 -111
  385. package/get-shit-done/bin/lib/update-context.cjs +0 -209
  386. package/get-shit-done/bin/lib/validate-command-router.cjs +0 -83
  387. package/get-shit-done/bin/lib/validate.cjs +0 -118
  388. package/get-shit-done/bin/lib/verify-command-router.cjs +0 -40
  389. package/get-shit-done/bin/lib/verify.cjs +0 -1614
  390. package/get-shit-done/bin/lib/workstream-inventory.cjs +0 -146
  391. package/get-shit-done/bin/lib/workstream.cjs +0 -389
  392. package/get-shit-done/bin/lib/worktree-safety.cjs +0 -985
  393. package/get-shit-done/workflows/_runtime-launcher.snippet.sh +0 -1
  394. package/scripts/lint-no-source-grep-extras.cjs +0 -81
  395. package/scripts/lint-no-source-grep.cjs +0 -174
  396. /package/{get-shit-done → gsd-core}/bin/shared/config-defaults.manifest.json +0 -0
  397. /package/{get-shit-done → gsd-core}/bin/shared/model-catalog.json +0 -0
  398. /package/{get-shit-done → gsd-core}/bin/shared/runtime-aliases.manifest.json +0 -0
  399. /package/{get-shit-done → gsd-core}/bin/verify-reapply-patches.cjs +0 -0
  400. /package/{get-shit-done → gsd-core}/contexts/dev.md +0 -0
  401. /package/{get-shit-done → gsd-core}/contexts/research.md +0 -0
  402. /package/{get-shit-done → gsd-core}/contexts/review.md +0 -0
  403. /package/{get-shit-done → gsd-core}/references/agent-contracts.md +0 -0
  404. /package/{get-shit-done → gsd-core}/references/ai-evals.md +0 -0
  405. /package/{get-shit-done → gsd-core}/references/ai-frameworks.md +0 -0
  406. /package/{get-shit-done → gsd-core}/references/autonomous-smart-discuss.md +0 -0
  407. /package/{get-shit-done → gsd-core}/references/checkpoints.md +0 -0
  408. /package/{get-shit-done → gsd-core}/references/common-bug-patterns.md +0 -0
  409. /package/{get-shit-done → gsd-core}/references/context-budget.md +0 -0
  410. /package/{get-shit-done → gsd-core}/references/continuation-format.md +0 -0
  411. /package/{get-shit-done → gsd-core}/references/debugger-philosophy.md +0 -0
  412. /package/{get-shit-done → gsd-core}/references/decimal-phase-calculation.md +0 -0
  413. /package/{get-shit-done → gsd-core}/references/doc-conflict-engine.md +0 -0
  414. /package/{get-shit-done → gsd-core}/references/domain-probes.md +0 -0
  415. /package/{get-shit-done → gsd-core}/references/execute-mvp-tdd.md +0 -0
  416. /package/{get-shit-done → gsd-core}/references/executor-examples.md +0 -0
  417. /package/{get-shit-done → gsd-core}/references/gate-prompts.md +0 -0
  418. /package/{get-shit-done → gsd-core}/references/gates.md +0 -0
  419. /package/{get-shit-done → gsd-core}/references/git-integration.md +0 -0
  420. /package/{get-shit-done → gsd-core}/references/git-planning-commit.md +0 -0
  421. /package/{get-shit-done → gsd-core}/references/ios-scaffold.md +0 -0
  422. /package/{get-shit-done → gsd-core}/references/mandatory-initial-read.md +0 -0
  423. /package/{get-shit-done → gsd-core}/references/model-profiles.md +0 -0
  424. /package/{get-shit-done → gsd-core}/references/phase-argument-parsing.md +0 -0
  425. /package/{get-shit-done → gsd-core}/references/planner-antipatterns.md +0 -0
  426. /package/{get-shit-done → gsd-core}/references/planner-chunked.md +0 -0
  427. /package/{get-shit-done → gsd-core}/references/planner-gap-closure.md +0 -0
  428. /package/{get-shit-done → gsd-core}/references/planner-human-verify-mode.md +0 -0
  429. /package/{get-shit-done → gsd-core}/references/planner-interface-context.md +0 -0
  430. /package/{get-shit-done → gsd-core}/references/planner-reviews.md +0 -0
  431. /package/{get-shit-done → gsd-core}/references/planner-revision.md +0 -0
  432. /package/{get-shit-done → gsd-core}/references/planner-source-audit.md +0 -0
  433. /package/{get-shit-done → gsd-core}/references/planning-config.md +0 -0
  434. /package/{get-shit-done → gsd-core}/references/project-skills-discovery.md +0 -0
  435. /package/{get-shit-done → gsd-core}/references/questioning.md +0 -0
  436. /package/{get-shit-done → gsd-core}/references/revision-loop.md +0 -0
  437. /package/{get-shit-done → gsd-core}/references/scout-codebase.md +0 -0
  438. /package/{get-shit-done → gsd-core}/references/skeleton-template.md +0 -0
  439. /package/{get-shit-done → gsd-core}/references/sketch-interactivity.md +0 -0
  440. /package/{get-shit-done → gsd-core}/references/sketch-theme-system.md +0 -0
  441. /package/{get-shit-done → gsd-core}/references/sketch-tooling.md +0 -0
  442. /package/{get-shit-done → gsd-core}/references/sketch-variant-patterns.md +0 -0
  443. /package/{get-shit-done → gsd-core}/references/spidr-splitting.md +0 -0
  444. /package/{get-shit-done → gsd-core}/references/tdd.md +0 -0
  445. /package/{get-shit-done → gsd-core}/references/thinking-models-debug.md +0 -0
  446. /package/{get-shit-done → gsd-core}/references/thinking-models-execution.md +0 -0
  447. /package/{get-shit-done → gsd-core}/references/thinking-models-planning.md +0 -0
  448. /package/{get-shit-done → gsd-core}/references/thinking-models-research.md +0 -0
  449. /package/{get-shit-done → gsd-core}/references/thinking-models-verification.md +0 -0
  450. /package/{get-shit-done → gsd-core}/references/thinking-partner.md +0 -0
  451. /package/{get-shit-done → gsd-core}/references/ui-brand.md +0 -0
  452. /package/{get-shit-done → gsd-core}/references/universal-anti-patterns.md +0 -0
  453. /package/{get-shit-done → gsd-core}/references/user-profiling.md +0 -0
  454. /package/{get-shit-done → gsd-core}/references/user-story-template.md +0 -0
  455. /package/{get-shit-done → gsd-core}/references/verification-overrides.md +0 -0
  456. /package/{get-shit-done → gsd-core}/references/verify-mvp-mode.md +0 -0
  457. /package/{get-shit-done → gsd-core}/references/workstream-flag.md +0 -0
  458. /package/{get-shit-done → gsd-core}/templates/AI-SPEC.md +0 -0
  459. /package/{get-shit-done → gsd-core}/templates/DEBUG.md +0 -0
  460. /package/{get-shit-done → gsd-core}/templates/SECURITY.md +0 -0
  461. /package/{get-shit-done → gsd-core}/templates/UAT.md +0 -0
  462. /package/{get-shit-done → gsd-core}/templates/UI-SPEC.md +0 -0
  463. /package/{get-shit-done → gsd-core}/templates/VALIDATION.md +0 -0
  464. /package/{get-shit-done → gsd-core}/templates/claude-md.md +0 -0
  465. /package/{get-shit-done → gsd-core}/templates/codebase/architecture.md +0 -0
  466. /package/{get-shit-done → gsd-core}/templates/codebase/concerns.md +0 -0
  467. /package/{get-shit-done → gsd-core}/templates/codebase/conventions.md +0 -0
  468. /package/{get-shit-done → gsd-core}/templates/codebase/integrations.md +0 -0
  469. /package/{get-shit-done → gsd-core}/templates/codebase/stack.md +0 -0
  470. /package/{get-shit-done → gsd-core}/templates/codebase/testing.md +0 -0
  471. /package/{get-shit-done → gsd-core}/templates/config.json +0 -0
  472. /package/{get-shit-done → gsd-core}/templates/context.md +0 -0
  473. /package/{get-shit-done → gsd-core}/templates/continue-here.md +0 -0
  474. /package/{get-shit-done → gsd-core}/templates/debug-subagent-prompt.md +0 -0
  475. /package/{get-shit-done → gsd-core}/templates/dev-preferences.md +0 -0
  476. /package/{get-shit-done → gsd-core}/templates/discovery.md +0 -0
  477. /package/{get-shit-done → gsd-core}/templates/discussion-log.md +0 -0
  478. /package/{get-shit-done → gsd-core}/templates/milestone-archive.md +0 -0
  479. /package/{get-shit-done → gsd-core}/templates/milestone.md +0 -0
  480. /package/{get-shit-done → gsd-core}/templates/planner-subagent-prompt.md +0 -0
  481. /package/{get-shit-done → gsd-core}/templates/project.md +0 -0
  482. /package/{get-shit-done → gsd-core}/templates/requirements.md +0 -0
  483. /package/{get-shit-done → gsd-core}/templates/research-project/ARCHITECTURE.md +0 -0
  484. /package/{get-shit-done → gsd-core}/templates/research-project/FEATURES.md +0 -0
  485. /package/{get-shit-done → gsd-core}/templates/research-project/PITFALLS.md +0 -0
  486. /package/{get-shit-done → gsd-core}/templates/research-project/STACK.md +0 -0
  487. /package/{get-shit-done → gsd-core}/templates/research-project/SUMMARY.md +0 -0
  488. /package/{get-shit-done → gsd-core}/templates/research.md +0 -0
  489. /package/{get-shit-done → gsd-core}/templates/retrospective.md +0 -0
  490. /package/{get-shit-done → gsd-core}/templates/roadmap.md +0 -0
  491. /package/{get-shit-done → gsd-core}/templates/spec.md +0 -0
  492. /package/{get-shit-done → gsd-core}/templates/state.md +0 -0
  493. /package/{get-shit-done → gsd-core}/templates/summary-complex.md +0 -0
  494. /package/{get-shit-done → gsd-core}/templates/summary-minimal.md +0 -0
  495. /package/{get-shit-done → gsd-core}/templates/summary-standard.md +0 -0
  496. /package/{get-shit-done → gsd-core}/templates/summary.md +0 -0
  497. /package/{get-shit-done → gsd-core}/templates/user-profile.md +0 -0
  498. /package/{get-shit-done → gsd-core}/templates/user-setup.md +0 -0
  499. /package/{get-shit-done → gsd-core}/templates/verification-report.md +0 -0
  500. /package/{get-shit-done → gsd-core}/workflows/analyze-dependencies.md +0 -0
  501. /package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/all.md +0 -0
  502. /package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/analyze.md +0 -0
  503. /package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/batch.md +0 -0
  504. /package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/default.md +0 -0
  505. /package/{get-shit-done → gsd-core}/workflows/discuss-phase/modes/text.md +0 -0
  506. /package/{get-shit-done → gsd-core}/workflows/discuss-phase/templates/checkpoint.json +0 -0
  507. /package/{get-shit-done → gsd-core}/workflows/discuss-phase/templates/context.md +0 -0
  508. /package/{get-shit-done → gsd-core}/workflows/discuss-phase/templates/discussion-log.md +0 -0
  509. /package/{get-shit-done → gsd-core}/workflows/discuss-phase-power.md +0 -0
  510. /package/{get-shit-done → gsd-core}/workflows/execute-phase/steps/per-plan-worktree-gate.md +0 -0
  511. /package/{get-shit-done → gsd-core}/workflows/fast.md +0 -0
  512. /package/{get-shit-done → gsd-core}/workflows/help/modes/brief.md +0 -0
  513. /package/{get-shit-done → gsd-core}/workflows/help/modes/default.md +0 -0
  514. /package/{get-shit-done → gsd-core}/workflows/help/modes/topic.md +0 -0
  515. /package/{get-shit-done → gsd-core}/workflows/help.md +0 -0
  516. /package/{get-shit-done → gsd-core}/workflows/inbox.md +0 -0
  517. /package/{get-shit-done → gsd-core}/workflows/list-phase-assumptions.md +0 -0
  518. /package/{get-shit-done → gsd-core}/workflows/node-repair.md +0 -0
  519. /package/{get-shit-done → gsd-core}/workflows/note.md +0 -0
  520. /package/{get-shit-done → gsd-core}/workflows/pr-branch.md +0 -0
  521. /package/{get-shit-done → gsd-core}/workflows/session-report.md +0 -0
@@ -29,8 +29,8 @@ Clarify phase requirements through structured Socratic questioning with quantita
29
29
  </objective>
30
30
 
31
31
  <execution_context>
32
- @~/.claude/get-shit-done/workflows/spec-phase.md
33
- @~/.claude/get-shit-done/templates/spec.md
32
+ @~/.claude/gsd-core/workflows/spec-phase.md
33
+ @~/.claude/gsd-core/templates/spec.md
34
34
  </execution_context>
35
35
 
36
36
  <runtime_note>
@@ -30,9 +30,9 @@ Does not require prior new-project setup — auto-creates `.planning/spikes/` if
30
30
  </objective>
31
31
 
32
32
  <execution_context>
33
- @~/.claude/get-shit-done/workflows/spike.md
34
- @~/.claude/get-shit-done/workflows/spike-wrap-up.md
35
- @~/.claude/get-shit-done/references/ui-brand.md
33
+ @~/.claude/gsd-core/workflows/spike.md
34
+ @~/.claude/gsd-core/workflows/spike-wrap-up.md
35
+ @~/.claude/gsd-core/references/ui-brand.md
36
36
  </execution_context>
37
37
 
38
38
  <runtime_note>
@@ -11,7 +11,7 @@ Display comprehensive project statistics including phase progress, plan executio
11
11
  </objective>
12
12
 
13
13
  <execution_context>
14
- @~/.claude/get-shit-done/workflows/stats.md
14
+ @~/.claude/gsd-core/workflows/stats.md
15
15
  </execution_context>
16
16
 
17
17
  <process>
@@ -37,7 +37,7 @@ Parse the first token of $ARGUMENTS:
37
37
  ## list / status
38
38
 
39
39
  Call `listSurface(runtimeConfigDir, manifest, CLUSTERS)` from
40
- `get-shit-done/bin/lib/surface.cjs`. Display:
40
+ `gsd-core/bin/lib/surface.cjs`. Display:
41
41
 
42
42
  ```
43
43
  Enabled (N skills, ~T tokens):
@@ -144,12 +144,12 @@ All paths can be overridden by reading the `CLAUDE_CONFIG_DIR` env var if set.
144
144
 
145
145
  - Unknown cluster name → list valid cluster names, exit without writing.
146
146
  - Unknown profile name → list known profiles (`core`, `standard`, `full`), exit.
147
- - Missing `surface.cjs` → prompt: "Run `npm i -g get-shit-done` to reinstall GSD."
147
+ - Missing `surface.cjs` → prompt: "Run `npm i -g gsd-core` to reinstall GSD."
148
148
 
149
149
  <execution_context>
150
150
  Surface state file: `~/.claude/.gsd-surface.json`
151
151
  Install profile marker: `~/.claude/.gsd-profile`
152
152
  Skill dirs: `~/.claude/skills/gsd-*/`
153
- Engine module: `~/.claude/get-shit-done/bin/lib/surface.cjs`
154
- Cluster definitions: `~/.claude/get-shit-done/bin/lib/clusters.cjs`
153
+ Engine module: `~/.claude/gsd-core/bin/lib/surface.cjs`
154
+ Cluster definitions: `~/.claude/gsd-core/bin/lib/clusters.cjs`
155
155
  </execution_context>
@@ -16,7 +16,7 @@ doesn't belong to any specific phase.
16
16
  </objective>
17
17
 
18
18
  <execution_context>
19
- @~/.claude/get-shit-done/workflows/thread.md
19
+ @~/.claude/gsd-core/workflows/thread.md
20
20
  </execution_context>
21
21
 
22
22
  <process>
@@ -21,8 +21,8 @@ Flow: Validate → Research UI → Verify UI-SPEC → Done
21
21
  </objective>
22
22
 
23
23
  <execution_context>
24
- @~/.claude/get-shit-done/workflows/ui-phase.md
25
- @~/.claude/get-shit-done/references/ui-brand.md
24
+ @~/.claude/gsd-core/workflows/ui-phase.md
25
+ @~/.claude/gsd-core/references/ui-brand.md
26
26
  </execution_context>
27
27
 
28
28
  <context>
@@ -19,8 +19,8 @@ Output: {phase_num}-UI-REVIEW.md
19
19
  </objective>
20
20
 
21
21
  <execution_context>
22
- @~/.claude/get-shit-done/workflows/ui-review.md
23
- @~/.claude/get-shit-done/references/ui-brand.md
22
+ @~/.claude/gsd-core/workflows/ui-review.md
23
+ @~/.claude/gsd-core/references/ui-brand.md
24
24
  </execution_context>
25
25
 
26
26
  <context>
@@ -21,8 +21,8 @@ Requirements: Claude Code v2.1.91+, claude.ai account, GitHub repository.
21
21
  </objective>
22
22
 
23
23
  <execution_context>
24
- @~/.claude/get-shit-done/workflows/ultraplan-phase.md
25
- @~/.claude/get-shit-done/references/ui-brand.md
24
+ @~/.claude/gsd-core/workflows/ultraplan-phase.md
25
+ @~/.claude/gsd-core/references/ui-brand.md
26
26
  </execution_context>
27
27
 
28
28
  <context>
@@ -21,9 +21,9 @@ Three modes:
21
21
  </objective>
22
22
 
23
23
  <execution_context>
24
- @~/.claude/get-shit-done/workflows/undo.md
25
- @~/.claude/get-shit-done/references/ui-brand.md
26
- @~/.claude/get-shit-done/references/gate-prompts.md
24
+ @~/.claude/gsd-core/workflows/undo.md
25
+ @~/.claude/gsd-core/references/ui-brand.md
26
+ @~/.claude/gsd-core/references/gate-prompts.md
27
27
  </execution_context>
28
28
 
29
29
  <context>
@@ -25,7 +25,7 @@ Routes to the update workflow which handles:
25
25
  </objective>
26
26
 
27
27
  <execution_context>
28
- @~/.claude/get-shit-done/workflows/update.md
28
+ @~/.claude/gsd-core/workflows/update.md
29
29
  </execution_context>
30
30
 
31
31
  <flags>
@@ -43,6 +43,6 @@ Parse the first token of $ARGUMENTS:
43
43
  </process>
44
44
 
45
45
  <execution_context_extended>
46
- @~/.claude/get-shit-done/workflows/sync-skills.md
47
- @~/.claude/get-shit-done/workflows/reapply-patches.md
46
+ @~/.claude/gsd-core/workflows/sync-skills.md
47
+ @~/.claude/gsd-core/workflows/reapply-patches.md
48
48
  </execution_context_extended>
@@ -23,7 +23,7 @@ Output: updated VALIDATION.md + generated test files.
23
23
  </objective>
24
24
 
25
25
  <execution_context>
26
- @~/.claude/get-shit-done/workflows/validate-phase.md
26
+ @~/.claude/gsd-core/workflows/validate-phase.md
27
27
  </execution_context>
28
28
 
29
29
  <context>
@@ -21,8 +21,8 @@ Output: {phase_num}-UAT.md tracking all test results. If issues found: diagnosed
21
21
  </objective>
22
22
 
23
23
  <execution_context>
24
- @~/.claude/get-shit-done/workflows/verify-work.md
25
- @~/.claude/get-shit-done/templates/UAT.md
24
+ @~/.claude/gsd-core/workflows/verify-work.md
25
+ @~/.claude/gsd-core/templates/UAT.md
26
26
  </execution_context>
27
27
 
28
28
  <context>
@@ -29,10 +29,10 @@ Mode routing:
29
29
  </routing>
30
30
 
31
31
  <execution_context>
32
- @~/.claude/get-shit-done/workflows/new-workspace.md
33
- @~/.claude/get-shit-done/workflows/list-workspaces.md
34
- @~/.claude/get-shit-done/workflows/remove-workspace.md
35
- @~/.claude/get-shit-done/references/ui-brand.md
32
+ @~/.claude/gsd-core/workflows/new-workspace.md
33
+ @~/.claude/gsd-core/workflows/list-workspaces.md
34
+ @~/.claude/gsd-core/workflows/remove-workspace.md
35
+ @~/.claude/gsd-core/references/ui-brand.md
36
36
  </execution_context>
37
37
 
38
38
  <context>
@@ -7,7 +7,7 @@
7
7
  * The /gsd-update workflow's check_latest_version step was previously
8
8
  * prescribed in LLM-driven prose ("run `npm view gsd-core
9
9
  * version`"). The executing model could shortcut the prescription and
10
- * invent npm queries against wrong-shaped names (`@get-shit-done/cli`,
10
+ * invent npm queries against wrong-shaped names (`@gsd-core/cli`,
11
11
  * `get-shit-done-cli`, `gsd`), all of which 404 or — worse — return an
12
12
  * unrelated typosquat package.
13
13
  *
@@ -171,7 +171,12 @@
171
171
  const fs = require('fs');
172
172
  const path = require('path');
173
173
  const core = require('./lib/core.cjs');
174
- const { error, findProjectRoot, ERROR_REASON } = core;
174
+ const { error, ERROR_REASON } = core;
175
+ // Resolve findProjectRoot lazily at call time rather than binding it at module
176
+ // load. It is a re-export from core.cjs (sourced from project-root.cjs); a
177
+ // call-time lookup is robust against any require/load-ordering edge where the
178
+ // re-export isn't bound yet when this entrypoint is first required (#604).
179
+ const findProjectRoot = (...args) => core.findProjectRoot(...args);
175
180
  const { getActiveWorkstream } = require('./lib/planning-workspace.cjs');
176
181
  const { resolveActiveWorkstream, applyResolvedWorkstreamEnv } = require('./lib/active-workstream-store.cjs');
177
182
  const state = require('./lib/state.cjs');
@@ -374,7 +379,7 @@ async function main() {
374
379
  'from-gsd2, frontmatter, gap-analysis, generate-claude-md, generate-claude-profile, ' +
375
380
  'generate-dev-preferences, generate-slug, graphify, history-digest, init, intel, ' +
376
381
  'learnings, list-todos, milestone, phase, phase-plan-index, phases, profile-questionnaire, ' +
377
- 'profile-sample, progress, prompt-budget, requirements, resolve-model, roadmap, scaffold, state, ' +
382
+ 'profile-sample, progress, prompt-budget, requirements, resolve-granularity, resolve-model, roadmap, scaffold, state, ' +
378
383
  'task, template, validate, verify, verify-path-exists, verify-summary, workstream, worktree\n\n' +
379
384
  'Global flags:\n' +
380
385
  ' --raw Emit raw output without post-processing\n' +
@@ -541,6 +546,11 @@ async function runCommand(command, args, cwd, raw, defaultValue, originalCommand
541
546
  break;
542
547
  }
543
548
 
549
+ case 'resolve-granularity': {
550
+ commands.cmdResolveGranularity(cwd, args[1], raw);
551
+ break;
552
+ }
553
+
544
554
  case 'resolve-execution': {
545
555
  // Deterministic flag parsing: consume --flag <value> pairs first,
546
556
  // then the AGENT is the single remaining positional.
@@ -1402,7 +1412,7 @@ async function runCommand(command, args, cwd, raw, defaultValue, originalCommand
1402
1412
  // GSD-managed directories to scan for user-added files.
1403
1413
  // These are the directories the installer wipes on update.
1404
1414
  const GSD_MANAGED_DIRS = [
1405
- 'get-shit-done',
1415
+ 'gsd-core',
1406
1416
  'agents',
1407
1417
  path.join('commands', 'gsd'),
1408
1418
  'hooks',
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ /**
3
+ * Active Workstream Pointer Store Module
4
+ *
5
+ * Owns active workstream source precedence, session identity, and pointer IO:
6
+ * CLI --ws > GSD_WORKSTREAM env > stored active workstream pointer.
7
+ *
8
+ * ADR-457 build-at-publish: the hand-written bin/lib/active-workstream-store.cjs
9
+ * collapsed to a TypeScript source of truth. Behaviour is preserved
10
+ * byte-for-behaviour from the prior hand-written .cjs; only types are added.
11
+ */
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ const node_fs_1 = __importDefault(require("node:fs"));
16
+ const node_os_1 = __importDefault(require("node:os"));
17
+ const node_path_1 = __importDefault(require("node:path"));
18
+ const node_crypto_1 = __importDefault(require("node:crypto"));
19
+ const shell_command_projection_cjs_1 = require("./shell-command-projection.cjs");
20
+ const workstream_name_policy_cjs_1 = require("./workstream-name-policy.cjs");
21
+ const WORKSTREAM_SESSION_ENV_KEYS = [
22
+ 'GSD_SESSION_KEY',
23
+ 'CODEX_THREAD_ID',
24
+ 'CLAUDE_SESSION_ID',
25
+ 'CLAUDE_CODE_SSE_PORT',
26
+ 'OPENCODE_SESSION_ID',
27
+ 'GEMINI_SESSION_ID',
28
+ 'CURSOR_SESSION_ID',
29
+ 'WINDSURF_SESSION_ID',
30
+ 'TERM_SESSION_ID',
31
+ 'WT_SESSION',
32
+ 'TMUX_PANE',
33
+ 'ZELLIJ_SESSION_NAME',
34
+ ];
35
+ let cachedControllingTtyToken = null;
36
+ let didProbeControllingTtyToken = false;
37
+ function planningRoot(cwd) {
38
+ return node_path_1.default.join(cwd, '.planning');
39
+ }
40
+ function validateWorkstreamName(name) {
41
+ return (0, workstream_name_policy_cjs_1.isValidActiveWorkstreamName)(name);
42
+ }
43
+ function sanitizeWorkstreamSessionToken(value) {
44
+ if (value === null || value === undefined)
45
+ return null;
46
+ const raw = typeof value === 'string' ? value : `${value}`;
47
+ const token = raw.trim().replace(/[^a-zA-Z0-9._-]+/g, '_').replace(/^_+|_+$/g, '');
48
+ return token ? token.slice(0, 160) : null;
49
+ }
50
+ function probeControllingTtyToken() {
51
+ if (didProbeControllingTtyToken)
52
+ return cachedControllingTtyToken;
53
+ didProbeControllingTtyToken = true;
54
+ if (!(process.stdin && process.stdin.isTTY)) {
55
+ return cachedControllingTtyToken;
56
+ }
57
+ const ttyPath = (0, shell_command_projection_cjs_1.probeTty)();
58
+ if (ttyPath) {
59
+ const token = sanitizeWorkstreamSessionToken(ttyPath.replace(/^\/dev\//, ''));
60
+ if (token)
61
+ cachedControllingTtyToken = `tty-${token}`;
62
+ }
63
+ return cachedControllingTtyToken;
64
+ }
65
+ function getControllingTtyToken() {
66
+ for (const envKey of ['TTY', 'SSH_TTY']) {
67
+ const token = sanitizeWorkstreamSessionToken(process.env[envKey]);
68
+ if (token)
69
+ return `tty-${token.replace(/^dev_/, '')}`;
70
+ }
71
+ return probeControllingTtyToken();
72
+ }
73
+ function getWorkstreamSessionKey() {
74
+ for (const envKey of WORKSTREAM_SESSION_ENV_KEYS) {
75
+ const raw = process.env[envKey];
76
+ const token = sanitizeWorkstreamSessionToken(raw);
77
+ if (token)
78
+ return `${envKey.toLowerCase().replace(/[^a-z0-9]+/g, '-')}-${token}`;
79
+ }
80
+ return getControllingTtyToken();
81
+ }
82
+ function getSessionScopedWorkstreamFile(cwd, fixedSessionKey) {
83
+ const sessionKey = fixedSessionKey || getWorkstreamSessionKey();
84
+ if (!sessionKey)
85
+ return null;
86
+ let planningAbs;
87
+ try {
88
+ planningAbs = node_fs_1.default.realpathSync.native(planningRoot(cwd));
89
+ }
90
+ catch {
91
+ planningAbs = node_path_1.default.resolve(planningRoot(cwd));
92
+ }
93
+ const projectId = node_crypto_1.default
94
+ .createHash('sha1')
95
+ .update(planningAbs)
96
+ .digest('hex')
97
+ .slice(0, 16);
98
+ const dirPath = node_path_1.default.join(node_os_1.default.tmpdir(), 'gsd-workstream-sessions', projectId);
99
+ return {
100
+ sessionKey,
101
+ dirPath,
102
+ filePath: node_path_1.default.join(dirPath, sessionKey),
103
+ };
104
+ }
105
+ function createSharedPointerAdapter(cwd) {
106
+ const filePath = node_path_1.default.join(planningRoot(cwd), 'active-workstream');
107
+ return {
108
+ read() {
109
+ const raw = (0, shell_command_projection_cjs_1.platformReadSync)(filePath);
110
+ return raw ? raw.trim() || null : null;
111
+ },
112
+ write(name) {
113
+ (0, shell_command_projection_cjs_1.platformWriteSync)(filePath, name + '\n');
114
+ },
115
+ clear() {
116
+ try {
117
+ node_fs_1.default.unlinkSync(filePath);
118
+ }
119
+ catch { }
120
+ },
121
+ };
122
+ }
123
+ function createSessionScopedPointerAdapter(cwd, fixedSessionKey) {
124
+ const scoped = getSessionScopedWorkstreamFile(cwd, fixedSessionKey);
125
+ if (!scoped)
126
+ return null;
127
+ return {
128
+ read() {
129
+ const raw = (0, shell_command_projection_cjs_1.platformReadSync)(scoped.filePath);
130
+ return raw ? raw.trim() || null : null;
131
+ },
132
+ write(name) {
133
+ (0, shell_command_projection_cjs_1.platformEnsureDir)(scoped.dirPath);
134
+ (0, shell_command_projection_cjs_1.platformWriteSync)(scoped.filePath, name + '\n');
135
+ },
136
+ clear() {
137
+ try {
138
+ node_fs_1.default.unlinkSync(scoped.filePath);
139
+ }
140
+ catch { }
141
+ try {
142
+ const remaining = node_fs_1.default.readdirSync(scoped.dirPath);
143
+ if (remaining.length === 0) {
144
+ node_fs_1.default.rmdirSync(scoped.dirPath);
145
+ }
146
+ }
147
+ catch { }
148
+ },
149
+ };
150
+ }
151
+ function createMemoryPointerAdapter(initialName = null) {
152
+ let value = initialName;
153
+ return {
154
+ read() {
155
+ return value;
156
+ },
157
+ write(name) {
158
+ value = name;
159
+ },
160
+ clear() {
161
+ value = null;
162
+ },
163
+ };
164
+ }
165
+ function pickActiveWorkstreamAdapter(cwd, opts = {}) {
166
+ if (opts.activeWorkstreamAdapter) {
167
+ return opts.activeWorkstreamAdapter;
168
+ }
169
+ const sessionKey = getWorkstreamSessionKey();
170
+ if (sessionKey) {
171
+ if (opts.activeWorkstreamAdapters && opts.activeWorkstreamAdapters.session) {
172
+ return opts.activeWorkstreamAdapters.session;
173
+ }
174
+ return createSessionScopedPointerAdapter(cwd, sessionKey);
175
+ }
176
+ if (opts.activeWorkstreamAdapters && opts.activeWorkstreamAdapters.shared) {
177
+ return opts.activeWorkstreamAdapters.shared;
178
+ }
179
+ return createSharedPointerAdapter(cwd);
180
+ }
181
+ function getActiveWorkstream(cwd, opts = {}) {
182
+ const adapter = pickActiveWorkstreamAdapter(cwd, opts);
183
+ if (!adapter)
184
+ return null;
185
+ const name = adapter.read();
186
+ if (!name || !validateWorkstreamName(name)) {
187
+ adapter.clear();
188
+ return null;
189
+ }
190
+ const wsDir = node_path_1.default.join(planningRoot(cwd), 'workstreams', name);
191
+ if (!node_fs_1.default.existsSync(wsDir)) {
192
+ adapter.clear();
193
+ return null;
194
+ }
195
+ return name;
196
+ }
197
+ function setActiveWorkstream(cwd, name, opts = {}) {
198
+ const adapter = pickActiveWorkstreamAdapter(cwd, opts);
199
+ if (!adapter)
200
+ return;
201
+ if (!name) {
202
+ adapter.clear();
203
+ return;
204
+ }
205
+ if (!validateWorkstreamName(name)) {
206
+ throw new Error('Invalid workstream name: must be alphanumeric, hyphens, underscores, or dots');
207
+ }
208
+ const wsDir = node_path_1.default.join(planningRoot(cwd), 'workstreams', name);
209
+ (0, shell_command_projection_cjs_1.platformEnsureDir)(wsDir);
210
+ adapter.write(name);
211
+ }
212
+ function clearActiveWorkstream(cwd, opts = {}) {
213
+ const adapter = pickActiveWorkstreamAdapter(cwd, opts);
214
+ if (!adapter)
215
+ return;
216
+ adapter.clear();
217
+ }
218
+ function parseCliWorkstream(args) {
219
+ const wsEqArg = args.find((arg) => arg.startsWith('--ws='));
220
+ const wsIdx = args.indexOf('--ws');
221
+ if (wsEqArg) {
222
+ const value = wsEqArg.slice('--ws='.length).trim();
223
+ if (!value)
224
+ throw new Error('Missing value for --ws');
225
+ return {
226
+ value,
227
+ source: 'cli',
228
+ args: args.filter((arg) => arg !== wsEqArg),
229
+ };
230
+ }
231
+ if (wsIdx !== -1) {
232
+ const value = args[wsIdx + 1];
233
+ if (!value || value.startsWith('--'))
234
+ throw new Error('Missing value for --ws');
235
+ return {
236
+ value,
237
+ source: 'cli',
238
+ args: args.filter((_, idx) => idx !== wsIdx && idx !== wsIdx + 1),
239
+ };
240
+ }
241
+ return {
242
+ value: null,
243
+ source: null,
244
+ args: args.slice(),
245
+ };
246
+ }
247
+ function resolveActiveWorkstream(cwd, args, env = process.env, deps = {}) {
248
+ const parsed = parseCliWorkstream(args);
249
+ const getStored = deps.getStored || ((dir) => getActiveWorkstream(dir, deps));
250
+ let ws = null;
251
+ let source = 'none';
252
+ if (parsed.value) {
253
+ ws = parsed.value;
254
+ source = parsed.source ?? 'cli';
255
+ }
256
+ else if (env && typeof env['GSD_WORKSTREAM'] === 'string' && env['GSD_WORKSTREAM'].trim()) {
257
+ ws = env['GSD_WORKSTREAM'].trim();
258
+ source = 'env';
259
+ }
260
+ else {
261
+ ws = getStored(cwd) || null;
262
+ source = ws ? 'store' : 'none';
263
+ }
264
+ if (ws && !validateWorkstreamName(ws)) {
265
+ throw new Error('Invalid workstream name: must be alphanumeric, hyphens, underscores, or dots');
266
+ }
267
+ return {
268
+ ws,
269
+ source,
270
+ args: parsed.args,
271
+ };
272
+ }
273
+ function applyResolvedWorkstreamEnv(resolution, env = process.env) {
274
+ if (!resolution || !resolution.ws)
275
+ return;
276
+ env['GSD_WORKSTREAM'] = resolution.ws;
277
+ }
278
+ module.exports = {
279
+ validateWorkstreamName,
280
+ getWorkstreamSessionKey,
281
+ createSharedPointerAdapter,
282
+ createSessionScopedPointerAdapter,
283
+ createMemoryPointerAdapter,
284
+ pickActiveWorkstreamAdapter,
285
+ getActiveWorkstream,
286
+ setActiveWorkstream,
287
+ clearActiveWorkstream,
288
+ parseCliWorkstream,
289
+ resolveActiveWorkstream,
290
+ applyResolvedWorkstreamEnv,
291
+ };