@garygentry/feature-forge 0.1.4 → 0.2.0

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 (322) hide show
  1. package/README.md +19 -1
  2. package/adapters/GENERATION-REPORT.md +17 -13
  3. package/adapters/claude/.feature-forge-bundle.json +6 -0
  4. package/adapters/claude/references/forge-config-schema.json +36 -10
  5. package/adapters/claude/references/pipeline-state-schema.json +4 -0
  6. package/adapters/claude/references/portable-root.md +8 -5
  7. package/adapters/claude/references/process-overview.md +15 -5
  8. package/adapters/claude/references/shared-conventions.md +69 -4
  9. package/adapters/claude/references/stack-resolution.md +4 -1
  10. package/adapters/claude/references/stacks/go.md +1 -1
  11. package/adapters/claude/references/stacks/python.md +1 -1
  12. package/adapters/claude/references/stacks/rust.md +1 -1
  13. package/adapters/claude/references/stacks/typescript.md +1 -1
  14. package/adapters/claude/references/templates/specs-hygiene/AGENTS.md +23 -0
  15. package/adapters/claude/references/templates/specs-hygiene/CLAUDE.md +22 -0
  16. package/adapters/claude/scripts/epic-manifest.py +1379 -0
  17. package/adapters/claude/scripts/forge-bootstrap.py +991 -0
  18. package/adapters/claude/scripts/forge-init.sh +44 -0
  19. package/adapters/claude/scripts/forge-root.sh +30 -8
  20. package/adapters/claude/scripts/validate-traceability.py +150 -0
  21. package/adapters/claude/skills/forge/SKILL.md +5 -5
  22. package/adapters/claude/skills/forge-0-epic/SKILL.md +13 -15
  23. package/adapters/claude/skills/forge-0-epic/references/edit-mode.md +2 -2
  24. package/adapters/claude/skills/forge-0-epic/references/epic-manifest-subcommands.md +1 -1
  25. package/adapters/claude/skills/forge-1-prd/SKILL.md +6 -4
  26. package/adapters/claude/skills/forge-2-tech/SKILL.md +8 -7
  27. package/adapters/claude/skills/forge-2-tech/references/stack-discovery-checklist.md +4 -4
  28. package/adapters/claude/skills/forge-3-specs/SKILL.md +1 -1
  29. package/adapters/claude/skills/forge-4-backlog/SKILL.md +2 -2
  30. package/adapters/claude/skills/forge-5-loop/SKILL.md +20 -18
  31. package/adapters/claude/skills/forge-5-loop/references/result-reporting.md +13 -0
  32. package/adapters/claude/skills/forge-5-loop/references/runner-contract.md +40 -0
  33. package/adapters/claude/skills/forge-6-docs/SKILL.md +11 -1
  34. package/adapters/claude/skills/forge-bootstrap/SKILL.md +240 -0
  35. package/adapters/claude/skills/forge-bootstrap/references/templates/ci/github-actions.yml +12 -0
  36. package/adapters/claude/skills/forge-bootstrap/references/templates/generic/run.sh +3 -0
  37. package/adapters/claude/skills/forge-bootstrap/references/templates/generic/test.sh +13 -0
  38. package/adapters/claude/skills/forge-bootstrap/references/templates/go/go.mod +3 -0
  39. package/adapters/claude/skills/forge-bootstrap/references/templates/go/main.go +12 -0
  40. package/adapters/claude/skills/forge-bootstrap/references/templates/go/main_test.go +11 -0
  41. package/adapters/claude/skills/forge-bootstrap/references/templates/hygiene/AGENTS.md +24 -0
  42. package/adapters/claude/skills/forge-bootstrap/references/templates/hygiene/CLAUDE.md +25 -0
  43. package/adapters/claude/skills/forge-bootstrap/references/templates/hygiene/README.md +11 -0
  44. package/adapters/claude/skills/forge-bootstrap/references/templates/licenses/Apache-2.0/LICENSE +198 -0
  45. package/adapters/claude/skills/forge-bootstrap/references/templates/licenses/MIT/LICENSE +21 -0
  46. package/adapters/claude/skills/forge-bootstrap/references/templates/python/pyproject.toml +24 -0
  47. package/adapters/claude/skills/forge-bootstrap/references/templates/python/src/{{PKG}}/__init__.py +5 -0
  48. package/adapters/claude/skills/forge-bootstrap/references/templates/python/src/{{PKG}}/main.py +13 -0
  49. package/adapters/claude/skills/forge-bootstrap/references/templates/python/tests/test_smoke.py +8 -0
  50. package/adapters/claude/skills/forge-bootstrap/references/templates/rust/Cargo.toml +15 -0
  51. package/adapters/claude/skills/forge-bootstrap/references/templates/rust/src/lib.rs +7 -0
  52. package/adapters/claude/skills/forge-bootstrap/references/templates/rust/src/main.rs +5 -0
  53. package/adapters/claude/skills/forge-bootstrap/references/templates/rust/tests/smoke.rs +6 -0
  54. package/adapters/claude/skills/forge-bootstrap/references/templates/typescript/package.json +15 -0
  55. package/adapters/claude/skills/forge-bootstrap/references/templates/typescript/src/index.ts +4 -0
  56. package/adapters/claude/skills/forge-bootstrap/references/templates/typescript/test/smoke.test.ts +6 -0
  57. package/adapters/claude/skills/forge-bootstrap/references/templates/typescript/tsconfig.json +14 -0
  58. package/adapters/claude/skills/forge-fix/SKILL.md +1 -1
  59. package/adapters/claude/skills/forge-init/SKILL.md +1 -1
  60. package/adapters/claude/skills/forge-verify/SKILL.md +7 -2
  61. package/adapters/claude/skills/forge-verify/references/verification-checklists.md +1 -1
  62. package/adapters/codex/.feature-forge-bundle.json +6 -0
  63. package/adapters/codex/agents/{forge-researcher.md → forge-researcher.toml} +4 -4
  64. package/adapters/codex/agents/{forge-spec-writer.md → forge-spec-writer.toml} +4 -4
  65. package/adapters/codex/agents/{forge-verifier.md → forge-verifier.toml} +4 -4
  66. package/adapters/codex/references/forge-config-schema.json +36 -10
  67. package/adapters/codex/references/pipeline-state-schema.json +4 -0
  68. package/adapters/codex/references/portable-root.md +8 -5
  69. package/adapters/codex/references/process-overview.md +15 -5
  70. package/adapters/codex/references/shared-conventions.md +69 -4
  71. package/adapters/codex/references/stack-resolution.md +4 -1
  72. package/adapters/codex/references/stacks/go.md +1 -1
  73. package/adapters/codex/references/stacks/python.md +1 -1
  74. package/adapters/codex/references/stacks/rust.md +1 -1
  75. package/adapters/codex/references/stacks/typescript.md +1 -1
  76. package/adapters/codex/references/templates/specs-hygiene/AGENTS.md +23 -0
  77. package/adapters/codex/references/templates/specs-hygiene/CLAUDE.md +22 -0
  78. package/adapters/codex/scripts/epic-manifest.py +1379 -0
  79. package/adapters/codex/scripts/forge-bootstrap.py +991 -0
  80. package/adapters/codex/scripts/forge-init.sh +44 -0
  81. package/adapters/codex/scripts/forge-root.sh +30 -8
  82. package/adapters/codex/scripts/validate-traceability.py +150 -0
  83. package/adapters/codex/skills/forge/{forge.md → SKILL.md} +16 -6
  84. package/adapters/codex/skills/forge-0-epic/{forge-0-epic.md → SKILL.md} +33 -25
  85. package/adapters/codex/skills/forge-0-epic/references/edit-mode.md +2 -2
  86. package/adapters/codex/skills/forge-0-epic/references/epic-manifest-subcommands.md +1 -1
  87. package/adapters/codex/skills/forge-1-prd/{forge-1-prd.md → SKILL.md} +22 -10
  88. package/adapters/codex/skills/forge-2-tech/{forge-2-tech.md → SKILL.md} +26 -15
  89. package/adapters/codex/skills/forge-2-tech/references/stack-discovery-checklist.md +4 -4
  90. package/adapters/codex/skills/forge-3-specs/{forge-3-specs.md → SKILL.md} +16 -6
  91. package/adapters/codex/skills/forge-4-backlog/{forge-4-backlog.md → SKILL.md} +15 -5
  92. package/adapters/codex/skills/forge-5-loop/{forge-5-loop.md → SKILL.md} +40 -28
  93. package/adapters/codex/skills/forge-5-loop/references/result-reporting.md +13 -0
  94. package/adapters/codex/skills/forge-5-loop/references/runner-contract.md +40 -0
  95. package/adapters/codex/skills/forge-6-docs/{forge-6-docs.md → SKILL.md} +26 -6
  96. package/adapters/codex/skills/forge-bootstrap/SKILL.md +249 -0
  97. package/adapters/codex/skills/forge-bootstrap/references/templates/ci/github-actions.yml +12 -0
  98. package/adapters/codex/skills/forge-bootstrap/references/templates/generic/run.sh +3 -0
  99. package/adapters/codex/skills/forge-bootstrap/references/templates/generic/test.sh +13 -0
  100. package/adapters/codex/skills/forge-bootstrap/references/templates/go/go.mod +3 -0
  101. package/adapters/codex/skills/forge-bootstrap/references/templates/go/main.go +12 -0
  102. package/adapters/codex/skills/forge-bootstrap/references/templates/go/main_test.go +11 -0
  103. package/adapters/codex/skills/forge-bootstrap/references/templates/hygiene/AGENTS.md +24 -0
  104. package/adapters/codex/skills/forge-bootstrap/references/templates/hygiene/CLAUDE.md +25 -0
  105. package/adapters/codex/skills/forge-bootstrap/references/templates/hygiene/README.md +11 -0
  106. package/adapters/codex/skills/forge-bootstrap/references/templates/licenses/Apache-2.0/LICENSE +198 -0
  107. package/adapters/codex/skills/forge-bootstrap/references/templates/licenses/MIT/LICENSE +21 -0
  108. package/adapters/codex/skills/forge-bootstrap/references/templates/python/pyproject.toml +24 -0
  109. package/adapters/codex/skills/forge-bootstrap/references/templates/python/src/{{PKG}}/__init__.py +5 -0
  110. package/adapters/codex/skills/forge-bootstrap/references/templates/python/src/{{PKG}}/main.py +13 -0
  111. package/adapters/codex/skills/forge-bootstrap/references/templates/python/tests/test_smoke.py +8 -0
  112. package/adapters/codex/skills/forge-bootstrap/references/templates/rust/Cargo.toml +15 -0
  113. package/adapters/codex/skills/forge-bootstrap/references/templates/rust/src/lib.rs +7 -0
  114. package/adapters/codex/skills/forge-bootstrap/references/templates/rust/src/main.rs +5 -0
  115. package/adapters/codex/skills/forge-bootstrap/references/templates/rust/tests/smoke.rs +6 -0
  116. package/adapters/codex/skills/forge-bootstrap/references/templates/typescript/package.json +15 -0
  117. package/adapters/codex/skills/forge-bootstrap/references/templates/typescript/src/index.ts +4 -0
  118. package/adapters/codex/skills/forge-bootstrap/references/templates/typescript/test/smoke.test.ts +6 -0
  119. package/adapters/codex/skills/forge-bootstrap/references/templates/typescript/tsconfig.json +14 -0
  120. package/adapters/codex/skills/forge-fix/{forge-fix.md → SKILL.md} +12 -2
  121. package/adapters/codex/skills/forge-init/{forge-init.md → SKILL.md} +11 -1
  122. package/adapters/codex/skills/forge-verify/{forge-verify.md → SKILL.md} +24 -9
  123. package/adapters/codex/skills/forge-verify/references/verification-checklists.md +1 -1
  124. package/adapters/copilot/.feature-forge-bundle.json +6 -0
  125. package/adapters/copilot/references/forge-config-schema.json +36 -10
  126. package/adapters/copilot/references/pipeline-state-schema.json +4 -0
  127. package/adapters/copilot/references/portable-root.md +8 -5
  128. package/adapters/copilot/references/process-overview.md +15 -5
  129. package/adapters/copilot/references/shared-conventions.md +69 -4
  130. package/adapters/copilot/references/stack-resolution.md +4 -1
  131. package/adapters/copilot/references/stacks/go.md +1 -1
  132. package/adapters/copilot/references/stacks/python.md +1 -1
  133. package/adapters/copilot/references/stacks/rust.md +1 -1
  134. package/adapters/copilot/references/stacks/typescript.md +1 -1
  135. package/adapters/copilot/references/templates/specs-hygiene/AGENTS.md +23 -0
  136. package/adapters/copilot/references/templates/specs-hygiene/CLAUDE.md +22 -0
  137. package/adapters/copilot/scripts/epic-manifest.py +1379 -0
  138. package/adapters/copilot/scripts/forge-bootstrap.py +991 -0
  139. package/adapters/copilot/scripts/forge-init.sh +44 -0
  140. package/adapters/copilot/scripts/forge-root.sh +30 -8
  141. package/adapters/copilot/scripts/validate-traceability.py +150 -0
  142. package/adapters/copilot/skills/forge/forge.md +16 -6
  143. package/adapters/copilot/skills/forge-0-epic/forge-0-epic.md +33 -25
  144. package/adapters/copilot/skills/forge-0-epic/references/edit-mode.md +2 -2
  145. package/adapters/copilot/skills/forge-0-epic/references/epic-manifest-subcommands.md +1 -1
  146. package/adapters/copilot/skills/forge-1-prd/forge-1-prd.md +22 -10
  147. package/adapters/copilot/skills/forge-2-tech/forge-2-tech.md +26 -15
  148. package/adapters/copilot/skills/forge-2-tech/references/stack-discovery-checklist.md +4 -4
  149. package/adapters/copilot/skills/forge-3-specs/forge-3-specs.md +16 -6
  150. package/adapters/copilot/skills/forge-4-backlog/forge-4-backlog.md +15 -5
  151. package/adapters/copilot/skills/forge-5-loop/forge-5-loop.md +40 -28
  152. package/adapters/copilot/skills/forge-5-loop/references/result-reporting.md +13 -0
  153. package/adapters/copilot/skills/forge-5-loop/references/runner-contract.md +40 -0
  154. package/adapters/copilot/skills/forge-6-docs/forge-6-docs.md +26 -6
  155. package/adapters/copilot/skills/forge-bootstrap/forge-bootstrap.md +249 -0
  156. package/adapters/copilot/skills/forge-bootstrap/references/templates/ci/github-actions.yml +12 -0
  157. package/adapters/copilot/skills/forge-bootstrap/references/templates/generic/run.sh +3 -0
  158. package/adapters/copilot/skills/forge-bootstrap/references/templates/generic/test.sh +13 -0
  159. package/adapters/copilot/skills/forge-bootstrap/references/templates/go/go.mod +3 -0
  160. package/adapters/copilot/skills/forge-bootstrap/references/templates/go/main.go +12 -0
  161. package/adapters/copilot/skills/forge-bootstrap/references/templates/go/main_test.go +11 -0
  162. package/adapters/copilot/skills/forge-bootstrap/references/templates/hygiene/AGENTS.md +24 -0
  163. package/adapters/copilot/skills/forge-bootstrap/references/templates/hygiene/CLAUDE.md +25 -0
  164. package/adapters/copilot/skills/forge-bootstrap/references/templates/hygiene/README.md +11 -0
  165. package/adapters/copilot/skills/forge-bootstrap/references/templates/licenses/Apache-2.0/LICENSE +198 -0
  166. package/adapters/copilot/skills/forge-bootstrap/references/templates/licenses/MIT/LICENSE +21 -0
  167. package/adapters/copilot/skills/forge-bootstrap/references/templates/python/pyproject.toml +24 -0
  168. package/adapters/copilot/skills/forge-bootstrap/references/templates/python/src/{{PKG}}/__init__.py +5 -0
  169. package/adapters/copilot/skills/forge-bootstrap/references/templates/python/src/{{PKG}}/main.py +13 -0
  170. package/adapters/copilot/skills/forge-bootstrap/references/templates/python/tests/test_smoke.py +8 -0
  171. package/adapters/copilot/skills/forge-bootstrap/references/templates/rust/Cargo.toml +15 -0
  172. package/adapters/copilot/skills/forge-bootstrap/references/templates/rust/src/lib.rs +7 -0
  173. package/adapters/copilot/skills/forge-bootstrap/references/templates/rust/src/main.rs +5 -0
  174. package/adapters/copilot/skills/forge-bootstrap/references/templates/rust/tests/smoke.rs +6 -0
  175. package/adapters/copilot/skills/forge-bootstrap/references/templates/typescript/package.json +15 -0
  176. package/adapters/copilot/skills/forge-bootstrap/references/templates/typescript/src/index.ts +4 -0
  177. package/adapters/copilot/skills/forge-bootstrap/references/templates/typescript/test/smoke.test.ts +6 -0
  178. package/adapters/copilot/skills/forge-bootstrap/references/templates/typescript/tsconfig.json +14 -0
  179. package/adapters/copilot/skills/forge-fix/forge-fix.md +12 -2
  180. package/adapters/copilot/skills/forge-init/forge-init.md +11 -1
  181. package/adapters/copilot/skills/forge-verify/forge-verify.md +24 -9
  182. package/adapters/copilot/skills/forge-verify/references/verification-checklists.md +1 -1
  183. package/adapters/cursor/.feature-forge-bundle.json +6 -0
  184. package/adapters/cursor/references/forge-config-schema.json +36 -10
  185. package/adapters/cursor/references/pipeline-state-schema.json +4 -0
  186. package/adapters/cursor/references/portable-root.md +8 -5
  187. package/adapters/cursor/references/process-overview.md +15 -5
  188. package/adapters/cursor/references/shared-conventions.md +69 -4
  189. package/adapters/cursor/references/stack-resolution.md +4 -1
  190. package/adapters/cursor/references/stacks/go.md +1 -1
  191. package/adapters/cursor/references/stacks/python.md +1 -1
  192. package/adapters/cursor/references/stacks/rust.md +1 -1
  193. package/adapters/cursor/references/stacks/typescript.md +1 -1
  194. package/adapters/cursor/references/templates/specs-hygiene/AGENTS.md +23 -0
  195. package/adapters/cursor/references/templates/specs-hygiene/CLAUDE.md +22 -0
  196. package/adapters/cursor/scripts/epic-manifest.py +1379 -0
  197. package/adapters/cursor/scripts/forge-bootstrap.py +991 -0
  198. package/adapters/cursor/scripts/forge-init.sh +44 -0
  199. package/adapters/cursor/scripts/forge-root.sh +30 -8
  200. package/adapters/cursor/scripts/validate-traceability.py +150 -0
  201. package/adapters/cursor/skills/forge/forge.mdc +16 -6
  202. package/adapters/cursor/skills/forge-0-epic/forge-0-epic.mdc +33 -25
  203. package/adapters/cursor/skills/forge-0-epic/references/edit-mode.md +2 -2
  204. package/adapters/cursor/skills/forge-0-epic/references/epic-manifest-subcommands.md +1 -1
  205. package/adapters/cursor/skills/forge-1-prd/forge-1-prd.mdc +22 -10
  206. package/adapters/cursor/skills/forge-2-tech/forge-2-tech.mdc +26 -15
  207. package/adapters/cursor/skills/forge-2-tech/references/stack-discovery-checklist.md +4 -4
  208. package/adapters/cursor/skills/forge-3-specs/forge-3-specs.mdc +16 -6
  209. package/adapters/cursor/skills/forge-4-backlog/forge-4-backlog.mdc +15 -5
  210. package/adapters/cursor/skills/forge-5-loop/forge-5-loop.mdc +40 -28
  211. package/adapters/cursor/skills/forge-5-loop/references/result-reporting.md +13 -0
  212. package/adapters/cursor/skills/forge-5-loop/references/runner-contract.md +40 -0
  213. package/adapters/cursor/skills/forge-6-docs/forge-6-docs.mdc +26 -6
  214. package/adapters/cursor/skills/forge-bootstrap/forge-bootstrap.mdc +250 -0
  215. package/adapters/cursor/skills/forge-bootstrap/references/templates/ci/github-actions.yml +12 -0
  216. package/adapters/cursor/skills/forge-bootstrap/references/templates/generic/run.sh +3 -0
  217. package/adapters/cursor/skills/forge-bootstrap/references/templates/generic/test.sh +13 -0
  218. package/adapters/cursor/skills/forge-bootstrap/references/templates/go/go.mod +3 -0
  219. package/adapters/cursor/skills/forge-bootstrap/references/templates/go/main.go +12 -0
  220. package/adapters/cursor/skills/forge-bootstrap/references/templates/go/main_test.go +11 -0
  221. package/adapters/cursor/skills/forge-bootstrap/references/templates/hygiene/AGENTS.md +24 -0
  222. package/adapters/cursor/skills/forge-bootstrap/references/templates/hygiene/CLAUDE.md +25 -0
  223. package/adapters/cursor/skills/forge-bootstrap/references/templates/hygiene/README.md +11 -0
  224. package/adapters/cursor/skills/forge-bootstrap/references/templates/licenses/Apache-2.0/LICENSE +198 -0
  225. package/adapters/cursor/skills/forge-bootstrap/references/templates/licenses/MIT/LICENSE +21 -0
  226. package/adapters/cursor/skills/forge-bootstrap/references/templates/python/pyproject.toml +24 -0
  227. package/adapters/cursor/skills/forge-bootstrap/references/templates/python/src/{{PKG}}/__init__.py +5 -0
  228. package/adapters/cursor/skills/forge-bootstrap/references/templates/python/src/{{PKG}}/main.py +13 -0
  229. package/adapters/cursor/skills/forge-bootstrap/references/templates/python/tests/test_smoke.py +8 -0
  230. package/adapters/cursor/skills/forge-bootstrap/references/templates/rust/Cargo.toml +15 -0
  231. package/adapters/cursor/skills/forge-bootstrap/references/templates/rust/src/lib.rs +7 -0
  232. package/adapters/cursor/skills/forge-bootstrap/references/templates/rust/src/main.rs +5 -0
  233. package/adapters/cursor/skills/forge-bootstrap/references/templates/rust/tests/smoke.rs +6 -0
  234. package/adapters/cursor/skills/forge-bootstrap/references/templates/typescript/package.json +15 -0
  235. package/adapters/cursor/skills/forge-bootstrap/references/templates/typescript/src/index.ts +4 -0
  236. package/adapters/cursor/skills/forge-bootstrap/references/templates/typescript/test/smoke.test.ts +6 -0
  237. package/adapters/cursor/skills/forge-bootstrap/references/templates/typescript/tsconfig.json +14 -0
  238. package/adapters/cursor/skills/forge-fix/forge-fix.mdc +12 -2
  239. package/adapters/cursor/skills/forge-init/forge-init.mdc +11 -1
  240. package/adapters/cursor/skills/forge-verify/forge-verify.mdc +24 -9
  241. package/adapters/cursor/skills/forge-verify/references/verification-checklists.md +1 -1
  242. package/adapters/gemini/.feature-forge-bundle.json +6 -0
  243. package/adapters/gemini/gemini-extension.json +5 -1
  244. package/adapters/gemini/references/forge-config-schema.json +36 -10
  245. package/adapters/gemini/references/pipeline-state-schema.json +4 -0
  246. package/adapters/gemini/references/portable-root.md +8 -5
  247. package/adapters/gemini/references/process-overview.md +15 -5
  248. package/adapters/gemini/references/shared-conventions.md +69 -4
  249. package/adapters/gemini/references/stack-resolution.md +4 -1
  250. package/adapters/gemini/references/stacks/go.md +1 -1
  251. package/adapters/gemini/references/stacks/python.md +1 -1
  252. package/adapters/gemini/references/stacks/rust.md +1 -1
  253. package/adapters/gemini/references/stacks/typescript.md +1 -1
  254. package/adapters/gemini/references/templates/specs-hygiene/AGENTS.md +23 -0
  255. package/adapters/gemini/references/templates/specs-hygiene/CLAUDE.md +22 -0
  256. package/adapters/gemini/scripts/epic-manifest.py +1379 -0
  257. package/adapters/gemini/scripts/forge-bootstrap.py +991 -0
  258. package/adapters/gemini/scripts/forge-init.sh +44 -0
  259. package/adapters/gemini/scripts/forge-root.sh +30 -8
  260. package/adapters/gemini/scripts/validate-traceability.py +150 -0
  261. package/adapters/gemini/skills/forge/forge.md +16 -6
  262. package/adapters/gemini/skills/forge-0-epic/forge-0-epic.md +33 -25
  263. package/adapters/gemini/skills/forge-0-epic/references/edit-mode.md +2 -2
  264. package/adapters/gemini/skills/forge-0-epic/references/epic-manifest-subcommands.md +1 -1
  265. package/adapters/gemini/skills/forge-1-prd/forge-1-prd.md +22 -10
  266. package/adapters/gemini/skills/forge-2-tech/forge-2-tech.md +26 -15
  267. package/adapters/gemini/skills/forge-2-tech/references/stack-discovery-checklist.md +4 -4
  268. package/adapters/gemini/skills/forge-3-specs/forge-3-specs.md +16 -6
  269. package/adapters/gemini/skills/forge-4-backlog/forge-4-backlog.md +15 -5
  270. package/adapters/gemini/skills/forge-5-loop/forge-5-loop.md +40 -28
  271. package/adapters/gemini/skills/forge-5-loop/references/result-reporting.md +13 -0
  272. package/adapters/gemini/skills/forge-5-loop/references/runner-contract.md +40 -0
  273. package/adapters/gemini/skills/forge-6-docs/forge-6-docs.md +26 -6
  274. package/adapters/gemini/skills/forge-bootstrap/forge-bootstrap.md +249 -0
  275. package/adapters/gemini/skills/forge-bootstrap/references/templates/ci/github-actions.yml +12 -0
  276. package/adapters/gemini/skills/forge-bootstrap/references/templates/generic/run.sh +3 -0
  277. package/adapters/gemini/skills/forge-bootstrap/references/templates/generic/test.sh +13 -0
  278. package/adapters/gemini/skills/forge-bootstrap/references/templates/go/go.mod +3 -0
  279. package/adapters/gemini/skills/forge-bootstrap/references/templates/go/main.go +12 -0
  280. package/adapters/gemini/skills/forge-bootstrap/references/templates/go/main_test.go +11 -0
  281. package/adapters/gemini/skills/forge-bootstrap/references/templates/hygiene/AGENTS.md +24 -0
  282. package/adapters/gemini/skills/forge-bootstrap/references/templates/hygiene/CLAUDE.md +25 -0
  283. package/adapters/gemini/skills/forge-bootstrap/references/templates/hygiene/README.md +11 -0
  284. package/adapters/gemini/skills/forge-bootstrap/references/templates/licenses/Apache-2.0/LICENSE +198 -0
  285. package/adapters/gemini/skills/forge-bootstrap/references/templates/licenses/MIT/LICENSE +21 -0
  286. package/adapters/gemini/skills/forge-bootstrap/references/templates/python/pyproject.toml +24 -0
  287. package/adapters/gemini/skills/forge-bootstrap/references/templates/python/src/{{PKG}}/__init__.py +5 -0
  288. package/adapters/gemini/skills/forge-bootstrap/references/templates/python/src/{{PKG}}/main.py +13 -0
  289. package/adapters/gemini/skills/forge-bootstrap/references/templates/python/tests/test_smoke.py +8 -0
  290. package/adapters/gemini/skills/forge-bootstrap/references/templates/rust/Cargo.toml +15 -0
  291. package/adapters/gemini/skills/forge-bootstrap/references/templates/rust/src/lib.rs +7 -0
  292. package/adapters/gemini/skills/forge-bootstrap/references/templates/rust/src/main.rs +5 -0
  293. package/adapters/gemini/skills/forge-bootstrap/references/templates/rust/tests/smoke.rs +6 -0
  294. package/adapters/gemini/skills/forge-bootstrap/references/templates/typescript/package.json +15 -0
  295. package/adapters/gemini/skills/forge-bootstrap/references/templates/typescript/src/index.ts +4 -0
  296. package/adapters/gemini/skills/forge-bootstrap/references/templates/typescript/test/smoke.test.ts +6 -0
  297. package/adapters/gemini/skills/forge-bootstrap/references/templates/typescript/tsconfig.json +14 -0
  298. package/adapters/gemini/skills/forge-fix/forge-fix.md +12 -2
  299. package/adapters/gemini/skills/forge-init/forge-init.md +11 -1
  300. package/adapters/gemini/skills/forge-verify/forge-verify.md +24 -9
  301. package/adapters/gemini/skills/forge-verify/references/verification-checklists.md +1 -1
  302. package/dist/agent-targets.d.ts +20 -4
  303. package/dist/agent-targets.js +29 -4
  304. package/dist/apply.js +245 -18
  305. package/dist/cli.js +12 -6
  306. package/dist/hash.d.ts +5 -0
  307. package/dist/hash.js +7 -0
  308. package/dist/manifest.d.ts +4 -2
  309. package/dist/manifest.js +58 -2
  310. package/dist/placements.d.ts +69 -0
  311. package/dist/placements.js +116 -0
  312. package/dist/plan.d.ts +7 -0
  313. package/dist/plan.js +87 -1
  314. package/dist/rauf.d.ts +4 -4
  315. package/dist/rauf.js +3 -3
  316. package/dist/report.js +21 -0
  317. package/dist/source.d.ts +4 -3
  318. package/dist/source.js +4 -3
  319. package/dist/types.d.ts +163 -19
  320. package/dist/types.js +42 -11
  321. package/package.json +1 -1
  322. package/adapters/codex/agents/openai.yaml +0 -10
package/dist/types.js CHANGED
@@ -15,12 +15,22 @@
15
15
  export const AGENT_IDS = ["claude", "codex", "copilot", "cursor", "gemini"];
16
16
  /** Process exit codes (REQ-OBS-01/03, spec 07). */
17
17
  export const EXIT = { SUCCESS: 0, FAILURE: 1, USAGE: 2 };
18
- /** Manifest schema version; bumped only on a breaking manifest-shape change. */
19
- export const SCHEMA_VERSION = 1;
18
+ /**
19
+ * Manifest schema version. v2 (A4b) adds the optional `placements[]` array for agents whose
20
+ * install spans a second filesystem root (codex `.codex/agents`, copilot `.github/copilot-
21
+ * instructions.md`). A v1 manifest (no `placements`) is still read verbatim by the back-compat
22
+ * reader — bumped only on a breaking manifest-shape change.
23
+ */
24
+ export const SCHEMA_VERSION = 2;
25
+ /** Versions of the manifest this installer can READ (write is always SCHEMA_VERSION). */
26
+ export const READABLE_SCHEMA_VERSIONS = [1, 2];
20
27
  /** The single namespace directory name written inside each agent's install location [D5]. */
21
28
  export const FEATURE_FORGE_NS = "feature-forge";
22
29
  /** Filename prefix for the hidden parent-sibling manifest, completed by the scope (§3, spec 05). */
23
30
  export const MANIFEST_PREFIX = ".feature-forge.";
31
+ /** HTML-comment sentinels delimiting a `managed-block` placement (mirrors rauf's convention). */
32
+ export const MANAGED_BLOCK_START = "<!-- feature-forge:managed:start -->";
33
+ export const MANAGED_BLOCK_END = "<!-- feature-forge:managed:end -->";
24
34
  // ---------------------------------------------------------------------------
25
35
  // 6. Constants — the `AGENT_TARGETS` table
26
36
  // ---------------------------------------------------------------------------
@@ -31,23 +41,44 @@ export const MANIFEST_PREFIX = ".feature-forge.";
31
41
  *
32
42
  * Verified ground truth: every bundle has `skills/` (11 skills), `references/`,
33
43
  * `scripts/forge-root.sh`, `agents/`; gemini adds a root `gemini-extension.json`,
34
- * codex adds `agents/openai.yaml`, cursor uses `.mdc` files.
44
+ * codex ships `skills/<name>/SKILL.md` + standalone `agents/<name>.toml` custom agents,
45
+ * cursor uses `.mdc` files.
46
+ *
47
+ * A4 per-agent reality check (A0 re-verified vendor docs, 2026-06-26):
48
+ * - codex — detects `.codex`, loads skills from `.agents/skills` (verified-current).
49
+ * The `.codex/agents/*.toml` second placement is added in A4b.
50
+ * - copilot — detects `.copilot`, but has no skills loader; the bundle is staged under
51
+ * `.github/feature-forge` and the managed instructions block (.github/
52
+ * copilot-instructions.md) is added in A4b (best-known).
53
+ * - cursor — `.cursor/rules/*.mdc` confirmed current (verified-current).
54
+ * - gemini — `~/.gemini/extensions/feature-forge` global confirmed; project scope is
55
+ * best-known (project extension install is not clearly documented).
35
56
  */
36
57
  export const AGENT_TARGETS = {
37
- claude: { id: "claude", configDirName: ".claude", installSubdir: "skills", skillFileForm: "SKILL.md", confidence: "confirmed" },
38
- codex: { id: "codex", configDirName: ".codex", installSubdir: "skills", skillFileForm: "<name>.md", confidence: "best-known" },
39
- copilot: { id: "copilot", configDirName: ".copilot", installSubdir: "skills", skillFileForm: "<name>.md", confidence: "best-known" },
40
- cursor: { id: "cursor", configDirName: ".cursor", installSubdir: "rules", skillFileForm: "<name>.mdc", confidence: "best-known" },
41
- gemini: { id: "gemini", configDirName: ".gemini", installSubdir: "extensions", skillFileForm: "<name>.md", confidence: "best-known" },
58
+ claude: { id: "claude", configDirName: ".claude", installBaseDir: ".claude", installSubpath: "skills", installKind: "skills", skillFileForm: "SKILL.md", confidence: "confirmed", docsUrl: "https://docs.claude.com/en/docs/claude-code/skills" },
59
+ codex: { id: "codex", configDirName: ".codex", installBaseDir: ".agents", installSubpath: "skills", installKind: "skills", skillFileForm: "SKILL.md", confidence: "verified-current", docsUrl: "https://developers.openai.com/codex/skills", placements: [{ kind: "mirror", baseDir: ".codex", subpath: "agents", sourcePrefix: "agents/" }] },
60
+ copilot: { id: "copilot", configDirName: ".copilot", installBaseDir: ".github", installSubpath: "", installKind: "instructions", skillFileForm: "<name>.md", confidence: "best-known", docsUrl: "https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions", placements: [{ kind: "managed-block", baseDir: ".github", subpath: "copilot-instructions.md" }] },
61
+ cursor: { id: "cursor", configDirName: ".cursor", installBaseDir: ".cursor", installSubpath: "rules", installKind: "rules", skillFileForm: "<name>.mdc", confidence: "verified-current", docsUrl: "https://cursor.com/docs/context/rules" },
62
+ gemini: { id: "gemini", configDirName: ".gemini", installBaseDir: ".gemini", installSubpath: "extensions", installKind: "extension", skillFileForm: "<name>.md", confidence: "verified-current", projectConfidence: "best-known", docsUrl: "https://github.com/google-gemini/gemini-cli/blob/main/docs/extensions/index.md" },
42
63
  };
43
64
  /**
44
65
  * Minimal integrity check (REQ-OPS-06, spec 03): a located bundle is valid iff `skills/` is a
45
- * non-empty dir, `scripts/forge-root.sh` exists, and — for gemini only — `gemini-extension.json`
46
- * exists at the bundle root. Defined here as data so the check is a localized table read.
66
+ * non-empty dir, the neutral bundle sentinel `.feature-forge-bundle.json` exists, every runtime
67
+ * helper script a skill can invoke is present (so helper-backed skills run after install on ANY
68
+ * agent), and — for gemini only — `gemini-extension.json` exists at the bundle root. Defined here
69
+ * as data so the check is a localized table read.
47
70
  */
48
71
  export const BUNDLE_REQUIRED_PATHS = {
49
72
  /** Required of every agent bundle. */
50
- common: ["skills", "scripts/forge-root.sh"],
73
+ common: [
74
+ "skills",
75
+ ".feature-forge-bundle.json",
76
+ "scripts/forge-root.sh",
77
+ "scripts/forge-init.sh",
78
+ "scripts/epic-manifest.py",
79
+ "scripts/validate-traceability.py",
80
+ "scripts/forge-bootstrap.py",
81
+ ],
51
82
  /** Additional per-agent requirements. */
52
83
  perAgent: { gemini: ["gemini-extension.json"] },
53
84
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@garygentry/feature-forge",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Cross-agent installer for the feature-forge skill suite — installs the canonical forge pipeline into Claude, Codex, Copilot, Cursor, or Gemini.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,10 +0,0 @@
1
- _generated:
2
- source: agents/
3
- regenerate: python3 scripts/build-adapters.py
4
- agents:
5
- - name: forge-researcher
6
- description: Explores the codebase to understand package structure, integration points, existing patterns, and conventions. Use during feature planning, especially when running /feature-forge:forge-2-tech. Returns a distilled integration report without polluting the main conversation's context window.
7
- - name: forge-spec-writer
8
- description: Authors exactly one numbered implementation spec document for a forge feature, to the quality bar in forge-3-specs. Dispatched by forge-3-specs as one of several parallel writers, after the shared foundation docs (00-core-definitions, 01-architecture-layout) are already written. Writes only its single assigned file and returns a requirement-coverage manifest.
9
- - name: forge-verifier
10
- description: Verifies feature forge pipeline artifacts for completeness, consistency, and quality. Delegates to this agent when running /feature-forge:forge-verify or when the user asks to check specs, backlog, or implementation for gaps. This agent has read-only tools and persistent memory — it cannot modify files, only analyze and report findings.