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
@@ -0,0 +1,670 @@
1
+ # Forge Toolchain Reference
2
+
3
+ Complete reference for all tools integrated with the Forge workflow.
4
+
5
+ ## Overview
6
+
7
+ Forge is a local runtime control plane that coordinates several tool surfaces:
8
+
9
+ ```text
10
+ Forge runtime control plane
11
+ - workflow templates and stage skills
12
+ - local project state and protected surfaces
13
+ - kernel-backed issue wrappers and sync (Beads is an opt-out backend)
14
+ - validation, packaging, and release evidence
15
+ - review adapters and external service hooks
16
+ - harness projections for agent-specific commands, prompts, workflows, and skills
17
+ ```
18
+
19
+ The default TDD-first workflow is a core template shipped by Forge. It is not the only runtime primitive. Toolchain docs should describe tools by the surface they support: setup, state, workflow stages, validation, review, release, sync, and recovery.
20
+
21
+ ---
22
+
23
+ ## Beads - Local Issue Tracking And Sync Projection
24
+
25
+ **Package**: `@beads/bd`
26
+ **Repository**: [github.com/steveyegge/beads](https://github.com/steveyegge/beads)
27
+ **Purpose**: Distributed issue tracking designed for AI coding agents
28
+
29
+ ### Why Beads?
30
+
31
+ - **Persists across sessions** - Issues survive context clearing, compaction, new chats
32
+ - **Local-first** - Runtime state stays under local `.beads/` and does not dirty normal Git work
33
+ - **Dependency tracking** - Know what blocks what
34
+ - **Ready detection** - `forge ready` finds unblocked work automatically
35
+ - **AI-optimized** - JSON output, semantic compaction, audit trails
36
+
37
+ ### Installation
38
+
39
+ **Auto-installation** (Recommended):
40
+ ```bash
41
+ bunx forge setup
42
+ # Prompts: "Install Beads? (y/n)"
43
+ # Automatically installs and initializes
44
+ # On Windows: uses PowerShell installer (npm @beads/bd has an EPERM bug on Windows)
45
+ ```
46
+
47
+ **Manual installation**:
48
+ ```bash
49
+ # macOS / Linux (global)
50
+ bun add -g @beads/bd
51
+ bd init
52
+
53
+ # macOS / Linux (local)
54
+ bun add -d @beads/bd
55
+ bunx bd init
56
+
57
+ # Windows (global) — use PowerShell installer, NOT npm/bun add -g
58
+ #
59
+ # ⚠️ SECURITY WARNING: The one-liner below pipes remote content directly to execution.
60
+ # If the upstream repo, CDN, or transit is compromised, this runs arbitrary code.
61
+ # Prefer the "download + inspect" flow below for supply-chain safety.
62
+ #
63
+ # RECOMMENDED (safer — download, inspect, then run):
64
+ $installer = "$env:TEMP\beads-install.ps1"
65
+ irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 -OutFile $installer
66
+ # Open $installer in a text editor and review before running
67
+ # Get-Content $installer | less # or: notepad $installer
68
+ & $installer # execute after inspection
69
+ bd init
70
+
71
+ # CONVENIENCE (unsafe — reviewed installer only, skip if you don't trust the source):
72
+ # # See the safer download-then-inspect flow in the Beads install section.
73
+ # UNSAFE one-liner (only use if you trust the source and have reviewed it previously):
74
+ # irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 -OutFile $env:TEMP\beads-install.ps1; & $env:TEMP\beads-install.ps1
75
+ # bd init
76
+
77
+ # Or with bunx (macOS/Linux, no install needed)
78
+ bunx @beads/bd init
79
+ ```
80
+
81
+ > **Windows note**: The `npm install -g @beads/bd` postinstall script uses `Expand-Archive`, which triggers an EPERM file-locking error on Windows (issue #1031, closed "not planned"). Use the PowerShell installer above instead.
82
+
83
+ ### File Structure
84
+
85
+ After `bd init`, creates a local `.beads/` directory. Forge keeps this directory out of Git; `forge setup` writes local Git exclude rules under `.git/info/exclude` so downstream repositories do not need metadata-only commits.
86
+
87
+ ```
88
+ .beads/
89
+ ├── issues.jsonl # Local/exported issue data
90
+ ├── beads.db # SQLite cache, when present
91
+ ├── metadata.json # Local database metadata
92
+ ├── config.yaml # Local Beads configuration
93
+ ├── interactions.jsonl # Local agent audit log
94
+ └── .gitignore # Local ignore guard for runtime files
95
+ ```
96
+
97
+ Do not commit live `.beads/` runtime files. Shared team state must use the configured sync/server authority or an explicit projection/import path.
98
+
99
+ For day-to-day issue workflows, prefer the Forge wrapper commands (`forge ready`,
100
+ `forge create`, `forge update`, `forge close`, `forge sync`). Use `bd` directly
101
+ for Beads capabilities Forge does not wrap yet, such as `bd init`, `bd comments`,
102
+ `bd dep`, `bd blocked`, and `bd dolt *`.
103
+
104
+ ### Complete Command Reference
105
+
106
+ #### Initialization
107
+
108
+ ```bash
109
+ bd init # Initialize in project
110
+ bd init --stealth # Local-only (don't commit to repo)
111
+ bd init --contributor # Contributor mode
112
+ bd init --prefix PROJ # Custom issue prefix (PROJ-xxx)
113
+ ```
114
+
115
+ #### Issue Management
116
+
117
+ ```bash
118
+ # Create issues
119
+ forge create "Title" # Basic issue
120
+ forge create "Title" --type feature # With type (feature, bug, chore, etc.)
121
+ forge create "Title" --priority 1 # With priority (0=critical, 4=backlog)
122
+ forge create "Title" -p 0 -l "urgent,backend" # P0 with labels
123
+
124
+ # View issues
125
+ forge show <id> # Detailed view with audit trail
126
+ forge list # All issues
127
+ forge list --status open # Filter by status
128
+ forge list --priority 1 # Filter by priority
129
+ forge list --assignee bob # Filter by assignee
130
+ forge list --label bug # Filter by label (AND logic)
131
+ forge list --label-any bug,urgent # Filter by label (OR logic)
132
+ forge list --type feature # Filter by type
133
+ forge list --title-contains "auth" # Search titles
134
+ forge list --limit 10 # Limit results
135
+
136
+ # Update issues
137
+ forge claim <id> # Claim work (sets in_progress)
138
+ forge update <id> --priority 2 # Change priority
139
+ forge update <id> --assignee bob # Assign
140
+ forge update <id> --title "New title" # Update title
141
+ forge update <id> --description "..." # Update description
142
+ forge update <id> --notes "..." # Add notes
143
+ forge update <id> --add-label urgent # Add label
144
+
145
+ # Complete issues
146
+ forge close <id> # Close single issue
147
+ forge close <id1> <id2> <id3> # Close multiple (efficient)
148
+ forge close <id> --reason "Completed auth" # Close with reason
149
+ bd delete <id> # Delete issue
150
+ bd delete <id> --cascade # Delete with dependents
151
+ ```
152
+
153
+ #### Workflow Commands
154
+
155
+ ```bash
156
+ # Find work
157
+ forge ready # Issues with NO open blockers (start here!)
158
+ forge ready --priority 1 # Filter ready work by priority
159
+ bd blocked # Issues that ARE blocked
160
+
161
+ # Dependencies
162
+ bd dep add <child> <parent> # child depends on parent (blocks)
163
+ bd dep add <child> <parent> --type related # Soft reference (no blocking)
164
+ bd dep add <child> <parent> --type parent-child # Hierarchical
165
+ bd dep remove <child> <parent> # Remove dependency
166
+ bd dep tree <id> # Visualize dependency tree
167
+ bd dep cycles # Detect cycles
168
+
169
+ # Comments
170
+ bd comments <id> # View comments
171
+ bd comments add <id> "Comment text" # Add comment
172
+
173
+ # Git sync
174
+ forge sync # Pull + push Beads state through the Forge wrapper
175
+ bd dolt status # Check Dolt sync/server status
176
+ bd hooks install # Install git hooks for auto-sync
177
+
178
+ # Maintenance
179
+ bd stats # Project statistics
180
+ bd doctor # Check for issues
181
+ bd admin compact --days 90 # Compact old closed issues
182
+ ```
183
+
184
+ #### Issue Statuses
185
+
186
+ - `open` - Not started
187
+ - `in_progress` - Being worked on
188
+ - `blocked` - Waiting on something
189
+ - `completed` - Done
190
+ - `on_hold` - Paused
191
+ - `cancelled` - Won't do
192
+
193
+ #### Priority Levels
194
+
195
+ | Priority | Meaning | Usage |
196
+ |----------|---------|-------|
197
+ | 0 (P0) | Critical | Drop everything, fix now |
198
+ | 1 (P1) | High | Do this sprint |
199
+ | 2 (P2) | Medium | Planned work |
200
+ | 3 (P3) | Low | Nice to have |
201
+ | 4 (P4) | Backlog | Someday/maybe |
202
+
203
+ #### Dependency Types
204
+
205
+ | Type | Blocks Ready? | Use Case |
206
+ |------|---------------|----------|
207
+ | `blocks` | YES | Hard dependency |
208
+ | `related` | NO | Soft reference |
209
+ | `parent-child` | YES | Hierarchy |
210
+ | `discovered-from` | NO | Found during work |
211
+
212
+ ### Session Workflow
213
+
214
+ ```bash
215
+ # Start of session
216
+ forge ready # What can I work on?
217
+ forge show <id> # Review the issue
218
+ forge claim <id>
219
+
220
+ # During work
221
+ bd comments add <id> "Progress update"
222
+ forge update <id> --notes "Found edge case"
223
+
224
+ # End of session
225
+ forge close <id> # If done, or:
226
+ forge update <id> --status blocked --comment "Needs API response"
227
+ forge sync # Always sync at end!
228
+ ```
229
+
230
+ ---
231
+
232
+ ## MCP Servers
233
+
234
+ ### Context7 - Library Documentation
235
+
236
+ **Package**: `@upstash/context7-mcp@2` (pin to major version, not `@latest`)
237
+ **Purpose**: Up-to-date documentation and code examples for any programming library
238
+ **Used in**: `/plan` stage (Phase 2 research); any library lookup
239
+
240
+ Context7 provides current documentation that may be more recent than the AI's training data.
241
+
242
+ **Installation**:
243
+
244
+ **Claude Code**: Add to `.mcp.json` in your project root:
245
+
246
+
247
+ ```json
248
+ {
249
+ "mcpServers": {
250
+ "context7": {
251
+ "command": "bunx",
252
+ "args": ["--bun", "@upstash/context7-mcp@2"]
253
+ }
254
+ }
255
+ }
256
+ ```
257
+
258
+ **Cursor**: Check Cursor Settings → MCP Servers for configuration options
259
+
260
+ **Other agents**: If your agent supports MCP, configure using the JSON format above
261
+
262
+ **Usage**:
263
+ ```
264
+ # The AI will automatically use Context7 when you ask about libraries
265
+ "How do I use React Query's useMutation hook?"
266
+ "What's the latest Next.js App Router API?"
267
+ "Show me Supabase RLS policy examples"
268
+ ```
269
+
270
+ **When to use Context7**:
271
+ - Before implementing a library feature
272
+ - When official docs may have changed since AI training
273
+ - To verify API signatures and patterns
274
+ - For current best practices
275
+
276
+ ### grep.app - Code Search
277
+
278
+ **Package**: `@ai-tools-all/grep_app_mcp` (recommended) or `@galprz/grep-mcp`
279
+ **Website**: [grep.app](https://grep.app)
280
+ **Purpose**: Search across 1M+ public GitHub repositories for real-world code examples
281
+ **Used in**: `/plan` stage (Phase 2 research); finding implementation patterns
282
+
283
+ grep.app provides code search across public GitHub repositories to find real-world examples and patterns.
284
+
285
+ **Installation (Claude Code)**:
286
+
287
+ Add to `.mcp.json` in your project root:
288
+
289
+ ```json
290
+ {
291
+ "mcpServers": {
292
+ "context7": {
293
+ "command": "bunx",
294
+ "args": ["--bun", "@upstash/context7-mcp@2"]
295
+ },
296
+ "grep-app": {
297
+ "command": "bunx",
298
+ "args": ["--bun", "@ai-tools-all/grep_app_mcp"]
299
+ }
300
+ }
301
+ }
302
+ ```
303
+
304
+ **Usage**:
305
+ ```
306
+ # The AI will use grep.app when you need real-world examples
307
+ "Find examples of React useEffect cleanup patterns"
308
+ "Show me how others implement JWT authentication in Express"
309
+ "Search for rate limiting implementations in Node.js"
310
+ ```
311
+
312
+ **When to use grep.app**:
313
+
314
+ - Finding real-world implementation examples
315
+ - Discovering coding patterns in production code
316
+ - Validating implementation approaches
317
+ - Learning from open source projects
318
+
319
+ **Context7 vs grep.app**:
320
+
321
+ | Tool | Purpose | Use When |
322
+ |----------------|--------------------------------|-------------------------------------------|
323
+ | **Context7** | Official library documentation | You need API reference, official patterns |
324
+ | **grep.app** | Real code in the wild | You want to see how others solve problems |
325
+
326
+ ---
327
+
328
+ ## External Services
329
+
330
+ ### Parallel AI - Web Research
331
+
332
+ **Website**: [platform.parallel.ai](https://platform.parallel.ai)
333
+ **Used in**: `/plan` stage (Phase 2 research)
334
+
335
+ 4 APIs for research:
336
+ - **Search** - Web search with AI analysis
337
+ - **Extract** - Scrape specific URLs
338
+ - **Task** - Structured data enrichment
339
+ - **Deep Research** - Multi-source analysis
340
+
341
+ ```bash
342
+ # Setup
343
+ # 1. Get key from https://platform.parallel.ai
344
+ # 2. Add to .env.local
345
+ PARALLEL_API_KEY=your-key
346
+
347
+ # Test
348
+ API_KEY=$(grep "^PARALLEL_API_KEY=" .env.local | cut -d= -f2)
349
+ curl -s -X POST "https://api.parallel.ai/v1beta/search" \
350
+ -H "x-api-key: $API_KEY" \
351
+ -H "Content-Type: application/json" \
352
+ -H "parallel-beta: search-extract-2025-10-10" \
353
+ -d '{"objective": "Next.js authentication best practices 2026"}'
354
+ ```
355
+
356
+ ---
357
+
358
+ ## Code Review Tools
359
+
360
+ Choose ONE code review tool based on your needs:
361
+
362
+ | Tool | Pricing | Best For | Setup |
363
+ |------|---------|----------|-------|
364
+ | **GitHub Code Quality** | FREE | All GitHub repos | Built-in, zero setup |
365
+ | **CodeRabbit** | FREE (OSS) | Open source projects | GitHub App |
366
+ | **Greptile** | $99+/mo | Enterprise | API key |
367
+
368
+ ### Option 1: GitHub Code Quality (FREE, Recommended)
369
+
370
+ **Status**: Built-in to GitHub
371
+ **Used in**: `/review` stage
372
+
373
+ Zero setup required - GitHub's code quality features are enabled by default.
374
+
375
+ Features:
376
+ - Automatic code scanning
377
+ - Dependency vulnerability alerts
378
+ - Secret scanning
379
+ - Code navigation
380
+
381
+ ### Option 2: CodeRabbit (FREE for Open Source)
382
+
383
+ **Website**: [coderabbit.ai](https://coderabbit.ai)
384
+ **Used in**: `/review` stage
385
+
386
+ AI-powered code review with deep context understanding.
387
+
388
+ ```bash
389
+ # Setup
390
+ # 1. Go to https://coderabbit.ai
391
+ # 2. Install the GitHub App
392
+ # 3. Enable for your repositories
393
+
394
+ # Configuration (optional)
395
+ # Create .coderabbit.yaml in repo root
396
+ ```
397
+
398
+ ### Option 3: Greptile (Paid - Enterprise)
399
+
400
+ **Website**: [greptile.com](https://greptile.com)
401
+ **Used in**: `/review` stage
402
+
403
+ Enterprise-grade AI code review that understands your codebase.
404
+
405
+ ```bash
406
+ # Setup
407
+ # 1. Get key from https://app.greptile.com
408
+ # 2. Add to .env.local
409
+ GREPTILE_API_KEY=your-key
410
+
411
+ # 3. Index repository (one-time)
412
+ curl -X POST "https://api.greptile.com/v2/repositories" \
413
+ -H "Authorization: Bearer $GREPTILE_API_KEY" \
414
+ -H "Content-Type: application/json" \
415
+ -d '{"remote": "github", "repository": "owner/repo"}'
416
+ ```
417
+
418
+ ---
419
+
420
+ ## Code Quality Tools
421
+
422
+ Choose ONE code quality scanner based on your needs:
423
+
424
+ | Tool | Pricing | Best For | Requirement |
425
+ |------|---------|----------|-------------|
426
+ | **ESLint** | FREE | All projects | Built-in |
427
+ | **SonarCloud** | 50k LoC free | Cloud-first teams | API key |
428
+ | **SonarQube Community** | FREE | Self-hosted, unlimited | Docker |
429
+
430
+ ### Option 1: ESLint Only (FREE, Recommended)
431
+
432
+ **Status**: Built-in
433
+ **Used in**: `/validate` stage
434
+
435
+ No external server required - uses your project's linting configuration.
436
+
437
+ ```bash
438
+ # Already configured via package.json or eslint.config.js
439
+ bun run lint
440
+ ```
441
+
442
+ ### Option 2: SonarCloud (Cloud-Hosted)
443
+
444
+ **Website**: [sonarcloud.io](https://sonarcloud.io)
445
+ **Used in**: `/validate` stage
446
+ **Free Tier**: 50,000 lines of code
447
+
448
+ Static analysis for bugs, vulnerabilities, code smells.
449
+
450
+ ```bash
451
+ # Setup
452
+ # 1. Create project at https://sonarcloud.io
453
+ # 2. Get token from Security settings
454
+ # 3. Add to .env.local
455
+ SONAR_TOKEN=your-token
456
+ SONAR_ORGANIZATION=your-org
457
+ SONAR_PROJECT_KEY=your-project
458
+
459
+ # 4. Create sonar-project.properties
460
+ echo "sonar.organization=$SONAR_ORGANIZATION
461
+ sonar.projectKey=$SONAR_PROJECT_KEY
462
+ sonar.sources=src" > sonar-project.properties
463
+
464
+ # 5. Run analysis
465
+ bunx sonarqube-scanner
466
+ ```
467
+
468
+ ### Option 3: SonarQube Community (Self-Hosted, FREE)
469
+
470
+ **Website**: [sonarqube.org](https://www.sonarsource.com/products/sonarqube/)
471
+ **Used in**: `/validate` stage
472
+ **Pricing**: FREE, unlimited lines of code
473
+
474
+ Self-hosted code quality analysis - no cloud dependency.
475
+
476
+ ```bash
477
+ # Setup with Docker
478
+ docker run -d --name sonarqube \
479
+ -p 9000:9000 \
480
+ sonarqube:community
481
+
482
+ # Access at http://localhost:9000
483
+ # Default credentials: admin/admin
484
+
485
+ # Add to .env.local
486
+ SONARQUBE_URL=http://localhost:9000
487
+ SONARQUBE_TOKEN=your-token # Generate in SonarQube UI
488
+
489
+ # Create sonar-project.properties
490
+ echo "sonar.host.url=$SONARQUBE_URL
491
+ sonar.login=$SONARQUBE_TOKEN
492
+ sonar.projectKey=your-project
493
+ sonar.sources=src" > sonar-project.properties
494
+
495
+ # Run analysis
496
+ bunx sonarqube-scanner
497
+ ```
498
+
499
+ **Docker Compose (Production)**:
500
+ ```yaml
501
+ # docker-compose.yml
502
+ version: '3'
503
+ services:
504
+ sonarqube:
505
+ image: sonarqube:community
506
+ ports:
507
+ - "9000:9000"
508
+ environment:
509
+ - SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true
510
+ volumes:
511
+ - sonarqube_data:/opt/sonarqube/data
512
+ - sonarqube_logs:/opt/sonarqube/logs
513
+
514
+ volumes:
515
+ sonarqube_data:
516
+ sonarqube_logs:
517
+ ```
518
+
519
+ ---
520
+
521
+ ### GitHub CLI - PR Workflow
522
+
523
+ **Installation**: [cli.github.com](https://cli.github.com)
524
+ **Used in**: `/ship` and `/review` stages
525
+
526
+ ```bash
527
+ # Install
528
+ # macOS: brew install gh
529
+ # Windows: winget install GitHub.cli
530
+ # Linux: sudo apt install gh
531
+
532
+ # Authenticate
533
+ gh auth login
534
+
535
+ # Common commands
536
+ gh pr create --title "..." --body "..."
537
+ gh pr view <number>
538
+ gh pr checks <number>
539
+ gh pr merge <number> --squash --delete-branch
540
+ gh issue create --title "..." --body "..."
541
+ ```
542
+
543
+ ---
544
+
545
+ ## Global CLI Tools
546
+
547
+ ### Beads (`bd`) — Minimum Version
548
+
549
+ **Minimum version**: v0.49.x
550
+ **Check installed version**:
551
+ ```bash
552
+ bd --version
553
+ ```
554
+
555
+ **Install / Update**:
556
+ ```bash
557
+ # macOS / Linux
558
+ bun add -g @beads/bd
559
+
560
+ # Windows — use PowerShell installer (npm has EPERM bug)
561
+ # See the safer download-then-inspect flow in the Beads install section.
562
+ # UNSAFE one-liner (only use if you trust the source and have reviewed it previously):
563
+ # irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 -OutFile $env:TEMP\beads-install.ps1; & $env:TEMP\beads-install.ps1
564
+ ```
565
+
566
+ > **Why Forge + Beads?** Forge wraps the supported day-to-day issue workflow
567
+ > (`forge ready`, `forge create`, `forge close`, `forge sync`) while Beads
568
+ > remains the underlying store for initialization, dependencies, comments, and
569
+ > Dolt-backed sync internals.
570
+
571
+ ---
572
+
573
+ ## Default Workflow Template Mapping
574
+
575
+ This table maps tools to the default workflow template. It is not the complete Forge product model and it is not a requirement that every project use every stage.
576
+
577
+ | Stage | Tools Used |
578
+ |-------|------------|
579
+ | `/status` | `forge ready`, `forge list`, `git status` |
580
+ | `/plan` (Phase 2) | Parallel AI, Context7, grep.app, codebase exploration |
581
+ | `/plan` | `forge create`, `git checkout -b` |
582
+ | `/dev` | Tests, code, `forge update`, `/tasks save` |
583
+ | `/validate` | Type check, lint, tests, SonarCloud |
584
+ | `/ship` | `forge close`, `gh pr create` |
585
+ | `/review` | `gh pr view`, Greptile, SonarCloud |
586
+ | `/verify` | Documentation cross-check |
587
+
588
+ Pre-merge is not a stage. Its work (`forge sync`, doc updates, hand off PR) runs inside the `/ship` and `/review` stages as an embedded documentation-and-handoff gate.
589
+
590
+ ---
591
+
592
+ ## Quick Reference Card
593
+
594
+ ### Beads (Issue Tracking)
595
+
596
+ ```bash
597
+ bd init # Initialize
598
+ forge ready # Find unblocked work
599
+ forge create "Title" # Create issue
600
+ forge show <id> # View details
601
+ forge update <id> --status X # Update status
602
+ bd dep add <a> <b> # a depends on b
603
+ forge close <id> # Complete
604
+ forge sync # Beads sync
605
+ ```
606
+
607
+ ### GitHub CLI
608
+
609
+ ```bash
610
+ gh auth login # Authenticate
611
+ gh pr create # Create PR
612
+ gh pr view <n> # View PR
613
+ gh pr checks <n> # Check status
614
+ gh pr merge <n> --squash # Merge
615
+ ```
616
+
617
+ ---
618
+
619
+ ## Troubleshooting
620
+
621
+ ### Beads
622
+
623
+ **"bd: command not found"**
624
+ ```bash
625
+ # macOS / Linux
626
+ bun add -g @beads/bd
627
+ # Or use bunx @beads/bd <command>
628
+
629
+ # Windows — use PowerShell installer
630
+ # See the safer download-then-inspect flow in the Beads install section.
631
+ # UNSAFE one-liner (only use if you trust the source and have reviewed it previously):
632
+ # irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 -OutFile $env:TEMP\beads-install.ps1; & $env:TEMP\beads-install.ps1
633
+ ```
634
+
635
+ **Windows EPERM error during `npm install -g @beads/bd`**
636
+ ```bash
637
+ # npm @beads/bd has a known EPERM bug on Windows (Issue #1031)
638
+ # Use the PowerShell installer instead:
639
+ # See the safer download-then-inspect flow in the Beads install section.
640
+ # UNSAFE one-liner (only use if you trust the source and have reviewed it previously):
641
+ # irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 -OutFile $env:TEMP\beads-install.ps1; & $env:TEMP\beads-install.ps1
642
+ ```
643
+
644
+ **"database locked"**
645
+ ```bash
646
+ forge sync
647
+ ```
648
+
649
+ **Issues not showing after git pull**
650
+ ```bash
651
+ forge sync # Re-syncs Beads state through the Forge wrapper
652
+ ```
653
+
654
+ ### GitHub CLI
655
+
656
+ **"gh: not authenticated"**
657
+ ```bash
658
+ gh auth login
659
+ gh auth status
660
+ ```
661
+
662
+ ---
663
+
664
+ ## Resources
665
+
666
+ - **Beads**: [github.com/steveyegge/beads](https://github.com/steveyegge/beads)
667
+ - **Parallel AI**: [platform.parallel.ai](https://platform.parallel.ai)
668
+ - **Greptile**: [greptile.com](https://greptile.com)
669
+ - **SonarCloud**: [sonarcloud.io](https://sonarcloud.io)
670
+ - **GitHub CLI**: [cli.github.com](https://cli.github.com)