forge-workflow 0.0.9 → 0.1.0-beta.2

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