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,345 +0,0 @@
1
- ---
2
- description: Subagent-driven TDD implementation per task from /plan task list
3
- ---
4
-
5
- Implement each task from the /plan task list using a subagent-driven loop: implementer → spec compliance reviewer → code quality reviewer per task.
6
-
7
- # Dev
8
-
9
- This command reads the task list created by `/plan` and implements each task using a three-stage subagent loop. TDD is enforced inside each implementer subagent.
10
-
11
- ## Usage
12
-
13
- ```bash
14
- /dev
15
- ```
16
-
17
- ---
18
-
19
- ## Setup
20
-
21
- ### Step 1: Load context
22
-
23
- ```bash
24
- # Find task list and design doc
25
- ls docs/plans/
26
- ```
27
-
28
- Read:
29
- - **Task list**: `docs/plans/YYYY-MM-DD-<slug>-tasks.md` — extract ALL task text upfront
30
- - **Design doc**: `docs/plans/YYYY-MM-DD-<slug>-design.md` — including ambiguity policy section
31
-
32
- ### Step 2: Create decisions log
33
-
34
- Create an empty decisions log at the start of every /dev session:
35
-
36
- ```bash
37
- # docs/plans/YYYY-MM-DD-<slug>-decisions.md
38
- ```
39
-
40
- Format for each entry:
41
- ```
42
- ## Decision N
43
- **Date**: YYYY-MM-DD
44
- **Task**: Task N — <title>
45
- **Gap**: [what the spec didn't cover]
46
- **Score**: [filled checklist total]
47
- **Route**: PROCEED / SPEC-REVIEWER / BLOCKED
48
- **Choice made**: [if PROCEED: what was decided and why]
49
- **Status**: RESOLVED / PENDING-DEVELOPER-INPUT
50
- ```
51
-
52
- ### Step 3: Pre-flight checks
53
-
54
- ```
55
- <HARD-GATE: /dev start>
56
- Do NOT write any code until ALL confirmed:
57
- 1. git branch --show-current output is NOT main or master
58
- 2. git worktree list shows the worktree path for this feature
59
- 3. Task list file confirmed to exist (use Read tool — do not assume)
60
- 4. Decisions log file created
61
- </HARD-GATE>
62
- ```
63
-
64
- ---
65
-
66
-
67
- ### Multi-developer conflict check (soft block)
68
-
69
- Before starting the per-task loop, check for cross-developer conflicts:
70
-
71
- ```bash
72
- # Auto-sync to get latest team state (non-blocking)
73
- forge sync || true
74
-
75
- # Check for conflicts with the current beads issue
76
- bash scripts/conflict-detect.sh --issue <beads-id>
77
- ```
78
-
79
- If exit code 2 (validation error): show error message, abort — do not show conflict prompt.
80
-
81
- If exit code 1 (conflicts found):
82
- - Display the conflict output to the developer
83
- - Ask: "Other developers are working in overlapping areas. Proceed anyway? (y/n)"
84
- - If `n`: exit cleanly, no side effects
85
- - If `y`: log override via `bd comments add <id> "Conflict override: proceeding despite overlap with <conflicting-issues>"`, then continue to Per-Task Loop
86
- - Audit: record conflict override per OWASP A09
87
-
88
- If exit code 0: proceed silently to Per-Task Loop.
89
-
90
- ---
91
-
92
- ## Per-Task Loop
93
-
94
- Repeat for each task in the task list, in order:
95
-
96
- ### Step A: Dispatch implementer subagent
97
-
98
- Provide the subagent with:
99
- - **Full task text** (copy the complete task content — do NOT send just the file path)
100
- - **Relevant design doc sections** for this task
101
- - **Recent git log** showing what has already been implemented
102
-
103
- The implementer subagent:
104
- 1. Asks clarifying questions before writing any code
105
- 2. Implements using RED-GREEN-REFACTOR
106
- 3. Self-reviews for correctness
107
- 4. Commits with a descriptive message
108
-
109
- ```
110
- <HARD-GATE: TDD enforcement (inside implementer subagent)>
111
- Do NOT write any production code until:
112
- 1. A FAILING test exists for that code
113
- 2. The test has been run and output shows it FAILING
114
- 3. The failure reason matches the expected missing behavior
115
-
116
- If code was written before its test: delete it. Start with the test.
117
- "The test would obviously fail" is not evidence. Run it and show the output.
118
- </HARD-GATE>
119
- ```
120
-
121
- ---
122
-
123
- ### Step B: Decision gate (when implementer hits a spec gap)
124
-
125
- If the implementer encounters something not specified in the design doc, STOP and fill this checklist BEFORE deciding how to proceed:
126
-
127
- ```
128
- Gap: [describe exactly what the spec doesn't cover]
129
-
130
- Score each dimension (0=No / 1=Possibly / 2=Yes):
131
- [ ] 1. Files affected beyond the current task?
132
- [ ] 2. Changes a function signature or public export?
133
- [ ] 3. Changes a shared module used by other tasks?
134
- [ ] 4. Changes or touches persistent data or schema?
135
- [ ] 5. Changes user-visible behavior not discussed in design doc?
136
- [ ] 6. Affects auth, permissions, or data exposure?
137
- [ ] 7. Hard to reverse without cascading changes to other files?
138
- TOTAL: ___ / 14
139
-
140
- Mandatory overrides — any of these = automatically BLOCKED:
141
- [ ] Security dimension (6) scored 2
142
- [ ] Schema migration or data model change
143
- [ ] Removes or changes an existing public API endpoint
144
- [ ] Affects a task that is already implemented and committed
145
- ```
146
-
147
- **Score routing**:
148
- - **0-3**: PROCEED — make the decision, document in decisions log with full reasoning
149
- - **4-7**: SPEC-REVIEWER — route this decision to spec reviewer. Continue other independent tasks while waiting
150
- - **8+, or any mandatory override triggered**: BLOCKED — document in decisions log with Status=PENDING-DEVELOPER-INPUT. Complete all other independent tasks first. Surface to developer at /dev exit
151
-
152
- Log the decision entry before continuing.
153
-
154
- ---
155
-
156
- ### Step C: Spec compliance review
157
-
158
- After the implementer finishes the task, dispatch a **spec compliance reviewer** subagent.
159
-
160
- Provide:
161
- - Full task text (what was supposed to be implemented)
162
- - Relevant design doc sections
163
- - `git diff` for this task's commits
164
-
165
- Reviewer checks:
166
- - All requirements from the task text are implemented
167
- - Nothing extra was added beyond task scope
168
- - Edge cases documented in design doc are handled
169
- - TDD evidence: test exists, test was run failing, then passing
170
-
171
- If spec issues found: implementer fixes → re-review → repeat until ✅
172
-
173
- ```
174
- <HARD-GATE: spec before quality>
175
- Do NOT dispatch code quality reviewer until spec compliance reviewer returns ✅ for this task.
176
- Running quality review before spec compliance is the wrong order.
177
- </HARD-GATE>
178
- ```
179
-
180
- ---
181
-
182
- ### Step D: Code quality review
183
-
184
- After spec ✅, dispatch a **code quality reviewer** subagent.
185
-
186
- Provide:
187
- - git SHAs for this task's commits
188
- - The changed code (`git diff`)
189
-
190
- Reviewer checks:
191
- - Naming: clear, descriptive, consistent with codebase conventions
192
- - Structure: functions not too long, proper separation of concerns
193
- - Duplication: no copy-paste that could be extracted
194
- - Test coverage: tests cover happy path and at least one error path
195
- - No magic numbers, no commented-out code, no TODO without a Beads issue
196
-
197
- If quality issues found: implementer fixes → re-review → repeat until ✅
198
-
199
- ---
200
-
201
- ### Step E: Task completion
202
-
203
- ```
204
- <HARD-GATE: task completion>
205
- NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE.
206
-
207
- Do NOT mark task complete or move to next task until ALL confirmed in this session:
208
- 1. Spec compliance reviewer returned ✅
209
- 2. Code quality reviewer returned ✅
210
- 3. Identify what command proves this task is done (e.g. `bun test`, a CLI invocation, a script run).
211
- 4. Run it fresh — show the actual output. "Last run was fine" is not evidence.
212
- 5. Tests run fresh — actual output shows passing.
213
- 6. Implementer has committed (git log shows the commit).
214
- 7. `bash scripts/beads-context.sh update-progress <id> <task-num> <total> "<title>" <commit-sha> <test-count> <gate-count>` ran successfully (exit code 0). If it fails: STOP. Show error. Do not proceed to next task.
215
-
216
- Forbidden phrases (these are not evidence):
217
- - "should pass"
218
- - "looks good"
219
- - "seems to work"
220
- </HARD-GATE>
221
- ```
222
-
223
- Mark task complete. Move to next task.
224
-
225
- ---
226
-
227
- ## /dev Completion
228
-
229
- After all tasks are complete (or BLOCKED):
230
-
231
- ### Final code review
232
-
233
- Dispatch a final code reviewer for the full implementation:
234
- - Overall coherence: does the feature hang together as a whole?
235
- - Cross-task consistency: naming, patterns, style consistent across all tasks?
236
- - Integration: do all the pieces connect correctly?
237
-
238
- ### Surface BLOCKED decisions
239
-
240
- If any decisions have Status=PENDING-DEVELOPER-INPUT:
241
-
242
- ```
243
- ⏸️ /dev blocked — developer input needed
244
-
245
- The following decisions were deferred during implementation:
246
-
247
- Decision 1: [gap description]
248
- Task: Task N — <title>
249
- Score: 11/14 (mandatory override: schema change)
250
- Options considered: [A] vs [B]
251
- Recommendation: [A] because [reason]
252
- Blocked tasks: Task 6, Task 7 (depend on this decision)
253
-
254
- Decision 2: ...
255
-
256
- Please review and respond. After decisions are resolved, the implementer
257
- will complete the blocked tasks and re-run spec + quality review.
258
- ```
259
-
260
- Wait for developer input. After decisions resolved: implement blocked tasks → spec review → quality review → complete.
261
-
262
- ### /dev exit gate
263
-
264
- ```
265
- <HARD-GATE: /dev exit>
266
- Do NOT declare /dev complete until:
267
- 1. All tasks are marked complete OR have BLOCKED status with PENDING-DEVELOPER-INPUT
268
- 2. BLOCKED decisions have been surfaced to developer and are awaiting input
269
- 3. Final code reviewer has approved (or issues fixed and re-reviewed)
270
- 4. All decisions in decisions log have Status of RESOLVED or PENDING-DEVELOPER-INPUT
271
- 5. No unresolved spec or quality issues remain
272
- </HARD-GATE>
273
- ```
274
-
275
- ### Beads update
276
-
277
- ```bash
278
- bash scripts/beads-context.sh validate <id>
279
- bash scripts/beads-context.sh stage-transition <id> dev validate \
280
- --summary "<N tasks done, M decision gates fired>" \
281
- --decisions "<key spec gaps and how they were resolved>" \
282
- --artifacts "<changed source files and test files>" \
283
- --next "<validation priorities — lint issues, type concerns>"
284
- ```
285
-
286
- ---
287
-
288
- ## Decision Gate Calibration
289
-
290
- The frequency of decision gates is a **plan quality metric**:
291
- - **0 gates fired**: Excellent — Phase 1 Q&A covered all cases
292
- - **1-2 gates fired**: Good — minor gaps, normal
293
- - **3-5 gates fired**: Plan was incomplete — note for Phase 1 improvement next feature
294
- - **5+ gates fired**: Phase 1 Q&A was insufficient — the ambiguity policy field needed to be more specific
295
-
296
- Document the gate count in the final commit message.
297
-
298
- ---
299
-
300
- ## Example Output (all tasks complete)
301
-
302
- ```
303
- ✓ Task 1: Types and interfaces — COMPLETE
304
- Spec: ✅ Quality: ✅ Tests: 4/4 passing Commit: abc1234
305
- Decision gates: 0
306
-
307
- ✓ Task 2: Validation logic — COMPLETE
308
- Spec: ✅ Quality: ✅ Tests: 8/8 passing Commit: def5678
309
- Decision gates: 1 (PROCEED, score 2 — documented in decisions log)
310
-
311
- ✓ Task 3: API endpoint — COMPLETE
312
- Spec: ✅ Quality: ✅ Tests: 6/6 passing Commit: ghi9012
313
- Decision gates: 0
314
-
315
- ✓ Final code review: ✅ (coherent, consistent, correctly integrated)
316
-
317
- ✓ Decisions log: docs/plans/2026-02-26-stripe-billing-decisions.md
318
- - Decision 1: RESOLVED (score 2, proceeded with conservative choice)
319
- - Decision gates fired: 1 (plan quality: Good)
320
-
321
- ✓ Beads updated: forge-xyz → implementation complete
322
-
323
- Ready for /validate
324
- ```
325
-
326
- ## Integration with Workflow
327
-
328
- ```
329
- Utility: /status → Understand current context before starting
330
- Stage 1: /plan → Design intent → research → branch + worktree + task list
331
- Stage 2: /dev → Implement each task with subagent-driven TDD (you are here)
332
- Stage 3: /validate → Type check, lint, tests, security — all fresh output
333
- Stage 4: /ship → Push + create PR
334
- Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
335
- Stage 6: /premerge → Update docs, hand off PR to user
336
- Stage 7: /verify → Post-merge CI check on main
337
- ```
338
-
339
- ## Tips
340
-
341
- - **Send full task text to subagents**: Never send the file path — copy the complete task text directly into the subagent prompt
342
- - **TDD lives inside the implementer**: The implementer subagent is responsible for RED-GREEN-REFACTOR, not the orchestrating /dev session
343
- - **Spec before quality — always**: A task that passes quality review but fails spec compliance has still failed
344
- - **Decision gates are rare with a good plan**: If gates fire frequently, the Phase 1 Q&A needs more depth next time
345
- - **BLOCKED ≠ failed**: Surfacing a blocked decision with documentation and a recommendation is the correct behavior