forge-workflow 0.0.9 → 0.1.0-beta.2

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 (479) hide show
  1. package/.claude/rules/{greptile-review-process.md → review-process.md} +56 -41
  2. package/.claude/scripts/{greptile-resolve.sh → review-resolve.sh} +13 -3
  3. package/.cursor/rules/permissions-guidance.mdc +2 -2
  4. package/.forge/hooks/check-tdd.js +3 -0
  5. package/.forge/hooks/forge-native-hook.js +245 -0
  6. package/.forge/protected-paths.yaml +157 -0
  7. package/AGENTS.md +151 -61
  8. package/CHANGELOG.md +681 -0
  9. package/CLAUDE.md +9 -106
  10. package/QUICKSTART.md +171 -0
  11. package/README.md +271 -363
  12. package/bin/forge-cmd.js +120 -9
  13. package/bin/forge-preflight.js +26 -5
  14. package/bin/forge.js +466 -489
  15. package/docs/INDEX.md +93 -0
  16. package/docs/PROJECT_DESIGN.md +685 -0
  17. package/docs/architecture/index.md +66 -0
  18. package/docs/architecture/notes/README.md +35 -0
  19. package/docs/architecture/subsystems/README.md +46 -0
  20. package/docs/{TOOLCHAIN.md → forge/TOOLCHAIN.md} +56 -47
  21. package/docs/forge/VALIDATION.md +82 -0
  22. package/docs/{AGENT_INSTALL_PROMPT.md → guides/AGENT_INSTALL_PROMPT.md} +3 -3
  23. package/docs/guides/BEADS_GITHUB_SYNC.md +32 -0
  24. package/docs/{ENHANCED_ONBOARDING.md → guides/ENHANCED_ONBOARDING.md} +16 -12
  25. package/docs/guides/GREPTILE_SETUP.md +46 -0
  26. package/docs/guides/MANUAL_REVIEW_GUIDE.md +58 -0
  27. package/docs/guides/MIGRATION.md +56 -0
  28. package/docs/guides/SETUP.md +118 -0
  29. package/docs/guides/SUPPORT.md +185 -0
  30. package/docs/guides/WORKFLOW_TEMPLATES.md +74 -0
  31. package/docs/guides/memory-backends.md +183 -0
  32. package/docs/reference/ADAPTERS.md +128 -0
  33. package/docs/reference/AGENT_SKILL_PARITY.md +175 -0
  34. package/docs/reference/COMMANDS.md +205 -0
  35. package/docs/reference/DECISION_DRIFT_GUARDS.md +97 -0
  36. package/docs/{EXAMPLES.md → reference/EXAMPLES.md} +7 -5
  37. package/docs/reference/FORGE_KERNEL_STORAGE_MODEL.md +135 -0
  38. package/docs/reference/HERMES_INTEGRATION.md +118 -0
  39. package/docs/reference/INSIGHTS_RECAP.md +63 -0
  40. package/docs/reference/INSTALL.md +164 -0
  41. package/docs/reference/KERNEL_TAXONOMY_VALIDATION.md +161 -0
  42. package/docs/reference/PROTECTED_PATH_MANIFEST.md +25 -0
  43. package/docs/reference/RELEASE.md +68 -0
  44. package/docs/reference/RESEARCH_TEMPLATE.md +292 -0
  45. package/docs/{ROADMAP.md → reference/ROADMAP.md} +12 -9
  46. package/docs/reference/SKILLS.md +35 -0
  47. package/docs/reference/STATUS_BOARD.md +80 -0
  48. package/docs/reference/TEMPLATES.md +106 -0
  49. package/docs/reference/TOOLCHAIN.md +658 -0
  50. package/docs/reference/VALIDATION.md +82 -0
  51. package/docs/reference/agent-permissions.md +169 -0
  52. package/docs/reference/beads-to-kernel-migration-ux.md +61 -0
  53. package/docs/reference/control-plane-guarantees.md +125 -0
  54. package/docs/reference/dependency-chain.md +331 -0
  55. package/docs/reference/forge-kernel-issue-command-contract.md +161 -0
  56. package/docs/reference/forge-kernel-schema.md +72 -0
  57. package/docs/reference/kernel-conflict-evaluators.md +27 -0
  58. package/docs/reference/patch-md-format.md +77 -0
  59. package/docs/reference/protected-state-surfaces.md +59 -0
  60. package/docs/reference/shepherd.md +115 -0
  61. package/docs/reference/superpowers-analysis.md +320 -0
  62. package/docs/reference/superpowers-integration-options.md +404 -0
  63. package/docs/reference/test-environment.md +519 -0
  64. package/docs/reference/upgrade-safety.md +59 -0
  65. package/lefthook.yml +18 -0
  66. package/lib/adapter-cli.js +307 -0
  67. package/lib/adapters/beads-issue-adapter.js +127 -0
  68. package/lib/adapters/beads-kernel-compat.js +1042 -0
  69. package/lib/adapters/greptile-review-adapter.js +141 -0
  70. package/lib/adapters/kernel-issue-adapter.js +101 -0
  71. package/lib/adapters/pr-state-adapter.js +484 -0
  72. package/lib/adoption-profiles.js +126 -0
  73. package/lib/agents/README.md +2 -6
  74. package/lib/agents/claude.plugin.json +3 -8
  75. package/lib/agents/codex.plugin.json +9 -1
  76. package/lib/agents/cursor.plugin.json +2 -6
  77. package/lib/agents/hermes.plugin.json +22 -0
  78. package/lib/agents-config.js +39 -1236
  79. package/lib/audit-evidence.js +282 -0
  80. package/lib/beads-setup.js +225 -28
  81. package/lib/beads-sync-scaffold.js +36 -107
  82. package/lib/codex-skills.js +51 -1
  83. package/lib/commands/_issue.js +744 -70
  84. package/lib/commands/_manifest.js +91 -0
  85. package/lib/commands/_registry.js +85 -34
  86. package/lib/commands/_resolve-command-opts.js +261 -0
  87. package/lib/commands/_serve-security.js +270 -0
  88. package/lib/commands/adapter.js +12 -0
  89. package/lib/commands/add.js +118 -0
  90. package/lib/commands/audit.js +70 -0
  91. package/lib/commands/blocked.js +5 -0
  92. package/lib/commands/board.js +64 -0
  93. package/lib/commands/claim.js +21 -2
  94. package/lib/commands/claims.js +7 -0
  95. package/lib/commands/clean.js +485 -75
  96. package/lib/commands/close.js +2 -2
  97. package/lib/commands/comment.js +5 -0
  98. package/lib/commands/control.js +148 -0
  99. package/lib/commands/create.js +2 -2
  100. package/lib/commands/dev.js +185 -7
  101. package/lib/commands/doc-gate.js +336 -0
  102. package/lib/commands/doctor.js +156 -0
  103. package/lib/commands/explain.js +15 -0
  104. package/lib/commands/export.js +237 -0
  105. package/lib/commands/gate.js +192 -0
  106. package/lib/commands/hooks.js +242 -0
  107. package/lib/commands/inbox.js +118 -0
  108. package/lib/commands/init.js +598 -0
  109. package/lib/commands/insights.js +79 -0
  110. package/lib/commands/issue.js +12 -1
  111. package/lib/commands/issues.js +66 -0
  112. package/lib/commands/lint.js +5 -0
  113. package/lib/commands/list.js +2 -2
  114. package/lib/commands/merge.js +312 -0
  115. package/lib/commands/migrate.js +523 -0
  116. package/lib/commands/new.js +12 -0
  117. package/lib/commands/options.js +241 -0
  118. package/lib/commands/orient.js +13 -0
  119. package/lib/commands/orphans.js +5 -0
  120. package/lib/commands/patch.js +67 -0
  121. package/lib/commands/plan.js +436 -24
  122. package/lib/commands/preflight.js +211 -0
  123. package/lib/commands/prime.js +13 -0
  124. package/lib/commands/push.js +69 -2
  125. package/lib/commands/ready.js +2 -2
  126. package/lib/commands/recall.js +116 -0
  127. package/lib/commands/recap.js +61 -0
  128. package/lib/commands/recommend.js +22 -2
  129. package/lib/commands/release.js +91 -0
  130. package/lib/commands/remember.js +74 -0
  131. package/lib/commands/role.js +99 -0
  132. package/lib/commands/serve.js +581 -0
  133. package/lib/commands/setup.js +851 -979
  134. package/lib/commands/shepherd.js +436 -0
  135. package/lib/commands/ship.js +23 -1
  136. package/lib/commands/show.js +2 -2
  137. package/lib/commands/stage.js +192 -0
  138. package/lib/commands/stale.js +5 -0
  139. package/lib/commands/status.js +329 -11
  140. package/lib/commands/sync.js +34 -46
  141. package/lib/commands/team.js +15 -2
  142. package/lib/commands/test.js +58 -7
  143. package/lib/commands/update.js +2 -2
  144. package/lib/commands/upgrade.js +47 -0
  145. package/lib/commands/validate.js +56 -25
  146. package/lib/commands/worktree.js +308 -128
  147. package/lib/config-writer.js +202 -0
  148. package/lib/control-plane.js +236 -0
  149. package/lib/core/runtime-graph.js +946 -0
  150. package/lib/dep-guard/keyword-ripple.js +184 -0
  151. package/lib/deprecated-sync-cleanup.js +362 -0
  152. package/lib/detect-agent.js +2 -28
  153. package/lib/detect-worktree.js +42 -17
  154. package/lib/doc-gate/declaration.js +177 -0
  155. package/lib/doc-gate/detect.js +289 -0
  156. package/lib/doc-gate/gate.js +375 -0
  157. package/lib/doc-gate/okf-config.js +128 -0
  158. package/lib/doc-gate/okf.js +429 -0
  159. package/lib/docs-command.js +1161 -6
  160. package/lib/forge-issues.js +697 -0
  161. package/lib/forge-lock.js +262 -0
  162. package/lib/gate-events.js +193 -0
  163. package/lib/global-flags.js +74 -0
  164. package/lib/greptile-match.js +7 -63
  165. package/lib/harness-capability-matrix.js +380 -0
  166. package/lib/hook-global-installer.js +347 -0
  167. package/lib/hook-renderer.js +451 -0
  168. package/lib/inbox.js +391 -0
  169. package/lib/insights.js +397 -0
  170. package/lib/issue-adapter.js +156 -0
  171. package/lib/issue-backend.js +145 -0
  172. package/lib/issue-render.js +220 -0
  173. package/lib/issue-sync/authority.js +100 -0
  174. package/lib/issue-sync/github-pull.js +184 -0
  175. package/lib/issue-sync/import-primitives.js +98 -0
  176. package/lib/issue-sync/legacy-link-bridge.js +436 -0
  177. package/lib/issue-sync/link-store.js +292 -0
  178. package/lib/issue-sync/project-github.js +123 -0
  179. package/lib/issue-sync/reconcile.js +195 -0
  180. package/lib/issue-sync/schema.js +126 -0
  181. package/lib/kernel/backing-issue.js +305 -0
  182. package/lib/kernel/broker.js +1218 -0
  183. package/lib/kernel/cli-broker-factory.js +130 -0
  184. package/lib/kernel/conflict-signal.js +82 -0
  185. package/lib/kernel/evaluators.js +195 -0
  186. package/lib/kernel/fs-class.js +495 -0
  187. package/lib/kernel/issue-command-contract.js +559 -0
  188. package/lib/kernel/issue-id-resolver.js +186 -0
  189. package/lib/kernel/lease-enforcer.js +158 -0
  190. package/lib/kernel/migrations.js +333 -0
  191. package/lib/kernel/planning-buckets-schema.js +109 -0
  192. package/lib/kernel/projection-jsonl-writer.js +450 -0
  193. package/lib/kernel/readiness-model.js +329 -0
  194. package/lib/kernel/schema.js +356 -0
  195. package/lib/kernel/sqlite-driver.js +2504 -0
  196. package/lib/kernel/taxonomy-validator.js +394 -0
  197. package/lib/lefthook-check.js +8 -4
  198. package/lib/lefthook-wiring.js +413 -0
  199. package/lib/mcp-config-renderer.js +288 -0
  200. package/lib/memory/graphiti-mcp.js +106 -0
  201. package/lib/memory/router.js +387 -0
  202. package/lib/memory/typed-api.js +102 -0
  203. package/lib/memory-digest.js +195 -0
  204. package/lib/merge-rules.js +395 -0
  205. package/lib/migrate-dry-run.js +466 -0
  206. package/lib/orientation.js +863 -0
  207. package/lib/package-manager-remediation.js +103 -0
  208. package/lib/package-root.js +381 -0
  209. package/lib/patch-intent.js +890 -0
  210. package/lib/plugin-catalog.js +3 -4
  211. package/lib/plugin-manager.js +0 -5
  212. package/lib/pr-bundle.js +186 -0
  213. package/lib/pr-monitor/differ.js +195 -0
  214. package/lib/pr-monitor/events.js +0 -0
  215. package/lib/pr-monitor/gather.js +124 -0
  216. package/lib/pr-monitor/journal.js +299 -0
  217. package/lib/pr-monitor/monitor.js +146 -0
  218. package/lib/pr-monitor/render-sticky.js +157 -0
  219. package/lib/pr-monitor/watch-lifecycle.js +95 -0
  220. package/lib/pr-monitor/watch.js +247 -0
  221. package/lib/pr-pull.js +1273 -0
  222. package/lib/pr-shepherd.js +494 -0
  223. package/lib/pr-state-validator.js +59 -0
  224. package/lib/preflight/gates.js +237 -0
  225. package/lib/preflight/runner.js +116 -0
  226. package/lib/project-discovery.js +0 -53
  227. package/lib/project-memory.js +166 -0
  228. package/lib/protected-path-manifest.js +281 -0
  229. package/lib/protected-state-surfaces.js +387 -0
  230. package/lib/release-readiness.js +2089 -0
  231. package/lib/reset.js +59 -45
  232. package/lib/review-adapter.js +68 -0
  233. package/lib/rules-sync.js +260 -0
  234. package/lib/runtime-health.js +332 -23
  235. package/lib/safety-config-renderer.js +268 -0
  236. package/lib/setup-action-log.js +1 -7
  237. package/lib/setup.js +27 -65
  238. package/lib/shell-utils.js +76 -6
  239. package/lib/skills-sync.js +330 -0
  240. package/lib/smart-status/conflicts.js +205 -0
  241. package/lib/smart-status/scoring.js +191 -0
  242. package/lib/status/beads-snapshot.js +145 -0
  243. package/lib/status/presenter.js +216 -0
  244. package/lib/status/snapshot.js +186 -0
  245. package/lib/sync-backend.js +202 -0
  246. package/lib/untrusted-content.js +52 -0
  247. package/lib/upgrade-safety.js +199 -0
  248. package/lib/workflow/enforce-stage.js +298 -47
  249. package/lib/workflow/stage-transition.js +115 -0
  250. package/lib/workflow/stages.js +30 -6
  251. package/lib/workflow/state-manager.js +159 -14
  252. package/lib/workflow/state.js +23 -1
  253. package/lib/workflow-profiles.js +17 -5
  254. package/package.json +46 -36
  255. package/rules/documentation.md +19 -0
  256. package/rules/kernel-tracking.md +26 -0
  257. package/rules/security.md +22 -0
  258. package/rules/tdd.md +20 -0
  259. package/rules/workflow.md +27 -0
  260. package/scripts/auto-backing-issue.js +47 -0
  261. package/scripts/beads-context.sh +165 -22
  262. package/scripts/beads-migrate-to-dolt.sh +7 -0
  263. package/scripts/beads-upgrade-smoke.sh +284 -0
  264. package/scripts/behavioral-judge.sh +115 -11
  265. package/scripts/benchmark.js +349 -63
  266. package/scripts/bootstrap-windows-tools.sh +78 -0
  267. package/scripts/branch-protection.js +2 -3
  268. package/scripts/check-agents.js +34 -137
  269. package/scripts/commitlint.js +3 -1
  270. package/scripts/conflict-detect.sh +3 -0
  271. package/scripts/dep-guard-analyze.js +52 -17
  272. package/scripts/dep-guard-keyword-ripple.js +29 -0
  273. package/scripts/dep-guard-render-review.js +86 -0
  274. package/scripts/dep-guard.sh +64 -232
  275. package/scripts/file-index.sh +3 -0
  276. package/scripts/forge-team/lib/claim.sh +34 -18
  277. package/scripts/forge-team/lib/dashboard.sh +61 -86
  278. package/scripts/forge-team/lib/epic.sh +99 -263
  279. package/scripts/forge-team/lib/hooks.sh +26 -28
  280. package/scripts/forge-team/lib/identity.sh +4 -4
  281. package/scripts/forge-team/lib/sync-github.sh +144 -47
  282. package/scripts/forge-team/lib/verify.sh +93 -83
  283. package/scripts/forge-team/lib/workload.sh +41 -65
  284. package/scripts/forge-team/tests/claim.test.sh +25 -19
  285. package/scripts/forge-team/tests/dashboard.test.sh +31 -46
  286. package/scripts/forge-team/tests/epic.test.sh +52 -71
  287. package/scripts/forge-team/tests/hooks.test.sh +38 -50
  288. package/scripts/forge-team/tests/identity.test.sh +3 -3
  289. package/scripts/forge-team/tests/integration.test.sh +44 -66
  290. package/scripts/forge-team/tests/sync-github.test.sh +183 -79
  291. package/scripts/forge-team/tests/verify.test.sh +37 -46
  292. package/scripts/forge-team/tests/workflow-integration.test.sh +4 -4
  293. package/scripts/forge-team/tests/workload.test.sh +32 -66
  294. package/scripts/gen-command-manifest.js +153 -0
  295. package/scripts/gen-embedded-assets.mjs +129 -0
  296. package/scripts/install.ps1 +139 -0
  297. package/scripts/install.sh +268 -0
  298. package/scripts/lib/beads-migrate-to-dolt.mjs +503 -0
  299. package/scripts/lib/release-asset.mjs +84 -0
  300. package/scripts/parity-check.mjs +145 -0
  301. package/scripts/parity-check.test.mjs +58 -0
  302. package/scripts/pin-agentic-workflow-images.js +112 -0
  303. package/scripts/pr-coordinator.sh +3 -0
  304. package/scripts/preflight-sonar.eslint.config.mjs +44 -0
  305. package/scripts/preflight.sh +108 -0
  306. package/scripts/protected-state-check.js +104 -0
  307. package/scripts/smart-status-score.js +31 -0
  308. package/scripts/smart-status-sessions.js +51 -0
  309. package/scripts/smart-status.sh +117 -369
  310. package/scripts/spikes/config-race-bench.js +111 -0
  311. package/scripts/spikes/harness-capability-matrix.js +13 -0
  312. package/scripts/spikes/patch-anchor-stability-bench.js +125 -0
  313. package/scripts/spikes/protected-path-manifest.js +20 -0
  314. package/scripts/spikes/skill-auto-invoke-parity.js +292 -0
  315. package/scripts/sync-agent-skills.js +62 -0
  316. package/scripts/sync-agentic-workflow.js +48 -0
  317. package/scripts/sync-utils.sh +3 -0
  318. package/scripts/test-ci-shard.js +251 -0
  319. package/scripts/test-dashboard.js +188 -52
  320. package/scripts/test-full-suite.js +186 -0
  321. package/scripts/test-profile.js +278 -0
  322. package/scripts/test.js +302 -28
  323. package/scripts/validate.js +143 -0
  324. package/scripts/validate.sh +18 -1
  325. package/skills/claim-safety/SKILL.md +102 -0
  326. package/skills/claim-safety/evals/evals.json +46 -0
  327. package/{.github/prompts/dev.prompt.md → skills/dev/SKILL.md} +46 -52
  328. package/skills/dev/evals/evals.json +50 -0
  329. package/skills/hermes-forge/SKILL.md +185 -0
  330. package/skills/hermes-forge/evals/evals.json +46 -0
  331. package/skills/issue-basics/SKILL.md +111 -0
  332. package/skills/issue-basics/evals/evals.json +46 -0
  333. package/skills/kernel/SKILL.md +166 -0
  334. package/skills/kernel/evals/evals.json +50 -0
  335. package/skills/memory/SKILL.md +102 -0
  336. package/skills/parallel-deep-research/SKILL.md +14 -11
  337. package/skills/parallel-deep-research/evals/evals.json +11 -27
  338. package/{.github/prompts/plan.prompt.md → skills/plan/SKILL.md} +134 -159
  339. package/skills/plan/evals/evals.json +42 -0
  340. package/skills/research/SKILL.md +195 -0
  341. package/skills/research/evals/evals.json +42 -0
  342. package/{.github/prompts/review.prompt.md → skills/review/SKILL.md} +98 -62
  343. package/skills/review/evals/evals.json +42 -0
  344. package/skills/rollback/SKILL.md +110 -0
  345. package/skills/rollback/evals/evals.json +46 -0
  346. package/skills/rollback/references/methods.md +204 -0
  347. package/{.cursor/commands/rollback.md → skills/rollback/references/workflow-integration.md} +10 -284
  348. package/skills/shepherd/SKILL.md +66 -0
  349. package/skills/shepherd/evals/evals.json +42 -0
  350. package/skills/ship/SKILL.md +251 -0
  351. package/skills/ship/evals/evals.json +42 -0
  352. package/skills/smith/SKILL.md +142 -0
  353. package/skills/smith/evals/evals.json +46 -0
  354. package/skills/smith/references/autonomy-and-gates.md +94 -0
  355. package/{.github/prompts/sonarcloud.prompt.md → skills/sonarcloud/SKILL.md} +14 -3
  356. package/skills/sonarcloud/evals/evals.json +46 -0
  357. package/skills/sonarcloud-analysis/SKILL.md +18 -13
  358. package/skills/sonarcloud-analysis/evals/evals.json +11 -15
  359. package/skills/status/SKILL.md +102 -0
  360. package/skills/status/evals/evals.json +50 -0
  361. package/skills/triage-ready/SKILL.md +121 -0
  362. package/skills/triage-ready/evals/evals.json +42 -0
  363. package/{.github/prompts/validate.prompt.md → skills/validate/SKILL.md} +52 -29
  364. package/skills/validate/evals/evals.json +42 -0
  365. package/skills/verify/SKILL.md +299 -0
  366. package/skills/verify/evals/evals.json +50 -0
  367. package/.claude/commands/dev.md +0 -345
  368. package/.claude/commands/plan.md +0 -566
  369. package/.claude/commands/premerge.md +0 -186
  370. package/.claude/commands/research.md +0 -42
  371. package/.claude/commands/review.md +0 -451
  372. package/.claude/commands/rollback.md +0 -721
  373. package/.claude/commands/ship.md +0 -213
  374. package/.claude/commands/sonarcloud.md +0 -152
  375. package/.claude/commands/status.md +0 -90
  376. package/.claude/commands/validate.md +0 -288
  377. package/.claude/commands/verify.md +0 -269
  378. package/.claude/rules/workflow.md +0 -121
  379. package/.cline/workflows/dev.md +0 -342
  380. package/.cline/workflows/plan.md +0 -563
  381. package/.cline/workflows/premerge.md +0 -183
  382. package/.cline/workflows/research.md +0 -39
  383. package/.cline/workflows/review.md +0 -448
  384. package/.cline/workflows/rollback.md +0 -718
  385. package/.cline/workflows/ship.md +0 -210
  386. package/.cline/workflows/sonarcloud.md +0 -146
  387. package/.cline/workflows/status.md +0 -87
  388. package/.cline/workflows/validate.md +0 -285
  389. package/.cline/workflows/verify.md +0 -266
  390. package/.codex/config.toml +0 -11
  391. package/.codex/skills/dev/SKILL.md +0 -345
  392. package/.codex/skills/plan/SKILL.md +0 -566
  393. package/.codex/skills/premerge/SKILL.md +0 -186
  394. package/.codex/skills/research/SKILL.md +0 -42
  395. package/.codex/skills/review/SKILL.md +0 -451
  396. package/.codex/skills/rollback/SKILL.md +0 -721
  397. package/.codex/skills/ship/SKILL.md +0 -213
  398. package/.codex/skills/sonarcloud/SKILL.md +0 -149
  399. package/.codex/skills/status/SKILL.md +0 -90
  400. package/.codex/skills/validate/SKILL.md +0 -288
  401. package/.codex/skills/verify/SKILL.md +0 -269
  402. package/.cursor/commands/dev.md +0 -342
  403. package/.cursor/commands/plan.md +0 -563
  404. package/.cursor/commands/premerge.md +0 -183
  405. package/.cursor/commands/research.md +0 -39
  406. package/.cursor/commands/review.md +0 -448
  407. package/.cursor/commands/ship.md +0 -210
  408. package/.cursor/commands/sonarcloud.md +0 -146
  409. package/.cursor/commands/status.md +0 -87
  410. package/.cursor/commands/validate.md +0 -285
  411. package/.cursor/commands/verify.md +0 -266
  412. package/.cursorrules +0 -149
  413. package/.github/prompts/premerge.prompt.md +0 -188
  414. package/.github/prompts/research.prompt.md +0 -44
  415. package/.github/prompts/rollback.prompt.md +0 -723
  416. package/.github/prompts/ship.prompt.md +0 -215
  417. package/.github/prompts/status.prompt.md +0 -92
  418. package/.github/prompts/verify.prompt.md +0 -271
  419. package/.github/workflows/beads-to-github.yml +0 -56
  420. package/.github/workflows/github-to-beads.yml +0 -97
  421. package/.kilocode/workflows/dev.md +0 -346
  422. package/.kilocode/workflows/plan.md +0 -567
  423. package/.kilocode/workflows/premerge.md +0 -187
  424. package/.kilocode/workflows/research.md +0 -43
  425. package/.kilocode/workflows/review.md +0 -452
  426. package/.kilocode/workflows/rollback.md +0 -722
  427. package/.kilocode/workflows/ship.md +0 -214
  428. package/.kilocode/workflows/sonarcloud.md +0 -150
  429. package/.kilocode/workflows/status.md +0 -91
  430. package/.kilocode/workflows/validate.md +0 -289
  431. package/.kilocode/workflows/verify.md +0 -270
  432. package/.opencode/commands/dev.md +0 -345
  433. package/.opencode/commands/plan.md +0 -566
  434. package/.opencode/commands/premerge.md +0 -186
  435. package/.opencode/commands/research.md +0 -42
  436. package/.opencode/commands/review.md +0 -451
  437. package/.opencode/commands/rollback.md +0 -721
  438. package/.opencode/commands/ship.md +0 -213
  439. package/.opencode/commands/sonarcloud.md +0 -149
  440. package/.opencode/commands/status.md +0 -90
  441. package/.opencode/commands/validate.md +0 -288
  442. package/.opencode/commands/verify.md +0 -269
  443. package/.roo/commands/dev.md +0 -346
  444. package/.roo/commands/plan.md +0 -567
  445. package/.roo/commands/premerge.md +0 -187
  446. package/.roo/commands/research.md +0 -43
  447. package/.roo/commands/review.md +0 -452
  448. package/.roo/commands/rollback.md +0 -722
  449. package/.roo/commands/ship.md +0 -214
  450. package/.roo/commands/sonarcloud.md +0 -150
  451. package/.roo/commands/status.md +0 -91
  452. package/.roo/commands/validate.md +0 -289
  453. package/.roo/commands/verify.md +0 -270
  454. package/docs/BEADS_GITHUB_SYNC.md +0 -255
  455. package/docs/GREPTILE_SETUP.md +0 -400
  456. package/docs/MANUAL_REVIEW_GUIDE.md +0 -106
  457. package/docs/SETUP.md +0 -663
  458. package/docs/VALIDATION.md +0 -363
  459. package/lib/agents/cline.plugin.json +0 -29
  460. package/lib/agents/copilot.plugin.json +0 -24
  461. package/lib/agents/kilocode.plugin.json +0 -22
  462. package/lib/agents/opencode.plugin.json +0 -23
  463. package/lib/agents/roo.plugin.json +0 -30
  464. package/lib/beads-health-check.js +0 -143
  465. package/lib/commands/commands-reset.js +0 -147
  466. package/opencode.json +0 -67
  467. package/scripts/beads-context.test.js +0 -567
  468. package/scripts/github-beads-sync/comment.mjs +0 -64
  469. package/scripts/github-beads-sync/config.mjs +0 -148
  470. package/scripts/github-beads-sync/github-api.mjs +0 -131
  471. package/scripts/github-beads-sync/index.mjs +0 -332
  472. package/scripts/github-beads-sync/label-mapper.mjs +0 -54
  473. package/scripts/github-beads-sync/mapping.mjs +0 -78
  474. package/scripts/github-beads-sync/reverse-sync-cli.mjs +0 -31
  475. package/scripts/github-beads-sync/reverse-sync.mjs +0 -138
  476. package/scripts/github-beads-sync/run-bd.mjs +0 -161
  477. package/scripts/github-beads-sync/sanitize.mjs +0 -121
  478. package/scripts/github-beads-sync.config.json +0 -26
  479. package/scripts/sync-commands.js +0 -600
@@ -0,0 +1,195 @@
1
+ ---
2
+ name: research
3
+ description: >
4
+ Forge RESEARCH — a first-class, freely-invocable investigation skill any agent can call
5
+ standalone OR mid-workflow (mid-/dev, mid-/validate, mid-/plan), not a plan-only stage. Use
6
+ it to verify/fact-check a claim against primary sources; web-search best practices, gotchas,
7
+ and docs; find better options/patterns and weigh trade-offs; see both sides (steelman the
8
+ right way AND red-team the wrong way); pull inspiration from stronger sources; and run the
9
+ /plan Phase 2 bundle (web research + OWASP Top 10 + DRY/blast-radius codebase exploration +
10
+ 3+ TDD scenarios) under `## Technical Research`. Trigger on "verify/fact-check this",
11
+ "research X",
12
+ "find a better way/option", "is this true", "get inspiration", "run the research phase", or
13
+ mid-task "investigate before I decide". Pick over siblings: `parallel-deep-research` for a
14
+ heavyweight EXTERNAL market/competitive report (paid Parallel AI); `plan` for the full plan
15
+ stage (brainstorm + tasks); `dev` or `validate` to implement or scan rather than investigate.
16
+ allowed-tools: Bash, Read, Write, Grep, Glob, WebSearch, WebFetch
17
+ ---
18
+
19
+ Investigate anything, from anywhere: verify a claim, search the web, find better options, pull
20
+ inspiration from stronger sources, weigh perspectives, and package technical research for a plan.
21
+
22
+ # Research
23
+
24
+ `/research` is a **first-class capability**, not a stage. Any agent may invoke it at any point —
25
+ standalone, or in the middle of another skill — whenever a question needs evidence before a
26
+ decision. It is broader than `parallel-deep-research`: that sibling is a heavyweight external
27
+ market/industry report; this skill is your everyday "go find out and come back with evidence."
28
+
29
+ ## When to use it
30
+
31
+ - **Verify a claim** — "is this API deprecated?", "does this library support X?", "is this the
32
+ current best practice?" Confirm or refute against primary sources.
33
+ - **Find a better way / better options** — enumerate real alternatives and compare trade-offs.
34
+ - **Web research** — best practices, gotchas, current docs, changelogs, version differences.
35
+ - **Inspiration / prior art** — pull stronger plans, patterns, and reference implementations
36
+ from better sources than memory.
37
+ - **Multi-perspective** — see it done the right way AND the wrong way; steelman and red-team.
38
+ - **Codebase research** — DRY, blast-radius, reusable patterns already in the repo.
39
+ - **/plan Phase 2 bundle** — the packaged deliverable `plan` delegates to (see "Plan bundle").
40
+
41
+ ## How to invoke
42
+
43
+ Standalone (user asks directly):
44
+
45
+ ```bash
46
+ /research <question or claim>
47
+ ```
48
+
49
+ From inside another skill or agent — call the Skill tool mid-flow:
50
+
51
+ ```
52
+ Skill("research") # then hand it the specific question + why you're asking
53
+ ```
54
+
55
+ Always give research: (1) the concrete question or claim, (2) the decision it feeds, and
56
+ (3) any constraints (stack, versions, repo area). Research returns **evidence, not opinion**:
57
+ cited findings, and — when a caller needs it — a recommendation with the trade-offs shown.
58
+
59
+ ---
60
+
61
+ ## Modes
62
+
63
+ Pick the mode(s) that fit the question. Most investigations combine two or three.
64
+
65
+ ### Mode A — Verify / fact-check a claim
66
+
67
+ 1. State the claim in one sentence and what would confirm vs refute it.
68
+ 2. Pull **primary sources** first (official docs, source code, specs, changelogs) via WebSearch
69
+ → WebFetch. Secondary sources (blogs, SO) only corroborate.
70
+ 3. Adversarially check: look for the counter-evidence, not just confirmation.
71
+ 4. Return: `CONFIRMED / REFUTED / MIXED / UNKNOWN` + the cited evidence + a one-line reason.
72
+
73
+ Never answer a factual claim from memory. Fetch the source, cite it (URL + the line that
74
+ settles it). "I'm confident" is not evidence.
75
+
76
+ ### Mode B — Explore options / find a better way
77
+
78
+ 1. Frame the decision and the constraints (perf, safety, complexity, lock-in, maturity).
79
+ 2. Enumerate 2–4 concrete options — include the "boring/obvious" one and at least one you did
80
+ not start with.
81
+ 3. For each: what it is, when it wins, when it loses, adoption/maintenance signal.
82
+ 4. Recommend one, with the trade-off that decides it. Show the runners-up so the caller can
83
+ overrule.
84
+
85
+ ### Mode C — Web search (quick → deep)
86
+
87
+ Depth ladder — escalate only as needed:
88
+
89
+ | Depth | Tool | Use for |
90
+ |-------|------|---------|
91
+ | Quick | built-in `WebSearch` / `WebFetch` | a fact, a doc page, one gotcha |
92
+ | Deep, cited | `Skill("deep-research")` | multi-source, adversarially verified report |
93
+ | External report | `Skill("parallel-deep-research")` | market/competitive/industry landscape (paid) |
94
+
95
+ Search terms that work: `"[stack] [feature] best practices [year]"`,
96
+ `"[library] [feature] pitfalls"`, `"[approach] known issues"`. Prefer official docs via
97
+ Context7/grep.app MCP when available for library/API questions.
98
+
99
+ ### Mode D — Inspiration / better plans from better sources
100
+
101
+ Look outward before inventing: canonical implementations, well-run OSS repos, design docs,
102
+ RFCs. Pull the *shape* of a stronger solution and adapt it — don't copy blindly. Note the
103
+ source so the plan can cite where the idea came from.
104
+
105
+ ### Mode E — Multi-perspective (steelman + red-team)
106
+
107
+ For anything consequential, gather both:
108
+
109
+ - **Steelman (the right way)** — the strongest case for the approach and how experts do it.
110
+ - **Red-team (the wrong way)** — failure modes, anti-patterns, "why teams regret this",
111
+ security and edge-case traps.
112
+
113
+ Return both columns so the decision is made with eyes open, not just the happy path.
114
+
115
+ ### Mode F — Codebase research (DRY + blast-radius)
116
+
117
+ Use actual search tools — never rely on memory:
118
+
119
+ ```
120
+ Grep("<function or concept>") # existing implementations to reuse
121
+ Glob("**/*.<ext>") # narrow to affected file types
122
+ Read(<match>) # inspect matches in context
123
+ ```
124
+
125
+ - **DRY**: if a match exists, prefer "extend existing <file>:<line>" over "create new".
126
+ - **Blast-radius** (for remove/rename/replace): grep the entire repo (exact + case-insensitive
127
+ + `Glob("**/*<thing>*")`), then list every hit — including `package.json`, install/setup
128
+ scripts, CI workflows, agent config, and docs — so nothing is missed.
129
+
130
+ For broad multi-location sweeps, spawn the `Explore` agent and keep only its summary.
131
+
132
+ ---
133
+
134
+ ## Plan bundle (what `/plan` Phase 2 delegates to)
135
+
136
+ When invoked by `/plan` for a feature's design doc, run the full technical bundle and append it
137
+ under a `## Technical Research` section in `docs/work/YYYY-MM-DD-<slug>/plan.md`:
138
+
139
+ 1. **Web research** (Mode C) — best practices, gotchas, patterns for the chosen approach.
140
+ 2. **OWASP Top 10 pass** — for each relevant category (A01–A10): the risk, whether it applies,
141
+ and the planned mitigation.
142
+ 3. **DRY check** (Mode F) — reusable existing implementations.
143
+ 4. **Blast-radius search** (Mode F) — required for any remove/rename/replace; every reference
144
+ captured for the task list.
145
+ 5. **Codebase exploration** — similar patterns, affected files, test infra to leverage.
146
+ 6. **TDD scenarios** — at minimum 3: happy path, error/failure path, and one Phase-1 edge case.
147
+
148
+ The caller's HARD-GATE (in `/plan`) still verifies these outputs exist — research produces
149
+ them; the gate enforces them. Do not treat delegation as a way to skip the gate.
150
+
151
+ ---
152
+
153
+ ## Invoked mid-flow (examples)
154
+
155
+ - **Mid-/validate** — a security or type failure surfaces and the fix is unclear: call
156
+ `Skill("research")` to verify the correct API/pattern against primary sources before editing
157
+ (feeds the D2 root-cause trace), then return to validation.
158
+ - **Mid-/dev** — a decision gate fires on a spec gap: research the options (Mode B) and current
159
+ best practice (Mode C) so the decision is evidence-backed, then log the decision and continue.
160
+ - **Mid-/plan** — an approach looks shaky during brainstorming: research alternatives and
161
+ red-team the front-runner (Mode E) before committing the design.
162
+ - **Any agent, any time** — "before I decide, let me check" is always a valid reason to invoke.
163
+
164
+ ## Output contract
165
+
166
+ - Cite every non-obvious claim (URL or `file:line`) — findings without sources are opinions.
167
+ - Lead with the answer/recommendation, then the evidence, then the runners-up.
168
+ - When invoked by `/plan`, append to the design doc's `## Technical Research` section (not a
169
+ separate file). When invoked mid-flow, return a concise evidence-backed answer to the caller.
170
+ - Flag what you could NOT verify as `UNKNOWN` rather than guessing.
171
+
172
+ ## Integration with workflow
173
+
174
+ ```
175
+ Utility: /status -> Understand current context before starting
176
+
177
+ Default template:
178
+ /plan -> Optional default planner; delegates its Phase 2 technical research to /research
179
+ /dev -> Implement each task with subagent-driven TDD (may call /research at a spec gap)
180
+ /validate -> Type check, lint, tests, security (may call /research to root-cause a failure)
181
+ /ship -> Push + create PR
182
+ /review -> Address PR feedback
183
+ /verify -> Post-merge health check
184
+
185
+ Research is callable standalone or from any of the above — it is a capability, not a gate.
186
+ ```
187
+
188
+ ## Tips
189
+
190
+ - **Evidence beats memory** — always fetch and cite; never settle a fact from recall.
191
+ - **Escalate depth deliberately** — quick WebSearch first; reach for `deep-research` or
192
+ `parallel-deep-research` only when a single search can't answer it.
193
+ - **Both perspectives** — for consequential calls, always red-team, not just steelman.
194
+ - **Delegation ≠ skipping gates** — when `/plan` delegates the bundle, its HARD-GATE still
195
+ checks OWASP + 3 TDD scenarios + blast-radius are present.
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "query": "The design doc for the rate-limiter is already written — now go do the technical research: best practices, known gotchas for this approach, and drop it under Technical Research in the doc.",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "Run an OWASP Top 10 pass over this new file-upload feature and record which categories actually apply and how we'll mitigate each.",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "Before we build the caching layer, search the codebase for anything we can reuse and make sure we're not duplicating an existing helper.",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "Just do the research phase for this feature — web plus codebase investigation and at least three TDD scenarios — skip the brainstorm and the worktree setup.",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "Pull together the security and best-practices research for the OAuth integration and append it to the feature's design doc.",
20
+ "should_trigger": true
21
+ },
22
+ {
23
+ "query": "Let's plan this feature from scratch — brainstorm the design with me one question at a time, then create the branch, worktree, and task list.",
24
+ "should_trigger": false
25
+ },
26
+ {
27
+ "query": "I need a competitive landscape report comparing Datadog, Grafana Cloud, and New Relic on pricing and features for a 500-node cluster.",
28
+ "should_trigger": false
29
+ },
30
+ {
31
+ "query": "Give me a comprehensive market analysis of the vector-database space — top players, funding, and the 3-5 year outlook.",
32
+ "should_trigger": false
33
+ },
34
+ {
35
+ "query": "Start implementing task 1 with TDD — write the failing test first, then make it pass.",
36
+ "should_trigger": false
37
+ },
38
+ {
39
+ "query": "Run the security scan, lint, and full test suite before we open the PR.",
40
+ "should_trigger": false
41
+ }
42
+ ]
@@ -1,14 +1,25 @@
1
1
  ---
2
2
  name: review
3
- description: Address ALL PR issues (GitHub Actions, Greptile, SonarCloud, CI/CD)
4
- tools: []
3
+ description: >
4
+ Forge REVIEW stage — drives an already-open PR to all-green by resolving EVERY piece of
5
+ feedback: failing GitHub Actions / CI checks, Greptile and CodeRabbit inline comments and
6
+ summaries, and the SonarCloud quality gate. It fixes the code, replies to each thread and
7
+ marks it resolved until checks pass, then runs the pre-merge doc gate and hands the PR off
8
+ for MANUAL merge — never runs `gh pr merge`. Use whenever a PR has review feedback or red
9
+ checks: "address the review comments on PR #123", "the bots flagged issues / Greptile score
10
+ is low", "fix the failing checks and resolve the threads", "CodeRabbit and SonarCloud left
11
+ comments", "get my PR merge-ready". This MUTATING feedback-resolution stage is distinct from
12
+ shepherd (only WATCHES an open PR, changes nothing), verify (POST-merge CI health check +
13
+ closing issues), ship (pushes the branch + opens the PR), validate (PRE-PR local
14
+ type/lint/test/security), and sonarcloud / sonarcloud-analysis (only QUERY SonarCloud data).
15
+ allowed-tools: Bash, Read, Edit, Grep, Glob
5
16
  ---
6
17
 
7
- Process ALL pull request issues including GitHub Actions failures, Greptile inline comments, SonarCloud analysis, and other CI/CD checks.
18
+ Process ALL pull request issues including GitHub Actions failures, review-agent inline comments (Greptile, CodeRabbit, Qodo, or human reviewers), SonarCloud analysis, and other CI/CD checks.
8
19
 
9
20
  # Review
10
21
 
11
- This command handles ALL issues that arise after creating a pull request.
22
+ This skill handles ALL issues that arise after creating a pull request.
12
23
 
13
24
  ## Usage
14
25
 
@@ -16,7 +27,7 @@ This command handles ALL issues that arise after creating a pull request.
16
27
  /review <pr-number>
17
28
  ```
18
29
 
19
- ## What This Command Does
30
+ ## What This Skill Does
20
31
 
21
32
  ### Step 1: Fetch Complete PR Status
22
33
  ```bash
@@ -64,22 +75,22 @@ gh run view <run-id> --log-failed
64
75
  - Type failures: TypeScript type errors
65
76
  - Deployment failures: Env vars, configuration issues
66
77
 
67
- ### Step 3: Process Greptile Review
78
+ ### Step 3: Process Review-Agent Feedback
68
79
 
69
- Greptile provides TWO types of feedback:
80
+ Review agents (Greptile, CodeRabbit, Qodo, or human reviewers) provide TWO types of feedback:
70
81
  1. **Inline comments** on specific code lines
71
82
  2. **Summary** with overall recommendations
72
83
 
73
- **IMPORTANT**: Use the **systematic Greptile resolution process** documented in `.claude/rules/greptile-review-process.md`. This process has been standardized to ensure:
84
+ **IMPORTANT**: Use the **systematic review-thread resolution process** documented in `.claude/rules/review-process.md`. This process is author-agnostic — it works the same whichever tool or person left the comment — and has been standardized to ensure:
74
85
  - All threads are replied to directly (not as separate PR comments)
75
86
  - All threads are marked as resolved after fixing
76
87
  - No manual tracking overhead for maintainers
77
88
 
78
- #### 3A. Check Greptile Inline Comments (Use Systematic Process)
89
+ #### 3A. Check Inline Review Comments (Use Systematic Process)
79
90
 
80
91
  **Step 1: List all unresolved threads**
81
92
  ```bash
82
- bash .claude/scripts/greptile-resolve.sh list <pr-number> --unresolved
93
+ bash .claude/scripts/review-resolve.sh list <pr-number> --unresolved
83
94
  ```
84
95
 
85
96
  This shows:
@@ -96,7 +107,7 @@ This shows:
96
107
 
97
108
  2. **Categorize the comment**:
98
109
  - **Valid**: Should be implemented (security issue, bug, clear improvement)
99
- - **Invalid**: Greptile misunderstood context
110
+ - **Invalid**: the review agent misunderstood context
100
111
  - **Conflicting**: Contradicts research decisions with good reason
101
112
  - **Out of scope**: Valid but not for this PR
102
113
 
@@ -107,7 +118,7 @@ This shows:
107
118
  4. **Reply and resolve** (for ALL comments, even invalid ones)
108
119
  ```bash
109
120
  # For valid issues (fixed):
110
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
121
+ bash .claude/scripts/review-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
111
122
  "✅ Fixed: [description]
112
123
 
113
124
  Changed: [what was changed]
@@ -115,27 +126,27 @@ This shows:
115
126
  Commit: [commit-sha]"
116
127
 
117
128
  # For invalid/conflicting issues:
118
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
129
+ bash .claude/scripts/review-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
119
130
  "This approach is correct because:
120
131
  - Reasoning: [from design doc]
121
132
  - Evidence: [link to source]
122
- - Alternative considered: [what Greptile suggested]
133
+ - Alternative considered: [what the review agent suggested]
123
134
  - Why rejected: [specific reason]
124
135
 
125
- See: docs/plans/YYYY-MM-DD-<slug>-design.md (Decision #X)"
136
+ See: docs/work/YYYY-MM-DD-<slug>/plan.md (Decision #X)"
126
137
  ```
127
138
 
128
139
  **Step 3: Verify all resolved**
129
140
  ```bash
130
- bash .claude/scripts/greptile-resolve.sh stats <pr-number>
141
+ bash .claude/scripts/review-resolve.sh stats <pr-number>
131
142
  ```
132
- Should show: "✓ All Greptile threads resolved!"
143
+ Should show: all review threads resolved.
133
144
 
134
- **See complete process**: `.claude/rules/greptile-review-process.md`
145
+ **See complete process**: `.claude/rules/review-process.md`
135
146
 
136
- #### 3B. Check Greptile Summary
147
+ #### 3B. Check the Review-Agent Summary
137
148
  ```bash
138
- # Greptile usually posts a summary comment on the PR
149
+ # Review agents usually post a summary comment on the PR
139
150
  # Review the overall assessment and recommendations
140
151
  ```
141
152
 
@@ -186,8 +197,8 @@ Review any other automated checks:
186
197
 
187
198
  Create a master list of all issues from:
188
199
  - GitHub Actions failures
189
- - Greptile inline comments
190
- - Greptile summary recommendations
200
+ - Review-agent inline comments
201
+ - Review-agent summary recommendations
191
202
  - SonarCloud issues
192
203
  - Other CI/CD tool failures
193
204
 
@@ -214,13 +225,13 @@ git push
214
225
  # Actions will auto-rerun
215
226
  ```
216
227
 
217
- For **Greptile inline comments** (Use Systematic Script):
228
+ For **inline review comments** (Use Systematic Script):
218
229
  ```bash
219
- # Use the standardized Greptile resolution script
220
- # See .claude/rules/greptile-review-process.md for complete process
230
+ # Use the standardized review-thread resolution script
231
+ # See .claude/rules/review-process.md for complete process
221
232
 
222
233
  # For valid comments (fixed):
223
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
234
+ bash .claude/scripts/review-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
224
235
  "✅ Fixed: [description]
225
236
 
226
237
  Changed: [what was changed]
@@ -228,28 +239,28 @@ bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-
228
239
  Commit: [commit-sha]"
229
240
 
230
241
  # For invalid/conflicting comments:
231
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
242
+ bash .claude/scripts/review-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
232
243
  "This approach is correct because:
233
244
  - Reasoning: [from design doc]
234
245
  - Evidence: [link to source]
235
- - Alternative considered: [what Greptile suggested]
246
+ - Alternative considered: [what the review agent suggested]
236
247
  - Why rejected: [specific reason]
237
248
 
238
- See: docs/plans/YYYY-MM-DD-<slug>-design.md (Decision #X)"
249
+ See: docs/work/YYYY-MM-DD-<slug>/plan.md (Decision #X)"
239
250
 
240
251
  # Verify all threads resolved:
241
- bash .claude/scripts/greptile-resolve.sh stats <pr-number>
252
+ bash .claude/scripts/review-resolve.sh stats <pr-number>
242
253
  ```
243
254
 
244
- For **Greptile summary recommendations**:
255
+ For **review-agent summary recommendations**:
245
256
  ```bash
246
257
  # Add a PR comment addressing the summary
247
- gh pr comment <pr-number> --body "## Greptile Summary Response
258
+ gh pr comment <pr-number> --body "## Review Summary Response
248
259
 
249
260
  Addressed all key recommendations:
250
261
  - [Recommendation 1]: ✓ Fixed in commit <sha>
251
262
  - [Recommendation 2]: ✓ Explained (see inline response)
252
- - [Recommendation 3]: ⏭️ Out of scope for this PR (created issue bd-xxx)
263
+ - [Recommendation 3]: ⏭️ Out of scope for this PR (created issue forge-xxx)
253
264
 
254
265
  All critical and high-priority items resolved."
255
266
  ```
@@ -280,7 +291,7 @@ git commit -m "fix: address ALL PR review feedback
280
291
  GitHub Actions:
281
292
  - Fixed: [list of workflow failures resolved]
282
293
 
283
- Greptile:
294
+ Review agents:
284
295
  - Fixed: [list of valid inline comments addressed]
285
296
  - Explained: [list of invalid comments with reasoning]
286
297
  - Summary: [key recommendations addressed]
@@ -308,16 +319,16 @@ gh pr checks <pr-number>
308
319
  #
309
320
  # Ensure all completed status checks are green:
310
321
  # ✓ GitHub Actions workflows
311
- # ✓ Greptile review (no unresolved critical comments)
322
+ # ✓ Review agents (no unresolved critical comments)
312
323
  # ✓ SonarCloud quality gate
313
324
  # ✓ Other CI/CD checks
314
325
  ```
315
326
 
316
- ### Step 10: Update Beads
327
+ ### Step 10: Update the Forge issue
317
328
 
318
329
  ```bash
319
- bd update <id> --comment "PR review complete: all issues addressed, all checks passing"
320
- bd sync
330
+ forge comment <id> "PR review complete: all issues addressed, all checks passing"
331
+ forge sync
321
332
  ```
322
333
 
323
334
  ## Example Output
@@ -328,7 +339,7 @@ bd sync
328
339
  - Tests: ✓ Passing
329
340
  - Deploy Preview: ✓ Passing
330
341
 
331
- Greptile Review:
342
+ Review-Agent Feedback:
332
343
  Inline Comments: 8 total
333
344
  - Valid: 5 → Fixed & replied inline
334
345
  - Invalid: 2 → Explained with research evidence & replied inline
@@ -358,38 +369,63 @@ bd sync
358
369
 
359
370
  ✓ Fixes committed: 3c4d5e6
360
371
  ✓ All checks passing: ✓
361
- Beads updated: Ready for merge
372
+ Forge issue updated: Ready for merge
362
373
 
363
- Next: /premerge <pr-number>
374
+ Next: pre-merge gate — finish docs + confirm CI green, then hand off the PR for merge
364
375
  ```
365
376
 
366
377
  ```
367
378
  <HARD-GATE: /review exit>
368
379
  Do NOT declare /review complete until:
369
- 1. bash .claude/scripts/greptile-resolve.sh stats <pr-number> shows "All Greptile threads resolved"
380
+ 1. bash .claude/scripts/review-resolve.sh stats <pr-number> shows all review threads resolved
370
381
  2. ALL human reviewer comments are either resolved or have a reply with explanation
371
382
  3. gh pr checks <pr-number> shows all checks passing
372
- 4. Context check: Run `bash scripts/beads-context.sh validate <id>` and address any warnings
373
- 5. Stage transition: Run the following exit 0 confirmed:
374
- bash scripts/beads-context.sh stage-transition <id> review premerge \
375
- --summary "<all feedback addressed summary>" \
376
- --decisions "<comment resolutions valid fixes and justified rejections>" \
377
- --artifacts "<fixed files, commit SHAs>" \
378
- --next "<doc update needs for premerge>"
383
+ 4. Context check: confirm design + acceptance on the Forge issue (`forge issue show <id>`); if the beads-context helper is present, run `bash scripts/beads-context.sh validate <id>` and address any warnings
384
+ 5. Stage transition recorded (structured helper when present; kernel-native comment otherwise):
385
+ if [ -f scripts/beads-context.sh ]; then
386
+ bash scripts/beads-context.sh stage-transition <id> review verify \
387
+ --summary "<all feedback addressed summary>" \
388
+ --decisions "<comment resolutions valid fixes and justified rejections>" \
389
+ --artifacts "<fixed files, commit SHAs>" \
390
+ --next "<pre-merge gate: finish docs + CI green, then hand off for merge>"
391
+ else
392
+ forge comment <id> "Stage: review complete → ready for verify
393
+ Summary: <all feedback addressed summary>
394
+ Decisions: <comment resolutions — valid fixes and justified rejections>
395
+ Artifacts: <fixed files, commit SHAs>
396
+ Next: <pre-merge gate: finish docs + CI green, then hand off for merge>"
397
+ fi
379
398
  </HARD-GATE>
380
399
  ```
381
400
 
401
+ ## Pre-merge gate (before merge)
402
+
403
+ Pre-merge is a doc-update **gate/checkpoint**, not a separate stage — run it here, once feedback is addressed and before the PR is handed off for merge, whenever the change touches anything documented:
404
+
405
+ 1. **Finish the docs on the feature branch** (update only what genuinely changed):
406
+ - `CHANGELOG.md` (always) — entry under `## [Unreleased]` using Keep a Changelog categories, with PR number + issue ID.
407
+ - `README.md` (user-facing), `docs/reference/API_REFERENCE.md` (API), architecture docs (structural).
408
+ - `CLAUDE.md` — **USER section only** (between the USER markers); never touch other managed blocks.
409
+ - `AGENTS.md` (agent config, skills, or cross-agent workflow changes).
410
+ Commit the doc updates to the feature branch and push.
411
+ 2. **Confirm CI is green** — doc commits re-trigger CI; poll briefly (~60s), then hand off if still pending.
412
+ 3. **Sync the issue store** — `forge sync`.
413
+ 4. **Hand off for MANUAL merge** — present the PR and stop. **Never run `gh pr merge`; never auto-merge.** The user merges in the GitHub UI, then runs `/verify`.
414
+
382
415
  ## Integration with Workflow
383
416
 
384
417
  ```
385
- Utility: /status Understand current context before starting
386
- Stage 1: /plan → Design intent → research → branch + worktree + task list
387
- Stage 2: /dev → Implement each task with subagent-driven TDD
388
- Stage 3: /validate Type check, lint, tests, security all fresh output
389
- Stage 4: /ship Push + create PR
390
- Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud (you are here)
391
- Stage 6: /premerge → Update docs, hand off PR to user
392
- Stage 7: /verify → Post-merge CI check on main
418
+ Utility: /status -> Understand current context before starting
419
+
420
+ Default template:
421
+ /plan -> Optional default planner; external planners may satisfy /dev entry
422
+ /dev -> Implement each task with subagent-driven TDD
423
+ /validate -> Type check, lint, tests, security
424
+ /ship -> Push + create PR
425
+ /review -> Address PR feedback
426
+ /verify -> Post-merge health check
427
+
428
+ Pre-merge gate: doc updates + CI-green checkpoint embedded in /ship and /review (not a separate stage).
393
429
  ```
394
430
 
395
431
  ## Understanding the Tools
@@ -441,13 +477,13 @@ Stage 7: /verify → Post-merge CI check on main
441
477
 
442
478
  ## Tips
443
479
 
444
- - **Address ALL issues**: Not just Greptile and SonarCloud
480
+ - **Address ALL issues**: Not just one review agent and SonarCloud
445
481
  - **Prioritize critical**: Fix blockers first (GitHub Actions failures, security issues)
446
- - **Reply inline to Greptile**: Respond to each comment directly
447
- - **Post summary response**: Address Greptile's overall assessment
482
+ - **Reply inline to review agents**: Respond to each comment directly
483
+ - **Post summary response**: Address the review agent's overall assessment
448
484
  - **Use sonarcloud skill**: Don't just check the web UI
449
- - **Verify all checks**: Ensure everything is green before /premerge
450
- - **Update Beads**: Keep issue status current
485
+ - **Verify all checks**: Ensure everything is green before the pre-merge gate / merge
486
+ - **Update the Forge issue**: Keep issue status current
451
487
  - **Research if needed**: Use WebSearch for unclear suggestions
452
488
  - **Document fixes**: Clear commit messages for all fixes
453
489
  - **Don't leave unresolved**: Address every comment and check
@@ -0,0 +1,42 @@
1
+ [
2
+ {
3
+ "query": "PR #204 has three red checks and a pile of Greptile comments — work through all of it and get the PR green.",
4
+ "should_trigger": true
5
+ },
6
+ {
7
+ "query": "CodeRabbit and SonarCloud both left feedback on my pull request; fix what's valid, reply to the rest, and resolve the threads.",
8
+ "should_trigger": true
9
+ },
10
+ {
11
+ "query": "The GitHub Actions build is failing on my PR and there are unresolved review threads — sort them out before I merge.",
12
+ "should_trigger": true
13
+ },
14
+ {
15
+ "query": "My Greptile confidence score is low. Address the inline comments and keep pushing fixes until the quality gate passes.",
16
+ "should_trigger": true
17
+ },
18
+ {
19
+ "query": "Handle all the reviewer feedback on the auth PR, then update the changelog and docs before we hand it off to merge.",
20
+ "should_trigger": true
21
+ },
22
+ {
23
+ "query": "Just keep an eye on PR #150 — watch the checks and review threads and ping me when it's settled and mergeable. Don't touch the code.",
24
+ "should_trigger": false
25
+ },
26
+ {
27
+ "query": "The PR is merged to master now — run the post-merge health check and close out the issue.",
28
+ "should_trigger": false
29
+ },
30
+ {
31
+ "query": "My branch passed validation; push it and open the pull request with the design-doc link.",
32
+ "should_trigger": false
33
+ },
34
+ {
35
+ "query": "Before I open a PR, run the type-check, lint, full test suite, and security scan on my branch.",
36
+ "should_trigger": false
37
+ },
38
+ {
39
+ "query": "Just pull up this PR's SonarCloud issues and quality-gate status so I can eyeball them.",
40
+ "should_trigger": false
41
+ }
42
+ ]