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,210 +0,0 @@
1
-
2
- Push code and create a pull request with full context and documentation links.
3
-
4
- # Ship
5
-
6
- This command creates a PR after validation passes.
7
-
8
- ## Usage
9
-
10
- ```bash
11
- /ship
12
- ```
13
-
14
- ```
15
- <HARD-GATE: /ship entry>
16
- Do NOT create PR until:
17
- 1. /validate was run in this session with all four outputs shown (type, lint, tests, security)
18
- 2. All checks confirmed passing — not assumed, not "was passing earlier"
19
- 3. Beads issue is in_progress
20
- 4. git branch --show-current output is NOT main or master
21
- </HARD-GATE>
22
- ```
23
-
24
- ## What This Command Does
25
-
26
- ### Step 1: Verify /validate Passed
27
- Ensure all four validation checks completed successfully with fresh output in this session.
28
-
29
- ### Step 2: Freshness Check — Is Branch Still Current?
30
-
31
- Even though /validate rebased onto the base branch, time may have passed since then (user reviewed design doc, took a break, etc.). This lightweight check catches staleness before pushing.
32
-
33
- ```bash
34
- BASE=$(git remote show origin 2>/dev/null | grep 'HEAD branch' | awk '{print $NF}')
35
- if [ -z "$BASE" ] || [ "$BASE" = "(unknown)" ]; then BASE="master"; fi
36
- git fetch origin "$BASE" || { echo "✗ Fetch failed — cannot verify freshness"; exit 1; }
37
- BEHIND=$(git rev-list --count HEAD..origin/"$BASE")
38
- ```
39
-
40
- - If `BEHIND > 0`: **STOP**. Print: "$BASE has advanced since /validate ($BEHIND new commits). Run /validate again to rebase and re-check."
41
- - If `BEHIND = 0`: Continue to push.
42
- - If fetch fails: the `|| { ...; exit 1; }` guard catches this — **STOP**. Do NOT push without confirming freshness.
43
-
44
- This is NOT a full rebase — just a check. The rebase happens in /validate where the full test suite runs afterward.
45
-
46
- ### Parallel PR coordination (soft block)
47
-
48
- Before creating the PR, check merge readiness:
49
-
50
- ```bash
51
- # Run merge simulation against base branch
52
- bash scripts/pr-coordinator.sh merge-sim "$(git branch --show-current)" 2>&1
53
-
54
- # Show recommended merge order
55
- bash scripts/pr-coordinator.sh merge-order 2>&1 || true
56
-
57
- # Auto-label the PR after creation (called after gh pr create below)
58
- # bash scripts/pr-coordinator.sh auto-label <issue-id>
59
- ```
60
-
61
- If merge simulation finds conflicts:
62
- - Display conflicted files
63
- - Ask: "Merge conflicts detected with base branch. These PRs should merge first: [list]. Proceed with PR creation anyway? (y/n)"
64
- - If `n`: exit cleanly
65
- - If `y`: log override via `bd comments add <id> "Ship override: creating PR despite merge conflicts"`, then continue
66
-
67
- After PR creation completes:
68
- ```bash
69
- # Auto-label the newly created PR
70
- bash scripts/pr-coordinator.sh auto-label <issue-id>
71
-
72
- # Check for stale worktrees (informational)
73
- bash scripts/pr-coordinator.sh stale-worktrees 2>&1 || true
74
- ```
75
-
76
- ### Step 3: Update Beads
77
- ```bash
78
- bd update <id> --status done
79
- bd sync
80
- ```
81
-
82
- ### Step 4: Push Branch
83
-
84
- Use `--force-with-lease` because `/validate` may have rebased the branch, rewriting history. This is safe: it only forces the push if the remote branch hasn't been updated by someone else since the last fetch.
85
-
86
- ```bash
87
- git push --force-with-lease -u origin <branch-name>
88
- ```
89
-
90
- ### Step 5: Create PR Using Project's PR Template
91
-
92
- **CRITICAL**: Always use the project's own PR template. Never use a hardcoded body.
93
-
94
- **Step 5a: Locate the PR template**
95
-
96
- Check for a PR template in the project (in order of precedence):
97
- ```bash
98
- # Check standard locations
99
- PR_TEMPLATE=""
100
- for path in .github/pull_request_template.md .github/PULL_REQUEST_TEMPLATE.md docs/pull_request_template.md pull_request_template.md; do
101
- if [ -f "$path" ]; then
102
- PR_TEMPLATE="$path"
103
- break
104
- fi
105
- done
106
- ```
107
-
108
- **Step 5b: Read and populate the template**
109
-
110
- If a PR template exists:
111
- 1. **Read the template file** using the Read tool
112
- 2. **Fill in every section** with actual data from the current PR context:
113
- - Replace HTML comments (`<!-- ... -->`) with real content
114
- - Check applicable checkboxes (`- [x]`)
115
- - Fill in beads issue IDs (replace `beads-xxx` with actual ID)
116
- - Fill in test results, validation status, and other concrete data
117
- - Reference the design doc: `docs/plans/YYYY-MM-DD-<slug>-design.md`
118
- 3. **Do NOT remove any sections** — fill them all, even if "N/A"
119
- 4. **Do NOT restructure the template** — keep the project's chosen format
120
-
121
- If no PR template exists, use this minimal fallback:
122
- ```
123
- ## Summary
124
- [1-3 sentences: what this PR does and why]
125
-
126
- ## Changes
127
- [Bulleted list of key changes]
128
-
129
- ## Testing
130
- [How it was tested, test results]
131
-
132
- ## Beads
133
- Closes beads-xxx
134
-
135
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
136
- ```
137
-
138
- **Step 5c: Create the PR**
139
-
140
- ```bash
141
- gh pr create --title "<type>: <concise description>" --body "<populated-template-content>"
142
- ```
143
-
144
- Rules for the PR body:
145
- - **Use the project's template structure** — never substitute your own format
146
- - **Fill in concrete data** — commit counts, test results, actual file paths, real beads IDs
147
- - **Check applicable checkboxes** — `[x]` for items that apply, `[ ]` for items that don't
148
- - **Include "Closes beads-xxx"** in the Beads section (required for auto-close in /verify)
149
-
150
- ### Step 6: Validate Context and Record Stage Transition
151
- ```bash
152
- bash scripts/beads-context.sh validate <id>
153
- bash scripts/beads-context.sh stage-transition <id> ship review \
154
- --summary "<PR created, checks pending>" \
155
- --decisions "<template sections filled, beads linked>" \
156
- --artifacts "<PR URL, branch name>" \
157
- --next "<review focus areas>"
158
- ```
159
-
160
- ### Team sync after PR
161
-
162
- After PR is created, sync issue state to GitHub and verify 1:1 mapping:
163
-
164
- ```bash
165
- # Sync issue state to GitHub
166
- bash scripts/forge-team/index.sh sync 2>&1 || true
167
-
168
- # Verify 1:1 mapping
169
- bash scripts/forge-team/index.sh verify 2>&1 || true
170
- ```
171
-
172
- ## Example Output
173
-
174
- ```
175
- ✓ Validation: /validate passed (all 4 checks — fresh output confirmed)
176
- ✓ Freshness: Branch is up-to-date with master
177
- ✓ Beads: Marked done & synced (forge-xyz)
178
- ✓ Pushed: feat/stripe-billing
179
- ✓ PR created: https://github.com/.../pull/123
180
- - PR body: Problem → Root Cause → Fix → Value (narrative format)
181
- - Beads linked: forge-xyz
182
- - Implementation details in collapsible section
183
-
184
- ⏸️ PR created, checks started (Greptile, SonarCloud, GitHub Actions)
185
- Poll for up to 60 seconds. If checks are still pending, stop here.
186
-
187
- Next: /review <pr-number> (when automated checks complete or new feedback appears)
188
- ```
189
-
190
- ## Integration with Workflow
191
-
192
- ```
193
- Utility: /status → Understand current context before starting
194
- Stage 1: /plan → Design intent → research → branch + worktree + task list
195
- Stage 2: /dev → Implement each task with subagent-driven TDD
196
- Stage 3: /validate → Type check, lint, tests, security — all fresh output
197
- Stage 4: /ship → Push + create PR (you are here)
198
- Stage 5: /review → Address GitHub Actions, Greptile, SonarCloud
199
- Stage 6: /premerge → Update docs, hand off PR to user
200
- Stage 7: /verify → Post-merge CI check on main
201
- ```
202
-
203
- ## Tips
204
-
205
- - **Use the project's PR template**: Always read `.github/pull_request_template.md` (or equivalent) and populate it — never substitute your own format
206
- - **Fill every section**: Even if "N/A" — empty/missing sections cause review friction
207
- - **Include "Closes beads-xxx"**: Required for auto-close in /verify
208
- - **Concrete data only**: Test counts, file paths, commit SHAs — not placeholder text
209
- - **Poll briefly, then stop**: Check PR status for up to 60 seconds, then hand off if checks are still pending
210
- - **NO auto-merge**: Always wait for /review phase
@@ -1,146 +0,0 @@
1
-
2
- # SonarCloud Query Command
3
-
4
- Pull code quality data from SonarCloud. Requires `SONARCLOUD_TOKEN` environment variable.
5
-
6
- ## Arguments
7
-
8
- - `$ARGUMENTS` - Query type and parameters
9
-
10
- ## Query Types
11
-
12
- | Query | Description | Example |
13
- |-------|-------------|---------|
14
- | `issues <project>` | Get open issues | `/sonarcloud issues my-project` |
15
- | `metrics <project>` | Get code metrics | `/sonarcloud metrics my-project` |
16
- | `gate <project>` | Quality gate status | `/sonarcloud gate my-project` |
17
- | `health <project>` | Full health report | `/sonarcloud health my-project` |
18
- | `pr <project> <pr#>` | PR analysis | `/sonarcloud pr my-project 123` |
19
- | `hotspots <project>` | Security hotspots | `/sonarcloud hotspots my-project` |
20
- | `history <project>` | Analysis history | `/sonarcloud history my-project` |
21
-
22
- ## Filters (append to query)
23
-
24
- | Filter | Description | Example |
25
- |--------|-------------|---------|
26
- | `--branch <name>` | Filter by branch | `--branch develop` |
27
- | `--severity <levels>` | Filter severity | `--severity BLOCKER,CRITICAL` |
28
- | `--type <types>` | Filter issue type | `--type BUG,VULNERABILITY` |
29
- | `--new-code` | Only new code issues | `--new-code` |
30
-
31
- ## Instructions
32
-
33
- 1. Parse the query from `$ARGUMENTS` to determine:
34
- - Query type (issues, metrics, gate, health, pr, hotspots, history)
35
- - Project key
36
- - Optional filters (branch, severity, type, new-code, etc.)
37
- 2. Check for `SONARCLOUD_TOKEN` environment variable. If not set, inform user.
38
- 3. Check for `SONARCLOUD_ORG` environment variable or ask user for organization key.
39
- 4. Execute the appropriate API call using curl or the TypeScript client at `next-app/src/lib/integrations/sonarcloud.ts`
40
- 5. Format and present results clearly:
41
- - For issues: Group by severity/type, show file, line, message
42
- - For metrics: Show as table with metric name and value
43
- - For quality gate: Show pass/fail with failed conditions
44
- - For health: Comprehensive summary with all data
45
- 6. Offer follow-up actions:
46
- - "Show issues in specific file?"
47
- - "Get more details on a specific issue?"
48
- - "Compare with another branch?"
49
-
50
- ## Example Outputs
51
-
52
- ### Issues Query
53
-
54
- ```
55
- 📋 Open Issues for my-project (branch: main)
56
-
57
- Total: 45 issues
58
-
59
- By Severity:
60
- 🔴 BLOCKER: 2
61
- 🟠 CRITICAL: 5
62
- 🟡 MAJOR: 18
63
- ⚪ MINOR: 15
64
- ⚫ INFO: 5
65
-
66
- By Type:
67
- 🐛 BUG: 8
68
- 🔓 VULNERABILITY: 3
69
- 💩 CODE_SMELL: 34
70
-
71
- Top Issues:
72
- 1. [CRITICAL] src/auth/login.ts:42 - SQL injection vulnerability
73
- 2. [BLOCKER] src/api/users.ts:156 - Null pointer dereference
74
- ...
75
- ```
76
-
77
- ### Metrics Query
78
-
79
- ```
80
- 📊 Metrics for my-project
81
-
82
- | Metric | Value |
83
- |--------|-------|
84
- | Lines of Code | 51,234 |
85
- | Coverage | 78.5% |
86
- | Duplications | 3.2% |
87
- | Bugs | 8 |
88
- | Vulnerabilities | 3 |
89
- | Code Smells | 34 |
90
- | Technical Debt | 4d 2h |
91
- | Maintainability | A |
92
- | Reliability | B |
93
- | Security | A |
94
- ```
95
-
96
- ### Quality Gate Query
97
-
98
- ```
99
- 🚦 Quality Gate: ❌ FAILED
100
-
101
- Failed Conditions:
102
- | Metric | Threshold | Actual |
103
- |--------|-----------|--------|
104
- | Coverage on New Code | ≥ 80% | 65.3% |
105
- | New Bugs | = 0 | 2 |
106
-
107
- Passed Conditions:
108
- | Metric | Threshold | Actual |
109
- |--------|-----------|--------|
110
- | New Vulnerabilities | = 0 | 0 |
111
- | Duplicated Lines | ≤ 3% | 1.2% |
112
- ```
113
-
114
- ## API Reference
115
-
116
- Base URL: `https://sonarcloud.io/api`
117
-
118
- ### Key Endpoints
119
-
120
- ```bash
121
- # Issues
122
- curl -H "Authorization: Bearer $TOKEN" \
123
- "https://sonarcloud.io/api/issues/search?organization=$ORG&componentKeys=$PROJECT&resolved=false"
124
-
125
- # Metrics
126
- curl -H "Authorization: Bearer $TOKEN" \
127
- "https://sonarcloud.io/api/measures/component?component=$PROJECT&metricKeys=bugs,vulnerabilities,coverage"
128
-
129
- # Quality Gate
130
- curl -H "Authorization: Bearer $TOKEN" \
131
- "https://sonarcloud.io/api/qualitygates/project_status?projectKey=$PROJECT"
132
-
133
- # Hotspots
134
- curl -H "Authorization: Bearer $TOKEN" \
135
- "https://sonarcloud.io/api/hotspots/search?projectKey=$PROJECT&status=TO_REVIEW"
136
- ```
137
-
138
- ## Full Skill Reference
139
-
140
- See `skills/sonarcloud-analysis/SKILL.md` for complete API documentation including:
141
-
142
- - All endpoints and parameters
143
- - Response structures
144
- - Pagination handling
145
- - Advanced filtering
146
- - Integration patterns
@@ -1,87 +0,0 @@
1
-
2
- Check where you are in the project and what work is in progress.
3
-
4
- # Status Check
5
-
6
- This command helps you understand the current state of the project before starting new work.
7
-
8
- ## Usage
9
-
10
- ```bash
11
- /status
12
- ```
13
-
14
- ## What This Command Does
15
-
16
- ## Step 0: Sync team state
17
-
18
- ```bash
19
- # Sync team state before showing status
20
- bash scripts/sync-utils.sh auto-sync
21
- ```
22
-
23
- ### Step 1: Smart Status (ranked issues with conflict detection)
24
-
25
- ```bash
26
- bash scripts/smart-status.sh
27
- ```
28
- This script dynamically computes and displays all issues ranked by composite score (priority, dependency impact, type, staleness, epic proximity). Output includes active sessions, conflict risk annotations, and grouped categories. No manual querying needed — the script handles everything.
29
-
30
- For full context on any issue: `bd show <id>`
31
-
32
- ### Step 1b: Reconcile stale in-progress issues
33
-
34
- Check if any in-progress issues were already merged but not closed (can happen if `/verify` was skipped or backup was restored from stale snapshot):
35
-
36
- ```bash
37
- # Detect default branch dynamically (prefer main over master)
38
- DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's|refs/remotes/origin/||')
39
- if [ -z "$DEFAULT_BRANCH" ]; then
40
- if git rev-parse --verify main >/dev/null 2>&1; then DEFAULT_BRANCH="main"
41
- elif git rev-parse --verify master >/dev/null 2>&1; then DEFAULT_BRANCH="master"
42
- else echo "ERROR: No main or master branch found — skipping stale reconciliation" >&2; DEFAULT_BRANCH=""; fi
43
- fi
44
-
45
- # For each in_progress issue, check if its PR was already merged
46
- if [ -n "$DEFAULT_BRANCH" ]; then
47
- bd list --status=in_progress --json 2>/dev/null | jq -r '.[].id' | while read id; do
48
- # Search git log for the issue ID in commit messages (fixed-strings for literal match)
49
- if git log --oneline --first-parent "$DEFAULT_BRANCH" --fixed-strings --grep="$id" | grep -q .; then
50
- echo "STALE: $id — found in git history, likely already merged"
51
- fi
52
- done
53
- fi
54
- ```
55
-
56
- If stale issues are found, close them:
57
- ```bash
58
- bd close <id> --force --reason="Already merged — detected during status reconciliation"
59
- ```
60
-
61
- ### Step 2: Review Recent Commits
62
- ```bash
63
- git log --oneline -10
64
- ```
65
-
66
- ### Step 3: Determine Context
67
- - **New feature**: No active work, ready to start fresh
68
- - **Continuing work**: In-progress issues found, resume where left off
69
- - **Review needed**: Work marked complete, needs review/merge
70
-
71
- ### Team context
72
-
73
- Show current developer's active work and team overview:
74
-
75
- ```bash
76
- # Show my active issues
77
- bash scripts/forge-team/index.sh workload --me 2>&1 || true
78
-
79
- # One-line team summary
80
- bash scripts/forge-team/index.sh dashboard 2>&1 | head -5 || true
81
- ```
82
-
83
- ## Next Steps
84
-
85
- - **If starting new work**: Run `/plan <feature-name>`
86
- - **If continuing work**: Resume with appropriate phase command
87
- - **If reviewing**: Run `/review <pr-number>` or `/premerge <pr-number>`