forge-workflow 0.0.4 → 0.0.6

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 (248) hide show
  1. package/.claude/commands/dev.md +345 -340
  2. package/.claude/commands/plan.md +566 -521
  3. package/.claude/commands/premerge.md +186 -176
  4. package/.claude/commands/research.md +42 -42
  5. package/.claude/commands/review.md +448 -442
  6. package/.claude/commands/rollback.md +721 -721
  7. package/.claude/commands/ship.md +212 -164
  8. package/.claude/commands/sonarcloud.md +152 -152
  9. package/.claude/commands/status.md +90 -48
  10. package/.claude/commands/validate.md +288 -282
  11. package/.claude/commands/verify.md +269 -221
  12. package/.claude/rules/greptile-review-process.md +285 -285
  13. package/.claude/rules/workflow.md +121 -105
  14. package/.claude/scripts/greptile-resolve.sh +558 -526
  15. package/.claude/scripts/load-env.sh +32 -32
  16. package/.cline/workflows/dev.md +342 -337
  17. package/.cline/workflows/plan.md +563 -518
  18. package/.cline/workflows/premerge.md +183 -173
  19. package/.cline/workflows/research.md +39 -39
  20. package/.cline/workflows/review.md +445 -439
  21. package/.cline/workflows/rollback.md +718 -718
  22. package/.cline/workflows/ship.md +209 -161
  23. package/.cline/workflows/sonarcloud.md +146 -146
  24. package/.cline/workflows/status.md +87 -45
  25. package/.cline/workflows/validate.md +285 -279
  26. package/.cline/workflows/verify.md +266 -218
  27. package/.codex/config.toml +11 -11
  28. package/.codex/skills/dev/SKILL.md +345 -340
  29. package/.codex/skills/plan/SKILL.md +566 -521
  30. package/.codex/skills/premerge/SKILL.md +186 -176
  31. package/.codex/skills/research/SKILL.md +42 -42
  32. package/.codex/skills/review/SKILL.md +448 -442
  33. package/.codex/skills/rollback/SKILL.md +721 -721
  34. package/.codex/skills/ship/SKILL.md +212 -164
  35. package/.codex/skills/sonarcloud/SKILL.md +149 -149
  36. package/.codex/skills/status/SKILL.md +90 -48
  37. package/.codex/skills/validate/SKILL.md +288 -282
  38. package/.codex/skills/verify/SKILL.md +269 -221
  39. package/.cursor/commands/dev.md +342 -337
  40. package/.cursor/commands/plan.md +563 -518
  41. package/.cursor/commands/premerge.md +183 -173
  42. package/.cursor/commands/research.md +39 -39
  43. package/.cursor/commands/review.md +445 -439
  44. package/.cursor/commands/rollback.md +718 -718
  45. package/.cursor/commands/ship.md +209 -161
  46. package/.cursor/commands/sonarcloud.md +146 -146
  47. package/.cursor/commands/status.md +87 -45
  48. package/.cursor/commands/validate.md +285 -279
  49. package/.cursor/commands/verify.md +266 -218
  50. package/.cursor/rules/permissions-guidance.mdc +37 -37
  51. package/.forge/hooks/check-tdd.js +240 -240
  52. package/.github/PLUGIN_TEMPLATE.json +32 -32
  53. package/.github/prompts/dev.prompt.md +347 -342
  54. package/.github/prompts/plan.prompt.md +568 -523
  55. package/.github/prompts/premerge.prompt.md +188 -178
  56. package/.github/prompts/research.prompt.md +44 -44
  57. package/.github/prompts/review.prompt.md +450 -444
  58. package/.github/prompts/rollback.prompt.md +723 -723
  59. package/.github/prompts/ship.prompt.md +214 -166
  60. package/.github/prompts/sonarcloud.prompt.md +151 -151
  61. package/.github/prompts/status.prompt.md +92 -50
  62. package/.github/prompts/validate.prompt.md +290 -284
  63. package/.github/prompts/verify.prompt.md +271 -223
  64. package/.github/workflows/beads-to-github.yml +56 -0
  65. package/.github/workflows/github-to-beads.yml +97 -0
  66. package/.kilocode/workflows/dev.md +346 -341
  67. package/.kilocode/workflows/plan.md +567 -522
  68. package/.kilocode/workflows/premerge.md +187 -177
  69. package/.kilocode/workflows/research.md +43 -43
  70. package/.kilocode/workflows/review.md +449 -443
  71. package/.kilocode/workflows/rollback.md +722 -722
  72. package/.kilocode/workflows/ship.md +213 -165
  73. package/.kilocode/workflows/sonarcloud.md +150 -150
  74. package/.kilocode/workflows/status.md +91 -49
  75. package/.kilocode/workflows/validate.md +289 -283
  76. package/.kilocode/workflows/verify.md +270 -222
  77. package/.mcp.json.example +12 -12
  78. package/.opencode/commands/dev.md +345 -340
  79. package/.opencode/commands/plan.md +566 -521
  80. package/.opencode/commands/premerge.md +186 -176
  81. package/.opencode/commands/research.md +42 -42
  82. package/.opencode/commands/review.md +448 -442
  83. package/.opencode/commands/rollback.md +721 -721
  84. package/.opencode/commands/ship.md +212 -164
  85. package/.opencode/commands/sonarcloud.md +149 -149
  86. package/.opencode/commands/status.md +90 -48
  87. package/.opencode/commands/validate.md +288 -282
  88. package/.opencode/commands/verify.md +269 -221
  89. package/.roo/commands/dev.md +346 -341
  90. package/.roo/commands/plan.md +567 -522
  91. package/.roo/commands/premerge.md +187 -177
  92. package/.roo/commands/research.md +43 -43
  93. package/.roo/commands/review.md +449 -443
  94. package/.roo/commands/rollback.md +722 -722
  95. package/.roo/commands/ship.md +213 -165
  96. package/.roo/commands/sonarcloud.md +150 -150
  97. package/.roo/commands/status.md +91 -49
  98. package/.roo/commands/validate.md +289 -283
  99. package/.roo/commands/verify.md +270 -222
  100. package/AGENTS.md +272 -175
  101. package/CLAUDE.md +110 -100
  102. package/README.md +429 -416
  103. package/bin/forge-cmd.js +317 -313
  104. package/bin/forge-preflight.js +322 -309
  105. package/bin/forge.js +4765 -4303
  106. package/docs/AGENT_INSTALL_PROMPT.md +342 -342
  107. package/docs/BEADS_GITHUB_SYNC.md +251 -251
  108. package/docs/ENHANCED_ONBOARDING.md +612 -602
  109. package/docs/EXAMPLES.md +482 -482
  110. package/docs/GREPTILE_SETUP.md +400 -400
  111. package/docs/MANUAL_REVIEW_GUIDE.md +106 -106
  112. package/docs/ROADMAP.md +359 -359
  113. package/docs/SETUP.md +663 -631
  114. package/docs/TOOLCHAIN.md +653 -630
  115. package/docs/VALIDATION.md +363 -363
  116. package/install.sh +40 -1056
  117. package/lefthook.yml +50 -39
  118. package/lib/agents/README.md +198 -198
  119. package/lib/agents/claude.plugin.json +28 -28
  120. package/lib/agents/cline.plugin.json +22 -22
  121. package/lib/agents/codex.plugin.json +19 -19
  122. package/lib/agents/copilot.plugin.json +24 -24
  123. package/lib/agents/cursor.plugin.json +25 -25
  124. package/lib/agents/kilocode.plugin.json +22 -22
  125. package/lib/agents/opencode.plugin.json +20 -20
  126. package/lib/agents/roo.plugin.json +23 -23
  127. package/lib/agents-config.js +2112 -2112
  128. package/lib/beads-health-check.js +143 -0
  129. package/lib/beads-setup.js +341 -0
  130. package/lib/beads-sync-scaffold.js +260 -0
  131. package/lib/commands/_registry.js +134 -0
  132. package/lib/commands/clean.js +181 -0
  133. package/lib/commands/dev.js +571 -513
  134. package/lib/commands/plan.js +692 -692
  135. package/lib/commands/push.js +196 -0
  136. package/lib/commands/recommend.js +119 -119
  137. package/lib/commands/ship.js +377 -377
  138. package/lib/commands/status.js +378 -378
  139. package/lib/commands/sync.js +55 -0
  140. package/lib/commands/team.js +37 -0
  141. package/lib/commands/test.js +207 -0
  142. package/lib/commands/validate.js +602 -602
  143. package/lib/commands/worktree.js +310 -0
  144. package/lib/context-merge.js +359 -359
  145. package/lib/dep-guard/analyzer.js +294 -294
  146. package/lib/dep-guard/behavior-detector.js +98 -98
  147. package/lib/dep-guard/contract-detector.js +162 -162
  148. package/lib/dep-guard/import-detector.js +498 -498
  149. package/lib/dep-guard/path-utils.js +13 -13
  150. package/lib/dep-guard/rubric.js +120 -120
  151. package/lib/dep-guard/task-parser.js +318 -318
  152. package/lib/detect-agent.js +191 -191
  153. package/lib/detect-worktree.js +47 -47
  154. package/lib/docs-command.js +51 -0
  155. package/lib/docs-copy.js +50 -0
  156. package/lib/file-hash.js +26 -26
  157. package/lib/freshness-token.js +148 -0
  158. package/lib/greptile-match.js +80 -0
  159. package/lib/husky-migration.js +450 -0
  160. package/lib/lefthook-check.js +65 -0
  161. package/lib/pat-setup.js +207 -0
  162. package/lib/plugin-catalog.js +350 -350
  163. package/lib/plugin-manager.js +166 -166
  164. package/lib/plugin-recommender.js +141 -141
  165. package/lib/project-discovery.js +491 -491
  166. package/lib/reset.js +309 -0
  167. package/lib/setup-action-log.js +139 -139
  168. package/lib/setup-summary-renderer.js +106 -106
  169. package/lib/setup-utils.js +96 -0
  170. package/lib/setup.js +192 -192
  171. package/lib/smart-merge.js +64 -0
  172. package/lib/symlink-utils.js +81 -0
  173. package/lib/task-ownership.js +117 -0
  174. package/lib/workflow-profiles.js +197 -197
  175. package/package.json +131 -128
  176. package/scripts/beads-context.sh +426 -0
  177. package/scripts/beads-context.test.js +567 -0
  178. package/scripts/behavioral-judge.sh +378 -0
  179. package/scripts/benchmark.js +85 -0
  180. package/scripts/branch-protection.js +183 -0
  181. package/scripts/check-agents.js +172 -0
  182. package/scripts/check-forge-token.js +98 -0
  183. package/scripts/commitlint.js +42 -0
  184. package/scripts/conflict-detect.sh +323 -0
  185. package/scripts/dep-guard-analyze.js +71 -0
  186. package/scripts/dep-guard.sh +789 -0
  187. package/scripts/eval_win.py +249 -0
  188. package/scripts/file-index.sh +493 -0
  189. package/scripts/forge-team/index.sh +86 -0
  190. package/scripts/forge-team/lib/agent-prompt.sh +52 -0
  191. package/scripts/forge-team/lib/claim.sh +256 -0
  192. package/scripts/forge-team/lib/dashboard.sh +341 -0
  193. package/scripts/forge-team/lib/epic.sh +332 -0
  194. package/scripts/forge-team/lib/hooks.sh +253 -0
  195. package/scripts/forge-team/lib/identity.sh +235 -0
  196. package/scripts/forge-team/lib/sync-github.sh +317 -0
  197. package/scripts/forge-team/lib/verify.sh +284 -0
  198. package/scripts/forge-team/lib/workload.sh +296 -0
  199. package/scripts/forge-team/tests/agent-prompt.test.sh +72 -0
  200. package/scripts/forge-team/tests/claim.test.sh +179 -0
  201. package/scripts/forge-team/tests/dashboard.test.sh +170 -0
  202. package/scripts/forge-team/tests/dispatcher.test.sh +79 -0
  203. package/scripts/forge-team/tests/epic.test.sh +176 -0
  204. package/scripts/forge-team/tests/hooks.test.sh +239 -0
  205. package/scripts/forge-team/tests/identity.test.sh +176 -0
  206. package/scripts/forge-team/tests/integration.test.sh +371 -0
  207. package/scripts/forge-team/tests/sync-github.test.sh +209 -0
  208. package/scripts/forge-team/tests/verify.test.sh +314 -0
  209. package/scripts/forge-team/tests/workflow-integration.test.sh +43 -0
  210. package/scripts/forge-team/tests/workload.test.sh +209 -0
  211. package/scripts/github-beads-sync/comment.mjs +64 -0
  212. package/scripts/github-beads-sync/config.mjs +148 -0
  213. package/scripts/github-beads-sync/github-api.mjs +131 -0
  214. package/scripts/github-beads-sync/index.mjs +332 -0
  215. package/scripts/github-beads-sync/label-mapper.mjs +54 -0
  216. package/scripts/github-beads-sync/mapping.mjs +78 -0
  217. package/scripts/github-beads-sync/reverse-sync-cli.mjs +31 -0
  218. package/scripts/github-beads-sync/reverse-sync.mjs +138 -0
  219. package/scripts/github-beads-sync/run-bd.mjs +159 -0
  220. package/scripts/github-beads-sync/sanitize.mjs +121 -0
  221. package/scripts/github-beads-sync.config.json +26 -0
  222. package/scripts/improve-command.js +375 -0
  223. package/scripts/lib/eval-runner.js +268 -0
  224. package/scripts/lib/eval-schema.js +135 -0
  225. package/scripts/lib/eval-storage.js +78 -0
  226. package/scripts/lib/grading.js +203 -0
  227. package/scripts/lib/jsonl-lock.sh +48 -0
  228. package/scripts/lib/sanitize.sh +116 -0
  229. package/scripts/lib/transcript-parser.js +63 -0
  230. package/scripts/lint.js +47 -0
  231. package/scripts/migrate-to-bun-test.js +412 -0
  232. package/scripts/pr-coordinator.sh +706 -0
  233. package/scripts/run-command-eval.js +236 -0
  234. package/scripts/smart-status.sh +809 -0
  235. package/scripts/sync-commands.js +571 -0
  236. package/scripts/sync-utils.sh +455 -0
  237. package/scripts/test-dashboard.js +123 -0
  238. package/scripts/test.js +46 -0
  239. package/scripts/validate.sh +94 -0
  240. package/skills/parallel-deep-research/SKILL.md +108 -108
  241. package/skills/parallel-deep-research/evals/README.md +27 -27
  242. package/skills/parallel-deep-research/evals/evals.json +62 -62
  243. package/skills/sonarcloud-analysis/SKILL.md +171 -171
  244. package/skills/sonarcloud-analysis/evals/README.md +27 -27
  245. package/skills/sonarcloud-analysis/evals/evals.json +50 -50
  246. package/skills/sonarcloud-analysis/references/api-reference.md +466 -466
  247. package/.cursor/hooks/state/continual-learning-index.json +0 -19
  248. package/.cursor/hooks/state/continual-learning.json +0 -8
package/AGENTS.md CHANGED
@@ -1,175 +1,272 @@
1
- # Project Workflow Instructions
2
-
3
- ## 7-Stage TDD-First Workflow
4
-
5
- This project enforces a **strict TDD-first development workflow** with 7 stages:
6
-
7
- | Stage | Command | Purpose | Required For |
8
- |-------|-------------|-----------------------------------------------------------|--------------|
9
- | 1 | `/plan` | Design intent → research → branch + worktree + task list | Critical, Standard, Refactor |
10
- | 2 | `/dev` | Subagent-driven TDD per task (spec + quality review) | All types |
11
- | 3 | `/validate` | Validate + 4-phase debug mode on failure | All types |
12
- | 4 | `/ship` | Create PR with documentation | All types |
13
- | 5 | `/review` | Address ALL PR feedback | Critical, Standard |
14
- | 6 | `/premerge` | Complete docs on feature branch, hand off PR | All types |
15
- | 7 | `/verify` | Post-merge health check (CI, deployments) | All types |
16
-
17
- **Utility**: `/status` — Context check before starting work (not a numbered stage)
18
-
19
- ## Automatic Change Classification
20
-
21
- When the user requests work, **you MUST automatically classify** the change type:
22
-
23
- ### Critical (Full 7-stage workflow)
24
- **Triggers:** Security, authentication, payments, breaking changes, new architecture, data migrations
25
- **Example:** "Add OAuth login", "Migrate database schema", "Implement payment gateway"
26
- **Workflow:** plan → dev → validate → ship → review → premerge → verify
27
-
28
- ### Standard (6-stage workflow)
29
- **Triggers:** Normal features, enhancements, new components
30
- **Example:** "Add user profile page", "Create notification system"
31
- **Workflow:** plan → dev → validate → ship → review → premerge
32
-
33
- ### Simple (3-stage workflow, skip plan)
34
- **Triggers:** Bug fixes, UI tweaks, small changes, minor refactors
35
- **Example:** "Fix button color", "Update validation message", "Adjust padding"
36
- **Workflow:** dev → validate → ship
37
-
38
- ### Hotfix (Emergency 3-stage workflow)
39
- **Triggers:** Production emergencies, critical bugs affecting users
40
- **Example:** "Production payment processing down", "Security vulnerability fix"
41
- **Workflow:** dev → validate → ship (immediate merge allowed)
42
-
43
- ### Docs (Documentation-only workflow)
44
- **Triggers:** Documentation updates, README changes, comment improvements
45
- **Example:** "Update README", "Add API documentation"
46
- **Workflow:** verify → ship
47
-
48
- ### Refactor (5-stage workflow for safe cleanup)
49
- **Triggers:** Code cleanup, performance optimization, technical debt reduction
50
- **Example:** "Refactor auth service", "Extract utility functions"
51
- **Workflow:** plan → dev → validate → ship → premerge
52
-
53
- ## Enforcement Philosophy
54
-
55
- **Conversational, not blocking** - Offer solutions when prerequisites are missing:
56
-
57
- ❌ **Don't:** "ERROR: Research required for critical features"
58
- ✅ **Do:** "Before implementation, I should research OAuth best practices. I can:
59
- 1. Auto-research now with parallel-deep-research (~5 min)
60
- 2. Use your research if you have it
61
- 3. Skip (not recommended for security features)
62
-
63
- What would you prefer?"
64
-
65
- **Create accountability for skips:**
66
-
67
- "Skipping tests creates technical debt. I'll:
68
- ✓ Allow this commit
69
- ✓ Create follow-up Beads issue for tests
70
- ✓ Document in commit message as [tech-debt]
71
-
72
- Proceed?"
73
-
74
- **Dynamic commands — no hardcoded examples:**
75
-
76
- Command files (`.claude/commands/*.md` and agent equivalents) must never hardcode example output when a script generates that output dynamically. Reference the script and describe what it does — don't duplicate its output with fake data that becomes stale.
77
-
78
- ## TDD Development (Stage 2: /dev)
79
-
80
- **Subagent-driven per-task implementation loop:**
81
-
82
- 1. **Read task list** → Pre-made task list from `/plan` Phase 3 at `docs/plans/YYYY-MM-DD-<slug>-tasks.md`
83
- 2. **Dispatch implementer subagent per task** → Fresh context, complete task text, relevant design doc sections
84
- 3. **TDD inside implementer** → RED-GREEN-REFACTOR enforced by HARD-GATE:
85
- - RED: Write failing test first (must run test and show failing output)
86
- - GREEN: Implement minimal code to pass (must show passing output)
87
- - REFACTOR: Clean up while keeping tests green
88
- 4. **Spec compliance review** → Spec reviewer checks every task before quality review
89
- 5. **Code quality review** → Quality reviewer checks after spec compliance ✅
90
- 6. **Decision gate** → 7-dimension impact scoring when spec gap found; score routes to PROCEED/SPEC-REVIEWER/BLOCKED
91
-
92
- **Example execution:**
93
- ```
94
- /dev starts:
95
- ✓ Read task list: docs/plans/2026-02-26-stripe-billing-tasks.md (8 tasks)
96
- ✓ Created decisions log: docs/plans/2026-02-26-stripe-billing-decisions.md
97
-
98
- Task 1: Types and interfaces
99
- ✓ Implementer: test written → failing → implementation → passing → committed
100
- ✓ Spec review: ✅
101
- ✓ Quality review: ✅
102
- Decision gates: 0
103
-
104
- Task 2: Validation logic
105
- ✓ Implementer: test written → failing → implementation → passing
106
- ⚠️ Decision gate fired (score: 2/14 — PROCEED)
107
- Gap: Error message format not specified in design doc
108
- Choice: Use { code, message } object (conservative, documented)
109
- ✓ Spec review: ✅
110
- ✓ Quality review: ✅
111
- ```
112
-
113
- ## State Management (Single Source of Truth)
114
-
115
- > GitHub issue lifecycle may sync to Beads via CI -- see [docs/BEADS_GITHUB_SYNC.md](docs/BEADS_GITHUB_SYNC.md).
116
-
117
- **All workflow state stored in Beads metadata** (survives compaction):
118
-
119
- ```json
120
- {
121
- "id": "bd-x7y2",
122
- "type": "critical",
123
- "currentStage": "dev",
124
- "completedStages": ["plan"],
125
- "skippedStages": [],
126
- "workflowDecisions": {
127
- "classification": "critical",
128
- "reason": "Payment processing, PCI compliance required",
129
- "userOverride": false
130
- },
131
- "parallelTracks": [
132
- {
133
- "name": "API endpoints",
134
- "agent": "backend-architect",
135
- "status": "in_progress",
136
- "tddPhase": "GREEN"
137
- }
138
- ]
139
- }
140
- ```
141
-
142
- ## Git Hooks (Automatic Enforcement)
143
-
144
- **Pre-commit hook enforces TDD:**
145
- - Blocks commits if source code modified without test files
146
- - Offers guided recovery (add tests now, skip with tech debt tracking, emergency override)
147
- - No AI decision required - automatic validation
148
-
149
- **Pre-push hook validates tests:**
150
- - All tests must pass before push
151
- - Can skip for hotfixes with documentation
152
-
153
- ## Documentation Index (Context Pointers)
154
-
155
- **Detailed command instructions** are located in:
156
- - [.claude/commands/status.md](.claude/commands/status.md) - How to check current context (utility)
157
- - [.claude/commands/plan.md](.claude/commands/plan.md) - How to plan features (3 phases: design intent + research + branch/worktree/tasks)
158
- - [.claude/commands/dev.md](.claude/commands/dev.md) - How to implement with subagent-driven TDD and decision gate
159
- - [.claude/commands/validate.md](.claude/commands/validate.md) - How to run validation (with HARD-GATE exit)
160
- - [.claude/commands/ship.md](.claude/commands/ship.md) - How to create PRs
161
- - [.claude/commands/review.md](.claude/commands/review.md) - How to address PR feedback (with HARD-GATE exit)
162
- - [.claude/commands/premerge.md](.claude/commands/premerge.md) - How to complete docs and hand off PR for merge
163
- - [.claude/commands/verify.md](.claude/commands/verify.md) - How to verify post-merge health
164
-
165
- **Planning documents** (created by `/plan`, consumed by `/dev`):
166
- - `docs/plans/YYYY-MM-DD-<slug>-design.md` - Design intent + technical research
167
- - `docs/plans/YYYY-MM-DD-<slug>-tasks.md` - Task list with TDD steps
168
- - `docs/plans/YYYY-MM-DD-<slug>-decisions.md` - Decisions log from /dev
169
-
170
- **Comprehensive workflow guide:**
171
- - This file (AGENTS.md) is the single source of truth for the complete workflow
172
- - [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) - Tool setup and configuration
173
- - [docs/VALIDATION.md](docs/VALIDATION.md) - Enforcement and validation details
174
-
175
- **Load these files when you need detailed instructions for a specific stage.**
1
+ # Project Workflow Instructions
2
+
3
+ ## 7-Stage TDD-First Workflow
4
+
5
+ This project enforces a **strict TDD-first development workflow** with 7 stages:
6
+
7
+ | Stage | Command | Purpose | Required For |
8
+ |-------|-------------|-----------------------------------------------------------|--------------|
9
+ | 1 | `/plan` | Design intent → research → branch + worktree + task list | Critical, Standard, Refactor |
10
+ | 2 | `/dev` | Subagent-driven TDD per task (spec + quality review) | All types |
11
+ | 3 | `/validate` | Validate + 4-phase debug mode on failure | All types |
12
+ | 4 | `/ship` | Create PR with documentation | All types |
13
+ | 5 | `/review` | Address ALL PR feedback | Critical, Standard |
14
+ | 6 | `/premerge` | Complete docs on feature branch, hand off PR | All types |
15
+ | 7 | `/verify` | Post-merge health check (CI, deployments) | All types |
16
+
17
+ **Utility**: `/status` — Context check before starting work (not a numbered stage)
18
+
19
+ ## Automatic Change Classification
20
+
21
+ When the user requests work, **you MUST automatically classify** the change type:
22
+
23
+ ### Critical (Full 7-stage workflow)
24
+ **Triggers:** Security, authentication, payments, breaking changes, new architecture, data migrations
25
+ **Example:** "Add OAuth login", "Migrate database schema", "Implement payment gateway"
26
+ **Workflow:** plan → dev → validate → ship → review → premerge → verify
27
+
28
+ ### Standard (6-stage workflow)
29
+ **Triggers:** Normal features, enhancements, new components
30
+ **Example:** "Add user profile page", "Create notification system"
31
+ **Workflow:** plan → dev → validate → ship → review → premerge
32
+
33
+ ### Simple (3-stage workflow, skip plan)
34
+ **Triggers:** Bug fixes, UI tweaks, small changes, minor refactors
35
+ **Example:** "Fix button color", "Update validation message", "Adjust padding"
36
+ **Workflow:** dev → validate → ship
37
+
38
+ ### Hotfix (Emergency 3-stage workflow)
39
+ **Triggers:** Production emergencies, critical bugs affecting users
40
+ **Example:** "Production payment processing down", "Security vulnerability fix"
41
+ **Workflow:** dev → validate → ship (immediate merge allowed)
42
+
43
+ ### Docs (Documentation-only workflow)
44
+ **Triggers:** Documentation updates, README changes, comment improvements
45
+ **Example:** "Update README", "Add API documentation"
46
+ **Workflow:** verify → ship
47
+
48
+ ### Refactor (5-stage workflow for safe cleanup)
49
+ **Triggers:** Code cleanup, performance optimization, technical debt reduction
50
+ **Example:** "Refactor auth service", "Extract utility functions"
51
+ **Workflow:** plan → dev → validate → ship → premerge
52
+
53
+ ## Enforcement Philosophy
54
+
55
+ **Conversational, not blocking** - Offer solutions when prerequisites are missing:
56
+
57
+ ❌ **Don't:** "ERROR: Research required for critical features"
58
+ ✅ **Do:** "Before implementation, I should research OAuth best practices. I can:
59
+ 1. Auto-research now with parallel-deep-research (~5 min)
60
+ 2. Use your research if you have it
61
+ 3. Skip (not recommended for security features)
62
+
63
+ What would you prefer?"
64
+
65
+ **Create accountability for skips:**
66
+
67
+ "Skipping tests creates technical debt. I'll:
68
+ ✓ Allow this commit
69
+ ✓ Create follow-up Beads issue for tests
70
+ ✓ Document in commit message as [tech-debt]
71
+
72
+ Proceed?"
73
+
74
+ **Dynamic commands — no hardcoded examples:**
75
+
76
+ Command files (`.claude/commands/*.md` and agent equivalents) must never hardcode example output when a script generates that output dynamically. Reference the script and describe what it does — don't duplicate its output with fake data that becomes stale.
77
+
78
+ ## TDD Development (Stage 2: /dev)
79
+
80
+ **Subagent-driven per-task implementation loop:**
81
+
82
+ 1. **Read task list** → Pre-made task list from `/plan` Phase 3 at `docs/plans/YYYY-MM-DD-<slug>-tasks.md`
83
+ 2. **Dispatch implementer subagent per task** → Fresh context, complete task text, relevant design doc sections
84
+ 3. **TDD inside implementer** → RED-GREEN-REFACTOR enforced by HARD-GATE:
85
+ - RED: Write failing test first (must run test and show failing output)
86
+ - GREEN: Implement minimal code to pass (must show passing output)
87
+ - REFACTOR: Clean up while keeping tests green
88
+ 4. **Spec compliance review** → Spec reviewer checks every task before quality review
89
+ 5. **Code quality review** → Quality reviewer checks after spec compliance ✅
90
+ 6. **Decision gate** → 7-dimension impact scoring when spec gap found; score routes to PROCEED/SPEC-REVIEWER/BLOCKED
91
+
92
+ **Example execution:**
93
+ ```
94
+ /dev starts:
95
+ ✓ Read task list: docs/plans/2026-02-26-stripe-billing-tasks.md (8 tasks)
96
+ ✓ Created decisions log: docs/plans/2026-02-26-stripe-billing-decisions.md
97
+
98
+ Task 1: Types and interfaces
99
+ ✓ Implementer: test written → failing → implementation → passing → committed
100
+ ✓ Spec review: ✅
101
+ ✓ Quality review: ✅
102
+ Decision gates: 0
103
+
104
+ Task 2: Validation logic
105
+ ✓ Implementer: test written → failing → implementation → passing
106
+ ⚠️ Decision gate fired (score: 2/14 — PROCEED)
107
+ Gap: Error message format not specified in design doc
108
+ Choice: Use { code, message } object (conservative, documented)
109
+ ✓ Spec review: ✅
110
+ ✓ Quality review: ✅
111
+ ```
112
+
113
+ ## State Management (Single Source of Truth)
114
+
115
+ > GitHub issue lifecycle may sync to Beads via CI -- see [docs/BEADS_GITHUB_SYNC.md](docs/BEADS_GITHUB_SYNC.md).
116
+
117
+ **All workflow state stored in Beads metadata** (survives compaction):
118
+
119
+ ```json
120
+ {
121
+ "id": "bd-x7y2",
122
+ "type": "critical",
123
+ "currentStage": "dev",
124
+ "completedStages": ["plan"],
125
+ "skippedStages": [],
126
+ "workflowDecisions": {
127
+ "classification": "critical",
128
+ "reason": "Payment processing, PCI compliance required",
129
+ "userOverride": false
130
+ },
131
+ "parallelTracks": [
132
+ {
133
+ "name": "API endpoints",
134
+ "agent": "backend-architect",
135
+ "status": "in_progress",
136
+ "tddPhase": "GREEN"
137
+ }
138
+ ]
139
+ }
140
+ ```
141
+
142
+ ## Git Hooks (Automatic Enforcement)
143
+
144
+ **Pre-commit hook enforces TDD:**
145
+ - Blocks commits if source code modified without test files
146
+ - Offers guided recovery (add tests now, skip with tech debt tracking, emergency override)
147
+ - No AI decision required - automatic validation
148
+
149
+ **Pre-push hook validates tests:**
150
+ - All tests must pass before push
151
+ - Can skip for hotfixes with documentation
152
+
153
+ ## Documentation Index (Context Pointers)
154
+
155
+ **Detailed command instructions** are located in:
156
+ - [.claude/commands/status.md](.claude/commands/status.md) - How to check current context (utility)
157
+ - [.claude/commands/plan.md](.claude/commands/plan.md) - How to plan features (3 phases: design intent + research + branch/worktree/tasks)
158
+ - [.claude/commands/dev.md](.claude/commands/dev.md) - How to implement with subagent-driven TDD and decision gate
159
+ - [.claude/commands/validate.md](.claude/commands/validate.md) - How to run validation (with HARD-GATE exit)
160
+ - [.claude/commands/ship.md](.claude/commands/ship.md) - How to create PRs
161
+ - [.claude/commands/review.md](.claude/commands/review.md) - How to address PR feedback (with HARD-GATE exit)
162
+ - [.claude/commands/premerge.md](.claude/commands/premerge.md) - How to complete docs and hand off PR for merge
163
+ - [.claude/commands/verify.md](.claude/commands/verify.md) - How to verify post-merge health
164
+
165
+ **Planning documents** (created by `/plan`, consumed by `/dev`):
166
+ - `docs/plans/YYYY-MM-DD-<slug>-design.md` - Design intent + technical research
167
+ - `docs/plans/YYYY-MM-DD-<slug>-tasks.md` - Task list with TDD steps
168
+ - `docs/plans/YYYY-MM-DD-<slug>-decisions.md` - Decisions log from /dev
169
+
170
+ **Comprehensive workflow guide:**
171
+ - This file (AGENTS.md) is the single source of truth for the complete workflow
172
+ - [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) - Tool setup and configuration
173
+ - [docs/VALIDATION.md](docs/VALIDATION.md) - Enforcement and validation details
174
+
175
+ **Load these files when you need detailed instructions for a specific stage.**
176
+
177
+ ## Descriptive Context Convention
178
+
179
+ Every stage transition should carry structured context so the next stage (or a new session) can resume without re-reading the full design doc. This convention is **advisory** — warnings are informational, not blocking.
180
+
181
+ ### Required Fields at Each Stage Exit
182
+
183
+ | Stage Exit | Summary | Decisions | Artifacts | Next |
184
+ |------------|---------|-----------|-----------|------|
185
+ | /plan | Design approach chosen | Key trade-offs resolved | Design doc, task list paths | First dev task focus |
186
+ | /dev | Tasks completed, gate count | Spec gaps encountered | Changed files, test files | Validation priorities |
187
+ | /validate | All checks pass/fail summary | Failures diagnosed | Scripts/commands run | Ship readiness |
188
+ | /ship | PR created, checks pending | Template sections filled | PR URL, branch name | Review focus areas |
189
+ | /review | All feedback addressed | Comment resolutions | Fixed files, commit SHAs | Doc update needs |
190
+ | /premerge | Docs updated, CI green | N/A | Updated doc files | Merge instructions |
191
+
192
+ ### Validation Command
193
+
194
+ Run at each stage exit to check for missing context:
195
+
196
+ ```bash
197
+ bash scripts/beads-context.sh validate <beads-issue-id>
198
+ ```
199
+
200
+ This checks: (1) issue has a description, (2) at least one stage transition exists, (3) most recent transition has a summary, (4) design metadata is set if past the plan stage. Exits 0 when context checks run (even if warnings are found); exits 1 only if the issue cannot be retrieved.
201
+
202
+ ### Field Definitions
203
+
204
+ - **Summary**: 1-2 sentence recap of what was accomplished in this stage. Example: `--summary "All 5 tasks done, 1 decision gate fired"`
205
+ - **Decisions**: Key choices made during this stage that affect downstream work. Example: `--decisions "Used streaming parser over DOM for memory efficiency"`
206
+ - **Artifacts**: File paths or URLs produced by this stage. Example: `--artifacts "lib/parser.js test/parser.test.js docs/plans/2026-03-26-parser-design.md"`
207
+ - **Next**: Guidance for the next stage on what to focus on. Example: `--next "Run lint first — streaming approach may trigger no-await rule"`
208
+
209
+ ### Usage in Stage Transitions
210
+
211
+ ```bash
212
+ # Basic (backward compatible)
213
+ bash scripts/beads-context.sh stage-transition <id> dev validate
214
+
215
+ # With context fields (recommended)
216
+ bash scripts/beads-context.sh stage-transition <id> dev validate \
217
+ --summary "All 5 tasks done, 0 gates fired" \
218
+ --decisions "Used approach A per design doc" \
219
+ --artifacts "lib/foo.js test/foo.test.js" \
220
+ --next "Run type check and lint"
221
+ ```
222
+
223
+ ### Enforcement Level
224
+
225
+ This convention is **advisory only**. The `validate` subcommand prints warnings but always exits 0. It does not block any stage transition. The goal is to build good habits, not to create friction.
226
+
227
+ <!-- BEGIN BEADS INTEGRATION v:1 profile:minimal hash:ca08a54f -->
228
+ ## Beads Issue Tracker
229
+
230
+ This project uses **bd (beads)** for issue tracking. Run `bd prime` to see full workflow context and commands.
231
+
232
+ ### Quick Reference
233
+
234
+ ```bash
235
+ bd ready # Find available work
236
+ bd show <id> # View issue details
237
+ bd update <id> --claim # Claim work
238
+ bd close <id> # Complete work
239
+ ```
240
+
241
+ ### Rules
242
+
243
+ - Use `bd` for ALL task tracking — do NOT use TodoWrite, TaskCreate, or markdown TODO lists. Exception: `/plan` Phase 3 generates task lists at `docs/plans/YYYY-MM-DD-<slug>-tasks.md` — these are approved artifacts consumed by `/dev`, but `bd` remains the source of truth for issue state. GitHub issues may be used for external/public tracking; CI may sync GitHub issue lifecycle to Beads (see `docs/BEADS_GITHUB_SYNC.md`).
244
+ - Run `bd prime` for detailed command reference and session close protocol
245
+ - Use `bd remember` for persistent knowledge — do NOT use MEMORY.md files
246
+
247
+ ## Session Completion
248
+
249
+ **When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds.
250
+
251
+ **MANDATORY WORKFLOW:**
252
+
253
+ 1. **File issues for remaining work** - Create issues for anything that needs follow-up
254
+ 2. **Run quality gates** (if code changed) - Tests, linters, builds
255
+ 3. **Update issue status** - Close finished work, update in-progress items
256
+ 4. **PUSH TO REMOTE** - This is MANDATORY:
257
+ ```bash
258
+ git pull --rebase
259
+ bd dolt push # requires Dolt-backed Beads — run 'bd init' if missing
260
+ git push
261
+ git status # MUST show "up to date with origin"
262
+ ```
263
+ 5. **Clean up** - Clear stashes, prune remote branches
264
+ 6. **Verify** - All changes committed AND pushed
265
+ 7. **Hand off** - Provide context for next session
266
+
267
+ **CRITICAL RULES:**
268
+ - Work is NOT complete until `git push` succeeds
269
+ - NEVER stop before pushing - that leaves work stranded locally
270
+ - NEVER say "ready to push when you are" - YOU must push
271
+ - If push fails, resolve and retry until it succeeds
272
+ <!-- END BEADS INTEGRATION -->