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
package/README.md CHANGED
@@ -1,435 +1,345 @@
1
1
  # Forge
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/forge-workflow.svg)](https://www.npmjs.com/package/forge-workflow)
4
- [![npm downloads](https://img.shields.io/npm/dw/forge-workflow.svg)](https://www.npmjs.com/package/forge-workflow)
5
4
  [![license](https://img.shields.io/npm/l/forge-workflow.svg)](https://github.com/harshanandak/forge/blob/master/LICENSE)
6
5
  [![Tests](https://github.com/harshanandak/forge/actions/workflows/test.yml/badge.svg)](https://github.com/harshanandak/forge/actions/workflows/test.yml)
7
6
  [![ESLint](https://github.com/harshanandak/forge/actions/workflows/eslint.yml/badge.svg)](https://github.com/harshanandak/forge/actions/workflows/eslint.yml)
8
- [![Greptile Quality Gate](https://github.com/harshanandak/forge/actions/workflows/greptile-quality-gate.yml/badge.svg)](https://github.com/harshanandak/forge/actions/workflows/greptile-quality-gate.yml)
9
- [![Package Size](https://github.com/harshanandak/forge/actions/workflows/size-check.yml/badge.svg)](https://github.com/harshanandak/forge/actions/workflows/size-check.yml)
10
7
  [![Coverage](https://img.shields.io/badge/coverage-80%25-brightgreen.svg)](https://github.com/harshanandak/forge)
8
+ [![Package Size](https://github.com/harshanandak/forge/actions/workflows/size-check.yml/badge.svg)](https://github.com/harshanandak/forge/actions/workflows/size-check.yml)
11
9
  [![CodeQL](https://github.com/harshanandak/forge/actions/workflows/codeql.yml/badge.svg)](https://github.com/harshanandak/forge/actions/workflows/codeql.yml)
12
10
  [![Security Policy](https://img.shields.io/badge/security-policy-blue.svg)](https://github.com/harshanandak/forge/blob/master/SECURITY.md)
13
11
 
14
- Ship features with confidence using a 7-stage TDD-first workflow for AI coding agents.
15
-
16
- ```
17
- /plan → /dev → /validate → /ship → /review → /premerge → /verify
18
- ```
19
-
20
- ✅ **TDD-First**: Write tests before code
21
- ✅ **Design-First**: One-question-at-a-time Q&A captures intent upfront
22
- ✅ **Multi-Agent**: Universal AGENTS.md works with 8 agents
12
+ ## Never lose the thread of AI-assisted work.
23
13
 
24
- ---
14
+ Coding agents are fast — and forgetful. Sessions break. Context resets. The
15
+ agent forgets what it was doing, issues pile up untracked, and three months
16
+ later you can't reconstruct why a change was made or what's still unfinished.
17
+ Every new agent needs its own setup, and none of them share what the last one
18
+ knew.
25
19
 
26
- ## Quick Example
27
-
28
- **Adding a login button with Forge:**
20
+ **Forge fixes that.** It's an agent-agnostic control plane that gives your
21
+ coding agent — and you — a shared, durable memory of the work: issues,
22
+ dependencies, workflow state, decisions, and validation evidence, all kept in
23
+ your repo. Hand work to any agent, walk away mid-task, come back on another
24
+ machine, and pick up exactly where you left off.
29
25
 
30
26
  ```bash
31
- /plan login-button # Design Q&A research branch + task list
32
- /dev # TDD: RED GREEN REFACTOR cycles
33
- /validate # Type check + lint + tests + security scan
34
- /ship # Create PR with full documentation
27
+ npx forge setup # install for your agent (Claude Code, Codex, Cursor, Hermes)
28
+ npx forge init # configure your workflow gates + change classification
29
+ npx forge status # one-glance: where you are, what's next, what's ready
35
30
  ```
36
31
 
37
- **Result**: Feature shipped with tests, security validated, fully documented.
38
-
39
- **Without Forge** (chaotic):
40
- - Code first, tests later (or never)
41
- - No research or planning
42
- - Security issues found in production
43
- - Documentation forgotten
44
-
45
- **With Forge** (systematic):
46
- - Tests written BEFORE code (TDD)
47
- - Research-backed decisions
48
- - OWASP Top 10 analysis in every /plan
49
- - Documentation at every stage
32
+ **[See what's coming next ROADMAP.md](ROADMAP.md)**
50
33
 
51
- [See complete walkthrough in QUICKSTART.md](QUICKSTART.md)
34
+ ## Why Forge
52
35
 
53
- ---
36
+ ### 🤝 Works with your agent — whichever it is
54
37
 
55
- ## Installation
56
-
57
- ```bash
58
- # Step 1: Install the package (as dev dependency)
59
- bun add -D forge-workflow
38
+ Claude Code, OpenAI Codex, Cursor, and Hermes today. You maintain **one
39
+ canonical source** — skills, rules, instructions, hook policy, safety
40
+ defaults — and Forge renders it into each agent's **native format**. Switch
41
+ agents, mix agents, onboard a teammate on a different agent: everyone gets the
42
+ same workflow, and nobody rewrites config.
60
43
 
61
- # Step 2: Setup for your AI agent
62
- bunx forge setup
44
+ ```mermaid
45
+ flowchart LR
46
+ SRC["One canonical source<br/>skills/ · rules/ · AGENTS.md · .forge/"]
47
+ SRC --> C["Claude Code<br/>skills · settings · hooks · MCP"]
48
+ SRC --> U["Cursor<br/>skills · rules · hooks · ignore"]
49
+ SRC --> X["Codex<br/>skills · instructions · hooks"]
50
+ SRC --> H["Hermes<br/>skills · CLI orientation · hooks"]
63
51
  ```
64
52
 
65
- **That's it!** Forge will:
66
- - Create AGENTS.md (universal instructions)
67
- - Setup agent-specific files (Claude, Cursor, etc.)
68
- - Create docs/ folder with guides
53
+ No lock-in, no per-agent reinvention — and no silent drift, because the
54
+ rendered files are generated and drift-checked, never hand-copied.
69
55
 
70
- **Prerequisites**: Node.js, Git, GitHub account
71
- **Optional tools**: Beads (issue tracking)
56
+ ### 🛡️ Enforcement that actually enforces
72
57
 
73
- ### Setup Flags
58
+ Most "workflow" tooling is just prompts and hope. Forge wires its TDD gate and
59
+ protected-path policy into **native hooks on all four agents**, so the rules
60
+ hold even when the agent forgets them:
74
61
 
75
- | Flag | Description |
76
- |------|-------------|
77
- | `--agents=<list>` | Comma-separated agents to set up (e.g., `--agents=claude,cursor`) |
78
- | `--all` | Set up all supported agents |
79
- | `--dry-run` | Preview what setup would do without writing files |
80
- | `--non-interactive` | Skip all prompts (use defaults). Auto-enabled when `CI=true` |
81
- | `--symlink` | Create CLAUDE.md as a symlink to AGENTS.md instead of a copy |
82
- | `--sync` | Enable Beads GitHub sync (scaffolds workflow + PAT) |
83
- | `--verbose` | Show file-by-file detail instead of summary |
84
- | `--force` | Overwrite existing files even if content matches |
62
+ - **Claude Code & Cursor** — project-local hooks installed automatically at
63
+ setup: test-first gating plus protected-path denial (on Cursor, shell writes
64
+ to protected paths are blocked too).
65
+ - **Codex & Hermes** those agents read hooks from global config, so Forge
66
+ never touches it silently: one explicit, consent-guarded command
67
+ (`forge hooks install --global`, with `--dry-run` preview) merges Forge's
68
+ hooks in without clobbering anything you already have.
85
69
 
86
- [Detailed setup guide for all agents](docs/SETUP.md)
70
+ Git hooks remain the always-on backstop underneath, for any agent — or any
71
+ human.
87
72
 
88
- ---
73
+ ### 🧾 Nothing discussed goes missing
89
74
 
90
- ## The 7 Stages
75
+ Every idea, bug, decision, and follow-up raised in a session gets filed to the
76
+ local issue kernel **immediately** — that's a default-on rail, rendered into
77
+ every agent's rules. Three weeks later, "that thing we noticed but didn't fix"
78
+ is a tracked, searchable issue instead of a lost chat message.
91
79
 
92
- | Stage | Command | Purpose |
93
- |-------|---------|---------|
94
- | **utility** | `/status` | Ranked issue dashboard with conflict detection |
95
- | **1. Plan** | `/plan` | Design Q&A → research → branch + task list |
96
- | **2. Dev** | `/dev` | Subagent TDD per task (spec + quality review) |
97
- | **3. Validate** | `/validate` | Validate: types, lint, tests, security |
98
- | **4. Ship** | `/ship` | Create PR with documentation |
99
- | **5. Review** | `/review` | Address ALL PR feedback (Greptile, reviewers, CI/CD) |
100
- | **6. Premerge** | `/premerge` | Complete docs on feature branch, hand off PR |
101
- | **7. Verify** | `/verify` | Post-merge health check (CI on main) |
80
+ Like every Forge rail, it's yours to control:
81
+ `forge gate disable rail.kernel_tracking` turns it off deliberately.
102
82
 
103
- **Full workflow guide**: [AGENTS.md](AGENTS.md)
83
+ ### 🧵 Break anywhere, continue anywhere
104
84
 
105
- ---
85
+ Your project state lives in the repo, not in a chat window. Workflow stage,
86
+ claimed work, issues, memory, and handoff context survive session resets,
87
+ context compaction, and machine switches. Any agent reads the same source of
88
+ truth through `forge status`, `forge prime`, and `forge orient` — so a session
89
+ that dies at 2am resumes cleanly the next morning, on any device, with any
90
+ agent.
106
91
 
107
- ## Supported AI Agents
92
+ ### 🧹 A lifecycle that cleans up after itself
108
93
 
109
- Works with **8 AI coding agents** via universal AGENTS.md:
94
+ Merged a PR with squash-merge? `forge clean` still knows the worktree is done —
95
+ it detects merges through three tiers (direct ancestry, squash-merge tree
96
+ matching, and merged-PR head refs) instead of leaving "active" ghosts around.
97
+ After merges, your local master is fast-forwarded automatically so the next
98
+ piece of work starts from reality, not from last week.
110
99
 
111
- ### Tier 1 (Primary Support)
100
+ ### 🔒 Safety by default
112
101
 
113
- | Agent | Features | Setup Time |
114
- |-------|----------|------------|
115
- | **Claude Code** | Custom slash commands, .claude/ directory | 30 seconds |
116
- | **GitHub Copilot** | Enterprise support, .github/copilot-instructions.md | 30 seconds |
117
- | **Kilo Code** | Auto failure recovery, .kilo.md | 30 seconds |
118
- | **Cursor** | Native modes (Plan/Ask/Debug), .cursor/rules/ | 30 seconds |
119
- | **Codex CLI** | OpenAI terminal agent, AGENTS.md | 30 seconds |
102
+ `forge setup` ships safe defaults for each agent's native safety surface: a
103
+ sane tool-permission allowlist for Claude Code (secrets denied, dev commands
104
+ allowed) and a `.cursorignore` secrets boundary for Cursor. Everything is
105
+ merge-preserving your existing config is respected and everything can be
106
+ opted out of.
120
107
 
121
- ### Tier 2 (Optional Support)
108
+ ### 🔎 Never lose track — down to the smallest thing
122
109
 
123
- | Agent | Features | Setup Time |
124
- |-------|----------|------------|
125
- | **OpenCode** | Flexible, opencode.json | 30 seconds |
126
- | **Goose** | Model flexibility, open-source | 30 seconds |
110
+ Forge ships a local issue **kernel** plus a project **memory** system. Capture
111
+ work the moment you spot it, wire up real dependencies, and everything stays
112
+ tracked: what's ready, what's blocked, what's stale, what's done. Searchable and
113
+ recoverable find work from *months* ago in seconds instead of digging through
114
+ old branches and chat logs.
127
115
 
128
- **Quick setup** (auto-detects agents):
129
116
  ```bash
130
- bunx forge setup
117
+ forge create --title "Fix flaky auth test" --type bug
118
+ forge issue dep add <blocker-id> <blocked-id> # model real dependencies
119
+ forge ready # what can I pick up right now?
120
+ forge remember "auth uses rotating JWT — see lib/auth.js" # write memory
121
+ forge recall auth # read it back, later, anywhere
131
122
  ```
132
123
 
133
- **Setup for specific agent**:
134
- ```bash
135
- bunx forge setup --agent=copilot # GitHub Copilot
136
- bunx forge setup --agent=cursor # Cursor IDE
137
- bunx forge setup --agent=kilo # Kilo Code
138
- bunx forge setup --agent=codex # Codex CLI
124
+ ### 📋 Honest by construction
125
+
126
+ Forge keeps a machine-readable capability matrix of exactly what is delivered
127
+ on each agent and its statuses come from a closed, test-enforced vocabulary,
128
+ so a claim can't quietly outrun the code. What's not delivered yet says
129
+ "not delivered", in the repo, verifiably. See
130
+ [the full per-agent capability reference](docs/reference/AGENT_SKILL_PARITY.md).
131
+
132
+ ## Ready now vs. experimental
133
+
134
+ **Ready now** — installed and on by default:
135
+
136
+ | Capability | What you get |
137
+ | --- | --- |
138
+ | Multi-agent rendering | One canonical source → native skills, rules, instructions for Claude Code, Cursor, Codex, Hermes |
139
+ | Native enforcement hooks | TDD gate + protected-path denial on Claude Code and Cursor at setup; opt-in global install for Codex and Hermes |
140
+ | Kernel tracking rail | Everything discussed becomes a tracked issue, default-on, toggleable |
141
+ | Issue kernel | Create, claim, depend, close — local, fast, searchable |
142
+ | Project memory | `forge remember` / `forge recall`, file-backed local store |
143
+ | Lifecycle hygiene | Squash-merge-aware `forge clean`, automatic master fast-forward |
144
+ | Safety defaults | Claude permission allowlist + Cursor secrets ignore, merge-preserving |
145
+ | Quality-gated pushes | `forge push`: branch protection + lint + tests before anything leaves your machine |
146
+ | Verified issue writes | Every kernel write is re-read and confirmed (`verified: true` in the response) — it caught a real bug on its very first run. Opt out with `forge gate disable gate.issue_verify` |
147
+
148
+ **Experimental / opt-in** — real, shipped, and clearly labeled:
149
+
150
+ | Capability | How to opt in |
151
+ | --- | --- |
152
+ | Knowledge-graph memory (Graphiti) | `memory.backend: graphiti` in `.forge/config.yaml` — temporal, relational recall ([guide](docs/guides/memory-backends.md)) |
153
+ | Global hooks for Codex/Hermes | `forge hooks install --global` (consent-guarded, `--dry-run` first) |
154
+ | Conditional auto-merge | `forge merge --auto <pr>` — off by default, merges only when configured rules pass |
155
+
156
+ ## A workflow you own
157
+
158
+ Forge installs a proven **TDD-first** workflow —
159
+ `/plan → /dev → /validate → /ship → /review` by default, with `/verify` added in
160
+ the profiles that need it — but it is *not* a fixed prompt pack. Every stage and
161
+ quality gate is a toggle, not a YAML archaeology project:
162
+
163
+ ```mermaid
164
+ flowchart LR
165
+ subgraph defaults["Default-on rails and gates"]
166
+ R1["rail.kernel_tracking"]
167
+ G1["TDD pre-commit gate"]
168
+ G2["push quality gates"]
169
+ end
170
+ defaults -->|"forge gate disable &lt;id&gt;"| OFF["Deliberately off<br/>(recorded, reversible)"]
171
+ OFF -->|"forge gate enable &lt;id&gt;"| defaults
139
172
  ```
140
173
 
141
- **Setup for all Tier 1 agents**:
142
- ```bash
143
- bunx forge setup --all
144
- ```
145
-
146
- → [Agent-specific setup instructions](docs/SETUP.md)
147
-
148
- ---
149
-
150
- ## What Makes Forge Different
151
-
152
- ### 1. TDD-First Development
153
- Tests are written **BEFORE** code, every single time:
154
- - **RED**: Write a failing test
155
- - **GREEN**: Write minimal code to pass
156
- - **REFACTOR**: Clean up and commit
157
- - **REPEAT**: Next feature
158
-
159
- No feature ships without tests. Period.
160
-
161
- ### 2. Research-First Planning
162
- AI researches best practices before you write a line of code:
163
- - Web search for latest patterns
164
- - OWASP Top 10 security analysis
165
- - Codebase pattern analysis
166
- - Decisions documented with evidence
167
-
168
- Saves hours of debugging and refactoring later.
174
+ The default makes you productive on day one; the controls are yours from day
175
+ two. Change your change-classification, adapt the stages to how your team
176
+ actually works, and update it as you grow.
169
177
 
170
- ### 3. Universal Compatibility
171
- One workflow, works with ALL major AI agents:
172
- - Single `AGENTS.md` file (universal standard)
173
- - Agent-specific enhancements (slash commands, skills)
174
- - Git-backed persistence (Beads)
175
- - No vendor lock-in
178
+ ## Who it's for
176
179
 
177
- Switch agents anytime without changing your workflow.
180
+ - **Solo builders** using AI agents who are tired of lost handoffs and
181
+ half-remembered context.
182
+ - **Teams** coordinating multiple agent or developer sessions in one repo.
183
+ - **Quality-conscious engineers** who want agent output they can review, trust,
184
+ and release — grounded in local evidence, not vibes.
185
+ - **Maintainers** keeping agent-authored work safe enough to resume and ship.
178
186
 
179
- ### 4. Built-in TDD Enforcement
180
- Git hooks automatically enforce TDD practices:
181
- - **Pre-commit**: Blocks source commits without tests
182
- - **Pre-push**: Runs full test suite before push
183
- - **Interactive**: Guided recovery when violations occur
184
- - **CI/CD aware**: Auto-aborts in non-interactive environments
187
+ ## Quickstart
185
188
 
186
189
  ```bash
187
- # Validation CLI
188
- forge-preflight status # Check project prerequisites
189
- forge-preflight dev # Validate before /dev stage
190
- forge-preflight ship # Validate before /ship stage
190
+ # Add to your project
191
+ bun add -D forge-workflow@beta # or: npm install --save-dev forge-workflow@beta
192
+ # The current release is a prerelease under the `beta` dist-tag; a bare
193
+ # `forge-workflow` resolves to the older stable `latest`.
194
+
195
+ # Install for your agent(s) and configure the workflow
196
+ bunx forge setup --agents claude --yes
197
+ bunx forge init --profile minimal --classification standard --yes
198
+
199
+ # Orient — for you and your agent
200
+ bunx forge status # human one-glance view
201
+ bunx forge prime # session-entry orientation for agents
191
202
  ```
192
203
 
193
- ### 5. Smart Tool Recommendations
194
- Curated plugin catalog across 7 workflow stages — plan, dev, validate, ship, review, and more:
195
- - **Auto-detection**: Scans your project for frameworks, databases, auth, payments, and more
196
- - **Budget modes**: free, open-source, startup, professional, custom
197
- - **Portability-first**: MCPs included only when they add clear value over CLI alternatives
198
- - **Free alternatives**: Every paid tool shows free alternatives
204
+ Prefer a standalone binary (no Node/Bun runtime)? Install it in one line:
199
205
 
200
206
  ```bash
201
- bunx forge recommend # Recommendations for your project
202
- bunx forge recommend --budget free # Only free tools
207
+ # macOS / Linux
208
+ curl -fsSL https://raw.githubusercontent.com/harshanandak/forge/master/scripts/install.sh | sh
203
209
  ```
204
210
 
205
- → [Validation docs](docs/VALIDATION.md) | [Plugin docs](docs/TOOLCHAIN.md)
206
-
207
- ### 6. Enhanced Onboarding
208
- Smart setup that adapts to your project:
209
-
210
- **Intelligent File Merging**
211
- - Preserves your existing AGENTS.md content
212
- - Adds Forge workflow without overwriting
213
- - Three options: smart merge, keep, or replace
214
- ```bash
215
- bunx forge setup --merge=smart # Intelligent merge
216
- ```
217
-
218
- **Auto-Detection**
219
- - Detects framework (Next.js, React, Vue, Express)
220
- - Detects language (TypeScript, JavaScript)
221
- - Analyzes git stats and CI/CD setup
222
- - Infers project stage (new, active, stable)
223
- - Saves to `.forge/context.json`
224
-
225
- **Workflow Profiles** *(planned — not yet wired into setup)*
226
- - Will adapt workflow based on work type (3-8 stages):
227
- - `critical`: Full 8-stage workflow (auth, payments, security-sensitive)
228
- - `standard`: 7-stage workflow (typical features)
229
- - `refactor`: Behavior-preserving 5-stage workflow
230
- - `simple`: Streamlined 4-stage workflow
231
- - `hotfix`: Minimal 3-stage workflow (production fixes)
232
- - `docs`: Minimal 3-stage workflow (documentation/config)
233
- ```bash
234
- bunx forge setup --type=critical # Set workflow manually
211
+ ```powershell
212
+ # Windows (PowerShell)
213
+ irm https://raw.githubusercontent.com/harshanandak/forge/master/scripts/install.ps1 | iex
235
214
  ```
236
215
 
237
- **Context Interview** (optional)
238
- ```bash
239
- bunx forge setup --interview # Gather project context
240
- ```
241
-
242
- → [Enhanced onboarding guide](docs/ENHANCED_ONBOARDING.md)
243
-
244
- ### 7. Automated Quality Gates 🆕
245
- Multi-layer quality enforcement before merge:
216
+ See the [installation guide](docs/reference/INSTALL.md) for the supported
217
+ platforms, pinned versions, manual downloads, and the npm/npx alternative.
218
+
219
+ <details>
220
+ <summary><strong>Per-agent setup notes</strong></summary>
221
+
222
+ - **Claude Code** — `forge setup --agents claude` installs skills under
223
+ `.claude/skills/`, a `CLAUDE.md` shim over `AGENTS.md`, native enforcement
224
+ hooks and safe permission defaults in `.claude/settings.json`, and MCP config.
225
+ - **Cursor** — `forge setup --agents cursor` installs `.cursor/skills/`,
226
+ policy rules in `.cursor/rules/`, native hooks in `.cursor/hooks.json`, a
227
+ `.cursorignore` secrets boundary, and MCP config.
228
+ - **Codex** — `forge setup --agents codex` stages skills for the global Codex
229
+ install and commits a repo-local skills mirror so teammates get discovery on
230
+ clone. Hooks are global-config only: run `forge hooks install --global
231
+ --harness codex` when you want them.
232
+ - **Hermes** — Forge-owned skills are projected under `.hermes/skills/` and
233
+ consumed through `forge orient` / `forge recap`. Hooks:
234
+ `forge hooks install --global --harness hermes`.
235
+
236
+ The full, honest per-agent delivery status lives in the
237
+ [capability matrix reference](docs/reference/AGENT_SKILL_PARITY.md).
238
+
239
+ </details>
240
+
241
+ Full guides:
242
+
243
+ - [Quickstart](QUICKSTART.md) — clean first run, step by step
244
+ - [Installation guide](docs/reference/INSTALL.md) — standalone binary + npm/npx
245
+ - [Setup guide](docs/guides/SETUP.md)
246
+ - [Support and troubleshooting](docs/guides/SUPPORT.md)
247
+ - [Command reference](docs/reference/COMMANDS.md)
248
+ - [Workflow templates & customization](docs/guides/WORKFLOW_TEMPLATES.md)
249
+
250
+ Use `forge init` for the `.forge/` runtime config (gates + classification). Use
251
+ `forge setup` to install agent instructions, skills, and agent-specific files.
252
+ Use `bunx forge ...` (or `npx forge ...`) until the `forge` bin is on your PATH.
253
+
254
+ ### Setup flags
255
+
256
+ | Flag | Use |
257
+ | --- | --- |
258
+ | `--agents claude,cursor` | Install for specific agents (or `--all` for every harness). |
259
+ | `--quick` | Use sensible defaults with minimal prompts. |
260
+ | `--yes` / `--non-interactive` | Run without prompts; `CI=true` also enables non-interactive behavior. |
261
+ | `--dry-run` | Preview planned writes without touching the repo. |
262
+ | `--symlink` | Link instruction files instead of copying, where supported. |
263
+ | `--merge smart\|preserve\|replace` | Choose how setup handles existing instruction files. |
264
+ | `--sync` | Deprecated. Removes old generated Beads/GitHub sync files; future issue sync belongs to Kernel/server authority. |
265
+
266
+ ## What you get
267
+
268
+ - **Issue kernel** — `forge create`, `forge ready`, `forge show`, `forge claim`,
269
+ `forge close`, `forge issue dep`, `forge blocked`, `forge stale`. The Kernel is
270
+ the default backend; a Beads store can be imported (below) or selected as an
271
+ opt-out backend with `--issue-backend beads`.
272
+ - **Project memory** — `forge remember` / `forge recall` for durable, searchable
273
+ notes that outlive the session (no scattered `MEMORY.md` files), with an
274
+ opt-in knowledge-graph backend for temporal recall
275
+ ([memory guide](docs/guides/memory-backends.md)).
276
+ - **One-glance state** — `forge status`, `forge board`, `forge orient`,
277
+ `forge prime`, `forge recap` for humans and agents.
278
+ - **Safe, isolated work** — `forge worktree create <slug>`, squash-merge-aware
279
+ `forge clean`.
280
+ - **Configurable quality gates** — `forge validate`, `forge push` (branch
281
+ protection + lint + tests), tuned per project via `forge gate` and
282
+ `forge init`.
283
+ - **Native agent enforcement** — TDD + protected-path hooks rendered for all
284
+ four agents; project-local and automatic where the agent allows it, one
285
+ consent-guarded command where it doesn't.
286
+ - **Ship & recover** — `forge ship`, `forge review`, `forge shepherd` (bounded PR
287
+ monitor), `forge merge` (opt-in conditional auto-merge, off by default),
288
+ `forge upgrade` (safe self-heal).
289
+ - **Coming from Beads?** `forge migrate --from beads` imports your existing issue
290
+ store into the Kernel in one command (`--dry-run` to preview first); the first
291
+ kernel use also auto-imports a detected store, so nothing is lost.
292
+
293
+ ## Common commands
246
294
 
247
- **Greptile AI Code Review**
248
- - AI-powered review on every PR
249
- - Catches bugs, security issues, performance problems
250
- - Detailed inline feedback with fix suggestions
251
- - Automatic re-review after changes
252
295
  ```bash
253
- # Branch protection requires Greptile review to pass
254
- # Typically completes in 1-2 minutes
296
+ forge --help
297
+ forge status # where am I, what's next
298
+ forge ready # available work
299
+ forge show <issue-id>
300
+ forge claim <issue-id>
301
+ forge remember "<note>" # write project memory
302
+ forge recall <query> # read it back
303
+ forge worktree create <slug>
304
+ forge board --json
305
+ forge validate
306
+ forge gate disable <gate-id> # every rail and gate is yours to toggle
255
307
  ```
256
308
 
257
- **GitHub Actions Workflows**
258
- - Greptile Quality Gate: Enforces minimum score (≥4/5)
259
- - ESLint checks: Code quality validation
260
- - Test suite: All tests must pass
309
+ Stage commands such as `/plan`, `/dev`, `/review`, and `/verify` are agent
310
+ workflow stages installed by `forge setup`. Pre-merge is a documentation-and-
311
+ handoff gate embedded in `/ship` and `/review`, not a separate stage.
261
312
 
262
- **Git Hooks (Lefthook)**
263
- - Pre-commit: TDD enforcement (tests required)
264
- - Pre-push: Full test suite + lint checks
265
- - Branch protection: Blocks direct push to main/master
313
+ ## Documentation map
266
314
 
267
- [Greptile setup guide](docs/GREPTILE_SETUP.md)
315
+ - [Roadmap](ROADMAP.md) — what's shipping next, by theme
316
+ - [Docs index](docs/INDEX.md) — canonical reading order
317
+ - [Migration guide](docs/guides/MIGRATION.md) — moving to the Kernel and current workflow framing
318
+ - [Workflow templates & customization](docs/guides/WORKFLOW_TEMPLATES.md) — the default workflow and how to change it
319
+ - [Skills and command projections](docs/reference/SKILLS.md)
320
+ - [Agent capability matrix](docs/reference/AGENT_SKILL_PARITY.md) — honest per-agent delivery status
321
+ - [Memory backends](docs/guides/memory-backends.md) — local default and the opt-in graph backend
322
+ - [Adapters](docs/reference/ADAPTERS.md) — review adapter contract
323
+ - [Protected state surfaces](docs/reference/protected-state-surfaces.md)
324
+ - [Release reference](docs/reference/RELEASE.md)
268
325
 
269
- ---
326
+ ## Terms
270
327
 
271
- ## The Toolchain
328
+ - **Control plane** — local commands, files, and checks that give agents a shared operating surface.
329
+ - **Kernel** — the default local issue-state store, backing `forge` issue commands.
330
+ - **Workflow template** — the default stage path Forge installs (`/plan → /dev → /validate → /ship → /review`, with `/verify` in the profiles that need it), fully configurable.
331
+ - **Harness** — an agent-specific instruction surface. Forge supports Claude Code, Codex, Cursor, and Hermes.
332
+ - **Rail** — a default-on behavior policy (like kernel tracking) rendered into every agent's rules and toggleable with `forge gate`.
333
+ - **Memory** — durable, searchable project notes written with `forge remember` and read with `forge recall`.
334
+ - **Adapter** — an integration boundary for review or issue tools.
335
+ - **Protected state** — files that should be changed through their owning command or API, not by casual edits.
272
336
 
273
- Forge integrates with powerful tools:
274
-
275
- ```
276
- ┌──────────────────────────────────────────────┐
277
- │ FORGE TOOLCHAIN │
278
- ├──────────────────────────────────────────────┤
279
- │ │
280
- │ ┌──────────┐ ┌──────────┐ │
281
- │ │ BEADS │ │ GITHUB │ │
282
- │ │ Issue │ │ PR │ │
283
- │ │ Tracking │ │ Workflow │ │
284
- │ └──────────┘ └──────────┘ │
285
- │ │ │ │
286
- │ └──────────────────────────────┘ │
287
- │ │ │
288
- │ ┌─────▼─────┐ │
289
- │ │ FORGE │ │
290
- │ │ 7-Stage │ │
291
- │ │ Workflow │ │
292
- │ └───────────┘ │
293
- │ │
294
- └──────────────────────────────────────────────┘
295
- ```
296
-
297
- **All tools are optional** - Forge works standalone.
298
-
299
- **Beads** (optional): Git-backed issue tracking that survives context clearing
300
- ```bash
301
- bun add -g @beads/bd && bd init
302
- ```
303
-
304
- **GitHub CLI** (recommended): Required for PR workflow
305
- ```bash
306
- gh auth login
307
- ```
337
+ ## Package
308
338
 
309
- [Complete toolchain guide](docs/TOOLCHAIN.md)
339
+ Package name: `forge-workflow`
310
340
 
311
- ---
312
-
313
- ## Real-World Examples
314
-
315
- ### Example 1: Simple Feature (20 minutes)
316
- **Task**: Add a health check endpoint
317
-
318
- ```bash
319
- /plan health-check-endpoint # Design Q&A → research → branch + task list
320
- /dev # 8 min: TDD implementation
321
- /validate # 2 min: All validations pass
322
- /ship # 2 min: PR created
323
- # → Greptile AI review completes (~2 min)
324
- /review # 3 min: Address Greptile feedback
325
- /premerge # 2 min: Complete docs, hand off PR
326
- ```
327
-
328
- ### Example 2: Bug Fix with Security (30 minutes)
329
- **Task**: Fix SQL injection vulnerability
330
-
331
- ```bash
332
- /plan sql-injection-fix # Design Q&A → OWASP research → branch
333
- /dev # 8 min: Fix + tests
334
- /validate # 3 min: Security scan
335
- /ship # 2 min: PR with security notes
336
- # → Greptile validates security fix (~2 min)
337
- /review # 5 min: Address security feedback
338
- /premerge # 3 min: Complete docs, hand off PR
339
- ```
340
-
341
- ### Example 3: Architecture Change (2-3 days)
342
- **Task**: Add authentication system
343
-
344
- ```bash
345
- /plan user-authentication # Design Q&A → deep research → branch
346
- /dev # 1-2 days: TDD implementation
347
- /validate # 30 min: Full validation
348
- /ship # 15 min: PR with docs
349
- /review # Varies: Address feedback
350
- /premerge # 15 min: Complete docs, hand off PR
351
- /verify # 15 min: Post-merge health check
352
- ```
353
-
354
- → [More examples in docs/EXAMPLES.md](docs/EXAMPLES.md)
355
-
356
- ---
357
-
358
- ## Core Principles
359
-
360
- **TDD-First**: Tests before code, always
361
- **Design-First**: One-question-at-a-time Q&A captures intent before research
362
- **Security Built-In**: OWASP Top 10 for every feature
363
- **Documentation Progressive**: Update at each stage
364
- **Multi-Session**: Work persists across sessions
365
-
366
- → [Read the philosophy in AGENTS.md](AGENTS.md)
367
-
368
- ---
369
-
370
- ## Next Steps
371
-
372
- 📚 **New to Forge?**
373
- → [QUICKSTART.md](QUICKSTART.md) - Your first feature in 5 minutes
374
-
375
- 📖 **Learn the workflow**
376
- → [AGENTS.md](AGENTS.md) - Complete guide with examples
377
-
378
- 🛠️ **Setup the toolchain**
379
- → [docs/TOOLCHAIN.md](docs/TOOLCHAIN.md) - Beads, GitHub CLI
380
-
381
- 🎯 **See real examples**
382
- → [docs/EXAMPLES.md](docs/EXAMPLES.md) - Real-world use cases
383
-
384
- 💬 **Have questions?**
385
- → [GitHub Discussions](https://github.com/harshanandak/forge/discussions)
386
-
387
- 🐛 **Found a bug?**
388
- → [GitHub Issues](https://github.com/harshanandak/forge/issues)
389
-
390
- ---
391
-
392
- ## Quick Reference
393
-
394
- ```bash
395
- # Forge commands
396
- /status # Check current context
397
- /plan <feature> # Design Q&A → research → branch + task list
398
- /dev # TDD development
399
- /validate # Validate everything
400
- /ship # Create PR
401
- /review <pr> # Address feedback
402
- /premerge <pr> # Complete docs, hand off PR
403
- /verify # Post-merge health check
404
-
405
- # Issue commands (via Forge)
406
- bd init # Initialize Beads tracking
407
- forge ready # Find ready work
408
- forge create "title" # Create issue
409
- forge update <id> --status X # Update status
410
- forge sync # Sync Beads state
411
- ```
412
-
413
- For advanced Beads operations that Forge does not wrap yet, use `bd` directly for
414
- `bd comments`, `bd dep`, and `bd dolt`.
415
-
416
- Forge is the preferred command surface for routine workflows, but Beads (`bd`)
417
- remains the underlying source of truth for issue state and IDs.
418
-
419
- ---
341
+ Binary names: `forge`, `forge-workflow`, `forge-preflight`
420
342
 
421
343
  ## License
422
344
 
423
- MIT © Harsha Nandak
424
-
425
- ---
426
-
427
- **Ready to start?**
428
-
429
- ```bash
430
- bun add -D forge-workflow
431
- bunx forge setup
432
- /status
433
- ```
434
-
435
- Then open [QUICKSTART.md](QUICKSTART.md) and ship your first feature! 🚀
345
+ MIT