forge-workflow 0.0.9 → 0.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/.claude/rules/{greptile-review-process.md → review-process.md} +56 -41
  2. package/.claude/scripts/{greptile-resolve.sh → review-resolve.sh} +13 -3
  3. package/.cursor/rules/permissions-guidance.mdc +2 -2
  4. package/.forge/hooks/check-tdd.js +3 -0
  5. package/.forge/hooks/forge-native-hook.js +245 -0
  6. package/.forge/protected-paths.yaml +157 -0
  7. package/AGENTS.md +151 -61
  8. package/CHANGELOG.md +681 -0
  9. package/CLAUDE.md +9 -106
  10. package/QUICKSTART.md +171 -0
  11. package/README.md +271 -363
  12. package/bin/forge-cmd.js +120 -9
  13. package/bin/forge-preflight.js +26 -5
  14. package/bin/forge.js +466 -489
  15. package/docs/INDEX.md +93 -0
  16. package/docs/PROJECT_DESIGN.md +685 -0
  17. package/docs/architecture/index.md +66 -0
  18. package/docs/architecture/notes/README.md +35 -0
  19. package/docs/architecture/subsystems/README.md +46 -0
  20. package/docs/{TOOLCHAIN.md → forge/TOOLCHAIN.md} +56 -47
  21. package/docs/forge/VALIDATION.md +82 -0
  22. package/docs/{AGENT_INSTALL_PROMPT.md → guides/AGENT_INSTALL_PROMPT.md} +3 -3
  23. package/docs/guides/BEADS_GITHUB_SYNC.md +32 -0
  24. package/docs/{ENHANCED_ONBOARDING.md → guides/ENHANCED_ONBOARDING.md} +16 -12
  25. package/docs/guides/GREPTILE_SETUP.md +46 -0
  26. package/docs/guides/MANUAL_REVIEW_GUIDE.md +58 -0
  27. package/docs/guides/MIGRATION.md +56 -0
  28. package/docs/guides/SETUP.md +118 -0
  29. package/docs/guides/SUPPORT.md +185 -0
  30. package/docs/guides/WORKFLOW_TEMPLATES.md +74 -0
  31. package/docs/guides/memory-backends.md +183 -0
  32. package/docs/reference/ADAPTERS.md +128 -0
  33. package/docs/reference/AGENT_SKILL_PARITY.md +175 -0
  34. package/docs/reference/COMMANDS.md +205 -0
  35. package/docs/reference/DECISION_DRIFT_GUARDS.md +97 -0
  36. package/docs/{EXAMPLES.md → reference/EXAMPLES.md} +7 -5
  37. package/docs/reference/FORGE_KERNEL_STORAGE_MODEL.md +135 -0
  38. package/docs/reference/HERMES_INTEGRATION.md +118 -0
  39. package/docs/reference/INSIGHTS_RECAP.md +63 -0
  40. package/docs/reference/INSTALL.md +164 -0
  41. package/docs/reference/KERNEL_TAXONOMY_VALIDATION.md +161 -0
  42. package/docs/reference/PROTECTED_PATH_MANIFEST.md +25 -0
  43. package/docs/reference/RELEASE.md +68 -0
  44. package/docs/reference/RESEARCH_TEMPLATE.md +292 -0
  45. package/docs/{ROADMAP.md → reference/ROADMAP.md} +12 -9
  46. package/docs/reference/SKILLS.md +35 -0
  47. package/docs/reference/STATUS_BOARD.md +80 -0
  48. package/docs/reference/TEMPLATES.md +106 -0
  49. package/docs/reference/TOOLCHAIN.md +658 -0
  50. package/docs/reference/VALIDATION.md +82 -0
  51. package/docs/reference/agent-permissions.md +169 -0
  52. package/docs/reference/beads-to-kernel-migration-ux.md +61 -0
  53. package/docs/reference/control-plane-guarantees.md +125 -0
  54. package/docs/reference/dependency-chain.md +331 -0
  55. package/docs/reference/forge-kernel-issue-command-contract.md +161 -0
  56. package/docs/reference/forge-kernel-schema.md +72 -0
  57. package/docs/reference/kernel-conflict-evaluators.md +27 -0
  58. package/docs/reference/patch-md-format.md +77 -0
  59. package/docs/reference/protected-state-surfaces.md +59 -0
  60. package/docs/reference/shepherd.md +115 -0
  61. package/docs/reference/superpowers-analysis.md +320 -0
  62. package/docs/reference/superpowers-integration-options.md +404 -0
  63. package/docs/reference/test-environment.md +519 -0
  64. package/docs/reference/upgrade-safety.md +59 -0
  65. package/lefthook.yml +18 -0
  66. package/lib/adapter-cli.js +307 -0
  67. package/lib/adapters/beads-issue-adapter.js +127 -0
  68. package/lib/adapters/beads-kernel-compat.js +1042 -0
  69. package/lib/adapters/greptile-review-adapter.js +141 -0
  70. package/lib/adapters/kernel-issue-adapter.js +101 -0
  71. package/lib/adapters/pr-state-adapter.js +484 -0
  72. package/lib/adoption-profiles.js +126 -0
  73. package/lib/agents/README.md +2 -6
  74. package/lib/agents/claude.plugin.json +3 -8
  75. package/lib/agents/codex.plugin.json +9 -1
  76. package/lib/agents/cursor.plugin.json +2 -6
  77. package/lib/agents/hermes.plugin.json +22 -0
  78. package/lib/agents-config.js +39 -1236
  79. package/lib/audit-evidence.js +282 -0
  80. package/lib/beads-setup.js +225 -28
  81. package/lib/beads-sync-scaffold.js +36 -107
  82. package/lib/codex-skills.js +51 -1
  83. package/lib/commands/_issue.js +744 -70
  84. package/lib/commands/_manifest.js +91 -0
  85. package/lib/commands/_registry.js +85 -34
  86. package/lib/commands/_resolve-command-opts.js +261 -0
  87. package/lib/commands/_serve-security.js +270 -0
  88. package/lib/commands/adapter.js +12 -0
  89. package/lib/commands/add.js +118 -0
  90. package/lib/commands/audit.js +70 -0
  91. package/lib/commands/blocked.js +5 -0
  92. package/lib/commands/board.js +64 -0
  93. package/lib/commands/claim.js +21 -2
  94. package/lib/commands/claims.js +7 -0
  95. package/lib/commands/clean.js +485 -75
  96. package/lib/commands/close.js +2 -2
  97. package/lib/commands/comment.js +5 -0
  98. package/lib/commands/control.js +148 -0
  99. package/lib/commands/create.js +2 -2
  100. package/lib/commands/dev.js +185 -7
  101. package/lib/commands/doc-gate.js +336 -0
  102. package/lib/commands/doctor.js +156 -0
  103. package/lib/commands/explain.js +15 -0
  104. package/lib/commands/export.js +237 -0
  105. package/lib/commands/gate.js +192 -0
  106. package/lib/commands/hooks.js +242 -0
  107. package/lib/commands/inbox.js +118 -0
  108. package/lib/commands/init.js +598 -0
  109. package/lib/commands/insights.js +79 -0
  110. package/lib/commands/issue.js +12 -1
  111. package/lib/commands/issues.js +66 -0
  112. package/lib/commands/lint.js +5 -0
  113. package/lib/commands/list.js +2 -2
  114. package/lib/commands/merge.js +312 -0
  115. package/lib/commands/migrate.js +523 -0
  116. package/lib/commands/new.js +12 -0
  117. package/lib/commands/options.js +241 -0
  118. package/lib/commands/orient.js +13 -0
  119. package/lib/commands/orphans.js +5 -0
  120. package/lib/commands/patch.js +67 -0
  121. package/lib/commands/plan.js +436 -24
  122. package/lib/commands/preflight.js +211 -0
  123. package/lib/commands/prime.js +13 -0
  124. package/lib/commands/push.js +69 -2
  125. package/lib/commands/ready.js +2 -2
  126. package/lib/commands/recall.js +116 -0
  127. package/lib/commands/recap.js +61 -0
  128. package/lib/commands/recommend.js +22 -2
  129. package/lib/commands/release.js +91 -0
  130. package/lib/commands/remember.js +74 -0
  131. package/lib/commands/role.js +99 -0
  132. package/lib/commands/serve.js +581 -0
  133. package/lib/commands/setup.js +851 -979
  134. package/lib/commands/shepherd.js +436 -0
  135. package/lib/commands/ship.js +23 -1
  136. package/lib/commands/show.js +2 -2
  137. package/lib/commands/stage.js +192 -0
  138. package/lib/commands/stale.js +5 -0
  139. package/lib/commands/status.js +329 -11
  140. package/lib/commands/sync.js +34 -46
  141. package/lib/commands/team.js +15 -2
  142. package/lib/commands/test.js +58 -7
  143. package/lib/commands/update.js +2 -2
  144. package/lib/commands/upgrade.js +47 -0
  145. package/lib/commands/validate.js +56 -25
  146. package/lib/commands/worktree.js +308 -128
  147. package/lib/config-writer.js +202 -0
  148. package/lib/control-plane.js +236 -0
  149. package/lib/core/runtime-graph.js +946 -0
  150. package/lib/dep-guard/keyword-ripple.js +184 -0
  151. package/lib/deprecated-sync-cleanup.js +362 -0
  152. package/lib/detect-agent.js +2 -28
  153. package/lib/detect-worktree.js +42 -17
  154. package/lib/doc-gate/declaration.js +177 -0
  155. package/lib/doc-gate/detect.js +289 -0
  156. package/lib/doc-gate/gate.js +375 -0
  157. package/lib/doc-gate/okf-config.js +128 -0
  158. package/lib/doc-gate/okf.js +429 -0
  159. package/lib/docs-command.js +1161 -6
  160. package/lib/forge-issues.js +697 -0
  161. package/lib/forge-lock.js +262 -0
  162. package/lib/gate-events.js +193 -0
  163. package/lib/global-flags.js +74 -0
  164. package/lib/greptile-match.js +7 -63
  165. package/lib/harness-capability-matrix.js +380 -0
  166. package/lib/hook-global-installer.js +347 -0
  167. package/lib/hook-renderer.js +451 -0
  168. package/lib/inbox.js +391 -0
  169. package/lib/insights.js +397 -0
  170. package/lib/issue-adapter.js +156 -0
  171. package/lib/issue-backend.js +145 -0
  172. package/lib/issue-render.js +220 -0
  173. package/lib/issue-sync/authority.js +100 -0
  174. package/lib/issue-sync/github-pull.js +184 -0
  175. package/lib/issue-sync/import-primitives.js +98 -0
  176. package/lib/issue-sync/legacy-link-bridge.js +436 -0
  177. package/lib/issue-sync/link-store.js +292 -0
  178. package/lib/issue-sync/project-github.js +123 -0
  179. package/lib/issue-sync/reconcile.js +195 -0
  180. package/lib/issue-sync/schema.js +126 -0
  181. package/lib/kernel/backing-issue.js +305 -0
  182. package/lib/kernel/broker.js +1218 -0
  183. package/lib/kernel/cli-broker-factory.js +130 -0
  184. package/lib/kernel/conflict-signal.js +82 -0
  185. package/lib/kernel/evaluators.js +195 -0
  186. package/lib/kernel/fs-class.js +495 -0
  187. package/lib/kernel/issue-command-contract.js +559 -0
  188. package/lib/kernel/issue-id-resolver.js +186 -0
  189. package/lib/kernel/lease-enforcer.js +158 -0
  190. package/lib/kernel/migrations.js +333 -0
  191. package/lib/kernel/planning-buckets-schema.js +109 -0
  192. package/lib/kernel/projection-jsonl-writer.js +450 -0
  193. package/lib/kernel/readiness-model.js +329 -0
  194. package/lib/kernel/schema.js +356 -0
  195. package/lib/kernel/sqlite-driver.js +2504 -0
  196. package/lib/kernel/taxonomy-validator.js +394 -0
  197. package/lib/lefthook-check.js +8 -4
  198. package/lib/lefthook-wiring.js +413 -0
  199. package/lib/mcp-config-renderer.js +288 -0
  200. package/lib/memory/graphiti-mcp.js +106 -0
  201. package/lib/memory/router.js +387 -0
  202. package/lib/memory/typed-api.js +102 -0
  203. package/lib/memory-digest.js +195 -0
  204. package/lib/merge-rules.js +395 -0
  205. package/lib/migrate-dry-run.js +466 -0
  206. package/lib/orientation.js +863 -0
  207. package/lib/package-manager-remediation.js +103 -0
  208. package/lib/package-root.js +381 -0
  209. package/lib/patch-intent.js +890 -0
  210. package/lib/plugin-catalog.js +3 -4
  211. package/lib/plugin-manager.js +0 -5
  212. package/lib/pr-bundle.js +186 -0
  213. package/lib/pr-monitor/differ.js +195 -0
  214. package/lib/pr-monitor/events.js +0 -0
  215. package/lib/pr-monitor/gather.js +124 -0
  216. package/lib/pr-monitor/journal.js +299 -0
  217. package/lib/pr-monitor/monitor.js +146 -0
  218. package/lib/pr-monitor/render-sticky.js +157 -0
  219. package/lib/pr-monitor/watch-lifecycle.js +95 -0
  220. package/lib/pr-monitor/watch.js +247 -0
  221. package/lib/pr-pull.js +1273 -0
  222. package/lib/pr-shepherd.js +494 -0
  223. package/lib/pr-state-validator.js +59 -0
  224. package/lib/preflight/gates.js +237 -0
  225. package/lib/preflight/runner.js +116 -0
  226. package/lib/project-discovery.js +0 -53
  227. package/lib/project-memory.js +166 -0
  228. package/lib/protected-path-manifest.js +281 -0
  229. package/lib/protected-state-surfaces.js +387 -0
  230. package/lib/release-readiness.js +2089 -0
  231. package/lib/reset.js +59 -45
  232. package/lib/review-adapter.js +68 -0
  233. package/lib/rules-sync.js +260 -0
  234. package/lib/runtime-health.js +332 -23
  235. package/lib/safety-config-renderer.js +268 -0
  236. package/lib/setup-action-log.js +1 -7
  237. package/lib/setup.js +27 -65
  238. package/lib/shell-utils.js +76 -6
  239. package/lib/skills-sync.js +330 -0
  240. package/lib/smart-status/conflicts.js +205 -0
  241. package/lib/smart-status/scoring.js +191 -0
  242. package/lib/status/beads-snapshot.js +145 -0
  243. package/lib/status/presenter.js +216 -0
  244. package/lib/status/snapshot.js +186 -0
  245. package/lib/sync-backend.js +202 -0
  246. package/lib/untrusted-content.js +52 -0
  247. package/lib/upgrade-safety.js +199 -0
  248. package/lib/workflow/enforce-stage.js +298 -47
  249. package/lib/workflow/stage-transition.js +115 -0
  250. package/lib/workflow/stages.js +30 -6
  251. package/lib/workflow/state-manager.js +159 -14
  252. package/lib/workflow/state.js +23 -1
  253. package/lib/workflow-profiles.js +17 -5
  254. package/package.json +46 -36
  255. package/rules/documentation.md +19 -0
  256. package/rules/kernel-tracking.md +26 -0
  257. package/rules/security.md +22 -0
  258. package/rules/tdd.md +20 -0
  259. package/rules/workflow.md +27 -0
  260. package/scripts/auto-backing-issue.js +47 -0
  261. package/scripts/beads-context.sh +165 -22
  262. package/scripts/beads-migrate-to-dolt.sh +7 -0
  263. package/scripts/beads-upgrade-smoke.sh +284 -0
  264. package/scripts/behavioral-judge.sh +115 -11
  265. package/scripts/benchmark.js +349 -63
  266. package/scripts/bootstrap-windows-tools.sh +78 -0
  267. package/scripts/branch-protection.js +2 -3
  268. package/scripts/check-agents.js +34 -137
  269. package/scripts/commitlint.js +3 -1
  270. package/scripts/conflict-detect.sh +3 -0
  271. package/scripts/dep-guard-analyze.js +52 -17
  272. package/scripts/dep-guard-keyword-ripple.js +29 -0
  273. package/scripts/dep-guard-render-review.js +86 -0
  274. package/scripts/dep-guard.sh +64 -232
  275. package/scripts/file-index.sh +3 -0
  276. package/scripts/forge-team/lib/claim.sh +34 -18
  277. package/scripts/forge-team/lib/dashboard.sh +61 -86
  278. package/scripts/forge-team/lib/epic.sh +99 -263
  279. package/scripts/forge-team/lib/hooks.sh +26 -28
  280. package/scripts/forge-team/lib/identity.sh +4 -4
  281. package/scripts/forge-team/lib/sync-github.sh +144 -47
  282. package/scripts/forge-team/lib/verify.sh +93 -83
  283. package/scripts/forge-team/lib/workload.sh +41 -65
  284. package/scripts/forge-team/tests/claim.test.sh +25 -19
  285. package/scripts/forge-team/tests/dashboard.test.sh +31 -46
  286. package/scripts/forge-team/tests/epic.test.sh +52 -71
  287. package/scripts/forge-team/tests/hooks.test.sh +38 -50
  288. package/scripts/forge-team/tests/identity.test.sh +3 -3
  289. package/scripts/forge-team/tests/integration.test.sh +44 -66
  290. package/scripts/forge-team/tests/sync-github.test.sh +183 -79
  291. package/scripts/forge-team/tests/verify.test.sh +37 -46
  292. package/scripts/forge-team/tests/workflow-integration.test.sh +4 -4
  293. package/scripts/forge-team/tests/workload.test.sh +32 -66
  294. package/scripts/gen-command-manifest.js +153 -0
  295. package/scripts/gen-embedded-assets.mjs +129 -0
  296. package/scripts/install.ps1 +139 -0
  297. package/scripts/install.sh +268 -0
  298. package/scripts/lib/beads-migrate-to-dolt.mjs +503 -0
  299. package/scripts/lib/release-asset.mjs +84 -0
  300. package/scripts/parity-check.mjs +145 -0
  301. package/scripts/parity-check.test.mjs +58 -0
  302. package/scripts/pin-agentic-workflow-images.js +112 -0
  303. package/scripts/pr-coordinator.sh +3 -0
  304. package/scripts/preflight-sonar.eslint.config.mjs +44 -0
  305. package/scripts/preflight.sh +108 -0
  306. package/scripts/protected-state-check.js +104 -0
  307. package/scripts/smart-status-score.js +31 -0
  308. package/scripts/smart-status-sessions.js +51 -0
  309. package/scripts/smart-status.sh +117 -369
  310. package/scripts/spikes/config-race-bench.js +111 -0
  311. package/scripts/spikes/harness-capability-matrix.js +13 -0
  312. package/scripts/spikes/patch-anchor-stability-bench.js +125 -0
  313. package/scripts/spikes/protected-path-manifest.js +20 -0
  314. package/scripts/spikes/skill-auto-invoke-parity.js +292 -0
  315. package/scripts/sync-agent-skills.js +62 -0
  316. package/scripts/sync-agentic-workflow.js +48 -0
  317. package/scripts/sync-utils.sh +3 -0
  318. package/scripts/test-ci-shard.js +251 -0
  319. package/scripts/test-dashboard.js +188 -52
  320. package/scripts/test-full-suite.js +186 -0
  321. package/scripts/test-profile.js +278 -0
  322. package/scripts/test.js +302 -28
  323. package/scripts/validate.js +143 -0
  324. package/scripts/validate.sh +18 -1
  325. package/skills/claim-safety/SKILL.md +102 -0
  326. package/skills/claim-safety/evals/evals.json +46 -0
  327. package/{.github/prompts/dev.prompt.md → skills/dev/SKILL.md} +46 -52
  328. package/skills/dev/evals/evals.json +50 -0
  329. package/skills/hermes-forge/SKILL.md +185 -0
  330. package/skills/hermes-forge/evals/evals.json +46 -0
  331. package/skills/issue-basics/SKILL.md +111 -0
  332. package/skills/issue-basics/evals/evals.json +46 -0
  333. package/skills/kernel/SKILL.md +166 -0
  334. package/skills/kernel/evals/evals.json +50 -0
  335. package/skills/memory/SKILL.md +102 -0
  336. package/skills/parallel-deep-research/SKILL.md +14 -11
  337. package/skills/parallel-deep-research/evals/evals.json +11 -27
  338. package/{.github/prompts/plan.prompt.md → skills/plan/SKILL.md} +134 -159
  339. package/skills/plan/evals/evals.json +42 -0
  340. package/skills/research/SKILL.md +195 -0
  341. package/skills/research/evals/evals.json +42 -0
  342. package/{.github/prompts/review.prompt.md → skills/review/SKILL.md} +98 -62
  343. package/skills/review/evals/evals.json +42 -0
  344. package/skills/rollback/SKILL.md +110 -0
  345. package/skills/rollback/evals/evals.json +46 -0
  346. package/skills/rollback/references/methods.md +204 -0
  347. package/{.cursor/commands/rollback.md → skills/rollback/references/workflow-integration.md} +10 -284
  348. package/skills/shepherd/SKILL.md +66 -0
  349. package/skills/shepherd/evals/evals.json +42 -0
  350. package/skills/ship/SKILL.md +251 -0
  351. package/skills/ship/evals/evals.json +42 -0
  352. package/skills/smith/SKILL.md +142 -0
  353. package/skills/smith/evals/evals.json +46 -0
  354. package/skills/smith/references/autonomy-and-gates.md +94 -0
  355. package/{.github/prompts/sonarcloud.prompt.md → skills/sonarcloud/SKILL.md} +14 -3
  356. package/skills/sonarcloud/evals/evals.json +46 -0
  357. package/skills/sonarcloud-analysis/SKILL.md +18 -13
  358. package/skills/sonarcloud-analysis/evals/evals.json +11 -15
  359. package/skills/status/SKILL.md +102 -0
  360. package/skills/status/evals/evals.json +50 -0
  361. package/skills/triage-ready/SKILL.md +121 -0
  362. package/skills/triage-ready/evals/evals.json +42 -0
  363. package/{.github/prompts/validate.prompt.md → skills/validate/SKILL.md} +52 -29
  364. package/skills/validate/evals/evals.json +42 -0
  365. package/skills/verify/SKILL.md +299 -0
  366. package/skills/verify/evals/evals.json +50 -0
  367. package/.claude/commands/dev.md +0 -345
  368. package/.claude/commands/plan.md +0 -566
  369. package/.claude/commands/premerge.md +0 -186
  370. package/.claude/commands/research.md +0 -42
  371. package/.claude/commands/review.md +0 -451
  372. package/.claude/commands/rollback.md +0 -721
  373. package/.claude/commands/ship.md +0 -213
  374. package/.claude/commands/sonarcloud.md +0 -152
  375. package/.claude/commands/status.md +0 -90
  376. package/.claude/commands/validate.md +0 -288
  377. package/.claude/commands/verify.md +0 -269
  378. package/.claude/rules/workflow.md +0 -121
  379. package/.cline/workflows/dev.md +0 -342
  380. package/.cline/workflows/plan.md +0 -563
  381. package/.cline/workflows/premerge.md +0 -183
  382. package/.cline/workflows/research.md +0 -39
  383. package/.cline/workflows/review.md +0 -448
  384. package/.cline/workflows/rollback.md +0 -718
  385. package/.cline/workflows/ship.md +0 -210
  386. package/.cline/workflows/sonarcloud.md +0 -146
  387. package/.cline/workflows/status.md +0 -87
  388. package/.cline/workflows/validate.md +0 -285
  389. package/.cline/workflows/verify.md +0 -266
  390. package/.codex/config.toml +0 -11
  391. package/.codex/skills/dev/SKILL.md +0 -345
  392. package/.codex/skills/plan/SKILL.md +0 -566
  393. package/.codex/skills/premerge/SKILL.md +0 -186
  394. package/.codex/skills/research/SKILL.md +0 -42
  395. package/.codex/skills/review/SKILL.md +0 -451
  396. package/.codex/skills/rollback/SKILL.md +0 -721
  397. package/.codex/skills/ship/SKILL.md +0 -213
  398. package/.codex/skills/sonarcloud/SKILL.md +0 -149
  399. package/.codex/skills/status/SKILL.md +0 -90
  400. package/.codex/skills/validate/SKILL.md +0 -288
  401. package/.codex/skills/verify/SKILL.md +0 -269
  402. package/.cursor/commands/dev.md +0 -342
  403. package/.cursor/commands/plan.md +0 -563
  404. package/.cursor/commands/premerge.md +0 -183
  405. package/.cursor/commands/research.md +0 -39
  406. package/.cursor/commands/review.md +0 -448
  407. package/.cursor/commands/ship.md +0 -210
  408. package/.cursor/commands/sonarcloud.md +0 -146
  409. package/.cursor/commands/status.md +0 -87
  410. package/.cursor/commands/validate.md +0 -285
  411. package/.cursor/commands/verify.md +0 -266
  412. package/.cursorrules +0 -149
  413. package/.github/prompts/premerge.prompt.md +0 -188
  414. package/.github/prompts/research.prompt.md +0 -44
  415. package/.github/prompts/rollback.prompt.md +0 -723
  416. package/.github/prompts/ship.prompt.md +0 -215
  417. package/.github/prompts/status.prompt.md +0 -92
  418. package/.github/prompts/verify.prompt.md +0 -271
  419. package/.github/workflows/beads-to-github.yml +0 -56
  420. package/.github/workflows/github-to-beads.yml +0 -97
  421. package/.kilocode/workflows/dev.md +0 -346
  422. package/.kilocode/workflows/plan.md +0 -567
  423. package/.kilocode/workflows/premerge.md +0 -187
  424. package/.kilocode/workflows/research.md +0 -43
  425. package/.kilocode/workflows/review.md +0 -452
  426. package/.kilocode/workflows/rollback.md +0 -722
  427. package/.kilocode/workflows/ship.md +0 -214
  428. package/.kilocode/workflows/sonarcloud.md +0 -150
  429. package/.kilocode/workflows/status.md +0 -91
  430. package/.kilocode/workflows/validate.md +0 -289
  431. package/.kilocode/workflows/verify.md +0 -270
  432. package/.opencode/commands/dev.md +0 -345
  433. package/.opencode/commands/plan.md +0 -566
  434. package/.opencode/commands/premerge.md +0 -186
  435. package/.opencode/commands/research.md +0 -42
  436. package/.opencode/commands/review.md +0 -451
  437. package/.opencode/commands/rollback.md +0 -721
  438. package/.opencode/commands/ship.md +0 -213
  439. package/.opencode/commands/sonarcloud.md +0 -149
  440. package/.opencode/commands/status.md +0 -90
  441. package/.opencode/commands/validate.md +0 -288
  442. package/.opencode/commands/verify.md +0 -269
  443. package/.roo/commands/dev.md +0 -346
  444. package/.roo/commands/plan.md +0 -567
  445. package/.roo/commands/premerge.md +0 -187
  446. package/.roo/commands/research.md +0 -43
  447. package/.roo/commands/review.md +0 -452
  448. package/.roo/commands/rollback.md +0 -722
  449. package/.roo/commands/ship.md +0 -214
  450. package/.roo/commands/sonarcloud.md +0 -150
  451. package/.roo/commands/status.md +0 -91
  452. package/.roo/commands/validate.md +0 -289
  453. package/.roo/commands/verify.md +0 -270
  454. package/docs/BEADS_GITHUB_SYNC.md +0 -255
  455. package/docs/GREPTILE_SETUP.md +0 -400
  456. package/docs/MANUAL_REVIEW_GUIDE.md +0 -106
  457. package/docs/SETUP.md +0 -663
  458. package/docs/VALIDATION.md +0 -363
  459. package/lib/agents/cline.plugin.json +0 -29
  460. package/lib/agents/copilot.plugin.json +0 -24
  461. package/lib/agents/kilocode.plugin.json +0 -22
  462. package/lib/agents/opencode.plugin.json +0 -23
  463. package/lib/agents/roo.plugin.json +0 -30
  464. package/lib/beads-health-check.js +0 -143
  465. package/lib/commands/commands-reset.js +0 -147
  466. package/opencode.json +0 -67
  467. package/scripts/beads-context.test.js +0 -567
  468. package/scripts/github-beads-sync/comment.mjs +0 -64
  469. package/scripts/github-beads-sync/config.mjs +0 -148
  470. package/scripts/github-beads-sync/github-api.mjs +0 -131
  471. package/scripts/github-beads-sync/index.mjs +0 -332
  472. package/scripts/github-beads-sync/label-mapper.mjs +0 -54
  473. package/scripts/github-beads-sync/mapping.mjs +0 -78
  474. package/scripts/github-beads-sync/reverse-sync-cli.mjs +0 -31
  475. package/scripts/github-beads-sync/reverse-sync.mjs +0 -138
  476. package/scripts/github-beads-sync/run-bd.mjs +0 -161
  477. package/scripts/github-beads-sync/sanitize.mjs +0 -121
  478. package/scripts/github-beads-sync.config.json +0 -26
  479. package/scripts/sync-commands.js +0 -600
package/README.md CHANGED
@@ -1,435 +1,343 @@
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
23
-
24
- ---
12
+ ## Never lose the thread of AI-assisted work.
25
13
 
26
- ## Quick Example
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.
27
19
 
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
50
-
51
- → [See complete walkthrough in QUICKSTART.md](QUICKSTART.md)
32
+ **[See what's coming next ROADMAP.md](ROADMAP.md)**
52
33
 
53
- ---
34
+ ## Why Forge
54
35
 
55
- ## Installation
36
+ ### 🤝 Works with your agent — whichever it is
56
37
 
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
139
- ```
140
-
141
- **Setup for all Tier 1 agents**:
142
- ```bash
143
- bunx forge setup --all
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
144
172
  ```
145
173
 
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
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.
167
177
 
168
- Saves hours of debugging and refactoring later.
178
+ ## Who it's for
169
179
 
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
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.
176
186
 
177
- Switch agents anytime without changing your workflow.
178
-
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
191
- ```
190
+ # Add to your project
191
+ bun add -D forge-workflow # or: npm install --save-dev forge-workflow
192
192
 
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
193
+ # Install for your agent(s) and configure the workflow
194
+ bunx forge setup --agents claude --yes
195
+ bunx forge init --profile minimal --classification standard --yes
199
196
 
200
- ```bash
201
- bunx forge recommend # Recommendations for your project
202
- bunx forge recommend --budget free # Only free tools
197
+ # Orient — for you and your agent
198
+ bunx forge status # human one-glance view
199
+ bunx forge prime # session-entry orientation for agents
203
200
  ```
204
201
 
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
- ```
202
+ Prefer a standalone binary (no Node/Bun runtime)? Install it in one line:
217
203
 
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
204
  ```bash
234
- bunx forge setup --type=critical # Set workflow manually
205
+ # macOS / Linux
206
+ curl -fsSL https://raw.githubusercontent.com/harshanandak/forge/master/scripts/install.sh | sh
235
207
  ```
236
208
 
237
- **Context Interview** (optional)
238
- ```bash
239
- bunx forge setup --interview # Gather project context
209
+ ```powershell
210
+ # Windows (PowerShell)
211
+ irm https://raw.githubusercontent.com/harshanandak/forge/master/scripts/install.ps1 | iex
240
212
  ```
241
213
 
242
- [Enhanced onboarding guide](docs/ENHANCED_ONBOARDING.md)
214
+ See the [installation guide](docs/reference/INSTALL.md) for the supported
215
+ platforms, pinned versions, manual downloads, and the npm/npx alternative.
216
+
217
+ <details>
218
+ <summary><strong>Per-agent setup notes</strong></summary>
219
+
220
+ - **Claude Code** — `forge setup --agents claude` installs skills under
221
+ `.claude/skills/`, a `CLAUDE.md` shim over `AGENTS.md`, native enforcement
222
+ hooks and safe permission defaults in `.claude/settings.json`, and MCP config.
223
+ - **Cursor** — `forge setup --agents cursor` installs `.cursor/skills/`,
224
+ policy rules in `.cursor/rules/`, native hooks in `.cursor/hooks.json`, a
225
+ `.cursorignore` secrets boundary, and MCP config.
226
+ - **Codex** — `forge setup --agents codex` stages skills for the global Codex
227
+ install and commits a repo-local skills mirror so teammates get discovery on
228
+ clone. Hooks are global-config only: run `forge hooks install --global
229
+ --harness codex` when you want them.
230
+ - **Hermes** — Forge-owned skills are projected under `.hermes/skills/` and
231
+ consumed through `forge orient` / `forge recap`. Hooks:
232
+ `forge hooks install --global --harness hermes`.
233
+
234
+ The full, honest per-agent delivery status lives in the
235
+ [capability matrix reference](docs/reference/AGENT_SKILL_PARITY.md).
236
+
237
+ </details>
238
+
239
+ Full guides:
240
+
241
+ - [Quickstart](QUICKSTART.md) — clean first run, step by step
242
+ - [Installation guide](docs/reference/INSTALL.md) — standalone binary + npm/npx
243
+ - [Setup guide](docs/guides/SETUP.md)
244
+ - [Support and troubleshooting](docs/guides/SUPPORT.md)
245
+ - [Command reference](docs/reference/COMMANDS.md)
246
+ - [Workflow templates & customization](docs/guides/WORKFLOW_TEMPLATES.md)
247
+
248
+ Use `forge init` for the `.forge/` runtime config (gates + classification). Use
249
+ `forge setup` to install agent instructions, skills, and agent-specific files.
250
+ Use `bunx forge ...` (or `npx forge ...`) until the `forge` bin is on your PATH.
251
+
252
+ ### Setup flags
253
+
254
+ | Flag | Use |
255
+ | --- | --- |
256
+ | `--agents claude,cursor` | Install for specific agents (or `--all` for every harness). |
257
+ | `--quick` | Use sensible defaults with minimal prompts. |
258
+ | `--yes` / `--non-interactive` | Run without prompts; `CI=true` also enables non-interactive behavior. |
259
+ | `--dry-run` | Preview planned writes without touching the repo. |
260
+ | `--symlink` | Link instruction files instead of copying, where supported. |
261
+ | `--merge smart\|preserve\|replace` | Choose how setup handles existing instruction files. |
262
+ | `--sync` | Deprecated. Removes old generated Beads/GitHub sync files; future issue sync belongs to Kernel/server authority. |
263
+
264
+ ## What you get
265
+
266
+ - **Issue kernel** — `forge create`, `forge ready`, `forge show`, `forge claim`,
267
+ `forge close`, `forge issue dep`, `forge blocked`, `forge stale`. The Kernel is
268
+ the default backend; a Beads store can be imported (below) or selected as an
269
+ opt-out backend with `--issue-backend beads`.
270
+ - **Project memory** — `forge remember` / `forge recall` for durable, searchable
271
+ notes that outlive the session (no scattered `MEMORY.md` files), with an
272
+ opt-in knowledge-graph backend for temporal recall
273
+ ([memory guide](docs/guides/memory-backends.md)).
274
+ - **One-glance state** — `forge status`, `forge board`, `forge orient`,
275
+ `forge prime`, `forge recap` for humans and agents.
276
+ - **Safe, isolated work** — `forge worktree create <slug>`, squash-merge-aware
277
+ `forge clean`.
278
+ - **Configurable quality gates** — `forge validate`, `forge push` (branch
279
+ protection + lint + tests), tuned per project via `forge gate` and
280
+ `forge init`.
281
+ - **Native agent enforcement** — TDD + protected-path hooks rendered for all
282
+ four agents; project-local and automatic where the agent allows it, one
283
+ consent-guarded command where it doesn't.
284
+ - **Ship & recover** — `forge ship`, `forge review`, `forge shepherd` (bounded PR
285
+ monitor), `forge merge` (opt-in conditional auto-merge, off by default),
286
+ `forge upgrade` (safe self-heal).
287
+ - **Coming from Beads?** `forge migrate --from beads` imports your existing issue
288
+ store into the Kernel in one command (`--dry-run` to preview first); the first
289
+ kernel use also auto-imports a detected store, so nothing is lost.
290
+
291
+ ## Common commands
243
292
 
244
- ### 7. Automated Quality Gates 🆕
245
- Multi-layer quality enforcement before merge:
246
-
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
293
  ```bash
253
- # Branch protection requires Greptile review to pass
254
- # Typically completes in 1-2 minutes
294
+ forge --help
295
+ forge status # where am I, what's next
296
+ forge ready # available work
297
+ forge show <issue-id>
298
+ forge claim <issue-id>
299
+ forge remember "<note>" # write project memory
300
+ forge recall <query> # read it back
301
+ forge worktree create <slug>
302
+ forge board --json
303
+ forge validate
304
+ forge gate disable <gate-id> # every rail and gate is yours to toggle
255
305
  ```
256
306
 
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
261
-
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
307
+ Stage commands such as `/plan`, `/dev`, `/review`, and `/verify` are agent
308
+ workflow stages installed by `forge setup`. Pre-merge is a documentation-and-
309
+ handoff gate embedded in `/ship` and `/review`, not a separate stage.
266
310
 
267
- [Greptile setup guide](docs/GREPTILE_SETUP.md)
311
+ ## Documentation map
268
312
 
269
- ---
313
+ - [Roadmap](ROADMAP.md) — what's shipping next, by theme
314
+ - [Docs index](docs/INDEX.md) — canonical reading order
315
+ - [Migration guide](docs/guides/MIGRATION.md) — moving to the Kernel and current workflow framing
316
+ - [Workflow templates & customization](docs/guides/WORKFLOW_TEMPLATES.md) — the default workflow and how to change it
317
+ - [Skills and command projections](docs/reference/SKILLS.md)
318
+ - [Agent capability matrix](docs/reference/AGENT_SKILL_PARITY.md) — honest per-agent delivery status
319
+ - [Memory backends](docs/guides/memory-backends.md) — local default and the opt-in graph backend
320
+ - [Adapters](docs/reference/ADAPTERS.md) — review adapter contract
321
+ - [Protected state surfaces](docs/reference/protected-state-surfaces.md)
322
+ - [Release reference](docs/reference/RELEASE.md)
270
323
 
271
- ## The Toolchain
324
+ ## Terms
272
325
 
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
- ```
326
+ - **Control plane** local commands, files, and checks that give agents a shared operating surface.
327
+ - **Kernel** — the default local issue-state store, backing `forge` issue commands.
328
+ - **Workflow template** — the default stage path Forge installs (`/plan → /dev → /validate → /ship → /review`, with `/verify` in the profiles that need it), fully configurable.
329
+ - **Harness** — an agent-specific instruction surface. Forge supports Claude Code, Codex, Cursor, and Hermes.
330
+ - **Rail** — a default-on behavior policy (like kernel tracking) rendered into every agent's rules and toggleable with `forge gate`.
331
+ - **Memory** — durable, searchable project notes written with `forge remember` and read with `forge recall`.
332
+ - **Adapter** — an integration boundary for review or issue tools.
333
+ - **Protected state** — files that should be changed through their owning command or API, not by casual edits.
308
334
 
309
- [Complete toolchain guide](docs/TOOLCHAIN.md)
335
+ ## Package
310
336
 
311
- ---
337
+ Package name: `forge-workflow`
312
338
 
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
- ---
339
+ Binary names: `forge`, `forge-workflow`, `forge-preflight`
420
340
 
421
341
  ## License
422
342
 
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! 🚀
343
+ MIT