forge-workflow 0.0.10 → 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 (454) 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 +150 -61
  8. package/CHANGELOG.md +681 -0
  9. package/CLAUDE.md +9 -118
  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 +461 -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 +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/{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 +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 +121 -0
  81. package/lib/beads-sync-scaffold.js +25 -101
  82. package/lib/codex-skills.js +51 -1
  83. package/lib/commands/_issue.js +741 -77
  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 +17 -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 +0 -1
  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 +838 -972
  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 +158 -21
  140. package/lib/commands/sync.js +34 -46
  141. package/lib/commands/team.js +4 -1
  142. package/lib/commands/test.js +43 -27
  143. package/lib/commands/update.js +2 -2
  144. package/lib/commands/upgrade.js +47 -0
  145. package/lib/commands/validate.js +43 -18
  146. package/lib/commands/worktree.js +307 -100
  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 +2 -2
  151. package/lib/deprecated-sync-cleanup.js +362 -0
  152. package/lib/detect-agent.js +2 -28
  153. package/lib/detect-worktree.js +35 -9
  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 +382 -11
  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/kernel/backing-issue.js +305 -0
  174. package/lib/kernel/broker.js +1218 -0
  175. package/lib/kernel/cli-broker-factory.js +130 -0
  176. package/lib/kernel/conflict-signal.js +82 -0
  177. package/lib/kernel/evaluators.js +195 -0
  178. package/lib/kernel/fs-class.js +495 -0
  179. package/lib/kernel/issue-command-contract.js +559 -0
  180. package/lib/kernel/issue-id-resolver.js +186 -0
  181. package/lib/kernel/lease-enforcer.js +158 -0
  182. package/lib/kernel/migrations.js +333 -0
  183. package/lib/kernel/planning-buckets-schema.js +109 -0
  184. package/lib/kernel/projection-jsonl-writer.js +450 -0
  185. package/lib/kernel/readiness-model.js +329 -0
  186. package/lib/kernel/schema.js +356 -0
  187. package/lib/kernel/sqlite-driver.js +2504 -0
  188. package/lib/kernel/taxonomy-validator.js +394 -0
  189. package/lib/lefthook-check.js +3 -2
  190. package/lib/lefthook-wiring.js +413 -0
  191. package/lib/mcp-config-renderer.js +288 -0
  192. package/lib/memory/graphiti-mcp.js +106 -0
  193. package/lib/memory/router.js +387 -0
  194. package/lib/memory/typed-api.js +102 -0
  195. package/lib/memory-digest.js +195 -0
  196. package/lib/merge-rules.js +395 -0
  197. package/lib/migrate-dry-run.js +466 -0
  198. package/lib/orientation.js +863 -0
  199. package/lib/package-manager-remediation.js +103 -0
  200. package/lib/package-root.js +381 -0
  201. package/lib/patch-intent.js +890 -0
  202. package/lib/plugin-catalog.js +3 -4
  203. package/lib/plugin-manager.js +0 -5
  204. package/lib/pr-bundle.js +186 -0
  205. package/lib/pr-monitor/differ.js +195 -0
  206. package/lib/pr-monitor/events.js +0 -0
  207. package/lib/pr-monitor/gather.js +124 -0
  208. package/lib/pr-monitor/journal.js +299 -0
  209. package/lib/pr-monitor/monitor.js +146 -0
  210. package/lib/pr-monitor/render-sticky.js +157 -0
  211. package/lib/pr-monitor/watch-lifecycle.js +95 -0
  212. package/lib/pr-monitor/watch.js +247 -0
  213. package/lib/pr-pull.js +1273 -0
  214. package/lib/pr-shepherd.js +494 -0
  215. package/lib/pr-state-validator.js +59 -0
  216. package/lib/preflight/gates.js +237 -0
  217. package/lib/preflight/runner.js +116 -0
  218. package/lib/project-discovery.js +0 -53
  219. package/lib/project-memory.js +99 -497
  220. package/lib/protected-path-manifest.js +281 -0
  221. package/lib/protected-state-surfaces.js +387 -0
  222. package/lib/release-readiness.js +2089 -0
  223. package/lib/reset.js +59 -45
  224. package/lib/review-adapter.js +68 -0
  225. package/lib/rules-sync.js +260 -0
  226. package/lib/runtime-health.js +241 -20
  227. package/lib/safety-config-renderer.js +268 -0
  228. package/lib/setup-action-log.js +1 -7
  229. package/lib/setup.js +27 -65
  230. package/lib/shell-utils.js +76 -6
  231. package/lib/skills-sync.js +330 -0
  232. package/lib/smart-status/scoring.js +17 -3
  233. package/lib/status/beads-snapshot.js +45 -2
  234. package/lib/status/presenter.js +169 -18
  235. package/lib/status/snapshot.js +186 -0
  236. package/lib/sync-backend.js +202 -0
  237. package/lib/untrusted-content.js +52 -0
  238. package/lib/upgrade-safety.js +199 -0
  239. package/lib/workflow/enforce-stage.js +296 -47
  240. package/lib/workflow/stage-transition.js +115 -0
  241. package/lib/workflow/stages.js +30 -6
  242. package/lib/workflow/state-manager.js +11 -22
  243. package/lib/workflow/state.js +23 -1
  244. package/lib/workflow-profiles.js +17 -5
  245. package/package.json +37 -35
  246. package/rules/documentation.md +19 -0
  247. package/rules/kernel-tracking.md +26 -0
  248. package/rules/security.md +22 -0
  249. package/rules/tdd.md +20 -0
  250. package/rules/workflow.md +27 -0
  251. package/scripts/auto-backing-issue.js +47 -0
  252. package/scripts/beads-context.sh +81 -57
  253. package/scripts/beads-upgrade-smoke.sh +24 -3
  254. package/scripts/bootstrap-windows-tools.sh +78 -0
  255. package/scripts/branch-protection.js +2 -3
  256. package/scripts/check-agents.js +34 -137
  257. package/scripts/commitlint.js +3 -1
  258. package/scripts/conflict-detect.sh +3 -0
  259. package/scripts/dep-guard.sh +22 -3
  260. package/scripts/file-index.sh +3 -0
  261. package/scripts/forge-team/lib/claim.sh +34 -18
  262. package/scripts/forge-team/lib/dashboard.sh +61 -86
  263. package/scripts/forge-team/lib/epic.sh +99 -263
  264. package/scripts/forge-team/lib/hooks.sh +26 -28
  265. package/scripts/forge-team/lib/identity.sh +4 -4
  266. package/scripts/forge-team/lib/sync-github.sh +49 -84
  267. package/scripts/forge-team/lib/verify.sh +93 -83
  268. package/scripts/forge-team/lib/workload.sh +41 -65
  269. package/scripts/forge-team/tests/claim.test.sh +25 -19
  270. package/scripts/forge-team/tests/dashboard.test.sh +31 -46
  271. package/scripts/forge-team/tests/epic.test.sh +52 -71
  272. package/scripts/forge-team/tests/hooks.test.sh +38 -50
  273. package/scripts/forge-team/tests/identity.test.sh +3 -3
  274. package/scripts/forge-team/tests/integration.test.sh +44 -66
  275. package/scripts/forge-team/tests/sync-github.test.sh +50 -83
  276. package/scripts/forge-team/tests/verify.test.sh +37 -46
  277. package/scripts/forge-team/tests/workflow-integration.test.sh +4 -4
  278. package/scripts/forge-team/tests/workload.test.sh +32 -66
  279. package/scripts/gen-command-manifest.js +153 -0
  280. package/scripts/gen-embedded-assets.mjs +129 -0
  281. package/scripts/install.ps1 +139 -0
  282. package/scripts/install.sh +268 -0
  283. package/scripts/lib/release-asset.mjs +84 -0
  284. package/scripts/parity-check.mjs +145 -0
  285. package/scripts/parity-check.test.mjs +58 -0
  286. package/scripts/pin-agentic-workflow-images.js +112 -0
  287. package/scripts/pr-coordinator.sh +3 -0
  288. package/scripts/preflight-sonar.eslint.config.mjs +44 -0
  289. package/scripts/preflight.sh +21 -94
  290. package/scripts/protected-state-check.js +104 -0
  291. package/scripts/smart-status.sh +60 -57
  292. package/scripts/spikes/config-race-bench.js +111 -0
  293. package/scripts/spikes/harness-capability-matrix.js +13 -0
  294. package/scripts/spikes/patch-anchor-stability-bench.js +125 -0
  295. package/scripts/spikes/protected-path-manifest.js +20 -0
  296. package/scripts/spikes/skill-auto-invoke-parity.js +292 -0
  297. package/scripts/sync-agent-skills.js +62 -0
  298. package/scripts/sync-utils.sh +3 -0
  299. package/scripts/test-ci-shard.js +13 -6
  300. package/scripts/test.js +95 -12
  301. package/skills/claim-safety/SKILL.md +102 -0
  302. package/skills/claim-safety/evals/evals.json +46 -0
  303. package/{.github/prompts/dev.prompt.md → skills/dev/SKILL.md} +44 -50
  304. package/skills/dev/evals/evals.json +50 -0
  305. package/skills/hermes-forge/SKILL.md +185 -0
  306. package/skills/hermes-forge/evals/evals.json +46 -0
  307. package/skills/issue-basics/SKILL.md +111 -0
  308. package/skills/issue-basics/evals/evals.json +46 -0
  309. package/skills/kernel/SKILL.md +166 -0
  310. package/skills/kernel/evals/evals.json +50 -0
  311. package/skills/memory/SKILL.md +102 -0
  312. package/skills/parallel-deep-research/SKILL.md +14 -11
  313. package/skills/parallel-deep-research/evals/evals.json +11 -27
  314. package/{.github/prompts/plan.prompt.md → skills/plan/SKILL.md} +132 -157
  315. package/skills/plan/evals/evals.json +42 -0
  316. package/skills/research/SKILL.md +195 -0
  317. package/skills/research/evals/evals.json +42 -0
  318. package/{.github/prompts/review.prompt.md → skills/review/SKILL.md} +98 -62
  319. package/skills/review/evals/evals.json +42 -0
  320. package/skills/rollback/SKILL.md +110 -0
  321. package/skills/rollback/evals/evals.json +46 -0
  322. package/skills/rollback/references/methods.md +204 -0
  323. package/{.cursor/commands/rollback.md → skills/rollback/references/workflow-integration.md} +10 -284
  324. package/skills/shepherd/SKILL.md +66 -0
  325. package/skills/shepherd/evals/evals.json +42 -0
  326. package/{.github/prompts/ship.prompt.md → skills/ship/SKILL.md} +81 -45
  327. package/skills/ship/evals/evals.json +42 -0
  328. package/skills/smith/SKILL.md +142 -0
  329. package/skills/smith/evals/evals.json +46 -0
  330. package/skills/smith/references/autonomy-and-gates.md +94 -0
  331. package/{.github/prompts/sonarcloud.prompt.md → skills/sonarcloud/SKILL.md} +14 -3
  332. package/skills/sonarcloud/evals/evals.json +46 -0
  333. package/skills/sonarcloud-analysis/SKILL.md +18 -13
  334. package/skills/sonarcloud-analysis/evals/evals.json +11 -15
  335. package/{.github/prompts/status.prompt.md → skills/status/SKILL.md} +20 -10
  336. package/skills/status/evals/evals.json +50 -0
  337. package/skills/triage-ready/SKILL.md +121 -0
  338. package/skills/triage-ready/evals/evals.json +42 -0
  339. package/{.github/prompts/validate.prompt.md → skills/validate/SKILL.md} +52 -29
  340. package/skills/validate/evals/evals.json +42 -0
  341. package/skills/verify/SKILL.md +299 -0
  342. package/skills/verify/evals/evals.json +50 -0
  343. package/.claude/commands/dev.md +0 -345
  344. package/.claude/commands/plan.md +0 -566
  345. package/.claude/commands/premerge.md +0 -186
  346. package/.claude/commands/research.md +0 -42
  347. package/.claude/commands/review.md +0 -451
  348. package/.claude/commands/rollback.md +0 -721
  349. package/.claude/commands/ship.md +0 -213
  350. package/.claude/commands/sonarcloud.md +0 -152
  351. package/.claude/commands/status.md +0 -90
  352. package/.claude/commands/validate.md +0 -288
  353. package/.claude/commands/verify.md +0 -269
  354. package/.claude/rules/workflow.md +0 -121
  355. package/.cline/workflows/dev.md +0 -342
  356. package/.cline/workflows/plan.md +0 -563
  357. package/.cline/workflows/premerge.md +0 -183
  358. package/.cline/workflows/research.md +0 -39
  359. package/.cline/workflows/review.md +0 -448
  360. package/.cline/workflows/rollback.md +0 -718
  361. package/.cline/workflows/ship.md +0 -210
  362. package/.cline/workflows/sonarcloud.md +0 -146
  363. package/.cline/workflows/status.md +0 -87
  364. package/.cline/workflows/validate.md +0 -285
  365. package/.cline/workflows/verify.md +0 -266
  366. package/.codex/config.toml +0 -11
  367. package/.codex/skills/dev/SKILL.md +0 -345
  368. package/.codex/skills/plan/SKILL.md +0 -566
  369. package/.codex/skills/premerge/SKILL.md +0 -186
  370. package/.codex/skills/research/SKILL.md +0 -42
  371. package/.codex/skills/review/SKILL.md +0 -451
  372. package/.codex/skills/rollback/SKILL.md +0 -721
  373. package/.codex/skills/ship/SKILL.md +0 -213
  374. package/.codex/skills/sonarcloud/SKILL.md +0 -149
  375. package/.codex/skills/status/SKILL.md +0 -90
  376. package/.codex/skills/validate/SKILL.md +0 -288
  377. package/.codex/skills/verify/SKILL.md +0 -269
  378. package/.cursor/commands/dev.md +0 -342
  379. package/.cursor/commands/plan.md +0 -563
  380. package/.cursor/commands/premerge.md +0 -183
  381. package/.cursor/commands/research.md +0 -39
  382. package/.cursor/commands/review.md +0 -448
  383. package/.cursor/commands/ship.md +0 -210
  384. package/.cursor/commands/sonarcloud.md +0 -146
  385. package/.cursor/commands/status.md +0 -87
  386. package/.cursor/commands/validate.md +0 -285
  387. package/.cursor/commands/verify.md +0 -266
  388. package/.cursorrules +0 -149
  389. package/.github/prompts/premerge.prompt.md +0 -188
  390. package/.github/prompts/research.prompt.md +0 -44
  391. package/.github/prompts/rollback.prompt.md +0 -723
  392. package/.github/prompts/verify.prompt.md +0 -271
  393. package/.github/workflows/beads-to-github.yml +0 -89
  394. package/.github/workflows/github-to-beads.yml +0 -100
  395. package/.kilocode/workflows/dev.md +0 -346
  396. package/.kilocode/workflows/plan.md +0 -567
  397. package/.kilocode/workflows/premerge.md +0 -187
  398. package/.kilocode/workflows/research.md +0 -43
  399. package/.kilocode/workflows/review.md +0 -452
  400. package/.kilocode/workflows/rollback.md +0 -722
  401. package/.kilocode/workflows/ship.md +0 -214
  402. package/.kilocode/workflows/sonarcloud.md +0 -150
  403. package/.kilocode/workflows/status.md +0 -91
  404. package/.kilocode/workflows/validate.md +0 -289
  405. package/.kilocode/workflows/verify.md +0 -270
  406. package/.opencode/commands/dev.md +0 -345
  407. package/.opencode/commands/plan.md +0 -566
  408. package/.opencode/commands/premerge.md +0 -186
  409. package/.opencode/commands/research.md +0 -42
  410. package/.opencode/commands/review.md +0 -451
  411. package/.opencode/commands/rollback.md +0 -721
  412. package/.opencode/commands/ship.md +0 -213
  413. package/.opencode/commands/sonarcloud.md +0 -149
  414. package/.opencode/commands/status.md +0 -90
  415. package/.opencode/commands/validate.md +0 -288
  416. package/.opencode/commands/verify.md +0 -269
  417. package/.roo/commands/dev.md +0 -346
  418. package/.roo/commands/plan.md +0 -567
  419. package/.roo/commands/premerge.md +0 -187
  420. package/.roo/commands/research.md +0 -43
  421. package/.roo/commands/review.md +0 -452
  422. package/.roo/commands/rollback.md +0 -722
  423. package/.roo/commands/ship.md +0 -214
  424. package/.roo/commands/sonarcloud.md +0 -150
  425. package/.roo/commands/status.md +0 -91
  426. package/.roo/commands/validate.md +0 -289
  427. package/.roo/commands/verify.md +0 -270
  428. package/docs/BEADS_GITHUB_SYNC.md +0 -281
  429. package/docs/GREPTILE_SETUP.md +0 -400
  430. package/docs/MANUAL_REVIEW_GUIDE.md +0 -106
  431. package/docs/SETUP.md +0 -663
  432. package/docs/VALIDATION.md +0 -363
  433. package/lib/agents/cline.plugin.json +0 -29
  434. package/lib/agents/copilot.plugin.json +0 -24
  435. package/lib/agents/kilocode.plugin.json +0 -22
  436. package/lib/agents/opencode.plugin.json +0 -23
  437. package/lib/agents/roo.plugin.json +0 -30
  438. package/lib/beads-bootstrap.js +0 -225
  439. package/lib/beads-health-check.js +0 -188
  440. package/lib/commands/commands-reset.js +0 -147
  441. package/opencode.json +0 -67
  442. package/scripts/beads-context.test.js +0 -584
  443. package/scripts/github-beads-sync/comment.mjs +0 -64
  444. package/scripts/github-beads-sync/config.mjs +0 -148
  445. package/scripts/github-beads-sync/github-api.mjs +0 -131
  446. package/scripts/github-beads-sync/index.mjs +0 -356
  447. package/scripts/github-beads-sync/label-mapper.mjs +0 -54
  448. package/scripts/github-beads-sync/mapping.mjs +0 -132
  449. package/scripts/github-beads-sync/reverse-sync-cli.mjs +0 -31
  450. package/scripts/github-beads-sync/reverse-sync.mjs +0 -162
  451. package/scripts/github-beads-sync/run-bd.mjs +0 -161
  452. package/scripts/github-beads-sync/sanitize.mjs +0 -121
  453. package/scripts/github-beads-sync.config.json +0 -26
  454. package/scripts/sync-commands.js +0 -600
@@ -1,187 +0,0 @@
1
- ---
2
- description: Complete all doc updates on feature branch, then hand off PR to user for merge
3
- mode: code
4
- ---
5
-
6
- Prepare the pull request for merge by completing ALL documentation updates on the feature branch, then hand off to the user.
7
-
8
- # Premerge
9
-
10
- **The actual merge is always done by the user in the GitHub UI — never by this command.**
11
-
12
- This command makes the PR 100% complete: code + tests + docs in one unit. After this, the user merges once and there are no follow-up doc PRs needed.
13
-
14
- ## Usage
15
-
16
- ```bash
17
- /premerge <pr-number>
18
- ```
19
-
20
- ## What This Command Does
21
-
22
- ### Step 1: Verify All CI Checks Pass
23
-
24
- ```bash
25
- gh pr checks <pr-number>
26
- ```
27
-
28
- All checks must be green before proceeding. If any fail, run `/review <pr-number>` first.
29
-
30
- ### Step 2: Warn If Branch Is Behind Master
31
-
32
- ```bash
33
- gh pr view <pr-number> --json baseRefName,headRefName
34
- git fetch origin master
35
- git status
36
- ```
37
-
38
- If the feature branch is behind `master`, tell the user to rebase first:
39
-
40
- ```
41
- ⚠️ Branch is behind master — rebase before updating docs to avoid conflicts:
42
- git rebase origin/master
43
- git push --force-with-lease
44
- ```
45
-
46
- ### Step 3: Update ALL Relevant Documentation (on feature branch)
47
-
48
- Check each of the following and update if the feature affects it. Be selective — only update what genuinely changed.
49
-
50
- **A. `CHANGELOG.md`** (always):
51
- - Add entry under `## [Unreleased]` heading (create heading if not present)
52
- - Use [Keep a Changelog](https://keepachangelog.com/) categories:
53
- - **Added**: New features
54
- - **Changed**: Changes to existing functionality
55
- - **Fixed**: Bug fixes
56
- - **Removed**: Removed features
57
- - Include: feature name, PR number, Beads ID
58
- - Example:
59
- ```markdown
60
- ## [Unreleased]
61
-
62
- ### Added
63
- - Authentication refresh tokens (PR #89, forge-a3f8)
64
- ```
65
-
66
- **B. `README.md`** (if user-facing changes):
67
- - Features list, configuration options, usage examples
68
-
69
- **C. `docs/reference/API_REFERENCE.md`** (if API changes):
70
- - New endpoints, request/response schemas, authentication
71
-
72
- **D. Architecture docs** (if structural changes):
73
- - `docs/architecture/` diagrams, decision records (ADRs)
74
-
75
- **E. `CLAUDE.md` — USER section only** (if project conventions changed):
76
- ```
77
- <!-- USER:START - Add project-specific learnings here as you work -->
78
- ...update only between these markers...
79
- <!-- USER:END -->
80
- ```
81
- ⚠️ NEVER touch other managed blocks (e.g., `<!-- AGENT:START/END -->`).
82
-
83
- **F. `AGENTS.md`** (if agent config, skills, or cross-agent workflow changed):
84
- - Update relevant sections describing agent capabilities or workflow
85
-
86
- **Commit doc updates to feature branch**:
87
-
88
- ```bash
89
- git add CHANGELOG.md README.md docs/ AGENTS.md CLAUDE.md
90
- git commit -m "docs: update documentation for <feature-name>
91
-
92
- - Updated: [list files changed]
93
- - Reason: [brief explanation]"
94
-
95
- git push
96
- ```
97
-
98
- ⚠️ **After pushing**: CI will re-trigger (Greptile, SonarCloud, etc.). Poll for up to 60 seconds. If checks are still pending after that, stop and ask the user to return to `/premerge <pr-number>` later. If new Greptile comments appear on the doc changes, run `/review <pr-number>` again.
99
-
100
- ### Step 4: Sync Beads
101
-
102
- ```bash
103
- bd sync
104
- ```
105
-
106
- ### Step 5: Hand Off — STOP HERE
107
-
108
- **DO NOT run `gh pr merge`.** Present the PR and wait for the user to merge.
109
-
110
- Output:
111
-
112
- ```
113
- ✅ PR #<number> is ready to merge
114
-
115
- All checks: ✓ passing
116
- Documentation: ✓ updated on feature branch
117
- Beads: ✓ synced
118
-
119
- 👉 Please merge in the GitHub UI:
120
- https://github.com/<owner>/<repo>/pull/<number>
121
-
122
- Recommended: Squash and merge (keeps main history clean)
123
-
124
- After you merge, run /verify to confirm everything landed correctly.
125
- ```
126
-
127
- ### Step 6: Validate Context and Record Stage Transition
128
-
129
- ```bash
130
- bash scripts/beads-context.sh validate <id>
131
- bash scripts/beads-context.sh stage-transition <id> premerge verify \
132
- --summary "<docs updated, CI green, PR ready>" \
133
- --artifacts "<updated doc files, PR URL>" \
134
- --next "<merge instructions for user>"
135
- ```
136
-
137
- ```
138
- <HARD-GATE: /premerge exit>
139
- Do NOT run gh pr merge.
140
- Do NOT suggest merging.
141
- /premerge ends here. Output the PR URL and status. Wait for user.
142
-
143
- "After you merge, run /verify to confirm everything landed correctly."
144
- </HARD-GATE>
145
- ```
146
-
147
- ## Example Output
148
-
149
- ```
150
- ✓ CI checks: All passing
151
- ✓ Branch: Up to date with master
152
- ✓ Documentation updated:
153
- - CHANGELOG.md: Entry added under [Unreleased]
154
- - README.md: Features list updated
155
- - CLAUDE.md: USER section updated with new pattern
156
- - Committed: docs: update documentation for auth-refresh
157
- ✓ CI re-triggered after doc push — checks passed within the 60 second poll window
158
- ✓ Beads synced
159
-
160
- ✅ PR #89 is ready to merge
161
-
162
- 👉 Please merge in the GitHub UI:
163
- https://github.com/harshanandak/forge/pull/89
164
-
165
- After you merge, run /verify
166
- ```
167
-
168
- ## Rules
169
-
170
- - **NEVER run `gh pr merge`** — blocked by PreToolUse hook in `.claude/settings.json`
171
- - **CLAUDE.md USER section only** — never touch other managed blocks
172
- - **Warn if branch is behind** — tell user to rebase before doc updates
173
- - **Re-check CI after doc push** — doc commits re-trigger full CI pipeline
174
- - **One PR, complete** — code + tests + docs merged together, no follow-up doc PRs
175
-
176
- ## Integration with Workflow
177
-
178
- ```
179
- Utility: /status → Understand current context before starting
180
- Stage 1: /plan → Design intent → research → branch + worktree + task list
181
- Stage 2: /dev → Implement each task with subagent-driven TDD
182
- Stage 3: /validate → Type check, lint, tests, security — all fresh output
183
- Stage 4: /ship → Push + create PR
184
- Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
185
- Stage 6: /premerge → Update docs, hand off PR to user (you are here)
186
- Stage 7: /verify → Post-merge CI check on main
187
- ```
@@ -1,43 +0,0 @@
1
- ---
2
- description: Deep research with parallel-deep-research, document findings
3
- mode: code
4
- ---
5
-
6
- > **Note**: `/research` is now Phase 2 of `/plan`.
7
- >
8
- > The research phase has been absorbed into the `/plan` command, which runs a full 3-phase workflow:
9
- > - **Phase 1**: Brainstorming — design intent, constraints, success criteria
10
- > - **Phase 2**: Technical research — web search, OWASP, codebase exploration, TDD scenarios
11
- > - **Phase 3**: Setup — branch, worktree, Beads issue, task list
12
- >
13
- > Run `/plan <feature-slug>` to start the complete planning workflow.
14
-
15
- # Research (Legacy Alias)
16
-
17
- This command previously ran a standalone research phase. It is now embedded in `/plan` as Phase 2.
18
-
19
- ## If you want to run just the research phase
20
-
21
- Jump to Phase 2 of `/plan` manually:
22
-
23
- 1. Read or create the design doc at `docs/plans/YYYY-MM-DD-<slug>-design.md`
24
- 2. Run parallel web search using the `parallel-deep-research` skill
25
- 3. Run OWASP Top 10 analysis for the feature
26
- 4. Use the Explore agent for codebase exploration
27
- 5. Identify at least 3 TDD test scenarios
28
- 6. Append findings under `## Technical Research` in the design doc
29
-
30
- Then continue with `/plan <slug> --continue` to run Phase 3 (setup + task list).
31
-
32
- ## Integration with Workflow
33
-
34
- ```
35
- Utility: /status → Understand current context before starting
36
- Stage 1: /plan → Design intent → research → branch + worktree + task list
37
- Stage 2: /dev → Implement each task with subagent-driven TDD
38
- Stage 3: /validate → Type check, lint, tests, security — all fresh output
39
- Stage 4: /ship → Push + create PR
40
- Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
41
- Stage 6: /premerge → Update docs, hand off PR to user
42
- Stage 7: /verify → Post-merge CI check on main
43
- ```
@@ -1,452 +0,0 @@
1
- ---
2
- description: Address ALL PR issues (GitHub Actions, Greptile, SonarCloud, CI/CD)
3
- mode: code
4
- ---
5
-
6
- Process ALL pull request issues including GitHub Actions failures, Greptile inline comments, SonarCloud analysis, and other CI/CD checks.
7
-
8
- # Review
9
-
10
- This command handles ALL issues that arise after creating a pull request.
11
-
12
- ## Usage
13
-
14
- ```bash
15
- /review <pr-number>
16
- ```
17
-
18
- ## What This Command Does
19
-
20
- ### Step 1: Fetch Complete PR Status
21
- ```bash
22
- # Get full PR details including all checks
23
- gh pr view <pr-number> --json number,url,isDraft,reviews,statusCheckRollup,comments
24
-
25
- # Check individual status checks
26
- gh pr checks <pr-number>
27
- ```
28
-
29
- Review ALL status checks:
30
- - GitHub Actions workflows
31
- - Greptile code review (inline comments + summary)
32
- - SonarCloud quality gate
33
- - Any other CI/CD integrations
34
- - Vercel deployments
35
- - Security scanners
36
-
37
- ### Step 2: Address GitHub Actions Failures
38
-
39
- If any GitHub Actions workflows fail:
40
-
41
- ```bash
42
- # View failed workflow logs
43
- gh run view <run-id> --log-failed
44
-
45
- # Identify failure cause:
46
- # - Build failures
47
- # - Test failures
48
- # - Lint/type check failures
49
- # - Deployment failures
50
- # - Security scan failures
51
- ```
52
-
53
- **For each failure**:
54
- 1. **Analyze the error**: Read logs to understand root cause
55
- 2. **Fix the issue**: Make necessary code changes
56
- 3. **Re-run checks**: GitHub Actions will auto-rerun on push
57
- 4. **Document fix**: Note what was fixed in commit message
58
-
59
- **Common GitHub Actions Issues**:
60
- - Build failures: Missing dependencies, compilation errors
61
- - Test failures: Failing test cases (should not happen if /validate passed)
62
- - Lint failures: Code style violations
63
- - Type failures: TypeScript type errors
64
- - Deployment failures: Env vars, configuration issues
65
-
66
- ### Step 3: Process Greptile Review
67
-
68
- Greptile provides TWO types of feedback:
69
- 1. **Inline comments** on specific code lines
70
- 2. **Summary** with overall recommendations
71
-
72
- **IMPORTANT**: Use the **systematic Greptile resolution process** documented in `.claude/rules/greptile-review-process.md`. This process has been standardized to ensure:
73
- - All threads are replied to directly (not as separate PR comments)
74
- - All threads are marked as resolved after fixing
75
- - No manual tracking overhead for maintainers
76
-
77
- #### 3A. Check Greptile Inline Comments (Use Systematic Process)
78
-
79
- **Step 1: List all unresolved threads**
80
- ```bash
81
- bash .claude/scripts/greptile-resolve.sh list <pr-number> --unresolved
82
- ```
83
-
84
- This shows:
85
- - Thread ID (for resolving)
86
- - Comment ID (for replying)
87
- - File path and line number
88
- - Issue description
89
-
90
- **Step 2: For EACH unresolved thread:**
91
-
92
- 1. **Understand the issue**
93
- - Read the comment carefully
94
- - Check the file and line number
95
-
96
- 2. **Categorize the comment**:
97
- - **Valid**: Should be implemented (security issue, bug, clear improvement)
98
- - **Invalid**: Greptile misunderstood context
99
- - **Conflicting**: Contradicts research decisions with good reason
100
- - **Out of scope**: Valid but not for this PR
101
-
102
- 3. **Fix the issue** (if valid)
103
- - Make code changes
104
- - Commit with clear message
105
-
106
- 4. **Reply and resolve** (for ALL comments, even invalid ones)
107
- ```bash
108
- # For valid issues (fixed):
109
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
110
- "✅ Fixed: [description]
111
-
112
- Changed: [what was changed]
113
- Reason: [why this fixes the issue]
114
- Commit: [commit-sha]"
115
-
116
- # For invalid/conflicting issues:
117
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
118
- "This approach is correct because:
119
- - Reasoning: [from design doc]
120
- - Evidence: [link to source]
121
- - Alternative considered: [what Greptile suggested]
122
- - Why rejected: [specific reason]
123
-
124
- See: docs/plans/YYYY-MM-DD-<slug>-design.md (Decision #X)"
125
- ```
126
-
127
- **Step 3: Verify all resolved**
128
- ```bash
129
- bash .claude/scripts/greptile-resolve.sh stats <pr-number>
130
- ```
131
- Should show: "✓ All Greptile threads resolved!"
132
-
133
- **See complete process**: `.claude/rules/greptile-review-process.md`
134
-
135
- #### 3B. Check Greptile Summary
136
- ```bash
137
- # Greptile usually posts a summary comment on the PR
138
- # Review the overall assessment and recommendations
139
- ```
140
-
141
- The summary typically includes:
142
- - Overall code quality assessment
143
- - Key issues to address
144
- - Security concerns
145
- - Performance considerations
146
- - Best practice violations
147
-
148
- ### Step 4: Analyze SonarCloud (via sonarcloud skill)
149
-
150
- ```bash
151
- # Use sonarcloud skill to query PR-specific issues
152
- /sonarcloud
153
- ```
154
-
155
- **What SonarCloud does**: Static code analysis for quality, security, and maintainability
156
-
157
- **How it helps**:
158
- - Identifies code smells and technical debt
159
- - Finds security vulnerabilities (complementing OWASP Top 10)
160
- - Calculates code coverage
161
- - Tracks code duplication
162
- - Assesses maintainability
163
-
164
- **Query PR-specific data**:
165
- - Quality gate status (pass/fail)
166
- - New issues introduced in this PR
167
- - Security hotspots
168
- - Code coverage changes
169
- - Technical debt added
170
-
171
- **Prioritize issues**:
172
- 1. **Blocker/Critical**: Must fix before merge
173
- 2. **Major**: Should fix if valid
174
- 3. **Minor/Info**: Optional improvements
175
-
176
- ### Step 5: Check Other CI/CD Tools
177
-
178
- Review any other automated checks:
179
- - **Vercel**: Preview deployment successful?
180
- - **Security scanners**: Any vulnerabilities detected?
181
- - **Custom scripts**: Any failures?
182
- - **Dependency checks**: Outdated or vulnerable packages?
183
-
184
- ### Step 6: Categorize and Prioritize ALL Issues
185
-
186
- Create a master list of all issues from:
187
- - GitHub Actions failures
188
- - Greptile inline comments
189
- - Greptile summary recommendations
190
- - SonarCloud issues
191
- - Other CI/CD tool failures
192
-
193
- Prioritize by:
194
- 1. **Critical**: Blocks merge (failing tests, security vulnerabilities, build failures)
195
- 2. **High**: Should address (valid bugs, important improvements)
196
- 3. **Medium**: Optional but valuable (code quality, best practices)
197
- 4. **Low**: Nice to have (minor refactorings, style suggestions)
198
-
199
- ### Step 7: Address Issues Systematically
200
-
201
- For **GitHub Actions failures** (Critical):
202
- ```bash
203
- # Fix the issue
204
- # Commit with clear description
205
- git add .
206
- git commit -m "fix: resolve GitHub Actions failure in <workflow-name>
207
-
208
- - Fixed: [specific issue]
209
- - Root cause: [explanation]
210
- - Solution: [what was changed]"
211
-
212
- git push
213
- # Actions will auto-rerun
214
- ```
215
-
216
- For **Greptile inline comments** (Use Systematic Script):
217
- ```bash
218
- # Use the standardized Greptile resolution script
219
- # See .claude/rules/greptile-review-process.md for complete process
220
-
221
- # For valid comments (fixed):
222
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
223
- "✅ Fixed: [description]
224
-
225
- Changed: [what was changed]
226
- Reason: [why this fixes the issue]
227
- Commit: [commit-sha]"
228
-
229
- # For invalid/conflicting comments:
230
- bash .claude/scripts/greptile-resolve.sh reply-and-resolve <pr-number> <comment-id> <thread-id> \
231
- "This approach is correct because:
232
- - Reasoning: [from design doc]
233
- - Evidence: [link to source]
234
- - Alternative considered: [what Greptile suggested]
235
- - Why rejected: [specific reason]
236
-
237
- See: docs/plans/YYYY-MM-DD-<slug>-design.md (Decision #X)"
238
-
239
- # Verify all threads resolved:
240
- bash .claude/scripts/greptile-resolve.sh stats <pr-number>
241
- ```
242
-
243
- For **Greptile summary recommendations**:
244
- ```bash
245
- # Add a PR comment addressing the summary
246
- gh pr comment <pr-number> --body "## Greptile Summary Response
247
-
248
- Addressed all key recommendations:
249
- - [Recommendation 1]: ✓ Fixed in commit <sha>
250
- - [Recommendation 2]: ✓ Explained (see inline response)
251
- - [Recommendation 3]: ⏭️ Out of scope for this PR (created issue bd-xxx)
252
-
253
- All critical and high-priority items resolved."
254
- ```
255
-
256
- For **SonarCloud issues** (via sonarcloud skill):
257
- ```bash
258
- # For critical/blocker issues: Fix immediately
259
- # For security vulnerabilities: Fix immediately
260
- # For code smells: Fix if valid, justify if not
261
-
262
- # After fixes, SonarCloud will re-analyze on next push
263
- ```
264
-
265
- For **other CI/CD failures**:
266
- ```bash
267
- # Debug the specific tool's logs
268
- # Fix the underlying issue
269
- # Commit and push
270
- # Verify the check passes
271
- ```
272
-
273
- ### Step 8: Commit ALL Fixes
274
-
275
- ```bash
276
- git add .
277
- git commit -m "fix: address ALL PR review feedback
278
-
279
- GitHub Actions:
280
- - Fixed: [list of workflow failures resolved]
281
-
282
- Greptile:
283
- - Fixed: [list of valid inline comments addressed]
284
- - Explained: [list of invalid comments with reasoning]
285
- - Summary: [key recommendations addressed]
286
-
287
- SonarCloud:
288
- - Fixed: [security vulnerabilities and critical issues]
289
- - Justified: [code smells that are intentional]
290
-
291
- Other CI/CD:
292
- - Fixed: [any other tool failures]
293
-
294
- All review feedback resolved, all checks passing."
295
-
296
- git push
297
- ```
298
-
299
- ### Step 9: Verify ALL Checks Pass
300
-
301
- ```bash
302
- # Check status immediately, then poll for at most 60 seconds
303
- gh pr checks <pr-number>
304
-
305
- # If checks are still pending after 60 seconds: STOP and tell the user to return
306
- # when CI finishes or new review feedback appears.
307
- #
308
- # Ensure all completed status checks are green:
309
- # ✓ GitHub Actions workflows
310
- # ✓ Greptile review (no unresolved critical comments)
311
- # ✓ SonarCloud quality gate
312
- # ✓ Other CI/CD checks
313
- ```
314
-
315
- ### Step 10: Update Beads
316
-
317
- ```bash
318
- bd update <id> --comment "PR review complete: all issues addressed, all checks passing"
319
- bd sync
320
- ```
321
-
322
- ## Example Output
323
-
324
- ```
325
- ✓ GitHub Actions: 3 workflows
326
- - Build: ✓ Passing (was failing, fixed missing dependency)
327
- - Tests: ✓ Passing
328
- - Deploy Preview: ✓ Passing
329
-
330
- ✓ Greptile Review:
331
- Inline Comments: 8 total
332
- - Valid: 5 → Fixed & replied inline
333
- - Invalid: 2 → Explained with research evidence & replied inline
334
- - Out of scope: 1 → Noted for future work & replied inline
335
- - All marked resolved ✓
336
-
337
- Summary:
338
- - Key recommendations: 3/3 addressed
339
- - Overall assessment: Ready for merge
340
- - Posted summary response comment ✓
341
-
342
- ✓ SonarCloud (via sonarcloud skill):
343
- Quality Gate: ✓ Passing
344
- Issues: 3 total
345
- - Security: 1 → Fixed (SQL injection risk)
346
- - Code smells: 2 → 1 fixed, 1 justified
347
- - Coverage: Maintained at 85%
348
-
349
- ✓ Vercel Preview: ✓ Deployed successfully
350
- ✓ Security Scan: ✓ No vulnerabilities
351
-
352
- ✓ All Issues Addressed:
353
- - Critical: 2/2 fixed (GitHub Actions build, SonarCloud security)
354
- - High: 5/5 fixed (Greptile valid comments)
355
- - Medium: 3/3 addressed (1 fixed, 2 explained)
356
- - Low: 0 (none found)
357
-
358
- ✓ Fixes committed: 3c4d5e6
359
- ✓ All checks passing: ✓
360
- ✓ Beads updated: Ready for merge
361
-
362
- Next: /premerge <pr-number>
363
- ```
364
-
365
- ```
366
- <HARD-GATE: /review exit>
367
- Do NOT declare /review complete until:
368
- 1. bash .claude/scripts/greptile-resolve.sh stats <pr-number> shows "All Greptile threads resolved"
369
- 2. ALL human reviewer comments are either resolved or have a reply with explanation
370
- 3. gh pr checks <pr-number> shows all checks passing
371
- 4. Context check: Run `bash scripts/beads-context.sh validate <id>` and address any warnings
372
- 5. Stage transition: Run the following → exit 0 confirmed:
373
- bash scripts/beads-context.sh stage-transition <id> review premerge \
374
- --summary "<all feedback addressed summary>" \
375
- --decisions "<comment resolutions — valid fixes and justified rejections>" \
376
- --artifacts "<fixed files, commit SHAs>" \
377
- --next "<doc update needs for premerge>"
378
- </HARD-GATE>
379
- ```
380
-
381
- ## Integration with Workflow
382
-
383
- ```
384
- Utility: /status → Understand current context before starting
385
- Stage 1: /plan → Design intent → research → branch + worktree + task list
386
- Stage 2: /dev → Implement each task with subagent-driven TDD
387
- Stage 3: /validate → Type check, lint, tests, security — all fresh output
388
- Stage 4: /ship → Push + create PR
389
- Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud (you are here)
390
- Stage 6: /premerge → Update docs, hand off PR to user
391
- Stage 7: /verify → Post-merge CI check on main
392
- ```
393
-
394
- ## Understanding the Tools
395
-
396
- ### Greptile
397
- - **What it is**: AI-powered code review bot
398
- - **How it helps**:
399
- - Context-aware code analysis
400
- - Catches bugs and security issues
401
- - Suggests improvements and best practices
402
- - Provides inline comments and summary
403
- - **How to use feedback**:
404
- - Inline comments: Address specific code issues
405
- - Summary: Get overall assessment and key recommendations
406
- - Reply directly to each comment (not separate)
407
- - Mark resolved after addressing
408
-
409
- ### SonarCloud (via sonarcloud skill)
410
- - **What it is**: Static code analysis platform
411
- - **How it helps**:
412
- - Quality gate enforcement
413
- - Security vulnerability detection
414
- - Code smell identification
415
- - Technical debt tracking
416
- - Test coverage analysis
417
- - **How to use the skill**:
418
- - Query PR-specific issues
419
- - Get quality metrics
420
- - Identify security hotspots
421
- - Track code coverage changes
422
- - **Prioritization**:
423
- - Blocker/Critical: Must fix
424
- - Major: Should fix if valid
425
- - Minor/Info: Optional
426
-
427
- ### GitHub Actions
428
- - **What it is**: CI/CD automation platform
429
- - **How it helps**:
430
- - Automated testing
431
- - Build verification
432
- - Deployment automation
433
- - Security scanning
434
- - Quality checks
435
- - **Common failures**:
436
- - Build: Dependencies, compilation
437
- - Tests: Failing test cases
438
- - Lint: Code style violations
439
- - Deploy: Configuration issues
440
-
441
- ## Tips
442
-
443
- - **Address ALL issues**: Not just Greptile and SonarCloud
444
- - **Prioritize critical**: Fix blockers first (GitHub Actions failures, security issues)
445
- - **Reply inline to Greptile**: Respond to each comment directly
446
- - **Post summary response**: Address Greptile's overall assessment
447
- - **Use sonarcloud skill**: Don't just check the web UI
448
- - **Verify all checks**: Ensure everything is green before /premerge
449
- - **Update Beads**: Keep issue status current
450
- - **Research if needed**: Use WebSearch for unclear suggestions
451
- - **Document fixes**: Clear commit messages for all fixes
452
- - **Don't leave unresolved**: Address every comment and check