gsd-code-first 1.0.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 (238) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja-JP.md +834 -0
  3. package/README.ko-KR.md +823 -0
  4. package/README.md +937 -0
  5. package/README.pt-BR.md +452 -0
  6. package/README.zh-CN.md +800 -0
  7. package/agents/gsd-advisor-researcher.md +104 -0
  8. package/agents/gsd-annotator.md +148 -0
  9. package/agents/gsd-arc-executor.md +537 -0
  10. package/agents/gsd-arc-planner.md +374 -0
  11. package/agents/gsd-assumptions-analyzer.md +105 -0
  12. package/agents/gsd-code-planner.md +155 -0
  13. package/agents/gsd-codebase-mapper.md +770 -0
  14. package/agents/gsd-debugger.md +1373 -0
  15. package/agents/gsd-executor.md +509 -0
  16. package/agents/gsd-integration-checker.md +443 -0
  17. package/agents/gsd-nyquist-auditor.md +176 -0
  18. package/agents/gsd-phase-researcher.md +698 -0
  19. package/agents/gsd-plan-checker.md +773 -0
  20. package/agents/gsd-planner.md +1354 -0
  21. package/agents/gsd-project-researcher.md +654 -0
  22. package/agents/gsd-prototyper.md +161 -0
  23. package/agents/gsd-research-synthesizer.md +247 -0
  24. package/agents/gsd-roadmapper.md +679 -0
  25. package/agents/gsd-ui-auditor.md +439 -0
  26. package/agents/gsd-ui-checker.md +300 -0
  27. package/agents/gsd-ui-researcher.md +357 -0
  28. package/agents/gsd-user-profiler.md +171 -0
  29. package/agents/gsd-verifier.md +700 -0
  30. package/bin/install.js +5009 -0
  31. package/commands/gsd/add-backlog.md +76 -0
  32. package/commands/gsd/add-phase.md +43 -0
  33. package/commands/gsd/add-tests.md +41 -0
  34. package/commands/gsd/add-todo.md +47 -0
  35. package/commands/gsd/annotate.md +54 -0
  36. package/commands/gsd/audit-milestone.md +36 -0
  37. package/commands/gsd/audit-uat.md +24 -0
  38. package/commands/gsd/autonomous.md +41 -0
  39. package/commands/gsd/check-todos.md +45 -0
  40. package/commands/gsd/cleanup.md +18 -0
  41. package/commands/gsd/complete-milestone.md +136 -0
  42. package/commands/gsd/debug.md +173 -0
  43. package/commands/gsd/deep-plan.md +52 -0
  44. package/commands/gsd/discuss-phase.md +64 -0
  45. package/commands/gsd/do.md +30 -0
  46. package/commands/gsd/execute-phase.md +59 -0
  47. package/commands/gsd/extract-plan.md +35 -0
  48. package/commands/gsd/fast.md +30 -0
  49. package/commands/gsd/forensics.md +56 -0
  50. package/commands/gsd/health.md +22 -0
  51. package/commands/gsd/help.md +22 -0
  52. package/commands/gsd/insert-phase.md +32 -0
  53. package/commands/gsd/iterate.md +124 -0
  54. package/commands/gsd/join-discord.md +18 -0
  55. package/commands/gsd/list-phase-assumptions.md +46 -0
  56. package/commands/gsd/list-workspaces.md +19 -0
  57. package/commands/gsd/manager.md +39 -0
  58. package/commands/gsd/map-codebase.md +71 -0
  59. package/commands/gsd/milestone-summary.md +51 -0
  60. package/commands/gsd/new-milestone.md +44 -0
  61. package/commands/gsd/new-project.md +42 -0
  62. package/commands/gsd/new-workspace.md +44 -0
  63. package/commands/gsd/next.md +24 -0
  64. package/commands/gsd/note.md +34 -0
  65. package/commands/gsd/pause-work.md +38 -0
  66. package/commands/gsd/plan-milestone-gaps.md +34 -0
  67. package/commands/gsd/plan-phase.md +47 -0
  68. package/commands/gsd/plant-seed.md +28 -0
  69. package/commands/gsd/pr-branch.md +25 -0
  70. package/commands/gsd/profile-user.md +46 -0
  71. package/commands/gsd/progress.md +24 -0
  72. package/commands/gsd/prototype.md +56 -0
  73. package/commands/gsd/quick.md +47 -0
  74. package/commands/gsd/reapply-patches.md +123 -0
  75. package/commands/gsd/remove-phase.md +31 -0
  76. package/commands/gsd/remove-workspace.md +26 -0
  77. package/commands/gsd/research-phase.md +195 -0
  78. package/commands/gsd/resume-work.md +40 -0
  79. package/commands/gsd/review-backlog.md +61 -0
  80. package/commands/gsd/review.md +37 -0
  81. package/commands/gsd/session-report.md +19 -0
  82. package/commands/gsd/set-mode.md +41 -0
  83. package/commands/gsd/set-profile.md +12 -0
  84. package/commands/gsd/settings.md +36 -0
  85. package/commands/gsd/ship.md +23 -0
  86. package/commands/gsd/stats.md +18 -0
  87. package/commands/gsd/thread.md +127 -0
  88. package/commands/gsd/ui-phase.md +34 -0
  89. package/commands/gsd/ui-review.md +32 -0
  90. package/commands/gsd/update.md +37 -0
  91. package/commands/gsd/validate-phase.md +35 -0
  92. package/commands/gsd/verify-work.md +38 -0
  93. package/commands/gsd/workstreams.md +63 -0
  94. package/get-shit-done/bin/gsd-tools.cjs +946 -0
  95. package/get-shit-done/bin/lib/arc-scanner.cjs +341 -0
  96. package/get-shit-done/bin/lib/commands.cjs +959 -0
  97. package/get-shit-done/bin/lib/config.cjs +466 -0
  98. package/get-shit-done/bin/lib/core.cjs +1230 -0
  99. package/get-shit-done/bin/lib/frontmatter.cjs +336 -0
  100. package/get-shit-done/bin/lib/init.cjs +1442 -0
  101. package/get-shit-done/bin/lib/milestone.cjs +252 -0
  102. package/get-shit-done/bin/lib/model-profiles.cjs +68 -0
  103. package/get-shit-done/bin/lib/phase.cjs +888 -0
  104. package/get-shit-done/bin/lib/profile-output.cjs +952 -0
  105. package/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
  106. package/get-shit-done/bin/lib/roadmap.cjs +329 -0
  107. package/get-shit-done/bin/lib/security.cjs +382 -0
  108. package/get-shit-done/bin/lib/state.cjs +1031 -0
  109. package/get-shit-done/bin/lib/template.cjs +222 -0
  110. package/get-shit-done/bin/lib/uat.cjs +282 -0
  111. package/get-shit-done/bin/lib/verify.cjs +888 -0
  112. package/get-shit-done/bin/lib/workstream.cjs +491 -0
  113. package/get-shit-done/commands/gsd/workstreams.md +63 -0
  114. package/get-shit-done/references/arc-standard.md +315 -0
  115. package/get-shit-done/references/checkpoints.md +778 -0
  116. package/get-shit-done/references/continuation-format.md +249 -0
  117. package/get-shit-done/references/decimal-phase-calculation.md +64 -0
  118. package/get-shit-done/references/git-integration.md +295 -0
  119. package/get-shit-done/references/git-planning-commit.md +38 -0
  120. package/get-shit-done/references/model-profile-resolution.md +36 -0
  121. package/get-shit-done/references/model-profiles.md +139 -0
  122. package/get-shit-done/references/phase-argument-parsing.md +61 -0
  123. package/get-shit-done/references/planning-config.md +202 -0
  124. package/get-shit-done/references/questioning.md +162 -0
  125. package/get-shit-done/references/tdd.md +263 -0
  126. package/get-shit-done/references/ui-brand.md +160 -0
  127. package/get-shit-done/references/user-profiling.md +681 -0
  128. package/get-shit-done/references/verification-patterns.md +612 -0
  129. package/get-shit-done/references/workstream-flag.md +58 -0
  130. package/get-shit-done/templates/DEBUG.md +164 -0
  131. package/get-shit-done/templates/UAT.md +265 -0
  132. package/get-shit-done/templates/UI-SPEC.md +100 -0
  133. package/get-shit-done/templates/VALIDATION.md +76 -0
  134. package/get-shit-done/templates/claude-md.md +122 -0
  135. package/get-shit-done/templates/codebase/architecture.md +255 -0
  136. package/get-shit-done/templates/codebase/concerns.md +310 -0
  137. package/get-shit-done/templates/codebase/conventions.md +307 -0
  138. package/get-shit-done/templates/codebase/integrations.md +280 -0
  139. package/get-shit-done/templates/codebase/stack.md +186 -0
  140. package/get-shit-done/templates/codebase/structure.md +285 -0
  141. package/get-shit-done/templates/codebase/testing.md +480 -0
  142. package/get-shit-done/templates/config.json +44 -0
  143. package/get-shit-done/templates/context.md +352 -0
  144. package/get-shit-done/templates/continue-here.md +78 -0
  145. package/get-shit-done/templates/copilot-instructions.md +7 -0
  146. package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
  147. package/get-shit-done/templates/dev-preferences.md +21 -0
  148. package/get-shit-done/templates/discovery.md +146 -0
  149. package/get-shit-done/templates/discussion-log.md +63 -0
  150. package/get-shit-done/templates/milestone-archive.md +123 -0
  151. package/get-shit-done/templates/milestone.md +115 -0
  152. package/get-shit-done/templates/phase-prompt.md +610 -0
  153. package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
  154. package/get-shit-done/templates/project.md +186 -0
  155. package/get-shit-done/templates/requirements.md +231 -0
  156. package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
  157. package/get-shit-done/templates/research-project/FEATURES.md +147 -0
  158. package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
  159. package/get-shit-done/templates/research-project/STACK.md +120 -0
  160. package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
  161. package/get-shit-done/templates/research.md +552 -0
  162. package/get-shit-done/templates/retrospective.md +54 -0
  163. package/get-shit-done/templates/roadmap.md +202 -0
  164. package/get-shit-done/templates/state.md +176 -0
  165. package/get-shit-done/templates/summary-complex.md +59 -0
  166. package/get-shit-done/templates/summary-minimal.md +41 -0
  167. package/get-shit-done/templates/summary-standard.md +48 -0
  168. package/get-shit-done/templates/summary.md +248 -0
  169. package/get-shit-done/templates/user-profile.md +146 -0
  170. package/get-shit-done/templates/user-setup.md +311 -0
  171. package/get-shit-done/templates/verification-report.md +322 -0
  172. package/get-shit-done/workflows/add-phase.md +112 -0
  173. package/get-shit-done/workflows/add-tests.md +351 -0
  174. package/get-shit-done/workflows/add-todo.md +158 -0
  175. package/get-shit-done/workflows/audit-milestone.md +340 -0
  176. package/get-shit-done/workflows/audit-uat.md +109 -0
  177. package/get-shit-done/workflows/autonomous.md +891 -0
  178. package/get-shit-done/workflows/check-todos.md +177 -0
  179. package/get-shit-done/workflows/cleanup.md +152 -0
  180. package/get-shit-done/workflows/complete-milestone.md +767 -0
  181. package/get-shit-done/workflows/diagnose-issues.md +231 -0
  182. package/get-shit-done/workflows/discovery-phase.md +289 -0
  183. package/get-shit-done/workflows/discuss-phase-assumptions.md +653 -0
  184. package/get-shit-done/workflows/discuss-phase.md +1049 -0
  185. package/get-shit-done/workflows/do.md +104 -0
  186. package/get-shit-done/workflows/execute-phase.md +846 -0
  187. package/get-shit-done/workflows/execute-plan.md +514 -0
  188. package/get-shit-done/workflows/fast.md +105 -0
  189. package/get-shit-done/workflows/forensics.md +265 -0
  190. package/get-shit-done/workflows/health.md +181 -0
  191. package/get-shit-done/workflows/help.md +634 -0
  192. package/get-shit-done/workflows/insert-phase.md +130 -0
  193. package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
  194. package/get-shit-done/workflows/list-workspaces.md +56 -0
  195. package/get-shit-done/workflows/manager.md +362 -0
  196. package/get-shit-done/workflows/map-codebase.md +377 -0
  197. package/get-shit-done/workflows/milestone-summary.md +223 -0
  198. package/get-shit-done/workflows/new-milestone.md +486 -0
  199. package/get-shit-done/workflows/new-project.md +1250 -0
  200. package/get-shit-done/workflows/new-workspace.md +237 -0
  201. package/get-shit-done/workflows/next.md +97 -0
  202. package/get-shit-done/workflows/node-repair.md +92 -0
  203. package/get-shit-done/workflows/note.md +156 -0
  204. package/get-shit-done/workflows/pause-work.md +176 -0
  205. package/get-shit-done/workflows/plan-milestone-gaps.md +273 -0
  206. package/get-shit-done/workflows/plan-phase.md +859 -0
  207. package/get-shit-done/workflows/plant-seed.md +169 -0
  208. package/get-shit-done/workflows/pr-branch.md +129 -0
  209. package/get-shit-done/workflows/profile-user.md +450 -0
  210. package/get-shit-done/workflows/progress.md +507 -0
  211. package/get-shit-done/workflows/quick.md +757 -0
  212. package/get-shit-done/workflows/remove-phase.md +155 -0
  213. package/get-shit-done/workflows/remove-workspace.md +90 -0
  214. package/get-shit-done/workflows/research-phase.md +82 -0
  215. package/get-shit-done/workflows/resume-project.md +326 -0
  216. package/get-shit-done/workflows/review.md +228 -0
  217. package/get-shit-done/workflows/session-report.md +146 -0
  218. package/get-shit-done/workflows/settings.md +283 -0
  219. package/get-shit-done/workflows/ship.md +228 -0
  220. package/get-shit-done/workflows/stats.md +60 -0
  221. package/get-shit-done/workflows/transition.md +671 -0
  222. package/get-shit-done/workflows/ui-phase.md +302 -0
  223. package/get-shit-done/workflows/ui-review.md +165 -0
  224. package/get-shit-done/workflows/update.md +323 -0
  225. package/get-shit-done/workflows/validate-phase.md +174 -0
  226. package/get-shit-done/workflows/verify-phase.md +254 -0
  227. package/get-shit-done/workflows/verify-work.md +637 -0
  228. package/hooks/dist/gsd-check-update.js +114 -0
  229. package/hooks/dist/gsd-context-monitor.js +156 -0
  230. package/hooks/dist/gsd-prompt-guard.js +96 -0
  231. package/hooks/dist/gsd-statusline.js +119 -0
  232. package/hooks/dist/gsd-workflow-guard.js +94 -0
  233. package/package.json +52 -0
  234. package/scripts/base64-scan.sh +262 -0
  235. package/scripts/build-hooks.js +82 -0
  236. package/scripts/prompt-injection-scan.sh +198 -0
  237. package/scripts/run-tests.cjs +29 -0
  238. package/scripts/secret-scan.sh +227 -0
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: gsd:plan-phase
3
+ description: Create detailed phase plan (PLAN.md) with verification loop
4
+ argument-hint: "[phase] [--auto] [--research] [--skip-research] [--gaps] [--skip-verify] [--prd <file>] [--reviews] [--text]"
5
+ agent: gsd-planner
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Task
13
+ - WebFetch
14
+ - mcp__context7__*
15
+ ---
16
+ <objective>
17
+ Create executable phase prompts (PLAN.md files) for a roadmap phase with integrated research and verification.
18
+
19
+ **Default flow:** Research (if needed) → Plan → Verify → Done
20
+
21
+ **Orchestrator role:** Parse arguments, validate phase, research domain (unless skipped), spawn gsd-planner, verify with gsd-plan-checker, iterate until pass or max iterations, present results.
22
+ </objective>
23
+
24
+ <execution_context>
25
+ @~/.claude/get-shit-done/workflows/plan-phase.md
26
+ @~/.claude/get-shit-done/references/ui-brand.md
27
+ </execution_context>
28
+
29
+ <context>
30
+ Phase number: $ARGUMENTS (optional — auto-detects next unplanned phase if omitted)
31
+
32
+ **Flags:**
33
+ - `--research` — Force re-research even if RESEARCH.md exists
34
+ - `--skip-research` — Skip research, go straight to planning
35
+ - `--gaps` — Gap closure mode (reads VERIFICATION.md, skips research)
36
+ - `--skip-verify` — Skip verification loop
37
+ - `--prd <file>` — Use a PRD/acceptance criteria file instead of discuss-phase. Parses requirements into CONTEXT.md automatically. Skips discuss-phase entirely.
38
+ - `--reviews` — Replan incorporating cross-AI review feedback from REVIEWS.md (produced by `/gsd:review`)
39
+ - `--text` — Use plain-text numbered lists instead of TUI menus (required for `/rc` remote sessions)
40
+
41
+ Normalize phase input in step 2 before any directory lookups.
42
+ </context>
43
+
44
+ <process>
45
+ Execute the plan-phase workflow from @~/.claude/get-shit-done/workflows/plan-phase.md end-to-end.
46
+ Preserve all workflow gates (validation, research, planning, verification loop, routing).
47
+ </process>
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: gsd:plant-seed
3
+ description: Capture a forward-looking idea with trigger conditions — surfaces automatically at the right milestone
4
+ argument-hint: "[idea summary]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - AskUserQuestion
11
+ ---
12
+
13
+ <objective>
14
+ Capture an idea that's too big for now but should surface automatically when the right
15
+ milestone arrives. Seeds solve context rot: instead of a one-liner in Deferred that nobody
16
+ reads, a seed preserves the full WHY, WHEN to surface, and breadcrumbs to details.
17
+
18
+ Creates: .planning/seeds/SEED-NNN-slug.md
19
+ Consumed by: /gsd:new-milestone (scans seeds and presents matches)
20
+ </objective>
21
+
22
+ <execution_context>
23
+ @~/.claude/get-shit-done/workflows/plant-seed.md
24
+ </execution_context>
25
+
26
+ <process>
27
+ Execute the plant-seed workflow from @~/.claude/get-shit-done/workflows/plant-seed.md end-to-end.
28
+ </process>
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: gsd:pr-branch
3
+ description: Create a clean PR branch by filtering out .planning/ commits — ready for code review
4
+ argument-hint: "[target branch, default: main]"
5
+ allowed-tools:
6
+ - Bash
7
+ - Read
8
+ - AskUserQuestion
9
+ ---
10
+
11
+ <objective>
12
+ Create a clean branch suitable for pull requests by filtering out .planning/ commits
13
+ from the current branch. Reviewers see only code changes, not GSD planning artifacts.
14
+
15
+ This solves the problem of PR diffs being cluttered with PLAN.md, SUMMARY.md, STATE.md
16
+ changes that are irrelevant to code review.
17
+ </objective>
18
+
19
+ <execution_context>
20
+ @~/.claude/get-shit-done/workflows/pr-branch.md
21
+ </execution_context>
22
+
23
+ <process>
24
+ Execute the pr-branch workflow from @~/.claude/get-shit-done/workflows/pr-branch.md end-to-end.
25
+ </process>
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: gsd:profile-user
3
+ description: Generate developer behavioral profile and create Claude-discoverable artifacts
4
+ argument-hint: "[--questionnaire] [--refresh]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - AskUserQuestion
12
+ - Task
13
+ ---
14
+
15
+ <objective>
16
+ Generate a developer behavioral profile from session analysis (or questionnaire) and produce artifacts (USER-PROFILE.md, /gsd:dev-preferences, CLAUDE.md section) that personalize Claude's responses.
17
+
18
+ Routes to the profile-user workflow which orchestrates the full flow: consent gate, session analysis or questionnaire fallback, profile generation, result display, and artifact selection.
19
+ </objective>
20
+
21
+ <execution_context>
22
+ @~/.claude/get-shit-done/workflows/profile-user.md
23
+ @~/.claude/get-shit-done/references/ui-brand.md
24
+ </execution_context>
25
+
26
+ <context>
27
+ Flags from $ARGUMENTS:
28
+ - `--questionnaire` -- Skip session analysis entirely, use questionnaire-only path
29
+ - `--refresh` -- Rebuild profile even when one exists, backup old profile, show dimension diff
30
+ </context>
31
+
32
+ <process>
33
+ Execute the profile-user workflow end-to-end.
34
+
35
+ The workflow handles all logic including:
36
+ 1. Initialization and existing profile detection
37
+ 2. Consent gate before session analysis
38
+ 3. Session scanning and data sufficiency checks
39
+ 4. Session analysis (profiler agent) or questionnaire fallback
40
+ 5. Cross-project split resolution
41
+ 6. Profile writing to USER-PROFILE.md
42
+ 7. Result display with report card and highlights
43
+ 8. Artifact selection (dev-preferences, CLAUDE.md sections)
44
+ 9. Sequential artifact generation
45
+ 10. Summary with refresh diff (if applicable)
46
+ </process>
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: gsd:progress
3
+ description: Check project progress, show context, and route to next action (execute or plan)
4
+ allowed-tools:
5
+ - Read
6
+ - Bash
7
+ - Grep
8
+ - Glob
9
+ - SlashCommand
10
+ ---
11
+ <objective>
12
+ Check project progress, summarize recent work and what's ahead, then intelligently route to the next action - either executing an existing plan or creating the next one.
13
+
14
+ Provides situational awareness before continuing work.
15
+ </objective>
16
+
17
+ <execution_context>
18
+ @~/.claude/get-shit-done/workflows/progress.md
19
+ </execution_context>
20
+
21
+ <process>
22
+ Execute the progress workflow from @~/.claude/get-shit-done/workflows/progress.md end-to-end.
23
+ Preserve all routing logic (Routes A through F) and edge case handling.
24
+ </process>
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: gsd:prototype
3
+ description: Build a working code prototype with embedded @gsd-tags using gsd-prototyper, then auto-run extract-plan
4
+ argument-hint: "[path] [--phases N]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Task
11
+ - Glob
12
+ - Grep
13
+ ---
14
+
15
+ <objective>
16
+ Spawns the `gsd-prototyper` agent to build working prototype code with `@gsd-tags` embedded following the ARC annotation standard. On completion, automatically runs `extract-plan` to produce `.planning/prototype/CODE-INVENTORY.md`.
17
+
18
+ **Arguments:**
19
+ - `path` — target directory for prototype output (defaults to project root if omitted)
20
+ - `--phases N` — scope the prototype to specific phase numbers from ROADMAP.md (e.g., `--phases 2` or `--phases 2,3`); only requirements belonging to those phases will be prototyped
21
+
22
+ The prototyper reads `PROJECT.md`, `REQUIREMENTS.md`, and `ROADMAP.md` before building so all generated code reflects actual project goals, requirement IDs, and phase structure.
23
+ </objective>
24
+
25
+ <context>
26
+ $ARGUMENTS
27
+
28
+ @.planning/PROJECT.md
29
+ @.planning/REQUIREMENTS.md
30
+ @.planning/ROADMAP.md
31
+ </context>
32
+
33
+ <process>
34
+
35
+ 1. **Spawn gsd-prototyper agent** via the Task tool, passing `$ARGUMENTS` as context. The agent will:
36
+ - Read `get-shit-done/references/arc-standard.md` for the ARC tag standard
37
+ - Read `PROJECT.md`, `REQUIREMENTS.md`, and `ROADMAP.md` for project context and requirement IDs
38
+ - If `--phases N` is present in `$ARGUMENTS`, filter to only requirements for those phases
39
+ - Plan and create prototype files with `@gsd-tags` embedded in comments
40
+ - Write `.planning/prototype/PROTOTYPE-LOG.md` capturing files created, decisions made, and open todos
41
+
42
+ 2. **Wait for gsd-prototyper to complete** and note its summary output (files created, total tags embedded, breakdown by tag type).
43
+
44
+ 3. **Auto-run extract-plan** to produce CODE-INVENTORY.md from the annotated prototype:
45
+ ```bash
46
+ node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" extract-tags --format md --output .planning/prototype/CODE-INVENTORY.md
47
+ ```
48
+ This scans all prototype files for `@gsd-tags` and writes `.planning/prototype/CODE-INVENTORY.md` grouped by tag type and file, with summary statistics and a phase reference index.
49
+
50
+ 4. **Show the user the results:**
51
+ - Files created (from gsd-prototyper summary)
52
+ - Total @gsd-tags embedded (from gsd-prototyper summary)
53
+ - Path to PROTOTYPE-LOG.md: `.planning/prototype/PROTOTYPE-LOG.md`
54
+ - Path to CODE-INVENTORY.md: `.planning/prototype/CODE-INVENTORY.md`
55
+
56
+ </process>
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: gsd:quick
3
+ description: Execute a quick task with GSD guarantees (atomic commits, state tracking) but skip optional agents
4
+ argument-hint: "[--full] [--discuss] [--research]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Glob
10
+ - Grep
11
+ - Bash
12
+ - Task
13
+ - AskUserQuestion
14
+ ---
15
+ <objective>
16
+ Execute small, ad-hoc tasks with GSD guarantees (atomic commits, STATE.md tracking).
17
+
18
+ Quick mode is the same system with a shorter path:
19
+ - Spawns gsd-planner (quick mode) + gsd-executor(s)
20
+ - Quick tasks live in `.planning/quick/` separate from planned phases
21
+ - Updates STATE.md "Quick Tasks Completed" table (NOT ROADMAP.md)
22
+
23
+ **Default:** Skips research, discussion, plan-checker, verifier. Use when you know exactly what to do.
24
+
25
+ **`--discuss` flag:** Lightweight discussion phase before planning. Surfaces assumptions, clarifies gray areas, captures decisions in CONTEXT.md. Use when the task has ambiguity worth resolving upfront.
26
+
27
+ **`--full` flag:** Enables plan-checking (max 2 iterations) and post-execution verification. Use when you want quality guarantees without full milestone ceremony.
28
+
29
+ **`--research` flag:** Spawns a focused research agent before planning. Investigates implementation approaches, library options, and pitfalls for the task. Use when you're unsure of the best approach.
30
+
31
+ Flags are composable: `--discuss --research --full` gives discussion + research + plan-checking + verification.
32
+ </objective>
33
+
34
+ <execution_context>
35
+ @~/.claude/get-shit-done/workflows/quick.md
36
+ </execution_context>
37
+
38
+ <context>
39
+ $ARGUMENTS
40
+
41
+ Context files are resolved inside the workflow (`init quick`) and delegated via `<files_to_read>` blocks.
42
+ </context>
43
+
44
+ <process>
45
+ Execute the quick workflow from @~/.claude/get-shit-done/workflows/quick.md end-to-end.
46
+ Preserve all workflow gates (validation, task description, planning, execution, state updates, commits).
47
+ </process>
@@ -0,0 +1,123 @@
1
+ ---
2
+ description: Reapply local modifications after a GSD update
3
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
4
+ ---
5
+
6
+ <purpose>
7
+ After a GSD update wipes and reinstalls files, this command merges user's previously saved local modifications back into the new version. Uses intelligent comparison to handle cases where the upstream file also changed.
8
+ </purpose>
9
+
10
+ <process>
11
+
12
+ ## Step 1: Detect backed-up patches
13
+
14
+ Check for local patches directory:
15
+
16
+ ```bash
17
+ # Global install — detect runtime config directory
18
+ if [ -d "$HOME/.config/opencode/gsd-local-patches" ]; then
19
+ PATCHES_DIR="$HOME/.config/opencode/gsd-local-patches"
20
+ elif [ -d "$HOME/.opencode/gsd-local-patches" ]; then
21
+ PATCHES_DIR="$HOME/.opencode/gsd-local-patches"
22
+ elif [ -d "$HOME/.gemini/gsd-local-patches" ]; then
23
+ PATCHES_DIR="$HOME/.gemini/gsd-local-patches"
24
+ else
25
+ PATCHES_DIR="$HOME/.claude/gsd-local-patches"
26
+ fi
27
+ # Local install fallback — check all runtime directories
28
+ if [ ! -d "$PATCHES_DIR" ]; then
29
+ for dir in .config/opencode .opencode .gemini .claude; do
30
+ if [ -d "./$dir/gsd-local-patches" ]; then
31
+ PATCHES_DIR="./$dir/gsd-local-patches"
32
+ break
33
+ fi
34
+ done
35
+ fi
36
+ ```
37
+
38
+ Read `backup-meta.json` from the patches directory.
39
+
40
+ **If no patches found:**
41
+ ```
42
+ No local patches found. Nothing to reapply.
43
+
44
+ Local patches are automatically saved when you run /gsd:update
45
+ after modifying any GSD workflow, command, or agent files.
46
+ ```
47
+ Exit.
48
+
49
+ ## Step 2: Show patch summary
50
+
51
+ ```
52
+ ## Local Patches to Reapply
53
+
54
+ **Backed up from:** v{from_version}
55
+ **Current version:** {read VERSION file}
56
+ **Files modified:** {count}
57
+
58
+ | # | File | Status |
59
+ |---|------|--------|
60
+ | 1 | {file_path} | Pending |
61
+ | 2 | {file_path} | Pending |
62
+ ```
63
+
64
+ ## Step 3: Merge each file
65
+
66
+ For each file in `backup-meta.json`:
67
+
68
+ 1. **Read the backed-up version** (user's modified copy from `gsd-local-patches/`)
69
+ 2. **Read the newly installed version** (current file after update)
70
+ 3. **Compare and merge:**
71
+
72
+ - If the new file is identical to the backed-up file: skip (modification was incorporated upstream)
73
+ - If the new file differs: identify the user's modifications and apply them to the new version
74
+
75
+ **Merge strategy:**
76
+ - Read both versions fully
77
+ - Identify sections the user added or modified (look for additions, not just differences from path replacement)
78
+ - Apply user's additions/modifications to the new version
79
+ - If a section the user modified was also changed upstream: flag as conflict, show both versions, ask user which to keep
80
+
81
+ 4. **Write merged result** to the installed location
82
+ 5. **Report status:**
83
+ - `Merged` — user modifications applied cleanly
84
+ - `Skipped` — modification already in upstream
85
+ - `Conflict` — user chose resolution
86
+
87
+ ## Step 4: Update manifest
88
+
89
+ After reapplying, regenerate the file manifest so future updates correctly detect these as user modifications:
90
+
91
+ ```bash
92
+ # The manifest will be regenerated on next /gsd:update
93
+ # For now, just note which files were modified
94
+ ```
95
+
96
+ ## Step 5: Cleanup option
97
+
98
+ Ask user:
99
+ - "Keep patch backups for reference?" → preserve `gsd-local-patches/`
100
+ - "Clean up patch backups?" → remove `gsd-local-patches/` directory
101
+
102
+ ## Step 6: Report
103
+
104
+ ```
105
+ ## Patches Reapplied
106
+
107
+ | # | File | Status |
108
+ |---|------|--------|
109
+ | 1 | {file_path} | ✓ Merged |
110
+ | 2 | {file_path} | ○ Skipped (already upstream) |
111
+ | 3 | {file_path} | ⚠ Conflict resolved |
112
+
113
+ {count} file(s) updated. Your local modifications are active again.
114
+ ```
115
+
116
+ </process>
117
+
118
+ <success_criteria>
119
+ - [ ] All backed-up patches processed
120
+ - [ ] User modifications merged into new version
121
+ - [ ] Conflicts resolved with user input
122
+ - [ ] Status reported for each file
123
+ </success_criteria>
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: gsd:remove-phase
3
+ description: Remove a future phase from roadmap and renumber subsequent phases
4
+ argument-hint: <phase-number>
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ ---
11
+ <objective>
12
+ Remove an unstarted future phase from the roadmap and renumber all subsequent phases to maintain a clean, linear sequence.
13
+
14
+ Purpose: Clean removal of work you've decided not to do, without polluting context with cancelled/deferred markers.
15
+ Output: Phase deleted, all subsequent phases renumbered, git commit as historical record.
16
+ </objective>
17
+
18
+ <execution_context>
19
+ @~/.claude/get-shit-done/workflows/remove-phase.md
20
+ </execution_context>
21
+
22
+ <context>
23
+ Phase: $ARGUMENTS
24
+
25
+ Roadmap and state are resolved in-workflow via `init phase-op` and targeted reads.
26
+ </context>
27
+
28
+ <process>
29
+ Execute the remove-phase workflow from @~/.claude/get-shit-done/workflows/remove-phase.md end-to-end.
30
+ Preserve all validation gates (future phase check, work check), renumbering logic, and commit.
31
+ </process>
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: gsd:remove-workspace
3
+ description: Remove a GSD workspace and clean up worktrees
4
+ argument-hint: "<workspace-name>"
5
+ allowed-tools:
6
+ - Bash
7
+ - Read
8
+ - AskUserQuestion
9
+ ---
10
+ <context>
11
+ **Arguments:**
12
+ - `<workspace-name>` (required) — Name of the workspace to remove
13
+ </context>
14
+
15
+ <objective>
16
+ Remove a workspace directory after confirmation. For worktree strategy, runs `git worktree remove` for each member repo first. Refuses if any repo has uncommitted changes.
17
+ </objective>
18
+
19
+ <execution_context>
20
+ @~/.claude/get-shit-done/workflows/remove-workspace.md
21
+ @~/.claude/get-shit-done/references/ui-brand.md
22
+ </execution_context>
23
+
24
+ <process>
25
+ Execute the remove-workspace workflow from @~/.claude/get-shit-done/workflows/remove-workspace.md end-to-end.
26
+ </process>
@@ -0,0 +1,195 @@
1
+ ---
2
+ name: gsd:research-phase
3
+ description: Research how to implement a phase (standalone - usually use /gsd:plan-phase instead)
4
+ argument-hint: "[phase]"
5
+ allowed-tools:
6
+ - Read
7
+ - Bash
8
+ - Task
9
+ ---
10
+
11
+ <objective>
12
+ Research how to implement a phase. Spawns gsd-phase-researcher agent with phase context.
13
+
14
+ **Note:** This is a standalone research command. For most workflows, use `/gsd:plan-phase` which integrates research automatically.
15
+
16
+ **Use this command when:**
17
+ - You want to research without planning yet
18
+ - You want to re-research after planning is complete
19
+ - You need to investigate before deciding if a phase is feasible
20
+
21
+ **Orchestrator role:** Parse phase, validate against roadmap, check existing research, gather context, spawn researcher agent, present results.
22
+
23
+ **Why subagent:** Research burns context fast (WebSearch, Context7 queries, source verification). Fresh 200k context for investigation. Main context stays lean for user interaction.
24
+ </objective>
25
+
26
+ <available_agent_types>
27
+ Valid GSD subagent types (use exact names — do not fall back to 'general-purpose'):
28
+ - gsd-phase-researcher — Researches technical approaches for a phase
29
+ </available_agent_types>
30
+
31
+ <context>
32
+ Phase number: $ARGUMENTS (required)
33
+
34
+ Normalize phase input in step 1 before any directory lookups.
35
+ </context>
36
+
37
+ <process>
38
+
39
+ ## 0. Initialize Context
40
+
41
+ ```bash
42
+ INIT=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" init phase-op "$ARGUMENTS")
43
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
44
+ ```
45
+
46
+ Extract from init JSON: `phase_dir`, `phase_number`, `phase_name`, `phase_found`, `commit_docs`, `has_research`, `state_path`, `requirements_path`, `context_path`, `research_path`.
47
+
48
+ Resolve researcher model:
49
+ ```bash
50
+ RESEARCHER_MODEL=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-phase-researcher --raw)
51
+ ```
52
+
53
+ ## 1. Validate Phase
54
+
55
+ ```bash
56
+ PHASE_INFO=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" roadmap get-phase "${phase_number}")
57
+ ```
58
+
59
+ **If `found` is false:** Error and exit. **If `found` is true:** Extract `phase_number`, `phase_name`, `goal` from JSON.
60
+
61
+ ## 2. Check Existing Research
62
+
63
+ ```bash
64
+ ls .planning/phases/${PHASE}-*/RESEARCH.md 2>/dev/null
65
+ ```
66
+
67
+ **If exists:** Offer: 1) Update research, 2) View existing, 3) Skip. Wait for response.
68
+
69
+ **If doesn't exist:** Continue.
70
+
71
+ ## 3. Gather Phase Context
72
+
73
+ Use paths from INIT (do not inline file contents in orchestrator context):
74
+ - `requirements_path`
75
+ - `context_path`
76
+ - `state_path`
77
+
78
+ Present summary with phase description and what files the researcher will load.
79
+
80
+ ## 4. Spawn gsd-phase-researcher Agent
81
+
82
+ Research modes: ecosystem (default), feasibility, implementation, comparison.
83
+
84
+ ```markdown
85
+ <research_type>
86
+ Phase Research — investigating HOW to implement a specific phase well.
87
+ </research_type>
88
+
89
+ <key_insight>
90
+ The question is NOT "which library should I use?"
91
+
92
+ The question is: "What do I not know that I don't know?"
93
+
94
+ For this phase, discover:
95
+ - What's the established architecture pattern?
96
+ - What libraries form the standard stack?
97
+ - What problems do people commonly hit?
98
+ - What's SOTA vs what Claude's training thinks is SOTA?
99
+ - What should NOT be hand-rolled?
100
+ </key_insight>
101
+
102
+ <objective>
103
+ Research implementation approach for Phase {phase_number}: {phase_name}
104
+ Mode: ecosystem
105
+ </objective>
106
+
107
+ <files_to_read>
108
+ - {requirements_path} (Requirements)
109
+ - {context_path} (Phase context from discuss-phase, if exists)
110
+ - {state_path} (Prior project decisions and blockers)
111
+ </files_to_read>
112
+
113
+ <additional_context>
114
+ **Phase description:** {phase_description}
115
+ </additional_context>
116
+
117
+ <downstream_consumer>
118
+ Your RESEARCH.md will be loaded by `/gsd:plan-phase` which uses specific sections:
119
+ - `## Standard Stack` → Plans use these libraries
120
+ - `## Architecture Patterns` → Task structure follows these
121
+ - `## Don't Hand-Roll` → Tasks NEVER build custom solutions for listed problems
122
+ - `## Common Pitfalls` → Verification steps check for these
123
+ - `## Code Examples` → Task actions reference these patterns
124
+
125
+ Be prescriptive, not exploratory. "Use X" not "Consider X or Y."
126
+ </downstream_consumer>
127
+
128
+ <quality_gate>
129
+ Before declaring complete, verify:
130
+ - [ ] All domains investigated (not just some)
131
+ - [ ] Negative claims verified with official docs
132
+ - [ ] Multiple sources for critical claims
133
+ - [ ] Confidence levels assigned honestly
134
+ - [ ] Section names match what plan-phase expects
135
+ </quality_gate>
136
+
137
+ <output>
138
+ Write to: .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md
139
+ </output>
140
+ ```
141
+
142
+ ```
143
+ Task(
144
+ prompt=filled_prompt,
145
+ subagent_type="gsd-phase-researcher",
146
+ model="{researcher_model}",
147
+ description="Research Phase {phase}"
148
+ )
149
+ ```
150
+
151
+ ## 5. Handle Agent Return
152
+
153
+ **`## RESEARCH COMPLETE`:** Display summary, offer: Plan phase, Dig deeper, Review full, Done.
154
+
155
+ **`## CHECKPOINT REACHED`:** Present to user, get response, spawn continuation.
156
+
157
+ **`## RESEARCH INCONCLUSIVE`:** Show what was attempted, offer: Add context, Try different mode, Manual.
158
+
159
+ ## 6. Spawn Continuation Agent
160
+
161
+ ```markdown
162
+ <objective>
163
+ Continue research for Phase {phase_number}: {phase_name}
164
+ </objective>
165
+
166
+ <prior_state>
167
+ <files_to_read>
168
+ - .planning/phases/${PHASE}-{slug}/${PHASE}-RESEARCH.md (Existing research)
169
+ </files_to_read>
170
+ </prior_state>
171
+
172
+ <checkpoint_response>
173
+ **Type:** {checkpoint_type}
174
+ **Response:** {user_response}
175
+ </checkpoint_response>
176
+ ```
177
+
178
+ ```
179
+ Task(
180
+ prompt=continuation_prompt,
181
+ subagent_type="gsd-phase-researcher",
182
+ model="{researcher_model}",
183
+ description="Continue research Phase {phase}"
184
+ )
185
+ ```
186
+
187
+ </process>
188
+
189
+ <success_criteria>
190
+ - [ ] Phase validated against roadmap
191
+ - [ ] Existing research checked
192
+ - [ ] gsd-phase-researcher spawned with context
193
+ - [ ] Checkpoints handled correctly
194
+ - [ ] User knows next steps
195
+ </success_criteria>