forge-workflow 0.0.10 → 0.1.0-beta.3

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 (468) 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 +82 -5
  5. package/.forge/hooks/forge-native-hook.js +431 -0
  6. package/.forge/protected-paths.yaml +157 -0
  7. package/AGENTS.md +151 -61
  8. package/CHANGELOG.md +709 -0
  9. package/CLAUDE.md +9 -118
  10. package/QUICKSTART.md +175 -0
  11. package/README.md +275 -365
  12. package/bin/forge-cmd.js +120 -9
  13. package/bin/forge-preflight.js +26 -5
  14. package/bin/forge.js +532 -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/forge/TOOLCHAIN.md +670 -0
  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 +121 -0
  29. package/docs/guides/SUPPORT.md +190 -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 +214 -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/{TOOLCHAIN.md → reference/TOOLCHAIN.md} +62 -47
  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 +155 -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/activation/ensure-forge-home.js +135 -0
  67. package/lib/adapter-cli.js +307 -0
  68. package/lib/adapters/beads-issue-adapter.js +127 -0
  69. package/lib/adapters/beads-kernel-compat.js +1109 -0
  70. package/lib/adapters/greptile-review-adapter.js +141 -0
  71. package/lib/adapters/kernel-issue-adapter.js +101 -0
  72. package/lib/adapters/pr-state-adapter.js +484 -0
  73. package/lib/adoption-profiles.js +139 -0
  74. package/lib/agents/README.md +2 -6
  75. package/lib/agents/claude.plugin.json +3 -8
  76. package/lib/agents/codex.plugin.json +9 -1
  77. package/lib/agents/cursor.plugin.json +2 -6
  78. package/lib/agents/hermes.plugin.json +22 -0
  79. package/lib/agents-config.js +39 -1236
  80. package/lib/audit-evidence.js +282 -0
  81. package/lib/beads-detect.js +60 -0
  82. package/lib/beads-nudge.js +91 -0
  83. package/lib/beads-setup.js +121 -0
  84. package/lib/beads-sync-scaffold.js +25 -101
  85. package/lib/codex-skills.js +51 -1
  86. package/lib/commands/_aliases.js +248 -0
  87. package/lib/commands/_issue.js +780 -77
  88. package/lib/commands/_manifest.js +93 -0
  89. package/lib/commands/_registry.js +99 -34
  90. package/lib/commands/_resolve-command-opts.js +230 -0
  91. package/lib/commands/_serve-security.js +270 -0
  92. package/lib/commands/adapter.js +12 -0
  93. package/lib/commands/add.js +118 -0
  94. package/lib/commands/audit.js +70 -0
  95. package/lib/commands/blocked.js +5 -0
  96. package/lib/commands/board.js +64 -0
  97. package/lib/commands/claim.js +21 -2
  98. package/lib/commands/claims.js +7 -0
  99. package/lib/commands/clean.js +485 -75
  100. package/lib/commands/close.js +2 -2
  101. package/lib/commands/comment.js +5 -0
  102. package/lib/commands/control.js +148 -0
  103. package/lib/commands/create.js +2 -2
  104. package/lib/commands/dev.js +185 -7
  105. package/lib/commands/doc-gate.js +336 -0
  106. package/lib/commands/doctor.js +156 -0
  107. package/lib/commands/explain.js +15 -0
  108. package/lib/commands/export.js +237 -0
  109. package/lib/commands/gate.js +209 -0
  110. package/lib/commands/hooks.js +377 -0
  111. package/lib/commands/inbox.js +118 -0
  112. package/lib/commands/init.js +604 -0
  113. package/lib/commands/insights.js +79 -0
  114. package/lib/commands/issue.js +12 -1
  115. package/lib/commands/issues.js +17 -0
  116. package/lib/commands/lint.js +5 -0
  117. package/lib/commands/list.js +2 -2
  118. package/lib/commands/memory.js +81 -0
  119. package/lib/commands/merge.js +312 -0
  120. package/lib/commands/migrate.js +362 -0
  121. package/lib/commands/new.js +12 -0
  122. package/lib/commands/options.js +241 -0
  123. package/lib/commands/orient.js +13 -0
  124. package/lib/commands/orphans.js +5 -0
  125. package/lib/commands/patch.js +67 -0
  126. package/lib/commands/plan.js +481 -29
  127. package/lib/commands/pr.js +88 -0
  128. package/lib/commands/preflight.js +211 -0
  129. package/lib/commands/prime.js +13 -0
  130. package/lib/commands/push.js +135 -2
  131. package/lib/commands/ready.js +2 -2
  132. package/lib/commands/recall.js +171 -0
  133. package/lib/commands/recap.js +75 -0
  134. package/lib/commands/recommend.js +0 -1
  135. package/lib/commands/release.js +104 -0
  136. package/lib/commands/remember.js +140 -0
  137. package/lib/commands/role.js +99 -0
  138. package/lib/commands/serve.js +581 -0
  139. package/lib/commands/setup.js +900 -971
  140. package/lib/commands/shepherd.js +501 -0
  141. package/lib/commands/ship.js +59 -1
  142. package/lib/commands/show.js +2 -2
  143. package/lib/commands/stage.js +192 -0
  144. package/lib/commands/stale.js +5 -0
  145. package/lib/commands/status.js +158 -21
  146. package/lib/commands/sync.js +34 -46
  147. package/lib/commands/team.js +4 -1
  148. package/lib/commands/test.js +43 -27
  149. package/lib/commands/update.js +2 -2
  150. package/lib/commands/upgrade.js +47 -0
  151. package/lib/commands/validate.js +43 -18
  152. package/lib/commands/worktree.js +362 -99
  153. package/lib/config-writer.js +202 -0
  154. package/lib/control-plane.js +236 -0
  155. package/lib/core/runtime-graph.js +977 -0
  156. package/lib/dep-guard/keyword-ripple.js +2 -2
  157. package/lib/deprecated-sync-cleanup.js +362 -0
  158. package/lib/detect-agent.js +2 -28
  159. package/lib/detect-worktree.js +35 -9
  160. package/lib/doc-gate/declaration.js +177 -0
  161. package/lib/doc-gate/detect.js +289 -0
  162. package/lib/doc-gate/gate.js +375 -0
  163. package/lib/doc-gate/okf-config.js +128 -0
  164. package/lib/doc-gate/okf.js +429 -0
  165. package/lib/docs-command.js +1161 -6
  166. package/lib/forge-issues.js +382 -11
  167. package/lib/forge-lock.js +262 -0
  168. package/lib/gate-events.js +192 -0
  169. package/lib/global-flags.js +104 -0
  170. package/lib/greptile-match.js +7 -63
  171. package/lib/grounding/context-events.js +230 -0
  172. package/lib/grounding/read-first.js +112 -0
  173. package/lib/harness-capability-matrix.js +380 -0
  174. package/lib/hook-global-installer.js +347 -0
  175. package/lib/hook-renderer.js +541 -0
  176. package/lib/inbox.js +391 -0
  177. package/lib/insights.js +397 -0
  178. package/lib/issue-adapter.js +156 -0
  179. package/lib/issue-backend.js +145 -0
  180. package/lib/issue-render.js +220 -0
  181. package/lib/kernel/backing-issue.js +311 -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/owned-kernel.js +43 -0
  192. package/lib/kernel/planning-buckets-schema.js +109 -0
  193. package/lib/kernel/projection-jsonl-writer.js +450 -0
  194. package/lib/kernel/readiness-model.js +329 -0
  195. package/lib/kernel/schema.js +356 -0
  196. package/lib/kernel/sqlite-driver.js +2540 -0
  197. package/lib/kernel/taxonomy-validator.js +394 -0
  198. package/lib/lefthook-check.js +3 -2
  199. package/lib/lefthook-wiring.js +413 -0
  200. package/lib/mcp-config-renderer.js +288 -0
  201. package/lib/memory/graphiti-mcp.js +106 -0
  202. package/lib/memory/router.js +387 -0
  203. package/lib/memory/typed-api.js +102 -0
  204. package/lib/memory-digest.js +195 -0
  205. package/lib/merge-rules.js +395 -0
  206. package/lib/migrate-dry-run.js +466 -0
  207. package/lib/orientation.js +863 -0
  208. package/lib/package-manager-remediation.js +103 -0
  209. package/lib/package-root.js +381 -0
  210. package/lib/patch-intent.js +890 -0
  211. package/lib/plugin-catalog.js +3 -4
  212. package/lib/plugin-manager.js +0 -5
  213. package/lib/pr-bundle.js +186 -0
  214. package/lib/pr-monitor/auto-actions.js +175 -0
  215. package/lib/pr-monitor/differ.js +195 -0
  216. package/lib/pr-monitor/digest.js +206 -0
  217. package/lib/pr-monitor/events.js +0 -0
  218. package/lib/pr-monitor/gather.js +124 -0
  219. package/lib/pr-monitor/journal.js +299 -0
  220. package/lib/pr-monitor/monitor.js +146 -0
  221. package/lib/pr-monitor/render-sticky.js +192 -0
  222. package/lib/pr-monitor/upsert-sticky.js +169 -0
  223. package/lib/pr-monitor/watch-lifecycle.js +95 -0
  224. package/lib/pr-monitor/watch.js +247 -0
  225. package/lib/pr-pull.js +1314 -0
  226. package/lib/pr-shepherd.js +494 -0
  227. package/lib/pr-state-validator.js +59 -0
  228. package/lib/preflight/gates.js +237 -0
  229. package/lib/preflight/runner.js +116 -0
  230. package/lib/project-discovery.js +0 -53
  231. package/lib/project-memory.js +99 -497
  232. package/lib/protected-path-manifest.js +281 -0
  233. package/lib/protected-state-surfaces.js +387 -0
  234. package/lib/release-readiness.js +2105 -0
  235. package/lib/reset.js +59 -45
  236. package/lib/review-adapter.js +68 -0
  237. package/lib/rules-sync.js +260 -0
  238. package/lib/runtime-health.js +241 -20
  239. package/lib/safety-config-renderer.js +268 -0
  240. package/lib/setup-action-log.js +1 -7
  241. package/lib/setup.js +27 -65
  242. package/lib/shell-utils.js +76 -6
  243. package/lib/skills-sync.js +330 -0
  244. package/lib/smart-status/scoring.js +17 -3
  245. package/lib/status/beads-snapshot.js +45 -2
  246. package/lib/status/presenter.js +169 -18
  247. package/lib/status/snapshot.js +186 -0
  248. package/lib/sync-backend.js +202 -0
  249. package/lib/untrusted-content.js +52 -0
  250. package/lib/upgrade-safety.js +251 -0
  251. package/lib/workflow/enforce-stage.js +351 -45
  252. package/lib/workflow/stage-transition.js +115 -0
  253. package/lib/workflow/stages.js +30 -6
  254. package/lib/workflow/state-manager.js +11 -22
  255. package/lib/workflow/state.js +23 -1
  256. package/lib/workflow-profiles.js +17 -5
  257. package/package.json +37 -35
  258. package/rules/documentation.md +19 -0
  259. package/rules/kernel-tracking.md +26 -0
  260. package/rules/security.md +22 -0
  261. package/rules/tdd.md +20 -0
  262. package/rules/workflow.md +27 -0
  263. package/scripts/auto-backing-issue.js +47 -0
  264. package/scripts/beads-context.sh +81 -57
  265. package/scripts/beads-upgrade-smoke.sh +24 -3
  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.sh +22 -3
  272. package/scripts/file-index.sh +3 -0
  273. package/scripts/forge-team/lib/claim.sh +34 -18
  274. package/scripts/forge-team/lib/dashboard.sh +61 -86
  275. package/scripts/forge-team/lib/epic.sh +99 -263
  276. package/scripts/forge-team/lib/hooks.sh +26 -28
  277. package/scripts/forge-team/lib/identity.sh +4 -4
  278. package/scripts/forge-team/lib/sync-github.sh +49 -84
  279. package/scripts/forge-team/lib/verify.sh +93 -83
  280. package/scripts/forge-team/lib/workload.sh +41 -65
  281. package/scripts/forge-team/tests/claim.test.sh +25 -19
  282. package/scripts/forge-team/tests/dashboard.test.sh +31 -46
  283. package/scripts/forge-team/tests/epic.test.sh +52 -71
  284. package/scripts/forge-team/tests/hooks.test.sh +38 -50
  285. package/scripts/forge-team/tests/identity.test.sh +3 -3
  286. package/scripts/forge-team/tests/integration.test.sh +44 -66
  287. package/scripts/forge-team/tests/sync-github.test.sh +50 -83
  288. package/scripts/forge-team/tests/verify.test.sh +37 -46
  289. package/scripts/forge-team/tests/workflow-integration.test.sh +4 -4
  290. package/scripts/forge-team/tests/workload.test.sh +32 -66
  291. package/scripts/gen-command-manifest.js +153 -0
  292. package/scripts/gen-embedded-assets.mjs +129 -0
  293. package/scripts/install.ps1 +139 -0
  294. package/scripts/install.sh +268 -0
  295. package/scripts/lib/release-asset.mjs +84 -0
  296. package/scripts/parity-check.mjs +145 -0
  297. package/scripts/parity-check.test.mjs +58 -0
  298. package/scripts/pin-agentic-workflow-images.js +112 -0
  299. package/scripts/pr-auto-actions.js +93 -0
  300. package/scripts/pr-coordinator.sh +3 -0
  301. package/scripts/pr-verdict-label.js +50 -0
  302. package/scripts/preflight-sonar.eslint.config.mjs +44 -0
  303. package/scripts/preflight.sh +21 -94
  304. package/scripts/protected-state-check.js +104 -0
  305. package/scripts/smart-status.sh +60 -57
  306. package/scripts/spikes/config-race-bench.js +111 -0
  307. package/scripts/spikes/harness-capability-matrix.js +13 -0
  308. package/scripts/spikes/patch-anchor-stability-bench.js +125 -0
  309. package/scripts/spikes/protected-path-manifest.js +20 -0
  310. package/scripts/spikes/skill-auto-invoke-parity.js +292 -0
  311. package/scripts/sync-agent-skills.js +62 -0
  312. package/scripts/sync-utils.sh +3 -0
  313. package/scripts/test-ci-shard.js +13 -6
  314. package/scripts/test.js +95 -12
  315. package/skills/claim-safety/SKILL.md +102 -0
  316. package/skills/claim-safety/evals/evals.json +46 -0
  317. package/{.github/prompts/dev.prompt.md → skills/dev/SKILL.md} +44 -50
  318. package/skills/dev/evals/evals.json +50 -0
  319. package/skills/hermes-forge/SKILL.md +185 -0
  320. package/skills/hermes-forge/evals/evals.json +46 -0
  321. package/skills/issue-basics/SKILL.md +111 -0
  322. package/skills/issue-basics/evals/evals.json +46 -0
  323. package/skills/kernel/SKILL.md +166 -0
  324. package/skills/kernel/evals/evals.json +50 -0
  325. package/skills/memory/SKILL.md +102 -0
  326. package/skills/parallel-deep-research/SKILL.md +14 -11
  327. package/skills/parallel-deep-research/evals/evals.json +11 -27
  328. package/{.github/prompts/plan.prompt.md → skills/plan/SKILL.md} +132 -157
  329. package/skills/plan/evals/evals.json +42 -0
  330. package/skills/research/SKILL.md +195 -0
  331. package/skills/research/evals/evals.json +42 -0
  332. package/{.github/prompts/review.prompt.md → skills/review/SKILL.md} +98 -62
  333. package/skills/review/evals/evals.json +42 -0
  334. package/skills/rollback/SKILL.md +110 -0
  335. package/skills/rollback/evals/evals.json +46 -0
  336. package/skills/rollback/references/methods.md +204 -0
  337. package/{.cursor/commands/rollback.md → skills/rollback/references/workflow-integration.md} +10 -284
  338. package/skills/shepherd/SKILL.md +66 -0
  339. package/skills/shepherd/evals/evals.json +42 -0
  340. package/{.github/prompts/ship.prompt.md → skills/ship/SKILL.md} +81 -45
  341. package/skills/ship/evals/evals.json +42 -0
  342. package/skills/smith/SKILL.md +142 -0
  343. package/skills/smith/evals/evals.json +46 -0
  344. package/skills/smith/references/autonomy-and-gates.md +94 -0
  345. package/{.github/prompts/sonarcloud.prompt.md → skills/sonarcloud/SKILL.md} +14 -3
  346. package/skills/sonarcloud/evals/evals.json +46 -0
  347. package/skills/sonarcloud-analysis/SKILL.md +18 -13
  348. package/skills/sonarcloud-analysis/evals/evals.json +11 -15
  349. package/{.github/prompts/status.prompt.md → skills/status/SKILL.md} +20 -10
  350. package/skills/status/evals/evals.json +50 -0
  351. package/skills/triage-ready/SKILL.md +121 -0
  352. package/skills/triage-ready/evals/evals.json +42 -0
  353. package/{.github/prompts/validate.prompt.md → skills/validate/SKILL.md} +52 -29
  354. package/skills/validate/evals/evals.json +42 -0
  355. package/skills/verify/SKILL.md +299 -0
  356. package/skills/verify/evals/evals.json +50 -0
  357. package/.claude/commands/dev.md +0 -345
  358. package/.claude/commands/plan.md +0 -566
  359. package/.claude/commands/premerge.md +0 -186
  360. package/.claude/commands/research.md +0 -42
  361. package/.claude/commands/review.md +0 -451
  362. package/.claude/commands/rollback.md +0 -721
  363. package/.claude/commands/ship.md +0 -213
  364. package/.claude/commands/sonarcloud.md +0 -152
  365. package/.claude/commands/status.md +0 -90
  366. package/.claude/commands/validate.md +0 -288
  367. package/.claude/commands/verify.md +0 -269
  368. package/.claude/rules/workflow.md +0 -121
  369. package/.cline/workflows/dev.md +0 -342
  370. package/.cline/workflows/plan.md +0 -563
  371. package/.cline/workflows/premerge.md +0 -183
  372. package/.cline/workflows/research.md +0 -39
  373. package/.cline/workflows/review.md +0 -448
  374. package/.cline/workflows/rollback.md +0 -718
  375. package/.cline/workflows/ship.md +0 -210
  376. package/.cline/workflows/sonarcloud.md +0 -146
  377. package/.cline/workflows/status.md +0 -87
  378. package/.cline/workflows/validate.md +0 -285
  379. package/.cline/workflows/verify.md +0 -266
  380. package/.codex/config.toml +0 -11
  381. package/.codex/skills/dev/SKILL.md +0 -345
  382. package/.codex/skills/plan/SKILL.md +0 -566
  383. package/.codex/skills/premerge/SKILL.md +0 -186
  384. package/.codex/skills/research/SKILL.md +0 -42
  385. package/.codex/skills/review/SKILL.md +0 -451
  386. package/.codex/skills/rollback/SKILL.md +0 -721
  387. package/.codex/skills/ship/SKILL.md +0 -213
  388. package/.codex/skills/sonarcloud/SKILL.md +0 -149
  389. package/.codex/skills/status/SKILL.md +0 -90
  390. package/.codex/skills/validate/SKILL.md +0 -288
  391. package/.codex/skills/verify/SKILL.md +0 -269
  392. package/.cursor/commands/dev.md +0 -342
  393. package/.cursor/commands/plan.md +0 -563
  394. package/.cursor/commands/premerge.md +0 -183
  395. package/.cursor/commands/research.md +0 -39
  396. package/.cursor/commands/review.md +0 -448
  397. package/.cursor/commands/ship.md +0 -210
  398. package/.cursor/commands/sonarcloud.md +0 -146
  399. package/.cursor/commands/status.md +0 -87
  400. package/.cursor/commands/validate.md +0 -285
  401. package/.cursor/commands/verify.md +0 -266
  402. package/.cursorrules +0 -149
  403. package/.github/prompts/premerge.prompt.md +0 -188
  404. package/.github/prompts/research.prompt.md +0 -44
  405. package/.github/prompts/rollback.prompt.md +0 -723
  406. package/.github/prompts/verify.prompt.md +0 -271
  407. package/.github/workflows/beads-to-github.yml +0 -89
  408. package/.github/workflows/github-to-beads.yml +0 -100
  409. package/.kilocode/workflows/dev.md +0 -346
  410. package/.kilocode/workflows/plan.md +0 -567
  411. package/.kilocode/workflows/premerge.md +0 -187
  412. package/.kilocode/workflows/research.md +0 -43
  413. package/.kilocode/workflows/review.md +0 -452
  414. package/.kilocode/workflows/rollback.md +0 -722
  415. package/.kilocode/workflows/ship.md +0 -214
  416. package/.kilocode/workflows/sonarcloud.md +0 -150
  417. package/.kilocode/workflows/status.md +0 -91
  418. package/.kilocode/workflows/validate.md +0 -289
  419. package/.kilocode/workflows/verify.md +0 -270
  420. package/.opencode/commands/dev.md +0 -345
  421. package/.opencode/commands/plan.md +0 -566
  422. package/.opencode/commands/premerge.md +0 -186
  423. package/.opencode/commands/research.md +0 -42
  424. package/.opencode/commands/review.md +0 -451
  425. package/.opencode/commands/rollback.md +0 -721
  426. package/.opencode/commands/ship.md +0 -213
  427. package/.opencode/commands/sonarcloud.md +0 -149
  428. package/.opencode/commands/status.md +0 -90
  429. package/.opencode/commands/validate.md +0 -288
  430. package/.opencode/commands/verify.md +0 -269
  431. package/.roo/commands/dev.md +0 -346
  432. package/.roo/commands/plan.md +0 -567
  433. package/.roo/commands/premerge.md +0 -187
  434. package/.roo/commands/research.md +0 -43
  435. package/.roo/commands/review.md +0 -452
  436. package/.roo/commands/rollback.md +0 -722
  437. package/.roo/commands/ship.md +0 -214
  438. package/.roo/commands/sonarcloud.md +0 -150
  439. package/.roo/commands/status.md +0 -91
  440. package/.roo/commands/validate.md +0 -289
  441. package/.roo/commands/verify.md +0 -270
  442. package/docs/BEADS_GITHUB_SYNC.md +0 -281
  443. package/docs/GREPTILE_SETUP.md +0 -400
  444. package/docs/MANUAL_REVIEW_GUIDE.md +0 -106
  445. package/docs/SETUP.md +0 -663
  446. package/docs/VALIDATION.md +0 -363
  447. package/lib/agents/cline.plugin.json +0 -29
  448. package/lib/agents/copilot.plugin.json +0 -24
  449. package/lib/agents/kilocode.plugin.json +0 -22
  450. package/lib/agents/opencode.plugin.json +0 -23
  451. package/lib/agents/roo.plugin.json +0 -30
  452. package/lib/beads-bootstrap.js +0 -225
  453. package/lib/beads-health-check.js +0 -188
  454. package/lib/commands/commands-reset.js +0 -147
  455. package/opencode.json +0 -67
  456. package/scripts/beads-context.test.js +0 -584
  457. package/scripts/github-beads-sync/comment.mjs +0 -64
  458. package/scripts/github-beads-sync/config.mjs +0 -148
  459. package/scripts/github-beads-sync/github-api.mjs +0 -131
  460. package/scripts/github-beads-sync/index.mjs +0 -356
  461. package/scripts/github-beads-sync/label-mapper.mjs +0 -54
  462. package/scripts/github-beads-sync/mapping.mjs +0 -132
  463. package/scripts/github-beads-sync/reverse-sync-cli.mjs +0 -31
  464. package/scripts/github-beads-sync/reverse-sync.mjs +0 -162
  465. package/scripts/github-beads-sync/run-bd.mjs +0 -161
  466. package/scripts/github-beads-sync/sanitize.mjs +0 -121
  467. package/scripts/github-beads-sync.config.json +0 -26
  468. 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
+ ]