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
@@ -1,177 +1,187 @@
1
- ---
2
- description: Complete all doc updates on feature branch, then hand off PR to user for merge
3
- mode: code
4
- ---
5
-
6
- Prepare the pull request for merge by completing ALL documentation updates on the feature branch, then hand off to the user.
7
-
8
- # Premerge
9
-
10
- **The actual merge is always done by the user in the GitHub UI — never by this command.**
11
-
12
- This command makes the PR 100% complete: code + tests + docs in one unit. After this, the user merges once and there are no follow-up doc PRs needed.
13
-
14
- ## Usage
15
-
16
- ```bash
17
- /premerge <pr-number>
18
- ```
19
-
20
- ## What This Command Does
21
-
22
- ### Step 1: Verify All CI Checks Pass
23
-
24
- ```bash
25
- gh pr checks <pr-number>
26
- ```
27
-
28
- All checks must be green before proceeding. If any fail, run `/review <pr-number>` first.
29
-
30
- ### Step 2: Warn If Branch Is Behind Master
31
-
32
- ```bash
33
- gh pr view <pr-number> --json baseRefName,headRefName
34
- git fetch origin master
35
- git status
36
- ```
37
-
38
- If the feature branch is behind `master`, tell the user to rebase first:
39
-
40
- ```
41
- ⚠️ Branch is behind master — rebase before updating docs to avoid conflicts:
42
- git rebase origin/master
43
- git push --force-with-lease
44
- ```
45
-
46
- ### Step 3: Update ALL Relevant Documentation (on feature branch)
47
-
48
- Check each of the following and update if the feature affects it. Be selective — only update what genuinely changed.
49
-
50
- **A. `CHANGELOG.md`** (always):
51
- - Add entry under `## [Unreleased]` heading (create heading if not present)
52
- - Use [Keep a Changelog](https://keepachangelog.com/) categories:
53
- - **Added**: New features
54
- - **Changed**: Changes to existing functionality
55
- - **Fixed**: Bug fixes
56
- - **Removed**: Removed features
57
- - Include: feature name, PR number, Beads ID
58
- - Example:
59
- ```markdown
60
- ## [Unreleased]
61
-
62
- ### Added
63
- - Authentication refresh tokens (PR #89, forge-a3f8)
64
- ```
65
-
66
- **B. `README.md`** (if user-facing changes):
67
- - Features list, configuration options, usage examples
68
-
69
- **C. `docs/reference/API_REFERENCE.md`** (if API changes):
70
- - New endpoints, request/response schemas, authentication
71
-
72
- **D. Architecture docs** (if structural changes):
73
- - `docs/architecture/` diagrams, decision records (ADRs)
74
-
75
- **E. `CLAUDE.md` — USER section only** (if project conventions changed):
76
- ```
77
- <!-- USER:START - Add project-specific learnings here as you work -->
78
- ...update only between these markers...
79
- <!-- USER:END -->
80
- ```
81
- ⚠️ NEVER touch other managed blocks (e.g., `<!-- AGENT:START/END -->`).
82
-
83
- **F. `AGENTS.md`** (if agent config, skills, or cross-agent workflow changed):
84
- - Update relevant sections describing agent capabilities or workflow
85
-
86
- **Commit doc updates to feature branch**:
87
-
88
- ```bash
89
- git add CHANGELOG.md README.md docs/ AGENTS.md CLAUDE.md
90
- git commit -m "docs: update documentation for <feature-name>
91
-
92
- - Updated: [list files changed]
93
- - Reason: [brief explanation]"
94
-
95
- git push
96
- ```
97
-
98
- ⚠️ **After pushing**: CI will re-trigger (Greptile, SonarCloud, etc.). Wait for checks to pass. If new Greptile comments appear on the doc changes, run `/review <pr-number>` again.
99
-
100
- ### Step 4: Sync Beads
101
-
102
- ```bash
103
- bd sync
104
- ```
105
-
106
- ### Step 5: Hand Off — STOP HERE
107
-
108
- **DO NOT run `gh pr merge`.** Present the PR and wait for the user to merge.
109
-
110
- Output:
111
-
112
- ```
113
- ✅ PR #<number> is ready to merge
114
-
115
- All checks: ✓ passing
116
- Documentation: ✓ updated on feature branch
117
- Beads: ✓ synced
118
-
119
- 👉 Please merge in the GitHub UI:
120
- https://github.com/<owner>/<repo>/pull/<number>
121
-
122
- Recommended: Squash and merge (keeps main history clean)
123
-
124
- After you merge, run /verify to confirm everything landed correctly.
125
- ```
126
-
127
- ```
128
- <HARD-GATE: /premerge exit>
129
- Do NOT run gh pr merge.
130
- Do NOT suggest merging.
131
- /premerge ends here. Output the PR URL and status. Wait for user.
132
-
133
- "After you merge, run /verify to confirm everything landed correctly."
134
- </HARD-GATE>
135
- ```
136
-
137
- ## Example Output
138
-
139
- ```
140
- CI checks: All passing
141
- Branch: Up to date with master
142
- ✓ Documentation updated:
143
- - CHANGELOG.md: Entry added under [Unreleased]
144
- - README.md: Features list updated
145
- - CLAUDE.md: USER section updated with new pattern
146
- - Committed: docs: update documentation for auth-refresh
147
- CI re-triggered after doc push — all checks still passing
148
- ✓ Beads synced
149
-
150
- PR #89 is ready to merge
151
-
152
- 👉 Please merge in the GitHub UI:
153
- https://github.com/harshanandak/forge/pull/89
154
-
155
- After you merge, run /verify
156
- ```
157
-
158
- ## Rules
159
-
160
- - **NEVER run `gh pr merge`** — blocked by PreToolUse hook in `.claude/settings.json`
161
- - **CLAUDE.md USER section only** — never touch other managed blocks
162
- - **Warn if branch is behind** — tell user to rebase before doc updates
163
- - **Re-check CI after doc push** — doc commits re-trigger full CI pipeline
164
- - **One PR, complete** — code + tests + docs merged together, no follow-up doc PRs
165
-
166
- ## Integration with Workflow
167
-
168
- ```
169
- Utility: /status → Understand current context before starting
170
- Stage 1: /plan → Design intent research branch + worktree + task list
171
- Stage 2: /dev → Implement each task with subagent-driven TDD
172
- Stage 3: /validate → Type check, lint, tests, security all fresh output
173
- Stage 4: /ship → Push + create PR
174
- Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
175
- Stage 6: /premerge → Update docs, hand off PR to user (you are here)
176
- Stage 7: /verify → Post-merge CI check on main
177
- ```
1
+ ---
2
+ description: Complete all doc updates on feature branch, then hand off PR to user for merge
3
+ mode: code
4
+ ---
5
+
6
+ Prepare the pull request for merge by completing ALL documentation updates on the feature branch, then hand off to the user.
7
+
8
+ # Premerge
9
+
10
+ **The actual merge is always done by the user in the GitHub UI — never by this command.**
11
+
12
+ This command makes the PR 100% complete: code + tests + docs in one unit. After this, the user merges once and there are no follow-up doc PRs needed.
13
+
14
+ ## Usage
15
+
16
+ ```bash
17
+ /premerge <pr-number>
18
+ ```
19
+
20
+ ## What This Command Does
21
+
22
+ ### Step 1: Verify All CI Checks Pass
23
+
24
+ ```bash
25
+ gh pr checks <pr-number>
26
+ ```
27
+
28
+ All checks must be green before proceeding. If any fail, run `/review <pr-number>` first.
29
+
30
+ ### Step 2: Warn If Branch Is Behind Master
31
+
32
+ ```bash
33
+ gh pr view <pr-number> --json baseRefName,headRefName
34
+ git fetch origin master
35
+ git status
36
+ ```
37
+
38
+ If the feature branch is behind `master`, tell the user to rebase first:
39
+
40
+ ```
41
+ ⚠️ Branch is behind master — rebase before updating docs to avoid conflicts:
42
+ git rebase origin/master
43
+ git push --force-with-lease
44
+ ```
45
+
46
+ ### Step 3: Update ALL Relevant Documentation (on feature branch)
47
+
48
+ Check each of the following and update if the feature affects it. Be selective — only update what genuinely changed.
49
+
50
+ **A. `CHANGELOG.md`** (always):
51
+ - Add entry under `## [Unreleased]` heading (create heading if not present)
52
+ - Use [Keep a Changelog](https://keepachangelog.com/) categories:
53
+ - **Added**: New features
54
+ - **Changed**: Changes to existing functionality
55
+ - **Fixed**: Bug fixes
56
+ - **Removed**: Removed features
57
+ - Include: feature name, PR number, Beads ID
58
+ - Example:
59
+ ```markdown
60
+ ## [Unreleased]
61
+
62
+ ### Added
63
+ - Authentication refresh tokens (PR #89, forge-a3f8)
64
+ ```
65
+
66
+ **B. `README.md`** (if user-facing changes):
67
+ - Features list, configuration options, usage examples
68
+
69
+ **C. `docs/reference/API_REFERENCE.md`** (if API changes):
70
+ - New endpoints, request/response schemas, authentication
71
+
72
+ **D. Architecture docs** (if structural changes):
73
+ - `docs/architecture/` diagrams, decision records (ADRs)
74
+
75
+ **E. `CLAUDE.md` — USER section only** (if project conventions changed):
76
+ ```
77
+ <!-- USER:START - Add project-specific learnings here as you work -->
78
+ ...update only between these markers...
79
+ <!-- USER:END -->
80
+ ```
81
+ ⚠️ NEVER touch other managed blocks (e.g., `<!-- AGENT:START/END -->`).
82
+
83
+ **F. `AGENTS.md`** (if agent config, skills, or cross-agent workflow changed):
84
+ - Update relevant sections describing agent capabilities or workflow
85
+
86
+ **Commit doc updates to feature branch**:
87
+
88
+ ```bash
89
+ git add CHANGELOG.md README.md docs/ AGENTS.md CLAUDE.md
90
+ git commit -m "docs: update documentation for <feature-name>
91
+
92
+ - Updated: [list files changed]
93
+ - Reason: [brief explanation]"
94
+
95
+ git push
96
+ ```
97
+
98
+ ⚠️ **After pushing**: CI will re-trigger (Greptile, SonarCloud, etc.). Wait for checks to pass. If new Greptile comments appear on the doc changes, run `/review <pr-number>` again.
99
+
100
+ ### Step 4: Sync Beads
101
+
102
+ ```bash
103
+ bd sync
104
+ ```
105
+
106
+ ### Step 5: Hand Off — STOP HERE
107
+
108
+ **DO NOT run `gh pr merge`.** Present the PR and wait for the user to merge.
109
+
110
+ Output:
111
+
112
+ ```
113
+ ✅ PR #<number> is ready to merge
114
+
115
+ All checks: ✓ passing
116
+ Documentation: ✓ updated on feature branch
117
+ Beads: ✓ synced
118
+
119
+ 👉 Please merge in the GitHub UI:
120
+ https://github.com/<owner>/<repo>/pull/<number>
121
+
122
+ Recommended: Squash and merge (keeps main history clean)
123
+
124
+ After you merge, run /verify to confirm everything landed correctly.
125
+ ```
126
+
127
+ ### Step 6: Validate Context and Record Stage Transition
128
+
129
+ ```bash
130
+ bash scripts/beads-context.sh validate <id>
131
+ bash scripts/beads-context.sh stage-transition <id> premerge verify \
132
+ --summary "<docs updated, CI green, PR ready>" \
133
+ --artifacts "<updated doc files, PR URL>" \
134
+ --next "<merge instructions for user>"
135
+ ```
136
+
137
+ ```
138
+ <HARD-GATE: /premerge exit>
139
+ Do NOT run gh pr merge.
140
+ Do NOT suggest merging.
141
+ /premerge ends here. Output the PR URL and status. Wait for user.
142
+
143
+ "After you merge, run /verify to confirm everything landed correctly."
144
+ </HARD-GATE>
145
+ ```
146
+
147
+ ## Example Output
148
+
149
+ ```
150
+ CI checks: All passing
151
+ ✓ Branch: Up to date with master
152
+ Documentation updated:
153
+ - CHANGELOG.md: Entry added under [Unreleased]
154
+ - README.md: Features list updated
155
+ - CLAUDE.md: USER section updated with new pattern
156
+ - Committed: docs: update documentation for auth-refresh
157
+ ✓ CI re-triggered after doc push — all checks still passing
158
+ Beads synced
159
+
160
+ PR #89 is ready to merge
161
+
162
+ 👉 Please merge in the GitHub UI:
163
+ https://github.com/harshanandak/forge/pull/89
164
+
165
+ After you merge, run /verify
166
+ ```
167
+
168
+ ## Rules
169
+
170
+ - **NEVER run `gh pr merge`** blocked by PreToolUse hook in `.claude/settings.json`
171
+ - **CLAUDE.md USER section only** never touch other managed blocks
172
+ - **Warn if branch is behind** tell user to rebase before doc updates
173
+ - **Re-check CI after doc push** — doc commits re-trigger full CI pipeline
174
+ - **One PR, complete** code + tests + docs merged together, no follow-up doc PRs
175
+
176
+ ## Integration with Workflow
177
+
178
+ ```
179
+ Utility: /status → Understand current context before starting
180
+ Stage 1: /plan → Design intent → research → branch + worktree + task list
181
+ Stage 2: /dev → Implement each task with subagent-driven TDD
182
+ Stage 3: /validate → Type check, lint, tests, security — all fresh output
183
+ Stage 4: /ship → Push + create PR
184
+ Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
185
+ Stage 6: /premerge → Update docs, hand off PR to user (you are here)
186
+ Stage 7: /verify → Post-merge CI check on main
187
+ ```
@@ -1,43 +1,43 @@
1
- ---
2
- description: Deep research with parallel-deep-research, document findings
3
- mode: code
4
- ---
5
-
6
- > **Note**: `/research` is now Phase 2 of `/plan`.
7
- >
8
- > The research phase has been absorbed into the `/plan` command, which runs a full 3-phase workflow:
9
- > - **Phase 1**: Brainstorming — design intent, constraints, success criteria
10
- > - **Phase 2**: Technical research — web search, OWASP, codebase exploration, TDD scenarios
11
- > - **Phase 3**: Setup — branch, worktree, Beads issue, task list
12
- >
13
- > Run `/plan <feature-slug>` to start the complete planning workflow.
14
-
15
- # Research (Legacy Alias)
16
-
17
- This command previously ran a standalone research phase. It is now embedded in `/plan` as Phase 2.
18
-
19
- ## If you want to run just the research phase
20
-
21
- Jump to Phase 2 of `/plan` manually:
22
-
23
- 1. Read or create the design doc at `docs/plans/YYYY-MM-DD-<slug>-design.md`
24
- 2. Run parallel web search using the `parallel-deep-research` skill
25
- 3. Run OWASP Top 10 analysis for the feature
26
- 4. Use the Explore agent for codebase exploration
27
- 5. Identify at least 3 TDD test scenarios
28
- 6. Append findings under `## Technical Research` in the design doc
29
-
30
- Then continue with `/plan <slug> --continue` to run Phase 3 (setup + task list).
31
-
32
- ## Integration with Workflow
33
-
34
- ```
35
- Utility: /status → Understand current context before starting
36
- Stage 1: /plan → Design intent → research → branch + worktree + task list
37
- Stage 2: /dev → Implement each task with subagent-driven TDD
38
- Stage 3: /validate → Type check, lint, tests, security — all fresh output
39
- Stage 4: /ship → Push + create PR
40
- Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
41
- Stage 6: /premerge → Update docs, hand off PR to user
42
- Stage 7: /verify → Post-merge CI check on main
43
- ```
1
+ ---
2
+ description: Deep research with parallel-deep-research, document findings
3
+ mode: code
4
+ ---
5
+
6
+ > **Note**: `/research` is now Phase 2 of `/plan`.
7
+ >
8
+ > The research phase has been absorbed into the `/plan` command, which runs a full 3-phase workflow:
9
+ > - **Phase 1**: Brainstorming — design intent, constraints, success criteria
10
+ > - **Phase 2**: Technical research — web search, OWASP, codebase exploration, TDD scenarios
11
+ > - **Phase 3**: Setup — branch, worktree, Beads issue, task list
12
+ >
13
+ > Run `/plan <feature-slug>` to start the complete planning workflow.
14
+
15
+ # Research (Legacy Alias)
16
+
17
+ This command previously ran a standalone research phase. It is now embedded in `/plan` as Phase 2.
18
+
19
+ ## If you want to run just the research phase
20
+
21
+ Jump to Phase 2 of `/plan` manually:
22
+
23
+ 1. Read or create the design doc at `docs/plans/YYYY-MM-DD-<slug>-design.md`
24
+ 2. Run parallel web search using the `parallel-deep-research` skill
25
+ 3. Run OWASP Top 10 analysis for the feature
26
+ 4. Use the Explore agent for codebase exploration
27
+ 5. Identify at least 3 TDD test scenarios
28
+ 6. Append findings under `## Technical Research` in the design doc
29
+
30
+ Then continue with `/plan <slug> --continue` to run Phase 3 (setup + task list).
31
+
32
+ ## Integration with Workflow
33
+
34
+ ```
35
+ Utility: /status → Understand current context before starting
36
+ Stage 1: /plan → Design intent → research → branch + worktree + task list
37
+ Stage 2: /dev → Implement each task with subagent-driven TDD
38
+ Stage 3: /validate → Type check, lint, tests, security — all fresh output
39
+ Stage 4: /ship → Push + create PR
40
+ Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
41
+ Stage 6: /premerge → Update docs, hand off PR to user
42
+ Stage 7: /verify → Post-merge CI check on main
43
+ ```