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