forge-workflow 0.0.3 → 0.0.5

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 (209) hide show
  1. package/.claude/commands/dev.md +340 -314
  2. package/.claude/commands/plan.md +521 -478
  3. package/.claude/commands/premerge.md +176 -179
  4. package/.claude/commands/research.md +42 -42
  5. package/.claude/commands/review.md +442 -442
  6. package/.claude/commands/rollback.md +721 -721
  7. package/.claude/commands/ship.md +164 -134
  8. package/.claude/commands/sonarcloud.md +152 -152
  9. package/.claude/commands/status.md +48 -77
  10. package/.claude/commands/validate.md +282 -237
  11. package/.claude/commands/verify.md +221 -221
  12. package/.claude/rules/greptile-review-process.md +285 -285
  13. package/.claude/rules/workflow.md +105 -105
  14. package/.claude/scripts/greptile-resolve.sh +526 -526
  15. package/.claude/scripts/load-env.sh +32 -32
  16. package/.cline/workflows/dev.md +337 -311
  17. package/.cline/workflows/plan.md +518 -475
  18. package/.cline/workflows/premerge.md +173 -176
  19. package/.cline/workflows/research.md +39 -39
  20. package/.cline/workflows/review.md +439 -439
  21. package/.cline/workflows/rollback.md +718 -718
  22. package/.cline/workflows/ship.md +161 -131
  23. package/.cline/workflows/sonarcloud.md +146 -146
  24. package/.cline/workflows/status.md +45 -74
  25. package/.cline/workflows/validate.md +279 -234
  26. package/.cline/workflows/verify.md +218 -218
  27. package/.codex/config.toml +11 -11
  28. package/.codex/skills/dev/SKILL.md +340 -314
  29. package/.codex/skills/plan/SKILL.md +521 -478
  30. package/.codex/skills/premerge/SKILL.md +176 -179
  31. package/.codex/skills/research/SKILL.md +42 -42
  32. package/.codex/skills/review/SKILL.md +442 -442
  33. package/.codex/skills/rollback/SKILL.md +721 -721
  34. package/.codex/skills/ship/SKILL.md +164 -134
  35. package/.codex/skills/sonarcloud/SKILL.md +149 -149
  36. package/.codex/skills/status/SKILL.md +48 -77
  37. package/.codex/skills/validate/SKILL.md +282 -237
  38. package/.codex/skills/verify/SKILL.md +221 -221
  39. package/.cursor/commands/dev.md +337 -311
  40. package/.cursor/commands/plan.md +518 -475
  41. package/.cursor/commands/premerge.md +173 -176
  42. package/.cursor/commands/research.md +39 -39
  43. package/.cursor/commands/review.md +439 -439
  44. package/.cursor/commands/rollback.md +718 -718
  45. package/.cursor/commands/ship.md +161 -131
  46. package/.cursor/commands/sonarcloud.md +146 -146
  47. package/.cursor/commands/status.md +45 -74
  48. package/.cursor/commands/validate.md +279 -234
  49. package/.cursor/commands/verify.md +218 -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 +342 -316
  54. package/.github/prompts/plan.prompt.md +523 -480
  55. package/.github/prompts/premerge.prompt.md +178 -181
  56. package/.github/prompts/research.prompt.md +44 -44
  57. package/.github/prompts/review.prompt.md +444 -444
  58. package/.github/prompts/rollback.prompt.md +723 -723
  59. package/.github/prompts/ship.prompt.md +166 -136
  60. package/.github/prompts/sonarcloud.prompt.md +151 -151
  61. package/.github/prompts/status.prompt.md +50 -79
  62. package/.github/prompts/validate.prompt.md +284 -239
  63. package/.github/prompts/verify.prompt.md +223 -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 +341 -315
  67. package/.kilocode/workflows/plan.md +522 -479
  68. package/.kilocode/workflows/premerge.md +177 -180
  69. package/.kilocode/workflows/research.md +43 -43
  70. package/.kilocode/workflows/review.md +443 -443
  71. package/.kilocode/workflows/rollback.md +722 -722
  72. package/.kilocode/workflows/ship.md +165 -135
  73. package/.kilocode/workflows/sonarcloud.md +150 -150
  74. package/.kilocode/workflows/status.md +49 -78
  75. package/.kilocode/workflows/validate.md +283 -238
  76. package/.kilocode/workflows/verify.md +222 -222
  77. package/.mcp.json.example +12 -12
  78. package/.opencode/commands/dev.md +340 -314
  79. package/.opencode/commands/plan.md +521 -478
  80. package/.opencode/commands/premerge.md +176 -179
  81. package/.opencode/commands/research.md +42 -42
  82. package/.opencode/commands/review.md +442 -442
  83. package/.opencode/commands/rollback.md +721 -721
  84. package/.opencode/commands/ship.md +164 -134
  85. package/.opencode/commands/sonarcloud.md +149 -149
  86. package/.opencode/commands/status.md +48 -77
  87. package/.opencode/commands/validate.md +282 -237
  88. package/.opencode/commands/verify.md +221 -221
  89. package/.roo/commands/dev.md +341 -315
  90. package/.roo/commands/plan.md +522 -479
  91. package/.roo/commands/premerge.md +177 -180
  92. package/.roo/commands/research.md +43 -43
  93. package/.roo/commands/review.md +443 -443
  94. package/.roo/commands/rollback.md +722 -722
  95. package/.roo/commands/ship.md +165 -135
  96. package/.roo/commands/sonarcloud.md +150 -150
  97. package/.roo/commands/status.md +49 -78
  98. package/.roo/commands/validate.md +283 -238
  99. package/.roo/commands/verify.md +222 -222
  100. package/AGENTS.md +175 -169
  101. package/CLAUDE.md +100 -99
  102. package/LICENSE +21 -21
  103. package/README.md +429 -414
  104. package/bin/forge-cmd.js +313 -313
  105. package/bin/{forge-validate.js → forge-preflight.js} +309 -303
  106. package/bin/forge.js +4596 -4232
  107. package/docs/AGENT_INSTALL_PROMPT.md +342 -342
  108. package/docs/BEADS_GITHUB_SYNC.md +251 -0
  109. package/docs/ENHANCED_ONBOARDING.md +602 -602
  110. package/docs/EXAMPLES.md +482 -482
  111. package/docs/GREPTILE_SETUP.md +400 -400
  112. package/docs/MANUAL_REVIEW_GUIDE.md +106 -106
  113. package/docs/ROADMAP.md +359 -359
  114. package/docs/SETUP.md +663 -632
  115. package/docs/TOOLCHAIN.md +630 -630
  116. package/docs/VALIDATION.md +363 -363
  117. package/install.sh +40 -1058
  118. package/lefthook.yml +39 -39
  119. package/lib/agents/README.md +198 -198
  120. package/lib/agents/claude.plugin.json +28 -28
  121. package/lib/agents/cline.plugin.json +22 -22
  122. package/lib/agents/codex.plugin.json +19 -19
  123. package/lib/agents/copilot.plugin.json +24 -24
  124. package/lib/agents/cursor.plugin.json +25 -25
  125. package/lib/agents/kilocode.plugin.json +22 -22
  126. package/lib/agents/opencode.plugin.json +20 -20
  127. package/lib/agents/roo.plugin.json +23 -23
  128. package/lib/agents-config.js +2112 -2112
  129. package/lib/beads-health-check.js +143 -0
  130. package/lib/beads-setup.js +341 -0
  131. package/lib/beads-sync-scaffold.js +260 -0
  132. package/lib/commands/dev.js +513 -513
  133. package/lib/commands/plan.js +692 -692
  134. package/lib/commands/recommend.js +119 -119
  135. package/lib/commands/ship.js +377 -377
  136. package/lib/commands/status.js +378 -378
  137. package/lib/commands/validate.js +602 -602
  138. package/lib/context-merge.js +359 -359
  139. package/lib/dep-guard/analyzer.js +294 -294
  140. package/lib/dep-guard/behavior-detector.js +98 -98
  141. package/lib/dep-guard/contract-detector.js +162 -162
  142. package/lib/dep-guard/import-detector.js +498 -498
  143. package/lib/dep-guard/path-utils.js +13 -13
  144. package/lib/dep-guard/rubric.js +120 -120
  145. package/lib/dep-guard/task-parser.js +318 -318
  146. package/lib/detect-agent.js +191 -0
  147. package/lib/detect-worktree.js +47 -0
  148. package/lib/file-hash.js +26 -0
  149. package/lib/husky-migration.js +450 -0
  150. package/lib/lefthook-check.js +65 -0
  151. package/lib/pat-setup.js +207 -0
  152. package/lib/plugin-catalog.js +350 -350
  153. package/lib/plugin-manager.js +166 -166
  154. package/lib/plugin-recommender.js +141 -141
  155. package/lib/project-discovery.js +491 -491
  156. package/lib/setup-action-log.js +139 -0
  157. package/lib/setup-summary-renderer.js +106 -0
  158. package/lib/setup-utils.js +96 -0
  159. package/lib/setup.js +192 -118
  160. package/lib/smart-merge.js +64 -0
  161. package/lib/symlink-utils.js +81 -0
  162. package/lib/workflow-profiles.js +197 -197
  163. package/package.json +131 -129
  164. package/scripts/beads-context.sh +291 -0
  165. package/scripts/beads-context.test.js +563 -0
  166. package/scripts/behavioral-judge.sh +378 -0
  167. package/scripts/benchmark.js +85 -0
  168. package/scripts/branch-protection.js +183 -0
  169. package/scripts/check-agents.js +172 -0
  170. package/scripts/commitlint.js +42 -0
  171. package/scripts/conflict-detect.sh +323 -0
  172. package/scripts/dep-guard-analyze.js +71 -0
  173. package/scripts/dep-guard.sh +811 -0
  174. package/scripts/eval_win.py +249 -0
  175. package/scripts/file-index.sh +399 -0
  176. package/scripts/github-beads-sync/comment.mjs +64 -0
  177. package/scripts/github-beads-sync/config.mjs +148 -0
  178. package/scripts/github-beads-sync/github-api.mjs +131 -0
  179. package/scripts/github-beads-sync/index.mjs +332 -0
  180. package/scripts/github-beads-sync/label-mapper.mjs +54 -0
  181. package/scripts/github-beads-sync/mapping.mjs +78 -0
  182. package/scripts/github-beads-sync/reverse-sync-cli.mjs +31 -0
  183. package/scripts/github-beads-sync/reverse-sync.mjs +138 -0
  184. package/scripts/github-beads-sync/run-bd.mjs +159 -0
  185. package/scripts/github-beads-sync/sanitize.mjs +121 -0
  186. package/scripts/github-beads-sync.config.json +26 -0
  187. package/scripts/improve-command.js +375 -0
  188. package/scripts/lib/eval-runner.js +229 -0
  189. package/scripts/lib/eval-schema.js +135 -0
  190. package/scripts/lib/eval-storage.js +78 -0
  191. package/scripts/lib/grading.js +203 -0
  192. package/scripts/lib/transcript-parser.js +63 -0
  193. package/scripts/lint.js +47 -0
  194. package/scripts/migrate-to-bun-test.js +412 -0
  195. package/scripts/run-command-eval.js +236 -0
  196. package/scripts/smart-status.sh +782 -0
  197. package/scripts/sync-commands.js +571 -0
  198. package/scripts/sync-utils.sh +460 -0
  199. package/scripts/test-dashboard.js +123 -0
  200. package/scripts/test.js +44 -0
  201. package/scripts/validate.sh +94 -0
  202. package/skills/parallel-deep-research/SKILL.md +108 -108
  203. package/skills/parallel-deep-research/evals/README.md +27 -27
  204. package/skills/parallel-deep-research/evals/evals.json +62 -62
  205. package/skills/sonarcloud-analysis/SKILL.md +171 -171
  206. package/skills/sonarcloud-analysis/evals/README.md +27 -27
  207. package/skills/sonarcloud-analysis/evals/evals.json +50 -50
  208. package/skills/sonarcloud-analysis/references/api-reference.md +466 -466
  209. package/docs/WORKFLOW.md +0 -400
package/AGENTS.md CHANGED
@@ -1,169 +1,175 @@
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
- ## TDD Development (Stage 2: /dev)
75
-
76
- **Subagent-driven per-task implementation loop:**
77
-
78
- 1. **Read task list** Pre-made task list from `/plan` Phase 3 at `docs/plans/YYYY-MM-DD-<slug>-tasks.md`
79
- 2. **Dispatch implementer subagent per task** → Fresh context, complete task text, relevant design doc sections
80
- 3. **TDD inside implementer** → RED-GREEN-REFACTOR enforced by HARD-GATE:
81
- - RED: Write failing test first (must run test and show failing output)
82
- - GREEN: Implement minimal code to pass (must show passing output)
83
- - REFACTOR: Clean up while keeping tests green
84
- 4. **Spec compliance review** → Spec reviewer checks every task before quality review
85
- 5. **Code quality review** Quality reviewer checks after spec compliance
86
- 6. **Decision gate** → 7-dimension impact scoring when spec gap found; score routes to PROCEED/SPEC-REVIEWER/BLOCKED
87
-
88
- **Example execution:**
89
- ```
90
- /dev starts:
91
- ✓ Read task list: docs/plans/2026-02-26-stripe-billing-tasks.md (8 tasks)
92
- Created decisions log: docs/plans/2026-02-26-stripe-billing-decisions.md
93
-
94
- Task 1: Types and interfaces
95
- Implementer: test written failing → implementation → passing → committed
96
- Spec review:
97
- ✓ Quality review: ✅
98
- Decision gates: 0
99
-
100
- Task 2: Validation logic
101
- Implementer: test written → failing → implementation → passing
102
- ⚠️ Decision gate fired (score: 2/14 — PROCEED)
103
- Gap: Error message format not specified in design doc
104
- Choice: Use { code, message } object (conservative, documented)
105
- Spec review:
106
- Quality review:
107
- ```
108
-
109
- ## State Management (Single Source of Truth)
110
-
111
- **All workflow state stored in Beads metadata** (survives compaction):
112
-
113
- ```json
114
- {
115
- "id": "bd-x7y2",
116
- "type": "critical",
117
- "currentStage": "dev",
118
- "completedStages": ["plan"],
119
- "skippedStages": [],
120
- "workflowDecisions": {
121
- "classification": "critical",
122
- "reason": "Payment processing, PCI compliance required",
123
- "userOverride": false
124
- },
125
- "parallelTracks": [
126
- {
127
- "name": "API endpoints",
128
- "agent": "backend-architect",
129
- "status": "in_progress",
130
- "tddPhase": "GREEN"
131
- }
132
- ]
133
- }
134
- ```
135
-
136
- ## Git Hooks (Automatic Enforcement)
137
-
138
- **Pre-commit hook enforces TDD:**
139
- - Blocks commits if source code modified without test files
140
- - Offers guided recovery (add tests now, skip with tech debt tracking, emergency override)
141
- - No AI decision required - automatic validation
142
-
143
- **Pre-push hook validates tests:**
144
- - All tests must pass before push
145
- - Can skip for hotfixes with documentation
146
-
147
- ## Documentation Index (Context Pointers)
148
-
149
- **Detailed command instructions** are located in:
150
- - [.claude/commands/status.md](.claude/commands/status.md) - How to check current context (utility)
151
- - [.claude/commands/plan.md](.claude/commands/plan.md) - How to plan features (3 phases: design intent + research + branch/worktree/tasks)
152
- - [.claude/commands/dev.md](.claude/commands/dev.md) - How to implement with subagent-driven TDD and decision gate
153
- - [.claude/commands/validate.md](.claude/commands/validate.md) - How to run validation (with HARD-GATE exit)
154
- - [.claude/commands/ship.md](.claude/commands/ship.md) - How to create PRs
155
- - [.claude/commands/review.md](.claude/commands/review.md) - How to address PR feedback (with HARD-GATE exit)
156
- - [.claude/commands/premerge.md](.claude/commands/premerge.md) - How to complete docs and hand off PR for merge
157
- - [.claude/commands/verify.md](.claude/commands/verify.md) - How to verify post-merge health
158
-
159
- **Planning documents** (created by `/plan`, consumed by `/dev`):
160
- - `docs/plans/YYYY-MM-DD-<slug>-design.md` - Design intent + technical research
161
- - `docs/plans/YYYY-MM-DD-<slug>-tasks.md` - Task list with TDD steps
162
- - `docs/plans/YYYY-MM-DD-<slug>-decisions.md` - Decisions log from /dev
163
-
164
- **Comprehensive workflow guide:**
165
- - [docs/WORKFLOW.md](docs/WORKFLOW.md) - Complete workflow documentation (150 lines)
166
- - [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) - Tool setup and configuration
167
- - [docs/VALIDATION.md](docs/VALIDATION.md) - Enforcement and validation details
168
-
169
- **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.**
package/CLAUDE.md CHANGED
@@ -1,99 +1,100 @@
1
- # Project Instructions
2
-
3
- This is a [describe what this project does in one sentence].
4
-
5
- **Package manager**: Bun (preferred for performance)
6
-
7
- **Build commands**:
8
-
9
- ```bash
10
- bun install # Install dependencies
11
- bun run dev # Start development
12
- bun run build # Production build
13
- bun test # Run tests
14
- ```
15
-
16
- ---
17
-
18
- ## Workflow
19
-
20
- > **IMPORTANT**: Read [AGENTS.md](AGENTS.md) using the Read tool at the start of every session to load the complete Forge 7-stage workflow, change classification, and detailed stage instructions. AGENTS.md is the single source of truth for the workflow.
21
-
22
- ---
23
-
24
- ## MCP Servers (Enhanced Capabilities)
25
-
26
- This project uses MCP (Model Context Protocol) servers for enhanced capabilities. If your AI agent supports MCP, set up these servers:
27
-
28
- **Available MCP servers:**
29
-
30
- - **Context7**: Up-to-date library documentation and API reference
31
- - **grep.app**: Search 1M+ GitHub repos for real-world code examples
32
-
33
- **Setup for your agent:**
34
-
35
- See [.mcp.json.example](.mcp.json.example) for configuration. Setup varies by agent:
36
-
37
- - **Claude Code**: Copy `.mcp.json.example` to `.mcp.json` in project root
38
- - **Cline**: Add MCP servers in VSCode settings (Extensions > Cline > MCP Servers)
39
- - **Cursor**: Check Cursor Settings > MCP for setup
40
- - **Your agent**: If MCP-capable, configure using the example file
41
-
42
- See [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) for detailed MCP setup instructions.
43
-
44
- ---
45
-
46
- ## Toolchain
47
-
48
- - **Beads** (recommended): Auto-installed during `bunx forge setup` - Git-backed issue tracking
49
- - **GitHub CLI**: `gh auth login` - PR workflow
50
-
51
- Setup prompts for Beads during interactive installation. Manual install: see [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md).
52
-
53
- ---
54
-
55
- ## Git Workflow
56
-
57
- This project uses the **Professional Git Workflow** with Lefthook for automated quality gates:
58
-
59
- **Pre-commit hooks** (automatic):
60
- - TDD enforcement: Source files must have corresponding tests
61
- - Interactive prompts: Option to unstage, continue, or abort
62
-
63
- **Pre-push hooks** (automatic):
64
- - Branch protection: Blocks direct push to main/master
65
- - ESLint check: Blocks on errors and warnings (strict mode, `--max-warnings 0`)
66
- - Test suite: All tests must pass
67
-
68
- **Pull Request workflow**:
69
- - PR template auto-fills with standardized format
70
- - Self-review checklist catches 80% of bugs before review
71
- - Beads integration: Reference issues with `Closes beads-xxx`
72
- - **All review comments must be resolved** before merge
73
- - Squash-only merging: Clean, linear git history
74
-
75
- **Emergency bypass**:
76
- ```bash
77
- LEFTHOOK=0 git push # Skip all pre-push hooks
78
- git commit --no-verify # Skip pre-commit hooks
79
- ```
80
-
81
- **⚠️ Only use bypasses for emergencies.** Document reason in PR description.
82
-
83
- See [.github/pull_request_template.md](.github/pull_request_template.md) for PR guidelines.
84
-
85
- ---
86
-
87
- <!-- USER:START - Add project-specific learnings here as you work -->
88
-
89
- 💡 **Keep this section focused** - Add patterns you discover while working.
90
-
91
- As you work, when you give the same instruction twice, add it here:
92
-
93
- - **Scope discipline**: Do ONLY what was explicitly asked. Answer a question → stop. Check something → stop. Never auto-continue to next steps or pending work unless told to.
94
- - **Stage names**: The validation stage is `/validate` (not `/check`) — renamed in PR #50.
95
- - **Unused params**: Prefix with `_` (e.g., `_searchTerm`) — ESLint `no-unused-vars` enforced with `--max-warnings 0`.
96
- - **Pre-push test env**: `test-env/` fixture tests can fail during actual `git push` due to git mid-push state; `LEFTHOOK=0 git push` is the bypass when manual `bun test` confirms 0 fail.
97
- - **Command sync**: After editing `.claude/commands/*.md`, run `node scripts/sync-commands.js` to update all 7 agent directories. Use `--check` in CI to detect drift. Use `--dry-run` to preview.
98
-
99
- <!-- USER:END -->
1
+ # Project Instructions
2
+
3
+ Forge is a 7-stage TDD-first development workflow harness for AI coding agents (9 commands total, including utility stages).
4
+
5
+ **Package manager**: Bun (preferred for performance)
6
+
7
+ **Build commands**:
8
+
9
+ ```bash
10
+ bun install # Install dependencies
11
+ bun run dev # Start development
12
+ bun run build # Production build
13
+ bun test # Run tests
14
+ ```
15
+
16
+ ---
17
+
18
+ ## Workflow
19
+
20
+ > **IMPORTANT**: Read [AGENTS.md](AGENTS.md) using the Read tool at the start of every session to load the complete Forge 7-stage workflow, change classification, and detailed stage instructions. AGENTS.md is the single source of truth for the workflow.
21
+
22
+ ---
23
+
24
+ ## MCP Servers (Enhanced Capabilities)
25
+
26
+ This project uses MCP (Model Context Protocol) servers for enhanced capabilities. If your AI agent supports MCP, set up these servers:
27
+
28
+ **Available MCP servers:**
29
+
30
+ - **Context7**: Up-to-date library documentation and API reference
31
+ - **grep.app**: Search 1M+ GitHub repos for real-world code examples
32
+
33
+ **Setup for your agent:**
34
+
35
+ See [.mcp.json.example](.mcp.json.example) for configuration. Setup varies by agent:
36
+
37
+ - **Claude Code**: Copy `.mcp.json.example` to `.mcp.json` in project root
38
+ - **Cline**: Add MCP servers in VSCode settings (Extensions > Cline > MCP Servers)
39
+ - **Cursor**: Check Cursor Settings > MCP for setup
40
+ - **Your agent**: If MCP-capable, configure using the example file
41
+
42
+ See [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) for detailed MCP setup instructions.
43
+
44
+ ---
45
+
46
+ ## Toolchain
47
+
48
+ - **Beads** (recommended): Auto-installed during `bunx forge setup` - Git-backed issue tracking
49
+ - **GitHub CLI**: `gh auth login` - PR workflow
50
+
51
+ Setup prompts for Beads during interactive installation. Manual install: see [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md).
52
+
53
+ ---
54
+
55
+ ## Git Workflow
56
+
57
+ This project uses the **Professional Git Workflow** with Lefthook for automated quality gates:
58
+
59
+ **Pre-commit hooks** (automatic):
60
+ - TDD enforcement: Source files must have corresponding tests
61
+ - Interactive prompts: Option to unstage, continue, or abort
62
+
63
+ **Pre-push hooks** (automatic):
64
+ - Branch protection: Blocks direct push to main/master
65
+ - ESLint check: Blocks on errors and warnings (strict mode, `--max-warnings 0`)
66
+ - Test suite: All tests must pass
67
+
68
+ **Pull Request workflow**:
69
+ - PR template auto-fills with standardized format
70
+ - Self-review checklist catches 80% of bugs before review
71
+ - Beads integration: Reference issues with `Closes beads-xxx`
72
+ - **All review comments must be resolved** before merge
73
+ - Squash-only merging: Clean, linear git history
74
+
75
+ **Emergency bypass** (human-only, NEVER for AI agents):
76
+ ```bash
77
+ LEFTHOOK=0 git push # Skip all pre-push hooks
78
+ git commit --no-verify # Skip pre-commit hooks
79
+ ```
80
+
81
+ **⚠️ AI agents must NEVER use `LEFTHOOK=0`, `--no-verify`, or any hook bypass.** If a hook fails, fix the underlying issue. Only humans may bypass hooks in emergencies, documented in the PR description.
82
+
83
+ See [.github/pull_request_template.md](.github/pull_request_template.md) for PR guidelines.
84
+
85
+ ---
86
+
87
+ <!-- USER:START - Add project-specific learnings here as you work -->
88
+
89
+ 💡 **Keep this section focused** - Add patterns you discover while working.
90
+
91
+ As you work, when you give the same instruction twice, add it here:
92
+
93
+ - **Scope discipline**: Do ONLY what was explicitly asked. Answer a question → stop. Check something → stop. Never auto-continue to next steps or pending work unless told to.
94
+ - **Stage names**: The validation stage is `/validate` (not `/check`) — renamed in PR #50.
95
+ - **Unused params**: Prefix with `_` (e.g., `_searchTerm`) — ESLint `no-unused-vars` enforced with `--max-warnings 0`.
96
+ - **Pre-push test env**: `test-env/` fixture tests can fail during actual `git push` due to git mid-push state. Fix the root cause never use `LEFTHOOK=0`.
97
+ - **Command sync**: After editing `.claude/commands/*.md`, run `node scripts/sync-commands.js` to update all 7 agent directories. Use `--check` in CI to detect drift. Use `--dry-run` to preview.
98
+ - **Dynamic commands**: Never hardcode example output in command files (`.claude/commands/*.md`) when a script generates that output dynamically. Command files should reference the script and describe what it does — not duplicate its output with fake data that becomes stale.
99
+
100
+ <!-- USER:END -->
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Harsha Nandak
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Harsha Nandak
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.