forge-workflow 0.0.10 → 0.1.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/.claude/rules/{greptile-review-process.md → review-process.md} +56 -41
  2. package/.claude/scripts/{greptile-resolve.sh → review-resolve.sh} +13 -3
  3. package/.cursor/rules/permissions-guidance.mdc +2 -2
  4. package/.forge/hooks/check-tdd.js +82 -5
  5. package/.forge/hooks/forge-native-hook.js +431 -0
  6. package/.forge/protected-paths.yaml +157 -0
  7. package/AGENTS.md +151 -61
  8. package/CHANGELOG.md +709 -0
  9. package/CLAUDE.md +9 -118
  10. package/QUICKSTART.md +175 -0
  11. package/README.md +275 -365
  12. package/bin/forge-cmd.js +120 -9
  13. package/bin/forge-preflight.js +26 -5
  14. package/bin/forge.js +532 -489
  15. package/docs/INDEX.md +93 -0
  16. package/docs/PROJECT_DESIGN.md +685 -0
  17. package/docs/architecture/index.md +66 -0
  18. package/docs/architecture/notes/README.md +35 -0
  19. package/docs/architecture/subsystems/README.md +46 -0
  20. package/docs/forge/TOOLCHAIN.md +670 -0
  21. package/docs/forge/VALIDATION.md +82 -0
  22. package/docs/{AGENT_INSTALL_PROMPT.md → guides/AGENT_INSTALL_PROMPT.md} +3 -3
  23. package/docs/guides/BEADS_GITHUB_SYNC.md +32 -0
  24. package/docs/{ENHANCED_ONBOARDING.md → guides/ENHANCED_ONBOARDING.md} +16 -12
  25. package/docs/guides/GREPTILE_SETUP.md +46 -0
  26. package/docs/guides/MANUAL_REVIEW_GUIDE.md +58 -0
  27. package/docs/guides/MIGRATION.md +56 -0
  28. package/docs/guides/SETUP.md +121 -0
  29. package/docs/guides/SUPPORT.md +190 -0
  30. package/docs/guides/WORKFLOW_TEMPLATES.md +74 -0
  31. package/docs/guides/memory-backends.md +183 -0
  32. package/docs/reference/ADAPTERS.md +128 -0
  33. package/docs/reference/AGENT_SKILL_PARITY.md +175 -0
  34. package/docs/reference/COMMANDS.md +214 -0
  35. package/docs/reference/DECISION_DRIFT_GUARDS.md +97 -0
  36. package/docs/{EXAMPLES.md → reference/EXAMPLES.md} +7 -5
  37. package/docs/reference/FORGE_KERNEL_STORAGE_MODEL.md +135 -0
  38. package/docs/reference/HERMES_INTEGRATION.md +118 -0
  39. package/docs/reference/INSIGHTS_RECAP.md +63 -0
  40. package/docs/reference/INSTALL.md +164 -0
  41. package/docs/reference/KERNEL_TAXONOMY_VALIDATION.md +161 -0
  42. package/docs/reference/PROTECTED_PATH_MANIFEST.md +25 -0
  43. package/docs/reference/RELEASE.md +68 -0
  44. package/docs/reference/RESEARCH_TEMPLATE.md +292 -0
  45. package/docs/{ROADMAP.md → reference/ROADMAP.md} +12 -9
  46. package/docs/reference/SKILLS.md +35 -0
  47. package/docs/reference/STATUS_BOARD.md +80 -0
  48. package/docs/reference/TEMPLATES.md +106 -0
  49. package/docs/{TOOLCHAIN.md → reference/TOOLCHAIN.md} +62 -47
  50. package/docs/reference/VALIDATION.md +82 -0
  51. package/docs/reference/agent-permissions.md +169 -0
  52. package/docs/reference/beads-to-kernel-migration-ux.md +61 -0
  53. package/docs/reference/control-plane-guarantees.md +125 -0
  54. package/docs/reference/dependency-chain.md +331 -0
  55. package/docs/reference/forge-kernel-issue-command-contract.md +161 -0
  56. package/docs/reference/forge-kernel-schema.md +72 -0
  57. package/docs/reference/kernel-conflict-evaluators.md +27 -0
  58. package/docs/reference/patch-md-format.md +77 -0
  59. package/docs/reference/protected-state-surfaces.md +59 -0
  60. package/docs/reference/shepherd.md +155 -0
  61. package/docs/reference/superpowers-analysis.md +320 -0
  62. package/docs/reference/superpowers-integration-options.md +404 -0
  63. package/docs/reference/test-environment.md +519 -0
  64. package/docs/reference/upgrade-safety.md +59 -0
  65. package/lefthook.yml +18 -0
  66. package/lib/activation/ensure-forge-home.js +135 -0
  67. package/lib/adapter-cli.js +307 -0
  68. package/lib/adapters/beads-issue-adapter.js +127 -0
  69. package/lib/adapters/beads-kernel-compat.js +1109 -0
  70. package/lib/adapters/greptile-review-adapter.js +141 -0
  71. package/lib/adapters/kernel-issue-adapter.js +101 -0
  72. package/lib/adapters/pr-state-adapter.js +484 -0
  73. package/lib/adoption-profiles.js +139 -0
  74. package/lib/agents/README.md +2 -6
  75. package/lib/agents/claude.plugin.json +3 -8
  76. package/lib/agents/codex.plugin.json +9 -1
  77. package/lib/agents/cursor.plugin.json +2 -6
  78. package/lib/agents/hermes.plugin.json +22 -0
  79. package/lib/agents-config.js +39 -1236
  80. package/lib/audit-evidence.js +282 -0
  81. package/lib/beads-detect.js +60 -0
  82. package/lib/beads-nudge.js +91 -0
  83. package/lib/beads-setup.js +121 -0
  84. package/lib/beads-sync-scaffold.js +25 -101
  85. package/lib/codex-skills.js +51 -1
  86. package/lib/commands/_aliases.js +248 -0
  87. package/lib/commands/_issue.js +780 -77
  88. package/lib/commands/_manifest.js +93 -0
  89. package/lib/commands/_registry.js +99 -34
  90. package/lib/commands/_resolve-command-opts.js +230 -0
  91. package/lib/commands/_serve-security.js +270 -0
  92. package/lib/commands/adapter.js +12 -0
  93. package/lib/commands/add.js +118 -0
  94. package/lib/commands/audit.js +70 -0
  95. package/lib/commands/blocked.js +5 -0
  96. package/lib/commands/board.js +64 -0
  97. package/lib/commands/claim.js +21 -2
  98. package/lib/commands/claims.js +7 -0
  99. package/lib/commands/clean.js +485 -75
  100. package/lib/commands/close.js +2 -2
  101. package/lib/commands/comment.js +5 -0
  102. package/lib/commands/control.js +148 -0
  103. package/lib/commands/create.js +2 -2
  104. package/lib/commands/dev.js +185 -7
  105. package/lib/commands/doc-gate.js +336 -0
  106. package/lib/commands/doctor.js +156 -0
  107. package/lib/commands/explain.js +15 -0
  108. package/lib/commands/export.js +237 -0
  109. package/lib/commands/gate.js +209 -0
  110. package/lib/commands/hooks.js +377 -0
  111. package/lib/commands/inbox.js +118 -0
  112. package/lib/commands/init.js +604 -0
  113. package/lib/commands/insights.js +79 -0
  114. package/lib/commands/issue.js +12 -1
  115. package/lib/commands/issues.js +17 -0
  116. package/lib/commands/lint.js +5 -0
  117. package/lib/commands/list.js +2 -2
  118. package/lib/commands/memory.js +81 -0
  119. package/lib/commands/merge.js +312 -0
  120. package/lib/commands/migrate.js +362 -0
  121. package/lib/commands/new.js +12 -0
  122. package/lib/commands/options.js +241 -0
  123. package/lib/commands/orient.js +13 -0
  124. package/lib/commands/orphans.js +5 -0
  125. package/lib/commands/patch.js +67 -0
  126. package/lib/commands/plan.js +481 -29
  127. package/lib/commands/pr.js +88 -0
  128. package/lib/commands/preflight.js +211 -0
  129. package/lib/commands/prime.js +13 -0
  130. package/lib/commands/push.js +135 -2
  131. package/lib/commands/ready.js +2 -2
  132. package/lib/commands/recall.js +171 -0
  133. package/lib/commands/recap.js +75 -0
  134. package/lib/commands/recommend.js +0 -1
  135. package/lib/commands/release.js +104 -0
  136. package/lib/commands/remember.js +140 -0
  137. package/lib/commands/role.js +99 -0
  138. package/lib/commands/serve.js +581 -0
  139. package/lib/commands/setup.js +900 -971
  140. package/lib/commands/shepherd.js +501 -0
  141. package/lib/commands/ship.js +59 -1
  142. package/lib/commands/show.js +2 -2
  143. package/lib/commands/stage.js +192 -0
  144. package/lib/commands/stale.js +5 -0
  145. package/lib/commands/status.js +158 -21
  146. package/lib/commands/sync.js +34 -46
  147. package/lib/commands/team.js +4 -1
  148. package/lib/commands/test.js +43 -27
  149. package/lib/commands/update.js +2 -2
  150. package/lib/commands/upgrade.js +47 -0
  151. package/lib/commands/validate.js +43 -18
  152. package/lib/commands/worktree.js +362 -99
  153. package/lib/config-writer.js +202 -0
  154. package/lib/control-plane.js +236 -0
  155. package/lib/core/runtime-graph.js +977 -0
  156. package/lib/dep-guard/keyword-ripple.js +2 -2
  157. package/lib/deprecated-sync-cleanup.js +362 -0
  158. package/lib/detect-agent.js +2 -28
  159. package/lib/detect-worktree.js +35 -9
  160. package/lib/doc-gate/declaration.js +177 -0
  161. package/lib/doc-gate/detect.js +289 -0
  162. package/lib/doc-gate/gate.js +375 -0
  163. package/lib/doc-gate/okf-config.js +128 -0
  164. package/lib/doc-gate/okf.js +429 -0
  165. package/lib/docs-command.js +1161 -6
  166. package/lib/forge-issues.js +382 -11
  167. package/lib/forge-lock.js +262 -0
  168. package/lib/gate-events.js +192 -0
  169. package/lib/global-flags.js +104 -0
  170. package/lib/greptile-match.js +7 -63
  171. package/lib/grounding/context-events.js +230 -0
  172. package/lib/grounding/read-first.js +112 -0
  173. package/lib/harness-capability-matrix.js +380 -0
  174. package/lib/hook-global-installer.js +347 -0
  175. package/lib/hook-renderer.js +541 -0
  176. package/lib/inbox.js +391 -0
  177. package/lib/insights.js +397 -0
  178. package/lib/issue-adapter.js +156 -0
  179. package/lib/issue-backend.js +145 -0
  180. package/lib/issue-render.js +220 -0
  181. package/lib/kernel/backing-issue.js +311 -0
  182. package/lib/kernel/broker.js +1218 -0
  183. package/lib/kernel/cli-broker-factory.js +130 -0
  184. package/lib/kernel/conflict-signal.js +82 -0
  185. package/lib/kernel/evaluators.js +195 -0
  186. package/lib/kernel/fs-class.js +495 -0
  187. package/lib/kernel/issue-command-contract.js +559 -0
  188. package/lib/kernel/issue-id-resolver.js +186 -0
  189. package/lib/kernel/lease-enforcer.js +158 -0
  190. package/lib/kernel/migrations.js +333 -0
  191. package/lib/kernel/owned-kernel.js +43 -0
  192. package/lib/kernel/planning-buckets-schema.js +109 -0
  193. package/lib/kernel/projection-jsonl-writer.js +450 -0
  194. package/lib/kernel/readiness-model.js +329 -0
  195. package/lib/kernel/schema.js +356 -0
  196. package/lib/kernel/sqlite-driver.js +2540 -0
  197. package/lib/kernel/taxonomy-validator.js +394 -0
  198. package/lib/lefthook-check.js +3 -2
  199. package/lib/lefthook-wiring.js +413 -0
  200. package/lib/mcp-config-renderer.js +288 -0
  201. package/lib/memory/graphiti-mcp.js +106 -0
  202. package/lib/memory/router.js +387 -0
  203. package/lib/memory/typed-api.js +102 -0
  204. package/lib/memory-digest.js +195 -0
  205. package/lib/merge-rules.js +395 -0
  206. package/lib/migrate-dry-run.js +466 -0
  207. package/lib/orientation.js +863 -0
  208. package/lib/package-manager-remediation.js +103 -0
  209. package/lib/package-root.js +381 -0
  210. package/lib/patch-intent.js +890 -0
  211. package/lib/plugin-catalog.js +3 -4
  212. package/lib/plugin-manager.js +0 -5
  213. package/lib/pr-bundle.js +186 -0
  214. package/lib/pr-monitor/auto-actions.js +175 -0
  215. package/lib/pr-monitor/differ.js +195 -0
  216. package/lib/pr-monitor/digest.js +206 -0
  217. package/lib/pr-monitor/events.js +0 -0
  218. package/lib/pr-monitor/gather.js +124 -0
  219. package/lib/pr-monitor/journal.js +299 -0
  220. package/lib/pr-monitor/monitor.js +146 -0
  221. package/lib/pr-monitor/render-sticky.js +192 -0
  222. package/lib/pr-monitor/upsert-sticky.js +169 -0
  223. package/lib/pr-monitor/watch-lifecycle.js +95 -0
  224. package/lib/pr-monitor/watch.js +247 -0
  225. package/lib/pr-pull.js +1314 -0
  226. package/lib/pr-shepherd.js +494 -0
  227. package/lib/pr-state-validator.js +59 -0
  228. package/lib/preflight/gates.js +237 -0
  229. package/lib/preflight/runner.js +116 -0
  230. package/lib/project-discovery.js +0 -53
  231. package/lib/project-memory.js +99 -497
  232. package/lib/protected-path-manifest.js +281 -0
  233. package/lib/protected-state-surfaces.js +387 -0
  234. package/lib/release-readiness.js +2105 -0
  235. package/lib/reset.js +59 -45
  236. package/lib/review-adapter.js +68 -0
  237. package/lib/rules-sync.js +260 -0
  238. package/lib/runtime-health.js +241 -20
  239. package/lib/safety-config-renderer.js +268 -0
  240. package/lib/setup-action-log.js +1 -7
  241. package/lib/setup.js +27 -65
  242. package/lib/shell-utils.js +76 -6
  243. package/lib/skills-sync.js +330 -0
  244. package/lib/smart-status/scoring.js +17 -3
  245. package/lib/status/beads-snapshot.js +45 -2
  246. package/lib/status/presenter.js +169 -18
  247. package/lib/status/snapshot.js +186 -0
  248. package/lib/sync-backend.js +202 -0
  249. package/lib/untrusted-content.js +52 -0
  250. package/lib/upgrade-safety.js +251 -0
  251. package/lib/workflow/enforce-stage.js +351 -45
  252. package/lib/workflow/stage-transition.js +115 -0
  253. package/lib/workflow/stages.js +30 -6
  254. package/lib/workflow/state-manager.js +11 -22
  255. package/lib/workflow/state.js +23 -1
  256. package/lib/workflow-profiles.js +17 -5
  257. package/package.json +37 -35
  258. package/rules/documentation.md +19 -0
  259. package/rules/kernel-tracking.md +26 -0
  260. package/rules/security.md +22 -0
  261. package/rules/tdd.md +20 -0
  262. package/rules/workflow.md +27 -0
  263. package/scripts/auto-backing-issue.js +47 -0
  264. package/scripts/beads-context.sh +81 -57
  265. package/scripts/beads-upgrade-smoke.sh +24 -3
  266. package/scripts/bootstrap-windows-tools.sh +78 -0
  267. package/scripts/branch-protection.js +2 -3
  268. package/scripts/check-agents.js +34 -137
  269. package/scripts/commitlint.js +3 -1
  270. package/scripts/conflict-detect.sh +3 -0
  271. package/scripts/dep-guard.sh +22 -3
  272. package/scripts/file-index.sh +3 -0
  273. package/scripts/forge-team/lib/claim.sh +34 -18
  274. package/scripts/forge-team/lib/dashboard.sh +61 -86
  275. package/scripts/forge-team/lib/epic.sh +99 -263
  276. package/scripts/forge-team/lib/hooks.sh +26 -28
  277. package/scripts/forge-team/lib/identity.sh +4 -4
  278. package/scripts/forge-team/lib/sync-github.sh +49 -84
  279. package/scripts/forge-team/lib/verify.sh +93 -83
  280. package/scripts/forge-team/lib/workload.sh +41 -65
  281. package/scripts/forge-team/tests/claim.test.sh +25 -19
  282. package/scripts/forge-team/tests/dashboard.test.sh +31 -46
  283. package/scripts/forge-team/tests/epic.test.sh +52 -71
  284. package/scripts/forge-team/tests/hooks.test.sh +38 -50
  285. package/scripts/forge-team/tests/identity.test.sh +3 -3
  286. package/scripts/forge-team/tests/integration.test.sh +44 -66
  287. package/scripts/forge-team/tests/sync-github.test.sh +50 -83
  288. package/scripts/forge-team/tests/verify.test.sh +37 -46
  289. package/scripts/forge-team/tests/workflow-integration.test.sh +4 -4
  290. package/scripts/forge-team/tests/workload.test.sh +32 -66
  291. package/scripts/gen-command-manifest.js +153 -0
  292. package/scripts/gen-embedded-assets.mjs +129 -0
  293. package/scripts/install.ps1 +139 -0
  294. package/scripts/install.sh +268 -0
  295. package/scripts/lib/release-asset.mjs +84 -0
  296. package/scripts/parity-check.mjs +145 -0
  297. package/scripts/parity-check.test.mjs +58 -0
  298. package/scripts/pin-agentic-workflow-images.js +112 -0
  299. package/scripts/pr-auto-actions.js +93 -0
  300. package/scripts/pr-coordinator.sh +3 -0
  301. package/scripts/pr-verdict-label.js +50 -0
  302. package/scripts/preflight-sonar.eslint.config.mjs +44 -0
  303. package/scripts/preflight.sh +21 -94
  304. package/scripts/protected-state-check.js +104 -0
  305. package/scripts/smart-status.sh +60 -57
  306. package/scripts/spikes/config-race-bench.js +111 -0
  307. package/scripts/spikes/harness-capability-matrix.js +13 -0
  308. package/scripts/spikes/patch-anchor-stability-bench.js +125 -0
  309. package/scripts/spikes/protected-path-manifest.js +20 -0
  310. package/scripts/spikes/skill-auto-invoke-parity.js +292 -0
  311. package/scripts/sync-agent-skills.js +62 -0
  312. package/scripts/sync-utils.sh +3 -0
  313. package/scripts/test-ci-shard.js +13 -6
  314. package/scripts/test.js +95 -12
  315. package/skills/claim-safety/SKILL.md +102 -0
  316. package/skills/claim-safety/evals/evals.json +46 -0
  317. package/{.github/prompts/dev.prompt.md → skills/dev/SKILL.md} +44 -50
  318. package/skills/dev/evals/evals.json +50 -0
  319. package/skills/hermes-forge/SKILL.md +185 -0
  320. package/skills/hermes-forge/evals/evals.json +46 -0
  321. package/skills/issue-basics/SKILL.md +111 -0
  322. package/skills/issue-basics/evals/evals.json +46 -0
  323. package/skills/kernel/SKILL.md +166 -0
  324. package/skills/kernel/evals/evals.json +50 -0
  325. package/skills/memory/SKILL.md +102 -0
  326. package/skills/parallel-deep-research/SKILL.md +14 -11
  327. package/skills/parallel-deep-research/evals/evals.json +11 -27
  328. package/{.github/prompts/plan.prompt.md → skills/plan/SKILL.md} +132 -157
  329. package/skills/plan/evals/evals.json +42 -0
  330. package/skills/research/SKILL.md +195 -0
  331. package/skills/research/evals/evals.json +42 -0
  332. package/{.github/prompts/review.prompt.md → skills/review/SKILL.md} +98 -62
  333. package/skills/review/evals/evals.json +42 -0
  334. package/skills/rollback/SKILL.md +110 -0
  335. package/skills/rollback/evals/evals.json +46 -0
  336. package/skills/rollback/references/methods.md +204 -0
  337. package/{.cursor/commands/rollback.md → skills/rollback/references/workflow-integration.md} +10 -284
  338. package/skills/shepherd/SKILL.md +66 -0
  339. package/skills/shepherd/evals/evals.json +42 -0
  340. package/{.github/prompts/ship.prompt.md → skills/ship/SKILL.md} +81 -45
  341. package/skills/ship/evals/evals.json +42 -0
  342. package/skills/smith/SKILL.md +142 -0
  343. package/skills/smith/evals/evals.json +46 -0
  344. package/skills/smith/references/autonomy-and-gates.md +94 -0
  345. package/{.github/prompts/sonarcloud.prompt.md → skills/sonarcloud/SKILL.md} +14 -3
  346. package/skills/sonarcloud/evals/evals.json +46 -0
  347. package/skills/sonarcloud-analysis/SKILL.md +18 -13
  348. package/skills/sonarcloud-analysis/evals/evals.json +11 -15
  349. package/{.github/prompts/status.prompt.md → skills/status/SKILL.md} +20 -10
  350. package/skills/status/evals/evals.json +50 -0
  351. package/skills/triage-ready/SKILL.md +121 -0
  352. package/skills/triage-ready/evals/evals.json +42 -0
  353. package/{.github/prompts/validate.prompt.md → skills/validate/SKILL.md} +52 -29
  354. package/skills/validate/evals/evals.json +42 -0
  355. package/skills/verify/SKILL.md +299 -0
  356. package/skills/verify/evals/evals.json +50 -0
  357. package/.claude/commands/dev.md +0 -345
  358. package/.claude/commands/plan.md +0 -566
  359. package/.claude/commands/premerge.md +0 -186
  360. package/.claude/commands/research.md +0 -42
  361. package/.claude/commands/review.md +0 -451
  362. package/.claude/commands/rollback.md +0 -721
  363. package/.claude/commands/ship.md +0 -213
  364. package/.claude/commands/sonarcloud.md +0 -152
  365. package/.claude/commands/status.md +0 -90
  366. package/.claude/commands/validate.md +0 -288
  367. package/.claude/commands/verify.md +0 -269
  368. package/.claude/rules/workflow.md +0 -121
  369. package/.cline/workflows/dev.md +0 -342
  370. package/.cline/workflows/plan.md +0 -563
  371. package/.cline/workflows/premerge.md +0 -183
  372. package/.cline/workflows/research.md +0 -39
  373. package/.cline/workflows/review.md +0 -448
  374. package/.cline/workflows/rollback.md +0 -718
  375. package/.cline/workflows/ship.md +0 -210
  376. package/.cline/workflows/sonarcloud.md +0 -146
  377. package/.cline/workflows/status.md +0 -87
  378. package/.cline/workflows/validate.md +0 -285
  379. package/.cline/workflows/verify.md +0 -266
  380. package/.codex/config.toml +0 -11
  381. package/.codex/skills/dev/SKILL.md +0 -345
  382. package/.codex/skills/plan/SKILL.md +0 -566
  383. package/.codex/skills/premerge/SKILL.md +0 -186
  384. package/.codex/skills/research/SKILL.md +0 -42
  385. package/.codex/skills/review/SKILL.md +0 -451
  386. package/.codex/skills/rollback/SKILL.md +0 -721
  387. package/.codex/skills/ship/SKILL.md +0 -213
  388. package/.codex/skills/sonarcloud/SKILL.md +0 -149
  389. package/.codex/skills/status/SKILL.md +0 -90
  390. package/.codex/skills/validate/SKILL.md +0 -288
  391. package/.codex/skills/verify/SKILL.md +0 -269
  392. package/.cursor/commands/dev.md +0 -342
  393. package/.cursor/commands/plan.md +0 -563
  394. package/.cursor/commands/premerge.md +0 -183
  395. package/.cursor/commands/research.md +0 -39
  396. package/.cursor/commands/review.md +0 -448
  397. package/.cursor/commands/ship.md +0 -210
  398. package/.cursor/commands/sonarcloud.md +0 -146
  399. package/.cursor/commands/status.md +0 -87
  400. package/.cursor/commands/validate.md +0 -285
  401. package/.cursor/commands/verify.md +0 -266
  402. package/.cursorrules +0 -149
  403. package/.github/prompts/premerge.prompt.md +0 -188
  404. package/.github/prompts/research.prompt.md +0 -44
  405. package/.github/prompts/rollback.prompt.md +0 -723
  406. package/.github/prompts/verify.prompt.md +0 -271
  407. package/.github/workflows/beads-to-github.yml +0 -89
  408. package/.github/workflows/github-to-beads.yml +0 -100
  409. package/.kilocode/workflows/dev.md +0 -346
  410. package/.kilocode/workflows/plan.md +0 -567
  411. package/.kilocode/workflows/premerge.md +0 -187
  412. package/.kilocode/workflows/research.md +0 -43
  413. package/.kilocode/workflows/review.md +0 -452
  414. package/.kilocode/workflows/rollback.md +0 -722
  415. package/.kilocode/workflows/ship.md +0 -214
  416. package/.kilocode/workflows/sonarcloud.md +0 -150
  417. package/.kilocode/workflows/status.md +0 -91
  418. package/.kilocode/workflows/validate.md +0 -289
  419. package/.kilocode/workflows/verify.md +0 -270
  420. package/.opencode/commands/dev.md +0 -345
  421. package/.opencode/commands/plan.md +0 -566
  422. package/.opencode/commands/premerge.md +0 -186
  423. package/.opencode/commands/research.md +0 -42
  424. package/.opencode/commands/review.md +0 -451
  425. package/.opencode/commands/rollback.md +0 -721
  426. package/.opencode/commands/ship.md +0 -213
  427. package/.opencode/commands/sonarcloud.md +0 -149
  428. package/.opencode/commands/status.md +0 -90
  429. package/.opencode/commands/validate.md +0 -288
  430. package/.opencode/commands/verify.md +0 -269
  431. package/.roo/commands/dev.md +0 -346
  432. package/.roo/commands/plan.md +0 -567
  433. package/.roo/commands/premerge.md +0 -187
  434. package/.roo/commands/research.md +0 -43
  435. package/.roo/commands/review.md +0 -452
  436. package/.roo/commands/rollback.md +0 -722
  437. package/.roo/commands/ship.md +0 -214
  438. package/.roo/commands/sonarcloud.md +0 -150
  439. package/.roo/commands/status.md +0 -91
  440. package/.roo/commands/validate.md +0 -289
  441. package/.roo/commands/verify.md +0 -270
  442. package/docs/BEADS_GITHUB_SYNC.md +0 -281
  443. package/docs/GREPTILE_SETUP.md +0 -400
  444. package/docs/MANUAL_REVIEW_GUIDE.md +0 -106
  445. package/docs/SETUP.md +0 -663
  446. package/docs/VALIDATION.md +0 -363
  447. package/lib/agents/cline.plugin.json +0 -29
  448. package/lib/agents/copilot.plugin.json +0 -24
  449. package/lib/agents/kilocode.plugin.json +0 -22
  450. package/lib/agents/opencode.plugin.json +0 -23
  451. package/lib/agents/roo.plugin.json +0 -30
  452. package/lib/beads-bootstrap.js +0 -225
  453. package/lib/beads-health-check.js +0 -188
  454. package/lib/commands/commands-reset.js +0 -147
  455. package/opencode.json +0 -67
  456. package/scripts/beads-context.test.js +0 -584
  457. package/scripts/github-beads-sync/comment.mjs +0 -64
  458. package/scripts/github-beads-sync/config.mjs +0 -148
  459. package/scripts/github-beads-sync/github-api.mjs +0 -131
  460. package/scripts/github-beads-sync/index.mjs +0 -356
  461. package/scripts/github-beads-sync/label-mapper.mjs +0 -54
  462. package/scripts/github-beads-sync/mapping.mjs +0 -132
  463. package/scripts/github-beads-sync/reverse-sync-cli.mjs +0 -31
  464. package/scripts/github-beads-sync/reverse-sync.mjs +0 -162
  465. package/scripts/github-beads-sync/run-bd.mjs +0 -161
  466. package/scripts/github-beads-sync/sanitize.mjs +0 -121
  467. package/scripts/github-beads-sync.config.json +0 -26
  468. package/scripts/sync-commands.js +0 -600
@@ -1,346 +0,0 @@
1
- ---
2
- description: Subagent-driven TDD implementation per task from /plan task list
3
- mode: code
4
- ---
5
-
6
- Implement each task from the /plan task list using a subagent-driven loop: implementer → spec compliance reviewer → code quality reviewer per task.
7
-
8
- # Dev
9
-
10
- 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.
11
-
12
- ## Usage
13
-
14
- ```bash
15
- /dev
16
- ```
17
-
18
- ---
19
-
20
- ## Setup
21
-
22
- ### Step 1: Load context
23
-
24
- ```bash
25
- # Find task list and design doc
26
- ls docs/plans/
27
- ```
28
-
29
- Read:
30
- - **Task list**: `docs/plans/YYYY-MM-DD-<slug>-tasks.md` — extract ALL task text upfront
31
- - **Design doc**: `docs/plans/YYYY-MM-DD-<slug>-design.md` — including ambiguity policy section
32
-
33
- ### Step 2: Create decisions log
34
-
35
- Create an empty decisions log at the start of every /dev session:
36
-
37
- ```bash
38
- # docs/plans/YYYY-MM-DD-<slug>-decisions.md
39
- ```
40
-
41
- Format for each entry:
42
- ```
43
- ## Decision N
44
- **Date**: YYYY-MM-DD
45
- **Task**: Task N — <title>
46
- **Gap**: [what the spec didn't cover]
47
- **Score**: [filled checklist total]
48
- **Route**: PROCEED / SPEC-REVIEWER / BLOCKED
49
- **Choice made**: [if PROCEED: what was decided and why]
50
- **Status**: RESOLVED / PENDING-DEVELOPER-INPUT
51
- ```
52
-
53
- ### Step 3: Pre-flight checks
54
-
55
- ```
56
- <HARD-GATE: /dev start>
57
- Do NOT write any code until ALL confirmed:
58
- 1. git branch --show-current output is NOT main or master
59
- 2. git worktree list shows the worktree path for this feature
60
- 3. Task list file confirmed to exist (use Read tool — do not assume)
61
- 4. Decisions log file created
62
- </HARD-GATE>
63
- ```
64
-
65
- ---
66
-
67
-
68
- ### Multi-developer conflict check (soft block)
69
-
70
- Before starting the per-task loop, check for cross-developer conflicts:
71
-
72
- ```bash
73
- # Auto-sync to get latest team state (non-blocking)
74
- forge sync || true
75
-
76
- # Check for conflicts with the current beads issue
77
- bash scripts/conflict-detect.sh --issue <beads-id>
78
- ```
79
-
80
- If exit code 2 (validation error): show error message, abort — do not show conflict prompt.
81
-
82
- If exit code 1 (conflicts found):
83
- - Display the conflict output to the developer
84
- - Ask: "Other developers are working in overlapping areas. Proceed anyway? (y/n)"
85
- - If `n`: exit cleanly, no side effects
86
- - If `y`: log override via `bd comments add <id> "Conflict override: proceeding despite overlap with <conflicting-issues>"`, then continue to Per-Task Loop
87
- - Audit: record conflict override per OWASP A09
88
-
89
- If exit code 0: proceed silently to Per-Task Loop.
90
-
91
- ---
92
-
93
- ## Per-Task Loop
94
-
95
- Repeat for each task in the task list, in order:
96
-
97
- ### Step A: Dispatch implementer subagent
98
-
99
- Provide the subagent with:
100
- - **Full task text** (copy the complete task content — do NOT send just the file path)
101
- - **Relevant design doc sections** for this task
102
- - **Recent git log** showing what has already been implemented
103
-
104
- The implementer subagent:
105
- 1. Asks clarifying questions before writing any code
106
- 2. Implements using RED-GREEN-REFACTOR
107
- 3. Self-reviews for correctness
108
- 4. Commits with a descriptive message
109
-
110
- ```
111
- <HARD-GATE: TDD enforcement (inside implementer subagent)>
112
- Do NOT write any production code until:
113
- 1. A FAILING test exists for that code
114
- 2. The test has been run and output shows it FAILING
115
- 3. The failure reason matches the expected missing behavior
116
-
117
- If code was written before its test: delete it. Start with the test.
118
- "The test would obviously fail" is not evidence. Run it and show the output.
119
- </HARD-GATE>
120
- ```
121
-
122
- ---
123
-
124
- ### Step B: Decision gate (when implementer hits a spec gap)
125
-
126
- If the implementer encounters something not specified in the design doc, STOP and fill this checklist BEFORE deciding how to proceed:
127
-
128
- ```
129
- Gap: [describe exactly what the spec doesn't cover]
130
-
131
- Score each dimension (0=No / 1=Possibly / 2=Yes):
132
- [ ] 1. Files affected beyond the current task?
133
- [ ] 2. Changes a function signature or public export?
134
- [ ] 3. Changes a shared module used by other tasks?
135
- [ ] 4. Changes or touches persistent data or schema?
136
- [ ] 5. Changes user-visible behavior not discussed in design doc?
137
- [ ] 6. Affects auth, permissions, or data exposure?
138
- [ ] 7. Hard to reverse without cascading changes to other files?
139
- TOTAL: ___ / 14
140
-
141
- Mandatory overrides — any of these = automatically BLOCKED:
142
- [ ] Security dimension (6) scored 2
143
- [ ] Schema migration or data model change
144
- [ ] Removes or changes an existing public API endpoint
145
- [ ] Affects a task that is already implemented and committed
146
- ```
147
-
148
- **Score routing**:
149
- - **0-3**: PROCEED — make the decision, document in decisions log with full reasoning
150
- - **4-7**: SPEC-REVIEWER — route this decision to spec reviewer. Continue other independent tasks while waiting
151
- - **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
152
-
153
- Log the decision entry before continuing.
154
-
155
- ---
156
-
157
- ### Step C: Spec compliance review
158
-
159
- After the implementer finishes the task, dispatch a **spec compliance reviewer** subagent.
160
-
161
- Provide:
162
- - Full task text (what was supposed to be implemented)
163
- - Relevant design doc sections
164
- - `git diff` for this task's commits
165
-
166
- Reviewer checks:
167
- - All requirements from the task text are implemented
168
- - Nothing extra was added beyond task scope
169
- - Edge cases documented in design doc are handled
170
- - TDD evidence: test exists, test was run failing, then passing
171
-
172
- If spec issues found: implementer fixes → re-review → repeat until ✅
173
-
174
- ```
175
- <HARD-GATE: spec before quality>
176
- Do NOT dispatch code quality reviewer until spec compliance reviewer returns ✅ for this task.
177
- Running quality review before spec compliance is the wrong order.
178
- </HARD-GATE>
179
- ```
180
-
181
- ---
182
-
183
- ### Step D: Code quality review
184
-
185
- After spec ✅, dispatch a **code quality reviewer** subagent.
186
-
187
- Provide:
188
- - git SHAs for this task's commits
189
- - The changed code (`git diff`)
190
-
191
- Reviewer checks:
192
- - Naming: clear, descriptive, consistent with codebase conventions
193
- - Structure: functions not too long, proper separation of concerns
194
- - Duplication: no copy-paste that could be extracted
195
- - Test coverage: tests cover happy path and at least one error path
196
- - No magic numbers, no commented-out code, no TODO without a Beads issue
197
-
198
- If quality issues found: implementer fixes → re-review → repeat until ✅
199
-
200
- ---
201
-
202
- ### Step E: Task completion
203
-
204
- ```
205
- <HARD-GATE: task completion>
206
- NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE.
207
-
208
- Do NOT mark task complete or move to next task until ALL confirmed in this session:
209
- 1. Spec compliance reviewer returned ✅
210
- 2. Code quality reviewer returned ✅
211
- 3. Identify what command proves this task is done (e.g. `bun test`, a CLI invocation, a script run).
212
- 4. Run it fresh — show the actual output. "Last run was fine" is not evidence.
213
- 5. Tests run fresh — actual output shows passing.
214
- 6. Implementer has committed (git log shows the commit).
215
- 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.
216
-
217
- Forbidden phrases (these are not evidence):
218
- - "should pass"
219
- - "looks good"
220
- - "seems to work"
221
- </HARD-GATE>
222
- ```
223
-
224
- Mark task complete. Move to next task.
225
-
226
- ---
227
-
228
- ## /dev Completion
229
-
230
- After all tasks are complete (or BLOCKED):
231
-
232
- ### Final code review
233
-
234
- Dispatch a final code reviewer for the full implementation:
235
- - Overall coherence: does the feature hang together as a whole?
236
- - Cross-task consistency: naming, patterns, style consistent across all tasks?
237
- - Integration: do all the pieces connect correctly?
238
-
239
- ### Surface BLOCKED decisions
240
-
241
- If any decisions have Status=PENDING-DEVELOPER-INPUT:
242
-
243
- ```
244
- ⏸️ /dev blocked — developer input needed
245
-
246
- The following decisions were deferred during implementation:
247
-
248
- Decision 1: [gap description]
249
- Task: Task N — <title>
250
- Score: 11/14 (mandatory override: schema change)
251
- Options considered: [A] vs [B]
252
- Recommendation: [A] because [reason]
253
- Blocked tasks: Task 6, Task 7 (depend on this decision)
254
-
255
- Decision 2: ...
256
-
257
- Please review and respond. After decisions are resolved, the implementer
258
- will complete the blocked tasks and re-run spec + quality review.
259
- ```
260
-
261
- Wait for developer input. After decisions resolved: implement blocked tasks → spec review → quality review → complete.
262
-
263
- ### /dev exit gate
264
-
265
- ```
266
- <HARD-GATE: /dev exit>
267
- Do NOT declare /dev complete until:
268
- 1. All tasks are marked complete OR have BLOCKED status with PENDING-DEVELOPER-INPUT
269
- 2. BLOCKED decisions have been surfaced to developer and are awaiting input
270
- 3. Final code reviewer has approved (or issues fixed and re-reviewed)
271
- 4. All decisions in decisions log have Status of RESOLVED or PENDING-DEVELOPER-INPUT
272
- 5. No unresolved spec or quality issues remain
273
- </HARD-GATE>
274
- ```
275
-
276
- ### Beads update
277
-
278
- ```bash
279
- bash scripts/beads-context.sh validate <id>
280
- bash scripts/beads-context.sh stage-transition <id> dev validate \
281
- --summary "<N tasks done, M decision gates fired>" \
282
- --decisions "<key spec gaps and how they were resolved>" \
283
- --artifacts "<changed source files and test files>" \
284
- --next "<validation priorities — lint issues, type concerns>"
285
- ```
286
-
287
- ---
288
-
289
- ## Decision Gate Calibration
290
-
291
- The frequency of decision gates is a **plan quality metric**:
292
- - **0 gates fired**: Excellent — Phase 1 Q&A covered all cases
293
- - **1-2 gates fired**: Good — minor gaps, normal
294
- - **3-5 gates fired**: Plan was incomplete — note for Phase 1 improvement next feature
295
- - **5+ gates fired**: Phase 1 Q&A was insufficient — the ambiguity policy field needed to be more specific
296
-
297
- Document the gate count in the final commit message.
298
-
299
- ---
300
-
301
- ## Example Output (all tasks complete)
302
-
303
- ```
304
- ✓ Task 1: Types and interfaces — COMPLETE
305
- Spec: ✅ Quality: ✅ Tests: 4/4 passing Commit: abc1234
306
- Decision gates: 0
307
-
308
- ✓ Task 2: Validation logic — COMPLETE
309
- Spec: ✅ Quality: ✅ Tests: 8/8 passing Commit: def5678
310
- Decision gates: 1 (PROCEED, score 2 — documented in decisions log)
311
-
312
- ✓ Task 3: API endpoint — COMPLETE
313
- Spec: ✅ Quality: ✅ Tests: 6/6 passing Commit: ghi9012
314
- Decision gates: 0
315
-
316
- ✓ Final code review: ✅ (coherent, consistent, correctly integrated)
317
-
318
- ✓ Decisions log: docs/plans/2026-02-26-stripe-billing-decisions.md
319
- - Decision 1: RESOLVED (score 2, proceeded with conservative choice)
320
- - Decision gates fired: 1 (plan quality: Good)
321
-
322
- ✓ Beads updated: forge-xyz → implementation complete
323
-
324
- Ready for /validate
325
- ```
326
-
327
- ## Integration with Workflow
328
-
329
- ```
330
- Utility: /status → Understand current context before starting
331
- Stage 1: /plan → Design intent → research → branch + worktree + task list
332
- Stage 2: /dev → Implement each task with subagent-driven TDD (you are here)
333
- Stage 3: /validate → Type check, lint, tests, security — all fresh output
334
- Stage 4: /ship → Push + create PR
335
- Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
336
- Stage 6: /premerge → Update docs, hand off PR to user
337
- Stage 7: /verify → Post-merge CI check on main
338
- ```
339
-
340
- ## Tips
341
-
342
- - **Send full task text to subagents**: Never send the file path — copy the complete task text directly into the subagent prompt
343
- - **TDD lives inside the implementer**: The implementer subagent is responsible for RED-GREEN-REFACTOR, not the orchestrating /dev session
344
- - **Spec before quality — always**: A task that passes quality review but fails spec compliance has still failed
345
- - **Decision gates are rare with a good plan**: If gates fire frequently, the Phase 1 Q&A needs more depth next time
346
- - **BLOCKED ≠ failed**: Surfacing a blocked decision with documentation and a recommendation is the correct behavior