forge-workflow 0.0.10 → 0.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/.claude/rules/{greptile-review-process.md → review-process.md} +56 -41
  2. package/.claude/scripts/{greptile-resolve.sh → review-resolve.sh} +13 -3
  3. package/.cursor/rules/permissions-guidance.mdc +2 -2
  4. package/.forge/hooks/check-tdd.js +3 -0
  5. package/.forge/hooks/forge-native-hook.js +245 -0
  6. package/.forge/protected-paths.yaml +157 -0
  7. package/AGENTS.md +150 -61
  8. package/CHANGELOG.md +681 -0
  9. package/CLAUDE.md +9 -118
  10. package/QUICKSTART.md +171 -0
  11. package/README.md +271 -363
  12. package/bin/forge-cmd.js +120 -9
  13. package/bin/forge-preflight.js +26 -5
  14. package/bin/forge.js +461 -489
  15. package/docs/INDEX.md +93 -0
  16. package/docs/PROJECT_DESIGN.md +685 -0
  17. package/docs/architecture/index.md +66 -0
  18. package/docs/architecture/notes/README.md +35 -0
  19. package/docs/architecture/subsystems/README.md +46 -0
  20. package/docs/forge/TOOLCHAIN.md +670 -0
  21. package/docs/forge/VALIDATION.md +82 -0
  22. package/docs/{AGENT_INSTALL_PROMPT.md → guides/AGENT_INSTALL_PROMPT.md} +3 -3
  23. package/docs/guides/BEADS_GITHUB_SYNC.md +32 -0
  24. package/docs/{ENHANCED_ONBOARDING.md → guides/ENHANCED_ONBOARDING.md} +16 -12
  25. package/docs/guides/GREPTILE_SETUP.md +46 -0
  26. package/docs/guides/MANUAL_REVIEW_GUIDE.md +58 -0
  27. package/docs/guides/MIGRATION.md +56 -0
  28. package/docs/guides/SETUP.md +118 -0
  29. package/docs/guides/SUPPORT.md +185 -0
  30. package/docs/guides/WORKFLOW_TEMPLATES.md +74 -0
  31. package/docs/guides/memory-backends.md +183 -0
  32. package/docs/reference/ADAPTERS.md +128 -0
  33. package/docs/reference/AGENT_SKILL_PARITY.md +175 -0
  34. package/docs/reference/COMMANDS.md +205 -0
  35. package/docs/reference/DECISION_DRIFT_GUARDS.md +97 -0
  36. package/docs/{EXAMPLES.md → reference/EXAMPLES.md} +7 -5
  37. package/docs/reference/FORGE_KERNEL_STORAGE_MODEL.md +135 -0
  38. package/docs/reference/HERMES_INTEGRATION.md +118 -0
  39. package/docs/reference/INSIGHTS_RECAP.md +63 -0
  40. package/docs/reference/INSTALL.md +164 -0
  41. package/docs/reference/KERNEL_TAXONOMY_VALIDATION.md +161 -0
  42. package/docs/reference/PROTECTED_PATH_MANIFEST.md +25 -0
  43. package/docs/reference/RELEASE.md +68 -0
  44. package/docs/reference/RESEARCH_TEMPLATE.md +292 -0
  45. package/docs/{ROADMAP.md → reference/ROADMAP.md} +12 -9
  46. package/docs/reference/SKILLS.md +35 -0
  47. package/docs/reference/STATUS_BOARD.md +80 -0
  48. package/docs/reference/TEMPLATES.md +106 -0
  49. package/docs/{TOOLCHAIN.md → reference/TOOLCHAIN.md} +62 -47
  50. package/docs/reference/VALIDATION.md +82 -0
  51. package/docs/reference/agent-permissions.md +169 -0
  52. package/docs/reference/beads-to-kernel-migration-ux.md +61 -0
  53. package/docs/reference/control-plane-guarantees.md +125 -0
  54. package/docs/reference/dependency-chain.md +331 -0
  55. package/docs/reference/forge-kernel-issue-command-contract.md +161 -0
  56. package/docs/reference/forge-kernel-schema.md +72 -0
  57. package/docs/reference/kernel-conflict-evaluators.md +27 -0
  58. package/docs/reference/patch-md-format.md +77 -0
  59. package/docs/reference/protected-state-surfaces.md +59 -0
  60. package/docs/reference/shepherd.md +115 -0
  61. package/docs/reference/superpowers-analysis.md +320 -0
  62. package/docs/reference/superpowers-integration-options.md +404 -0
  63. package/docs/reference/test-environment.md +519 -0
  64. package/docs/reference/upgrade-safety.md +59 -0
  65. package/lefthook.yml +18 -0
  66. package/lib/adapter-cli.js +307 -0
  67. package/lib/adapters/beads-issue-adapter.js +127 -0
  68. package/lib/adapters/beads-kernel-compat.js +1042 -0
  69. package/lib/adapters/greptile-review-adapter.js +141 -0
  70. package/lib/adapters/kernel-issue-adapter.js +101 -0
  71. package/lib/adapters/pr-state-adapter.js +484 -0
  72. package/lib/adoption-profiles.js +126 -0
  73. package/lib/agents/README.md +2 -6
  74. package/lib/agents/claude.plugin.json +3 -8
  75. package/lib/agents/codex.plugin.json +9 -1
  76. package/lib/agents/cursor.plugin.json +2 -6
  77. package/lib/agents/hermes.plugin.json +22 -0
  78. package/lib/agents-config.js +39 -1236
  79. package/lib/audit-evidence.js +282 -0
  80. package/lib/beads-setup.js +121 -0
  81. package/lib/beads-sync-scaffold.js +25 -101
  82. package/lib/codex-skills.js +51 -1
  83. package/lib/commands/_issue.js +741 -77
  84. package/lib/commands/_manifest.js +91 -0
  85. package/lib/commands/_registry.js +85 -34
  86. package/lib/commands/_resolve-command-opts.js +261 -0
  87. package/lib/commands/_serve-security.js +270 -0
  88. package/lib/commands/adapter.js +12 -0
  89. package/lib/commands/add.js +118 -0
  90. package/lib/commands/audit.js +70 -0
  91. package/lib/commands/blocked.js +5 -0
  92. package/lib/commands/board.js +64 -0
  93. package/lib/commands/claim.js +21 -2
  94. package/lib/commands/claims.js +7 -0
  95. package/lib/commands/clean.js +485 -75
  96. package/lib/commands/close.js +2 -2
  97. package/lib/commands/comment.js +5 -0
  98. package/lib/commands/control.js +148 -0
  99. package/lib/commands/create.js +2 -2
  100. package/lib/commands/dev.js +185 -7
  101. package/lib/commands/doc-gate.js +336 -0
  102. package/lib/commands/doctor.js +156 -0
  103. package/lib/commands/explain.js +15 -0
  104. package/lib/commands/export.js +237 -0
  105. package/lib/commands/gate.js +192 -0
  106. package/lib/commands/hooks.js +242 -0
  107. package/lib/commands/inbox.js +118 -0
  108. package/lib/commands/init.js +598 -0
  109. package/lib/commands/insights.js +79 -0
  110. package/lib/commands/issue.js +12 -1
  111. package/lib/commands/issues.js +17 -0
  112. package/lib/commands/lint.js +5 -0
  113. package/lib/commands/list.js +2 -2
  114. package/lib/commands/merge.js +312 -0
  115. package/lib/commands/migrate.js +523 -0
  116. package/lib/commands/new.js +12 -0
  117. package/lib/commands/options.js +241 -0
  118. package/lib/commands/orient.js +13 -0
  119. package/lib/commands/orphans.js +5 -0
  120. package/lib/commands/patch.js +67 -0
  121. package/lib/commands/plan.js +436 -24
  122. package/lib/commands/preflight.js +211 -0
  123. package/lib/commands/prime.js +13 -0
  124. package/lib/commands/push.js +69 -2
  125. package/lib/commands/ready.js +2 -2
  126. package/lib/commands/recall.js +116 -0
  127. package/lib/commands/recap.js +61 -0
  128. package/lib/commands/recommend.js +0 -1
  129. package/lib/commands/release.js +91 -0
  130. package/lib/commands/remember.js +74 -0
  131. package/lib/commands/role.js +99 -0
  132. package/lib/commands/serve.js +581 -0
  133. package/lib/commands/setup.js +838 -972
  134. package/lib/commands/shepherd.js +436 -0
  135. package/lib/commands/ship.js +23 -1
  136. package/lib/commands/show.js +2 -2
  137. package/lib/commands/stage.js +192 -0
  138. package/lib/commands/stale.js +5 -0
  139. package/lib/commands/status.js +158 -21
  140. package/lib/commands/sync.js +34 -46
  141. package/lib/commands/team.js +4 -1
  142. package/lib/commands/test.js +43 -27
  143. package/lib/commands/update.js +2 -2
  144. package/lib/commands/upgrade.js +47 -0
  145. package/lib/commands/validate.js +43 -18
  146. package/lib/commands/worktree.js +307 -100
  147. package/lib/config-writer.js +202 -0
  148. package/lib/control-plane.js +236 -0
  149. package/lib/core/runtime-graph.js +946 -0
  150. package/lib/dep-guard/keyword-ripple.js +2 -2
  151. package/lib/deprecated-sync-cleanup.js +362 -0
  152. package/lib/detect-agent.js +2 -28
  153. package/lib/detect-worktree.js +35 -9
  154. package/lib/doc-gate/declaration.js +177 -0
  155. package/lib/doc-gate/detect.js +289 -0
  156. package/lib/doc-gate/gate.js +375 -0
  157. package/lib/doc-gate/okf-config.js +128 -0
  158. package/lib/doc-gate/okf.js +429 -0
  159. package/lib/docs-command.js +1161 -6
  160. package/lib/forge-issues.js +382 -11
  161. package/lib/forge-lock.js +262 -0
  162. package/lib/gate-events.js +193 -0
  163. package/lib/global-flags.js +74 -0
  164. package/lib/greptile-match.js +7 -63
  165. package/lib/harness-capability-matrix.js +380 -0
  166. package/lib/hook-global-installer.js +347 -0
  167. package/lib/hook-renderer.js +451 -0
  168. package/lib/inbox.js +391 -0
  169. package/lib/insights.js +397 -0
  170. package/lib/issue-adapter.js +156 -0
  171. package/lib/issue-backend.js +145 -0
  172. package/lib/issue-render.js +220 -0
  173. package/lib/kernel/backing-issue.js +305 -0
  174. package/lib/kernel/broker.js +1218 -0
  175. package/lib/kernel/cli-broker-factory.js +130 -0
  176. package/lib/kernel/conflict-signal.js +82 -0
  177. package/lib/kernel/evaluators.js +195 -0
  178. package/lib/kernel/fs-class.js +495 -0
  179. package/lib/kernel/issue-command-contract.js +559 -0
  180. package/lib/kernel/issue-id-resolver.js +186 -0
  181. package/lib/kernel/lease-enforcer.js +158 -0
  182. package/lib/kernel/migrations.js +333 -0
  183. package/lib/kernel/planning-buckets-schema.js +109 -0
  184. package/lib/kernel/projection-jsonl-writer.js +450 -0
  185. package/lib/kernel/readiness-model.js +329 -0
  186. package/lib/kernel/schema.js +356 -0
  187. package/lib/kernel/sqlite-driver.js +2504 -0
  188. package/lib/kernel/taxonomy-validator.js +394 -0
  189. package/lib/lefthook-check.js +3 -2
  190. package/lib/lefthook-wiring.js +413 -0
  191. package/lib/mcp-config-renderer.js +288 -0
  192. package/lib/memory/graphiti-mcp.js +106 -0
  193. package/lib/memory/router.js +387 -0
  194. package/lib/memory/typed-api.js +102 -0
  195. package/lib/memory-digest.js +195 -0
  196. package/lib/merge-rules.js +395 -0
  197. package/lib/migrate-dry-run.js +466 -0
  198. package/lib/orientation.js +863 -0
  199. package/lib/package-manager-remediation.js +103 -0
  200. package/lib/package-root.js +381 -0
  201. package/lib/patch-intent.js +890 -0
  202. package/lib/plugin-catalog.js +3 -4
  203. package/lib/plugin-manager.js +0 -5
  204. package/lib/pr-bundle.js +186 -0
  205. package/lib/pr-monitor/differ.js +195 -0
  206. package/lib/pr-monitor/events.js +0 -0
  207. package/lib/pr-monitor/gather.js +124 -0
  208. package/lib/pr-monitor/journal.js +299 -0
  209. package/lib/pr-monitor/monitor.js +146 -0
  210. package/lib/pr-monitor/render-sticky.js +157 -0
  211. package/lib/pr-monitor/watch-lifecycle.js +95 -0
  212. package/lib/pr-monitor/watch.js +247 -0
  213. package/lib/pr-pull.js +1273 -0
  214. package/lib/pr-shepherd.js +494 -0
  215. package/lib/pr-state-validator.js +59 -0
  216. package/lib/preflight/gates.js +237 -0
  217. package/lib/preflight/runner.js +116 -0
  218. package/lib/project-discovery.js +0 -53
  219. package/lib/project-memory.js +99 -497
  220. package/lib/protected-path-manifest.js +281 -0
  221. package/lib/protected-state-surfaces.js +387 -0
  222. package/lib/release-readiness.js +2089 -0
  223. package/lib/reset.js +59 -45
  224. package/lib/review-adapter.js +68 -0
  225. package/lib/rules-sync.js +260 -0
  226. package/lib/runtime-health.js +241 -20
  227. package/lib/safety-config-renderer.js +268 -0
  228. package/lib/setup-action-log.js +1 -7
  229. package/lib/setup.js +27 -65
  230. package/lib/shell-utils.js +76 -6
  231. package/lib/skills-sync.js +330 -0
  232. package/lib/smart-status/scoring.js +17 -3
  233. package/lib/status/beads-snapshot.js +45 -2
  234. package/lib/status/presenter.js +169 -18
  235. package/lib/status/snapshot.js +186 -0
  236. package/lib/sync-backend.js +202 -0
  237. package/lib/untrusted-content.js +52 -0
  238. package/lib/upgrade-safety.js +199 -0
  239. package/lib/workflow/enforce-stage.js +296 -47
  240. package/lib/workflow/stage-transition.js +115 -0
  241. package/lib/workflow/stages.js +30 -6
  242. package/lib/workflow/state-manager.js +11 -22
  243. package/lib/workflow/state.js +23 -1
  244. package/lib/workflow-profiles.js +17 -5
  245. package/package.json +37 -35
  246. package/rules/documentation.md +19 -0
  247. package/rules/kernel-tracking.md +26 -0
  248. package/rules/security.md +22 -0
  249. package/rules/tdd.md +20 -0
  250. package/rules/workflow.md +27 -0
  251. package/scripts/auto-backing-issue.js +47 -0
  252. package/scripts/beads-context.sh +81 -57
  253. package/scripts/beads-upgrade-smoke.sh +24 -3
  254. package/scripts/bootstrap-windows-tools.sh +78 -0
  255. package/scripts/branch-protection.js +2 -3
  256. package/scripts/check-agents.js +34 -137
  257. package/scripts/commitlint.js +3 -1
  258. package/scripts/conflict-detect.sh +3 -0
  259. package/scripts/dep-guard.sh +22 -3
  260. package/scripts/file-index.sh +3 -0
  261. package/scripts/forge-team/lib/claim.sh +34 -18
  262. package/scripts/forge-team/lib/dashboard.sh +61 -86
  263. package/scripts/forge-team/lib/epic.sh +99 -263
  264. package/scripts/forge-team/lib/hooks.sh +26 -28
  265. package/scripts/forge-team/lib/identity.sh +4 -4
  266. package/scripts/forge-team/lib/sync-github.sh +49 -84
  267. package/scripts/forge-team/lib/verify.sh +93 -83
  268. package/scripts/forge-team/lib/workload.sh +41 -65
  269. package/scripts/forge-team/tests/claim.test.sh +25 -19
  270. package/scripts/forge-team/tests/dashboard.test.sh +31 -46
  271. package/scripts/forge-team/tests/epic.test.sh +52 -71
  272. package/scripts/forge-team/tests/hooks.test.sh +38 -50
  273. package/scripts/forge-team/tests/identity.test.sh +3 -3
  274. package/scripts/forge-team/tests/integration.test.sh +44 -66
  275. package/scripts/forge-team/tests/sync-github.test.sh +50 -83
  276. package/scripts/forge-team/tests/verify.test.sh +37 -46
  277. package/scripts/forge-team/tests/workflow-integration.test.sh +4 -4
  278. package/scripts/forge-team/tests/workload.test.sh +32 -66
  279. package/scripts/gen-command-manifest.js +153 -0
  280. package/scripts/gen-embedded-assets.mjs +129 -0
  281. package/scripts/install.ps1 +139 -0
  282. package/scripts/install.sh +268 -0
  283. package/scripts/lib/release-asset.mjs +84 -0
  284. package/scripts/parity-check.mjs +145 -0
  285. package/scripts/parity-check.test.mjs +58 -0
  286. package/scripts/pin-agentic-workflow-images.js +112 -0
  287. package/scripts/pr-coordinator.sh +3 -0
  288. package/scripts/preflight-sonar.eslint.config.mjs +44 -0
  289. package/scripts/preflight.sh +21 -94
  290. package/scripts/protected-state-check.js +104 -0
  291. package/scripts/smart-status.sh +60 -57
  292. package/scripts/spikes/config-race-bench.js +111 -0
  293. package/scripts/spikes/harness-capability-matrix.js +13 -0
  294. package/scripts/spikes/patch-anchor-stability-bench.js +125 -0
  295. package/scripts/spikes/protected-path-manifest.js +20 -0
  296. package/scripts/spikes/skill-auto-invoke-parity.js +292 -0
  297. package/scripts/sync-agent-skills.js +62 -0
  298. package/scripts/sync-utils.sh +3 -0
  299. package/scripts/test-ci-shard.js +13 -6
  300. package/scripts/test.js +95 -12
  301. package/skills/claim-safety/SKILL.md +102 -0
  302. package/skills/claim-safety/evals/evals.json +46 -0
  303. package/{.github/prompts/dev.prompt.md → skills/dev/SKILL.md} +44 -50
  304. package/skills/dev/evals/evals.json +50 -0
  305. package/skills/hermes-forge/SKILL.md +185 -0
  306. package/skills/hermes-forge/evals/evals.json +46 -0
  307. package/skills/issue-basics/SKILL.md +111 -0
  308. package/skills/issue-basics/evals/evals.json +46 -0
  309. package/skills/kernel/SKILL.md +166 -0
  310. package/skills/kernel/evals/evals.json +50 -0
  311. package/skills/memory/SKILL.md +102 -0
  312. package/skills/parallel-deep-research/SKILL.md +14 -11
  313. package/skills/parallel-deep-research/evals/evals.json +11 -27
  314. package/{.github/prompts/plan.prompt.md → skills/plan/SKILL.md} +132 -157
  315. package/skills/plan/evals/evals.json +42 -0
  316. package/skills/research/SKILL.md +195 -0
  317. package/skills/research/evals/evals.json +42 -0
  318. package/{.github/prompts/review.prompt.md → skills/review/SKILL.md} +98 -62
  319. package/skills/review/evals/evals.json +42 -0
  320. package/skills/rollback/SKILL.md +110 -0
  321. package/skills/rollback/evals/evals.json +46 -0
  322. package/skills/rollback/references/methods.md +204 -0
  323. package/{.cursor/commands/rollback.md → skills/rollback/references/workflow-integration.md} +10 -284
  324. package/skills/shepherd/SKILL.md +66 -0
  325. package/skills/shepherd/evals/evals.json +42 -0
  326. package/{.github/prompts/ship.prompt.md → skills/ship/SKILL.md} +81 -45
  327. package/skills/ship/evals/evals.json +42 -0
  328. package/skills/smith/SKILL.md +142 -0
  329. package/skills/smith/evals/evals.json +46 -0
  330. package/skills/smith/references/autonomy-and-gates.md +94 -0
  331. package/{.github/prompts/sonarcloud.prompt.md → skills/sonarcloud/SKILL.md} +14 -3
  332. package/skills/sonarcloud/evals/evals.json +46 -0
  333. package/skills/sonarcloud-analysis/SKILL.md +18 -13
  334. package/skills/sonarcloud-analysis/evals/evals.json +11 -15
  335. package/{.github/prompts/status.prompt.md → skills/status/SKILL.md} +20 -10
  336. package/skills/status/evals/evals.json +50 -0
  337. package/skills/triage-ready/SKILL.md +121 -0
  338. package/skills/triage-ready/evals/evals.json +42 -0
  339. package/{.github/prompts/validate.prompt.md → skills/validate/SKILL.md} +52 -29
  340. package/skills/validate/evals/evals.json +42 -0
  341. package/skills/verify/SKILL.md +299 -0
  342. package/skills/verify/evals/evals.json +50 -0
  343. package/.claude/commands/dev.md +0 -345
  344. package/.claude/commands/plan.md +0 -566
  345. package/.claude/commands/premerge.md +0 -186
  346. package/.claude/commands/research.md +0 -42
  347. package/.claude/commands/review.md +0 -451
  348. package/.claude/commands/rollback.md +0 -721
  349. package/.claude/commands/ship.md +0 -213
  350. package/.claude/commands/sonarcloud.md +0 -152
  351. package/.claude/commands/status.md +0 -90
  352. package/.claude/commands/validate.md +0 -288
  353. package/.claude/commands/verify.md +0 -269
  354. package/.claude/rules/workflow.md +0 -121
  355. package/.cline/workflows/dev.md +0 -342
  356. package/.cline/workflows/plan.md +0 -563
  357. package/.cline/workflows/premerge.md +0 -183
  358. package/.cline/workflows/research.md +0 -39
  359. package/.cline/workflows/review.md +0 -448
  360. package/.cline/workflows/rollback.md +0 -718
  361. package/.cline/workflows/ship.md +0 -210
  362. package/.cline/workflows/sonarcloud.md +0 -146
  363. package/.cline/workflows/status.md +0 -87
  364. package/.cline/workflows/validate.md +0 -285
  365. package/.cline/workflows/verify.md +0 -266
  366. package/.codex/config.toml +0 -11
  367. package/.codex/skills/dev/SKILL.md +0 -345
  368. package/.codex/skills/plan/SKILL.md +0 -566
  369. package/.codex/skills/premerge/SKILL.md +0 -186
  370. package/.codex/skills/research/SKILL.md +0 -42
  371. package/.codex/skills/review/SKILL.md +0 -451
  372. package/.codex/skills/rollback/SKILL.md +0 -721
  373. package/.codex/skills/ship/SKILL.md +0 -213
  374. package/.codex/skills/sonarcloud/SKILL.md +0 -149
  375. package/.codex/skills/status/SKILL.md +0 -90
  376. package/.codex/skills/validate/SKILL.md +0 -288
  377. package/.codex/skills/verify/SKILL.md +0 -269
  378. package/.cursor/commands/dev.md +0 -342
  379. package/.cursor/commands/plan.md +0 -563
  380. package/.cursor/commands/premerge.md +0 -183
  381. package/.cursor/commands/research.md +0 -39
  382. package/.cursor/commands/review.md +0 -448
  383. package/.cursor/commands/ship.md +0 -210
  384. package/.cursor/commands/sonarcloud.md +0 -146
  385. package/.cursor/commands/status.md +0 -87
  386. package/.cursor/commands/validate.md +0 -285
  387. package/.cursor/commands/verify.md +0 -266
  388. package/.cursorrules +0 -149
  389. package/.github/prompts/premerge.prompt.md +0 -188
  390. package/.github/prompts/research.prompt.md +0 -44
  391. package/.github/prompts/rollback.prompt.md +0 -723
  392. package/.github/prompts/verify.prompt.md +0 -271
  393. package/.github/workflows/beads-to-github.yml +0 -89
  394. package/.github/workflows/github-to-beads.yml +0 -100
  395. package/.kilocode/workflows/dev.md +0 -346
  396. package/.kilocode/workflows/plan.md +0 -567
  397. package/.kilocode/workflows/premerge.md +0 -187
  398. package/.kilocode/workflows/research.md +0 -43
  399. package/.kilocode/workflows/review.md +0 -452
  400. package/.kilocode/workflows/rollback.md +0 -722
  401. package/.kilocode/workflows/ship.md +0 -214
  402. package/.kilocode/workflows/sonarcloud.md +0 -150
  403. package/.kilocode/workflows/status.md +0 -91
  404. package/.kilocode/workflows/validate.md +0 -289
  405. package/.kilocode/workflows/verify.md +0 -270
  406. package/.opencode/commands/dev.md +0 -345
  407. package/.opencode/commands/plan.md +0 -566
  408. package/.opencode/commands/premerge.md +0 -186
  409. package/.opencode/commands/research.md +0 -42
  410. package/.opencode/commands/review.md +0 -451
  411. package/.opencode/commands/rollback.md +0 -721
  412. package/.opencode/commands/ship.md +0 -213
  413. package/.opencode/commands/sonarcloud.md +0 -149
  414. package/.opencode/commands/status.md +0 -90
  415. package/.opencode/commands/validate.md +0 -288
  416. package/.opencode/commands/verify.md +0 -269
  417. package/.roo/commands/dev.md +0 -346
  418. package/.roo/commands/plan.md +0 -567
  419. package/.roo/commands/premerge.md +0 -187
  420. package/.roo/commands/research.md +0 -43
  421. package/.roo/commands/review.md +0 -452
  422. package/.roo/commands/rollback.md +0 -722
  423. package/.roo/commands/ship.md +0 -214
  424. package/.roo/commands/sonarcloud.md +0 -150
  425. package/.roo/commands/status.md +0 -91
  426. package/.roo/commands/validate.md +0 -289
  427. package/.roo/commands/verify.md +0 -270
  428. package/docs/BEADS_GITHUB_SYNC.md +0 -281
  429. package/docs/GREPTILE_SETUP.md +0 -400
  430. package/docs/MANUAL_REVIEW_GUIDE.md +0 -106
  431. package/docs/SETUP.md +0 -663
  432. package/docs/VALIDATION.md +0 -363
  433. package/lib/agents/cline.plugin.json +0 -29
  434. package/lib/agents/copilot.plugin.json +0 -24
  435. package/lib/agents/kilocode.plugin.json +0 -22
  436. package/lib/agents/opencode.plugin.json +0 -23
  437. package/lib/agents/roo.plugin.json +0 -30
  438. package/lib/beads-bootstrap.js +0 -225
  439. package/lib/beads-health-check.js +0 -188
  440. package/lib/commands/commands-reset.js +0 -147
  441. package/opencode.json +0 -67
  442. package/scripts/beads-context.test.js +0 -584
  443. package/scripts/github-beads-sync/comment.mjs +0 -64
  444. package/scripts/github-beads-sync/config.mjs +0 -148
  445. package/scripts/github-beads-sync/github-api.mjs +0 -131
  446. package/scripts/github-beads-sync/index.mjs +0 -356
  447. package/scripts/github-beads-sync/label-mapper.mjs +0 -54
  448. package/scripts/github-beads-sync/mapping.mjs +0 -132
  449. package/scripts/github-beads-sync/reverse-sync-cli.mjs +0 -31
  450. package/scripts/github-beads-sync/reverse-sync.mjs +0 -162
  451. package/scripts/github-beads-sync/run-bd.mjs +0 -161
  452. package/scripts/github-beads-sync/sanitize.mjs +0 -121
  453. package/scripts/github-beads-sync.config.json +0 -26
  454. package/scripts/sync-commands.js +0 -600
@@ -0,0 +1,292 @@
1
+ # Research: [Feature Name]
2
+
3
+ **Date**: YYYY-MM-DD
4
+ **Researcher**: Claude AI
5
+
6
+ ## Objective
7
+ [What we're trying to achieve - clear problem statement and goals]
8
+
9
+ ## Codebase Analysis
10
+
11
+ ### Existing Patterns
12
+ - **File**: `path/to/file.ts`
13
+ - **Pattern**: [Description of existing implementation]
14
+ - **Reusability**: [Yes/No + reasoning]
15
+ - **Lessons learned**: [What worked, what didn't]
16
+
17
+ ### Affected Modules
18
+ - **Module**: [name]
19
+ - **Changes needed**: [Description]
20
+ - **Impact**: [Low/Medium/High]
21
+ - **Dependencies**: [List any dependencies]
22
+
23
+ ### Test Infrastructure
24
+ - **Existing tests**: `path/to/tests/`
25
+ - **Test utilities**: [Available testing tools/helpers]
26
+ - **Coverage**: [Current state - percentage, gaps]
27
+ - **Test patterns**: [What patterns are used - unit, integration, E2E]
28
+
29
+ ## Web Research
30
+
31
+ ### Best Practices (parallel-web-search)
32
+ 1. **Source**: [URL]
33
+ - **Key insight**: [Summary of best practice]
34
+ - **Applicability**: [How it applies to our project]
35
+ - **Decision impact**: [What decision this influences]
36
+ - **Implementation notes**: [How to apply]
37
+
38
+ 2. **Source**: [URL]
39
+ - [...]
40
+
41
+ ### Known Issues (parallel-web-search)
42
+ 1. **Issue**: [Description]
43
+ - **Source**: [GitHub/SO/Blog URL]
44
+ - **Mitigation**: [How to avoid]
45
+ - **Decision impact**: [Changes to approach]
46
+ - **Frequency**: [How common is this issue]
47
+
48
+ 2. **Issue**: [...]
49
+
50
+ ### Library Documentation (Context7)
51
+ 1. **Library**: [name and version]
52
+ - **API**: [Relevant methods/patterns]
53
+ - **Compatibility**: [Version requirements, breaking changes]
54
+ - **Decision impact**: [Implementation details]
55
+ - **Example usage**: [Code snippet]
56
+
57
+ 2. **Library**: [...]
58
+
59
+ ### Case Studies
60
+ 1. **Source**: [URL]
61
+ - **Company/Project**: [Who implemented this]
62
+ - **Scale**: [Production scale, users, data volume]
63
+ - **Lessons**: [What they learned]
64
+ - **Applicability**: [How it relates to our use case]
65
+
66
+ 2. **Source**: [...]
67
+
68
+ ## Key Decisions & Reasoning
69
+
70
+ ### Decision 1: [Decision Title]
71
+ - **Decision**: [What we decided]
72
+ - **Reasoning**: [Why we chose this approach]
73
+ - **Evidence**: [Research that supports this - links to sources]
74
+ - **Alternatives considered**:
75
+ 1. [Alternative 1]: [Why rejected]
76
+ 2. [Alternative 2]: [Why rejected]
77
+ - **Trade-offs**: [What we're giving up, what we're gaining]
78
+ - **Risk**: [Low/Medium/High] - [Risk description]
79
+
80
+ ### Decision 2: [Decision Title]
81
+ - [...]
82
+
83
+ ## TDD Test Scenarios (Identified Upfront)
84
+
85
+ ### Unit Tests
86
+ 1. **Test**: [Scenario description]
87
+ - **File**: `test/path/test.ts`
88
+ - **Function under test**: `functionName()`
89
+ - **Assertions**: [What to verify]
90
+ - **Test data**: [Required test data/mocks]
91
+ - **Edge cases**: [List edge cases to cover]
92
+
93
+ 2. **Test**: [...]
94
+
95
+ ### Integration Tests
96
+ 1. **Test**: [Scenario description]
97
+ - **File**: `test/integration/test.ts`
98
+ - **Components**: [What components are being tested together]
99
+ - **Assertions**: [What to verify]
100
+ - **Test data**: [Database fixtures, API mocks]
101
+
102
+ 2. **Test**: [...]
103
+
104
+ ### E2E Tests
105
+ 1. **Test**: [User flow scenario]
106
+ - **File**: `test/e2e/test.ts`
107
+ - **User flow**: [Step-by-step user actions]
108
+ - **Assertions**: [What user should see/experience]
109
+ - **Test data**: [Complete test environment setup]
110
+
111
+ 2. **Test**: [...]
112
+
113
+ ## Security Analysis (OWASP Top 10 + Feature-Specific)
114
+
115
+ ### OWASP Top 10 Applicability
116
+
117
+ #### A01: Broken Access Control
118
+ - **Risk**: [High/Medium/Low]
119
+ - **Applicable**: [Yes/No]
120
+ - **Mitigation**: [How addressed - RLS policies, permission checks]
121
+ - **Tests**: [Security test scenarios]
122
+ - **Evidence**: [Links to security research]
123
+
124
+ #### A02: Cryptographic Failures
125
+ - **Risk**: [High/Medium/Low]
126
+ - **Applicable**: [Yes/No]
127
+ - **Mitigation**: [Encryption at rest/transit, key management]
128
+ - **Tests**: [Encryption tests]
129
+ - **Compliance**: [Data protection requirements]
130
+
131
+ #### A03: Injection
132
+ - **Risk**: [High/Medium/Low]
133
+ - **Applicable**: [Yes/No]
134
+ - **Mitigation**: [Parameterized queries, input validation, sanitization]
135
+ - **Tests**: [SQL injection tests, XSS tests, command injection tests]
136
+ - **Libraries**: [What libraries help prevent injection]
137
+
138
+ #### A04: Insecure Design
139
+ - **Risk**: [High/Medium/Low]
140
+ - **Threat model**: [Key threats identified]
141
+ - **Secure design patterns**: [Patterns used - zero trust, defense in depth]
142
+ - **Architecture review**: [Security considerations in design]
143
+ - **Tests**: [Security design validation]
144
+
145
+ #### A05: Security Misconfiguration
146
+ - **Risk**: [High/Medium/Low]
147
+ - **Configuration reviewed**: [Yes/No]
148
+ - **Security headers**: [CSP, HSTS, X-Frame-Options, etc.]
149
+ - **Error handling**: [No sensitive info in errors]
150
+ - **Default accounts**: [No default/test credentials]
151
+ - **Tests**: [Configuration security tests]
152
+
153
+ #### A06: Vulnerable Components
154
+ - **Risk**: [High/Medium/Low]
155
+ - **Dependencies scanned**: [Yes/No - tool used]
156
+ - **Known CVEs**: [Count and severity from scan]
157
+ - **Update plan**: [If vulnerabilities found]
158
+ - **Monitoring**: [Dependabot, Snyk, etc.]
159
+ - **Tests**: [Dependency security checks]
160
+
161
+ #### A07: Identification and Authentication Failures
162
+ - **Risk**: [High/Medium/Low]
163
+ - **Auth mechanism**: [OAuth2/JWT/Session/etc.]
164
+ - **Session management**: [Secure/reviewed - timeout, rotation]
165
+ - **Password policy**: [Requirements if applicable]
166
+ - **MFA**: [Required/Optional/Not applicable]
167
+ - **Brute force protection**: [Rate limiting, account lockout]
168
+ - **Tests**: [Authentication tests, session tests]
169
+
170
+ #### A08: Software and Data Integrity Failures
171
+ - **Risk**: [High/Medium/Low]
172
+ - **Integrity checks**: [Where implemented - signatures, checksums]
173
+ - **Code signing**: [Yes/No]
174
+ - **CI/CD security**: [Pipeline reviewed, secrets management]
175
+ - **Supply chain**: [Trusted sources, verification]
176
+ - **Tests**: [Integrity validation tests]
177
+
178
+ #### A09: Security Logging and Monitoring Failures
179
+ - **Risk**: [High/Medium/Low]
180
+ - **Security events logged**: [List what's tracked]
181
+ - **Audit trail**: [What's tracked for compliance]
182
+ - **No sensitive data**: [Verified - no passwords/tokens in logs]
183
+ - **Alerting**: [Security alerts configured]
184
+ - **Log retention**: [Duration and compliance]
185
+ - **Tests**: [Logging tests, no sensitive data tests]
186
+
187
+ #### A10: Server-Side Request Forgery (SSRF)
188
+ - **Risk**: [High/Medium/Low]
189
+ - **External requests**: [Where made in code]
190
+ - **URL validation**: [Whitelist/validation rules]
191
+ - **Network restrictions**: [Firewall rules, VPC]
192
+ - **Input sanitization**: [User-controlled URLs]
193
+ - **Tests**: [SSRF prevention tests]
194
+
195
+ ### Feature-Specific Security Risks
196
+
197
+ 1. **Risk**: [Specific risk for this feature]
198
+ - **Likelihood**: High/Medium/Low
199
+ - **Impact**: High/Medium/Low
200
+ - **Attack vector**: [How this could be exploited]
201
+ - **Mitigation**: [Specific solution]
202
+ - **Evidence**: [Research source showing this risk]
203
+ - **Tests**: [Security test scenarios]
204
+ - **Monitoring**: [How to detect attacks]
205
+
206
+ 2. **Risk**: [Next risk]
207
+ - [...]
208
+
209
+ ### Security Test Scenarios (TDD)
210
+
211
+ 1. **Test**: Unauthorized access attempt should fail
212
+ - **File**: `test/security/access-control.test.ts`
213
+ - **Scenario**: User tries to access another team's data
214
+ - **Expected**: 403 Forbidden, no data leak
215
+
216
+ 2. **Test**: SQL injection attempt should be blocked
217
+ - **File**: `test/security/injection.test.ts`
218
+ - **Scenario**: Malicious input in query parameter
219
+ - **Expected**: Input sanitized, no SQL execution, error logged
220
+
221
+ 3. **Test**: XSS attempt should be sanitized
222
+ - **File**: `test/security/xss.test.ts`
223
+ - **Scenario**: Script tag in user input
224
+ - **Expected**: HTML escaped, no script execution
225
+
226
+ 4. **Test**: [Additional security tests]
227
+ - [...]
228
+
229
+ ## Scope Assessment
230
+
231
+ - **Type**: Tactical / Strategic
232
+ - **Rationale**: [Why this classification]
233
+ - **OpenSpec needed**: Yes / No
234
+
235
+ - **Complexity**: Low / Medium / High
236
+ - **Rationale**: [Number of files, systems involved, dependencies]
237
+ - **Estimated effort**: [Without time, describe scope]
238
+
239
+ - **Parallel opportunity**: Yes / No
240
+ - **Rationale**: [Independent tracks available?]
241
+ - **Tracks**: [If yes, list potential parallel tracks]
242
+
243
+ - **Estimated files**: [Count]
244
+ - **New files**: [List]
245
+ - **Modified files**: [List]
246
+
247
+ - **Dependencies**:
248
+ - **Internal**: [Other features/modules]
249
+ - **External**: [Third-party libraries]
250
+ - **Blockers**: [Any blocking dependencies]
251
+
252
+ - **Security risk level**: Low / Medium / High / Critical
253
+ - **Rationale**: [Based on OWASP analysis]
254
+ - **Mitigation priority**: [When to address]
255
+
256
+ ## Next Steps
257
+
258
+ 1. **If Strategic**: Create OpenSpec proposal
259
+ - `openspec proposal create <feature-slug>`
260
+ - Write proposal.md, tasks.md, plan.md
261
+ - Reference this research doc for evidence
262
+
263
+ 2. **Create Beads issue**:
264
+ - `bd create "<feature-name>"`
265
+ - Link to this research doc
266
+ - Link to OpenSpec if strategic
267
+
268
+ 3. **Create branch**:
269
+ - `git checkout -b feat/<feature-slug>`
270
+
271
+ 4. **Proceed to /plan**:
272
+ - Read this research doc
273
+ - Create formal implementation plan
274
+ - Wait for OpenSpec approval if strategic
275
+
276
+ ## Research Checklist
277
+
278
+ - [ ] Codebase exploration complete
279
+ - [ ] parallel-web-search web research complete (multiple sources)
280
+ - [ ] Context7 library documentation reviewed
281
+ - [ ] Case studies analyzed
282
+ - [ ] All key decisions documented with evidence
283
+ - [ ] TDD test scenarios identified upfront
284
+ - [ ] OWASP Top 10 analysis complete
285
+ - [ ] Feature-specific security risks identified
286
+ - [ ] Security test scenarios defined
287
+ - [ ] Scope assessment complete
288
+ - [ ] Next steps clear
289
+
290
+ ---
291
+
292
+ **Note**: This research document serves as the single source of truth for all architectural and implementation decisions. Reference it throughout the development lifecycle (in OpenSpec proposals, PR descriptions, code reviews, and documentation).
@@ -1,6 +1,9 @@
1
1
  # Forge Enhancement Roadmap
2
2
 
3
- **Comprehensive implementation plan for transforming Forge into a fully automated, orchestrated workflow system.**
3
+ > Historical design artifact. Do not use this page for current package release planning, command availability, or public positioning. Current public release guidance lives in [Release Reference](RELEASE.md), [CHANGELOG](../../CHANGELOG.md), [Workflow templates](../guides/WORKFLOW_TEMPLATES.md), and [Skills and command projections](SKILLS.md).
4
+ > Historical snapshot: this roadmap is preserved for context only. Current public release guidance lives in [Release Reference](RELEASE.md), [CHANGELOG](../../CHANGELOG.md), and the runtime building-block work under `docs/work/2026-04-28-skeleton-pivot/`. References to `v3`, `/research`, or old PR sequences are historical/internal labels, not current package release instructions.
5
+
6
+ **Historical implementation plan for an earlier automation-heavy Forge direction.**
4
7
 
5
8
  **Plan Created**: 2026-02-10
6
9
  **Status**: Phase 2 complete. PRs 0-6 merged, PR7-PR8 pending.
@@ -22,7 +25,7 @@
22
25
 
23
26
  ## Overview
24
27
 
25
- Transform Forge from a documentation-driven workflow into a fully automated, orchestrated workflow system with:
28
+ Historical goal from this snapshot:
26
29
 
27
30
  - ✅ **Enhanced Multi-Agent Support**: Universal AGENTS.md + 8 supported agents (Claude Code, Cursor, Cline, OpenCode, Copilot, Kilo Code, Roo Code, Codex)
28
31
  - ✅ **Comprehensive Testing**: 80%+ code coverage, E2E tests, mutation testing
@@ -175,7 +178,7 @@ PR0 (Simplification) → PR1 (Fixes) → PR2 (Security) → PR3 (Test Infra)
175
178
 
176
179
  ### **PR5: Advanced Testing Expansion** 🔬
177
180
  **Beads Issue**: `forge-01p`
178
- **Research**: [docs/research/advanced-testing.md](docs/research/advanced-testing.md) (PR #36)
181
+ **Research**: historical `docs/research/advanced-testing.md` (PR #36)
179
182
  **Status**: Research complete, ready for `/plan`
180
183
  **Timeline**: 2-3 days
181
184
  **Impact**: Medium
@@ -204,7 +207,7 @@ PR0 (Simplification) → PR1 (Fixes) → PR2 (Security) → PR3 (Test Infra)
204
207
 
205
208
  ### **PR6: Plugin Architecture & Smart Recommendations** 🔌
206
209
  **Beads Issue**: `forge-a7n`
207
- **Research**: [docs/research/plugin-architecture.md](docs/research/plugin-architecture.md) (PR #37)
210
+ **Research**: historical `docs/research/plugin-architecture.md` (PR #37)
208
211
  **Status**: Research complete, ready for `/plan`
209
212
  **Timeline**: 4-5 days
210
213
  **Impact**: High (flagship feature)
@@ -310,7 +313,7 @@ Each PR follows the Forge workflow:
310
313
 
311
314
  - **Master Plan**: `docs/plans/*.md` (global, tracked by Claude Code)
312
315
  - **Roadmap**: `docs/ROADMAP.md` (repository, git-tracked)
313
- - **Beads Tracking**: `.beads/issues.jsonl` (git-tracked)
316
+ - **Beads Tracking**: `.beads/` local runtime state; shared tracking must use sync/server authority or explicit projection/import artifacts.
314
317
 
315
318
  ---
316
319
 
@@ -336,8 +339,8 @@ Each PR is self-contained and can be rolled back independently:
336
339
  1. ✅ **PR4 Completed** — CLI command automation merged (PR #33)
337
340
 
338
341
  2. ✅ **Research complete** for PR5 and PR6:
339
- - PR5 research: [docs/research/advanced-testing.md](docs/research/advanced-testing.md) (PR #36)
340
- - PR6 research: [docs/research/plugin-architecture.md](docs/research/plugin-architecture.md) (PR #37)
342
+ - PR5 research: historical `docs/research/advanced-testing.md` (PR #36)
343
+ - PR6 research: historical `docs/research/plugin-architecture.md` (PR #37)
341
344
  - PR6 scope expanded: smart plugin recommendations, CLI-first, pricing transparency
342
345
  - forge-mlm absorbed into PR5.5 + PR6 + PR8
343
346
 
@@ -349,8 +352,8 @@ Each PR is self-contained and can be rolled back independently:
349
352
 
350
353
  - **Master Plan**: `docs/plans/*.md`
351
354
  - **Beads Issues**: `forge list` or `forge show <issue-id>`
352
- - **Workflow Guide**: [AGENTS.md](../AGENTS.md)
353
- - **Architecture Docs**: Coming in PR0 - [ARCHITECTURE.md](./ARCHITECTURE.md)
355
+ - **Workflow Guide**: [AGENTS.md](../../AGENTS.md)
356
+ - **Architecture Docs**: historical PR0 placeholder, superseded by [Docs Index](../INDEX.md)
354
357
 
355
358
  ---
356
359
 
@@ -0,0 +1,35 @@
1
+ # Skills And Command Projections
2
+
3
+ Forge uses both skills and command files today. They are related, but they are not the same surface.
4
+
5
+ ## Current v0.0.11 Reality
6
+
7
+ - Codex stage workflows are packaged as `.codex/skills/<stage>/SKILL.md`.
8
+ - Claude Code and Cursor receive command projections. Forge currently supports Claude Code, Codex, and Cursor; Hermes support is planned.
9
+ - `scripts/check-agents.js` currently treats Codex as the exception where command capability is satisfied through `.codex/skills/`.
10
+ - `test/agent-gaps.test.js` still asserts `.claude/commands/` as the current canonical sync source for command projection checks.
11
+
12
+ That means `docs/reference/COMMANDS.md` should remain the CLI command reference. It should not be renamed into a skills reference until the source, sync script, tests, and package contents move together.
13
+
14
+ ## Product Direction
15
+
16
+ The intended direction is skills-first agent packaging:
17
+
18
+ - Stage behavior becomes portable `SKILL.md` packages.
19
+ - Command files become harness-specific projections or compatibility aliases.
20
+ - `skills sync` and Forge setup project the same stage behavior into each supported harness.
21
+ - Extension manifests can contribute stages, substages, evaluator regions, adapters, hooks, and evidence collectors.
22
+
23
+ This direction is documented as roadmap material until the implementation and tests make it current behavior.
24
+
25
+ ## Documentation Rule
26
+
27
+ Use these names consistently:
28
+
29
+ - Command reference: current `forge` CLI commands and package binaries.
30
+ - Workflow templates: default stage paths and customization rules.
31
+ - Skills: agent-facing stage packages and future portable extension units.
32
+ - Harness projections: generated command, prompt, workflow, or skill files for a specific agent.
33
+
34
+ Do not claim that commands have fully moved to skills until source, tests, generated files, and package contents prove that migration.
35
+
@@ -0,0 +1,80 @@
1
+ # Status And Board
2
+
3
+ `forge status` is a local personal focus surface. With no arguments it reads git context plus local Beads runtime files and shows active assigned work, ready work, blocked work, stale work, recent completions, and workflow state when available.
4
+
5
+ `forge board` is a local team runtime board. It consumes the same snapshot as `forge status` and groups all local issues into active, ready, blocked, stale, and recent completion columns.
6
+
7
+ ## JSON Mode
8
+
9
+ Both commands support `--json`.
10
+
11
+ ```bash
12
+ forge status --json
13
+ forge board --json
14
+ ```
15
+
16
+ The JSON shape mirrors each command's human sections:
17
+
18
+ - `forge status --json` returns `context`, `personal`, `workflow` when detected, and `limits`.
19
+ - `forge board --json` returns `context`, `board`, and `limits`.
20
+ - `personal` contains the status-focused issue groups for the current developer.
21
+ - `board` contains the team issue groups over the same local snapshot.
22
+
23
+ ## Sample Output
24
+
25
+ ```text
26
+ Context
27
+ Branch: codex/0.0.18-team-status
28
+ Worktree: linked
29
+ Working tree: clean
30
+
31
+ Active Issues
32
+ forge-sxg2 0.0.18 forge status command for personal work focus [in_progress]
33
+
34
+ Ready
35
+ forge-next Follow-up issue
36
+
37
+ Blocked
38
+ forge-11ds 0.0.18 team runtime board [open]
39
+
40
+ Stale
41
+ none
42
+
43
+ Recent Completions
44
+ forge-besw.12 0.0.17 insights and recap
45
+
46
+ Workflow
47
+ Development (dev)
48
+ Run now: /dev
49
+ Next after this: /validate
50
+ ```
51
+
52
+ ```text
53
+ Team Runtime Board
54
+ Source: local Beads runtime state
55
+ Branch: codex/0.0.18-team-status
56
+ Working tree: clean
57
+
58
+ Active
59
+ forge-sxg2 0.0.18 forge status command for personal work focus [in_progress]
60
+
61
+ Ready
62
+ none
63
+
64
+ Blocked
65
+ forge-11ds 0.0.18 team runtime board [open]
66
+
67
+ Stale
68
+ none
69
+
70
+ Recent Completions
71
+ forge-besw.12 0.0.17 insights and recap
72
+ ```
73
+
74
+ ## Limits
75
+
76
+ These commands are read-only and local. They do not create orchestration, mutate issue state, query GitHub, inspect review providers, infer CI health, or sync remote project fields. The data is only as current as `.beads/issues.jsonl` in the current checkout.
77
+
78
+ ## Non-Scope
79
+
80
+ This surface does not implement ReviewAdapter, IssueAdapter, GitHub sync, GitHub Projects v2, sprint velocity, or remote review-response detection.
@@ -0,0 +1,106 @@
1
+ # Adoption Templates
2
+
3
+ Forge templates are adoption scaffolds over runtime graph primitives. They are not the product surface: the generated `.forge/config.yaml` stays inspectable with `forge options`.
4
+
5
+ ## Entry Point
6
+
7
+ ```bash
8
+ forge init
9
+ forge init --yes
10
+ forge init --profile minimal --classification standard --harness codex --yes
11
+ ```
12
+
13
+ `forge init` is the day-one entry door for fresh repositories. It creates the local `.forge/` skeleton without assuming a prior v2 install or running the `forge new` onboarding wizard.
14
+
15
+ Generated files:
16
+
17
+ - `.forge/config.yaml` records the adoption profile, default classification, Layer 1 rail confirmation, and harness targets.
18
+ - `.forge/patch.md` is an empty patch-intent placeholder for future local overrides.
19
+ - `.forge/protected-paths.yaml` records the protected path manifest scaffold. Currently, only the manifest structure is generated; protected-state enforcement is not yet implemented.
20
+
21
+ When run interactively, `forge init` asks for:
22
+
23
+ - default classification: `critical`, `standard`, or `refactor`.
24
+ - Layer 1 rail confirmation.
25
+ - harness targets: `claude`, `cursor`, and/or `codex`.
26
+
27
+ Harness defaults are detected from filesystem markers where supported:
28
+
29
+ - `.claude` selects `claude`.
30
+ - `.cursor` selects `cursor`.
31
+ - `.codex` selects `codex`.
32
+
33
+ `forge init --yes` is deterministic for automation: it uses the `standard` profile, `standard` classification, confirms Layer 1 rails, and selects detected harness targets or `codex` when none are detected.
34
+
35
+ `forge init` does not overwrite existing generated files. Re-run with `--force` only when replacing `.forge/config.yaml`, `.forge/patch.md`, and `.forge/protected-paths.yaml` is intentional.
36
+
37
+ Profile shortcuts remain available:
38
+
39
+ ```bash
40
+ forge init --minimal
41
+ forge init --standard
42
+ forge init --full
43
+ ```
44
+
45
+ `forge setup --minimal` remains a separate shortcut for repositories that want setup behavior rather than only the day-one `.forge/` skeleton.
46
+
47
+ Stage commands such as `/review` and `/verify` are agent workflow stages. Do not present them as standalone `forge review` or `forge verify` CLI commands unless those commands exist in the current CLI registry. Pre-merge is not a stage or a `/premerge` command — it is a documentation-and-handoff gate embedded in `/ship` and `/review`.
48
+
49
+ ## Planning Template
50
+
51
+ `/plan` is represented as a configurable planning template in the runtime graph. The default template runs the full planning loop:
52
+
53
+ - `plan.intent_capture`
54
+ - `plan.parallel_research`
55
+ - `plan.parallel_critics`
56
+ - `plan.synthesis`
57
+ - `plan.final_lock`
58
+
59
+ Projects can tune planning depth in `.forge/config.yaml` without introducing another planner-specific config file:
60
+
61
+ ```yaml
62
+ planning:
63
+ template:
64
+ mode: partial
65
+ convergenceThreshold: 0.8
66
+ criticSet:
67
+ - spec
68
+ - security
69
+ partialInvocation:
70
+ only:
71
+ - plan.parallel_critics
72
+ skip:
73
+ - plan.parallel_research
74
+ ```
75
+
76
+ Inspect the resolved behavior with:
77
+
78
+ ```bash
79
+ forge options why plan.parallel_critics
80
+ forge options diff
81
+ forge options lint
82
+ ```
83
+
84
+ Invalid planning modes, thresholds outside `0..1`, blank critics, and unknown planning sub-skills fail through `forge options lint`.
85
+
86
+ ## Profiles
87
+
88
+ | Profile | Purpose | Output |
89
+ |---------|---------|--------|
90
+ | `minimal` | Smallest adoption skeleton for a clean repository. | Writes the day-one `.forge/` files with workflow gates and issue adapters disabled unless selected later. |
91
+ | `standard` | Default Forge command flow metadata. | Writes the day-one `.forge/` files with default gates enabled and Beads/GitHub issue adapter metadata. |
92
+ | `full` | Explicit full scaffold. | Writes the day-one `.forge/` files with rails, gates, adapters, and protected paths made explicit. |
93
+
94
+ ## Inspect The Result
95
+
96
+ ```bash
97
+ forge options lint
98
+ forge options diff
99
+ forge options stages --json
100
+ ```
101
+
102
+ The generated config includes `template.kind`, `template.version`, `template.profile`, and `template.ancestry` so users can see which scaffold produced the current defaults.
103
+
104
+ ## Non-Scope
105
+
106
+ This flow does not implement harness translation, adapter marketplace installation, upgrade or rollback, guaranteed protected-state enforcement in every repository, `forge new`, or patch intent execution.