@warpgogol/forge 4.1.5 → 4.2.1

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 (757) hide show
  1. package/AGENTS.md +2 -1
  2. package/CHANGELOG.md +33 -0
  3. package/CONTRIBUTING.md +36 -0
  4. package/README.md +129 -535
  5. package/README.uk.md +145 -554
  6. package/SECURITY.md +17 -0
  7. package/dist/bin/cli.d.ts +3 -0
  8. package/dist/bin/cli.d.ts.map +1 -0
  9. package/dist/bin/cli.js +296 -0
  10. package/dist/bin/cli.js.map +1 -0
  11. package/dist/os/adr/adr.module.d.ts +3 -0
  12. package/dist/os/adr/adr.module.d.ts.map +1 -0
  13. package/dist/os/adr/adr.module.js +153 -0
  14. package/dist/os/adr/adr.module.js.map +1 -0
  15. package/dist/os/adr/frontmatter-io.d.ts +12 -0
  16. package/dist/os/adr/frontmatter-io.d.ts.map +1 -0
  17. package/dist/os/adr/frontmatter-io.js +67 -0
  18. package/dist/os/adr/frontmatter-io.js.map +1 -0
  19. package/dist/os/adr/handlers/archive.d.ts +24 -0
  20. package/dist/os/adr/handlers/archive.d.ts.map +1 -0
  21. package/dist/os/adr/handlers/archive.js +194 -0
  22. package/dist/os/adr/handlers/archive.js.map +1 -0
  23. package/dist/os/adr/handlers/implement-stamp.d.ts +4 -0
  24. package/dist/os/adr/handlers/implement-stamp.d.ts.map +1 -0
  25. package/dist/os/adr/handlers/implement-stamp.js +264 -0
  26. package/dist/os/adr/handlers/implement-stamp.js.map +1 -0
  27. package/dist/os/adr/handlers/list-create.d.ts +5 -0
  28. package/dist/os/adr/handlers/list-create.d.ts.map +1 -0
  29. package/dist/os/adr/handlers/list-create.js +201 -0
  30. package/dist/os/adr/handlers/list-create.js.map +1 -0
  31. package/dist/os/adr/handlers/validate.d.ts +4 -0
  32. package/dist/os/adr/handlers/validate.d.ts.map +1 -0
  33. package/dist/os/adr/handlers/validate.js +304 -0
  34. package/dist/os/adr/handlers/validate.js.map +1 -0
  35. package/dist/os/adr/index.d.ts +8 -0
  36. package/dist/os/adr/index.d.ts.map +1 -0
  37. package/dist/os/adr/index.js +18 -0
  38. package/dist/os/adr/index.js.map +1 -0
  39. package/dist/os/adr/types.d.ts +81 -0
  40. package/dist/os/adr/types.d.ts.map +1 -0
  41. package/dist/os/adr/types.js +62 -0
  42. package/dist/os/adr/types.js.map +1 -0
  43. package/dist/os/audit/audit.module.d.ts +3 -0
  44. package/dist/os/audit/audit.module.d.ts.map +1 -0
  45. package/dist/os/audit/audit.module.js +50 -0
  46. package/dist/os/audit/audit.module.js.map +1 -0
  47. package/dist/os/audit/frontmatter-io.d.ts +12 -0
  48. package/dist/os/audit/frontmatter-io.d.ts.map +1 -0
  49. package/dist/os/audit/frontmatter-io.js +71 -0
  50. package/dist/os/audit/frontmatter-io.js.map +1 -0
  51. package/dist/os/audit/handlers/archive.d.ts +4 -0
  52. package/dist/os/audit/handlers/archive.d.ts.map +1 -0
  53. package/dist/os/audit/handlers/archive.js +207 -0
  54. package/dist/os/audit/handlers/archive.js.map +1 -0
  55. package/dist/os/audit/index.d.ts +6 -0
  56. package/dist/os/audit/index.d.ts.map +1 -0
  57. package/dist/os/audit/index.js +16 -0
  58. package/dist/os/audit/index.js.map +1 -0
  59. package/dist/os/audit/types.d.ts +12 -0
  60. package/dist/os/audit/types.d.ts.map +1 -0
  61. package/dist/os/audit/types.js +17 -0
  62. package/dist/os/audit/types.js.map +1 -0
  63. package/dist/os/compass/compass.module.d.ts +3 -0
  64. package/dist/os/compass/compass.module.d.ts.map +1 -0
  65. package/dist/os/compass/compass.module.js +191 -0
  66. package/dist/os/compass/compass.module.js.map +1 -0
  67. package/dist/os/compass/handlers/compass-audit-handler.d.ts +36 -0
  68. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -0
  69. package/dist/os/compass/handlers/compass-audit-handler.js +260 -0
  70. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -0
  71. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +19 -0
  72. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -0
  73. package/dist/os/compass/handlers/compass-change-summary-handler.js +222 -0
  74. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -0
  75. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +28 -0
  76. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -0
  77. package/dist/os/compass/handlers/compass-inventory-handler.js +387 -0
  78. package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -0
  79. package/dist/os/compass/handlers/compass-inventory.d.ts +30 -0
  80. package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -0
  81. package/dist/os/compass/handlers/compass-inventory.js +472 -0
  82. package/dist/os/compass/handlers/compass-inventory.js.map +1 -0
  83. package/dist/os/compass/handlers/git-revision.d.ts +8 -0
  84. package/dist/os/compass/handlers/git-revision.d.ts.map +1 -0
  85. package/dist/os/compass/handlers/git-revision.js +99 -0
  86. package/dist/os/compass/handlers/git-revision.js.map +1 -0
  87. package/dist/os/compass/handlers/resolve-scan-root.d.ts +3 -0
  88. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -0
  89. package/dist/os/compass/handlers/resolve-scan-root.js +57 -0
  90. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -0
  91. package/dist/os/compass/index.d.ts +8 -0
  92. package/dist/os/compass/index.d.ts.map +1 -0
  93. package/dist/os/compass/index.js +19 -0
  94. package/dist/os/compass/index.js.map +1 -0
  95. package/dist/os/core/core.module.d.ts +3 -0
  96. package/dist/os/core/core.module.d.ts.map +1 -0
  97. package/dist/os/core/core.module.js +855 -0
  98. package/dist/os/core/core.module.js.map +1 -0
  99. package/dist/os/core/handlers/assets-check.d.ts +19 -0
  100. package/dist/os/core/handlers/assets-check.d.ts.map +1 -0
  101. package/dist/os/core/handlers/assets-check.js +89 -0
  102. package/dist/os/core/handlers/assets-check.js.map +1 -0
  103. package/dist/os/core/handlers/assets-helpers.d.ts +28 -0
  104. package/dist/os/core/handlers/assets-helpers.d.ts.map +1 -0
  105. package/dist/os/core/handlers/assets-helpers.js +128 -0
  106. package/dist/os/core/handlers/assets-helpers.js.map +1 -0
  107. package/dist/os/core/handlers/assets-list.d.ts +9 -0
  108. package/dist/os/core/handlers/assets-list.d.ts.map +1 -0
  109. package/dist/os/core/handlers/assets-list.js +72 -0
  110. package/dist/os/core/handlers/assets-list.js.map +1 -0
  111. package/dist/os/core/handlers/build.d.ts +16 -0
  112. package/dist/os/core/handlers/build.d.ts.map +1 -0
  113. package/dist/os/core/handlers/build.js +123 -0
  114. package/dist/os/core/handlers/build.js.map +1 -0
  115. package/dist/os/core/handlers/determinism-check.d.ts +20 -0
  116. package/dist/os/core/handlers/determinism-check.d.ts.map +1 -0
  117. package/dist/os/core/handlers/determinism-check.js +289 -0
  118. package/dist/os/core/handlers/determinism-check.js.map +1 -0
  119. package/dist/os/core/handlers/dev.d.ts +10 -0
  120. package/dist/os/core/handlers/dev.d.ts.map +1 -0
  121. package/dist/os/core/handlers/dev.js +102 -0
  122. package/dist/os/core/handlers/dev.js.map +1 -0
  123. package/dist/os/core/handlers/forge-autonomy-validate.d.ts +18 -0
  124. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -0
  125. package/dist/os/core/handlers/forge-autonomy-validate.js +115 -0
  126. package/dist/os/core/handlers/forge-autonomy-validate.js.map +1 -0
  127. package/dist/os/core/handlers/knowledge-compact.d.ts +4 -0
  128. package/dist/os/core/handlers/knowledge-compact.d.ts.map +1 -0
  129. package/dist/os/core/handlers/knowledge-compact.js +204 -0
  130. package/dist/os/core/handlers/knowledge-compact.js.map +1 -0
  131. package/dist/os/core/handlers/package-health.d.ts +17 -0
  132. package/dist/os/core/handlers/package-health.d.ts.map +1 -0
  133. package/dist/os/core/handlers/package-health.js +217 -0
  134. package/dist/os/core/handlers/package-health.js.map +1 -0
  135. package/dist/os/core/handlers/pinned-check.d.ts +49 -0
  136. package/dist/os/core/handlers/pinned-check.d.ts.map +1 -0
  137. package/dist/os/core/handlers/pinned-check.js +159 -0
  138. package/dist/os/core/handlers/pinned-check.js.map +1 -0
  139. package/dist/os/core/handlers/pinned-init.d.ts +19 -0
  140. package/dist/os/core/handlers/pinned-init.d.ts.map +1 -0
  141. package/dist/os/core/handlers/pinned-init.js +283 -0
  142. package/dist/os/core/handlers/pinned-init.js.map +1 -0
  143. package/dist/os/core/handlers/pinned-types.d.ts +29 -0
  144. package/dist/os/core/handlers/pinned-types.d.ts.map +1 -0
  145. package/dist/os/core/handlers/pinned-types.js +16 -0
  146. package/dist/os/core/handlers/pinned-types.js.map +1 -0
  147. package/dist/os/core/handlers/pinned-validate.d.ts +4 -0
  148. package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -0
  149. package/dist/os/core/handlers/pinned-validate.js +248 -0
  150. package/dist/os/core/handlers/pinned-validate.js.map +1 -0
  151. package/dist/os/core/handlers/profile-resolve.d.ts +13 -0
  152. package/dist/os/core/handlers/profile-resolve.d.ts.map +1 -0
  153. package/dist/os/core/handlers/profile-resolve.js +65 -0
  154. package/dist/os/core/handlers/profile-resolve.js.map +1 -0
  155. package/dist/os/core/handlers/public-surface.d.ts +13 -0
  156. package/dist/os/core/handlers/public-surface.d.ts.map +1 -0
  157. package/dist/os/core/handlers/public-surface.js +148 -0
  158. package/dist/os/core/handlers/public-surface.js.map +1 -0
  159. package/dist/os/core/handlers/release-prepare.d.ts +25 -0
  160. package/dist/os/core/handlers/release-prepare.d.ts.map +1 -0
  161. package/dist/os/core/handlers/release-prepare.js +228 -0
  162. package/dist/os/core/handlers/release-prepare.js.map +1 -0
  163. package/dist/os/core/handlers/release-publish.d.ts +13 -0
  164. package/dist/os/core/handlers/release-publish.d.ts.map +1 -0
  165. package/dist/os/core/handlers/release-publish.js +173 -0
  166. package/dist/os/core/handlers/release-publish.js.map +1 -0
  167. package/dist/os/core/handlers/validate.d.ts +39 -0
  168. package/dist/os/core/handlers/validate.d.ts.map +1 -0
  169. package/dist/os/core/handlers/validate.js +241 -0
  170. package/dist/os/core/handlers/validate.js.map +1 -0
  171. package/dist/os/core/index.d.ts +2 -0
  172. package/dist/os/core/index.d.ts.map +1 -0
  173. package/dist/os/core/index.js +13 -0
  174. package/dist/os/core/index.js.map +1 -0
  175. package/dist/os/exploration/exploration.module.d.ts +3 -0
  176. package/dist/os/exploration/exploration.module.d.ts.map +1 -0
  177. package/dist/os/exploration/exploration.module.js +88 -0
  178. package/dist/os/exploration/exploration.module.js.map +1 -0
  179. package/dist/os/exploration/frontmatter-io.d.ts +13 -0
  180. package/dist/os/exploration/frontmatter-io.d.ts.map +1 -0
  181. package/dist/os/exploration/frontmatter-io.js +61 -0
  182. package/dist/os/exploration/frontmatter-io.js.map +1 -0
  183. package/dist/os/exploration/handlers/archive.d.ts +4 -0
  184. package/dist/os/exploration/handlers/archive.d.ts.map +1 -0
  185. package/dist/os/exploration/handlers/archive.js +141 -0
  186. package/dist/os/exploration/handlers/archive.js.map +1 -0
  187. package/dist/os/exploration/handlers/list.d.ts +4 -0
  188. package/dist/os/exploration/handlers/list.d.ts.map +1 -0
  189. package/dist/os/exploration/handlers/list.js +64 -0
  190. package/dist/os/exploration/handlers/list.js.map +1 -0
  191. package/dist/os/exploration/handlers/show.d.ts +4 -0
  192. package/dist/os/exploration/handlers/show.d.ts.map +1 -0
  193. package/dist/os/exploration/handlers/show.js +97 -0
  194. package/dist/os/exploration/handlers/show.js.map +1 -0
  195. package/dist/os/exploration/index.d.ts +7 -0
  196. package/dist/os/exploration/index.d.ts.map +1 -0
  197. package/dist/os/exploration/index.js +17 -0
  198. package/dist/os/exploration/index.js.map +1 -0
  199. package/dist/os/exploration/types.d.ts +38 -0
  200. package/dist/os/exploration/types.d.ts.map +1 -0
  201. package/dist/os/exploration/types.js +23 -0
  202. package/dist/os/exploration/types.js.map +1 -0
  203. package/dist/os/mission/handlers/archive.d.ts +4 -0
  204. package/dist/os/mission/handlers/archive.d.ts.map +1 -0
  205. package/dist/os/mission/handlers/archive.js +454 -0
  206. package/dist/os/mission/handlers/archive.js.map +1 -0
  207. package/dist/os/mission/index.d.ts +2 -0
  208. package/dist/os/mission/index.d.ts.map +1 -0
  209. package/dist/os/mission/index.js +2 -0
  210. package/dist/os/mission/index.js.map +1 -0
  211. package/dist/os/mission/mission.module.d.ts +3 -0
  212. package/dist/os/mission/mission.module.d.ts.map +1 -0
  213. package/dist/os/mission/mission.module.js +55 -0
  214. package/dist/os/mission/mission.module.js.map +1 -0
  215. package/dist/os/mission/types.d.ts +23 -0
  216. package/dist/os/mission/types.d.ts.map +1 -0
  217. package/dist/os/mission/types.js +19 -0
  218. package/dist/os/mission/types.js.map +1 -0
  219. package/dist/os/naming/index.d.ts +3 -0
  220. package/dist/os/naming/index.d.ts.map +1 -0
  221. package/dist/os/naming/index.js +14 -0
  222. package/dist/os/naming/index.js.map +1 -0
  223. package/dist/os/naming/naming-convention.d.ts +25 -0
  224. package/dist/os/naming/naming-convention.d.ts.map +1 -0
  225. package/dist/os/naming/naming-convention.js +334 -0
  226. package/dist/os/naming/naming-convention.js.map +1 -0
  227. package/dist/os/naming/naming.module.d.ts +3 -0
  228. package/dist/os/naming/naming.module.d.ts.map +1 -0
  229. package/dist/os/naming/naming.module.js +41 -0
  230. package/dist/os/naming/naming.module.js.map +1 -0
  231. package/dist/os/notes/index.d.ts +2 -0
  232. package/dist/os/notes/index.d.ts.map +1 -0
  233. package/dist/os/notes/index.js +10 -0
  234. package/dist/os/notes/index.js.map +1 -0
  235. package/dist/os/notes/notes.module.d.ts +3 -0
  236. package/dist/os/notes/notes.module.d.ts.map +1 -0
  237. package/dist/os/notes/notes.module.js +93 -0
  238. package/dist/os/notes/notes.module.js.map +1 -0
  239. package/dist/os/plan/frontmatter-io.d.ts +12 -0
  240. package/dist/os/plan/frontmatter-io.d.ts.map +1 -0
  241. package/dist/os/plan/frontmatter-io.js +69 -0
  242. package/dist/os/plan/frontmatter-io.js.map +1 -0
  243. package/dist/os/plan/handlers/archive.d.ts +4 -0
  244. package/dist/os/plan/handlers/archive.d.ts.map +1 -0
  245. package/dist/os/plan/handlers/archive.js +206 -0
  246. package/dist/os/plan/handlers/archive.js.map +1 -0
  247. package/dist/os/plan/index.d.ts +6 -0
  248. package/dist/os/plan/index.d.ts.map +1 -0
  249. package/dist/os/plan/index.js +16 -0
  250. package/dist/os/plan/index.js.map +1 -0
  251. package/dist/os/plan/plan.module.d.ts +3 -0
  252. package/dist/os/plan/plan.module.d.ts.map +1 -0
  253. package/dist/os/plan/plan.module.js +50 -0
  254. package/dist/os/plan/plan.module.js.map +1 -0
  255. package/dist/os/plan/types.d.ts +12 -0
  256. package/dist/os/plan/types.d.ts.map +1 -0
  257. package/dist/os/plan/types.js +17 -0
  258. package/dist/os/plan/types.js.map +1 -0
  259. package/dist/os/plugin/plugin.module.d.ts +25 -0
  260. package/dist/os/plugin/plugin.module.d.ts.map +1 -0
  261. package/dist/os/plugin/plugin.module.js +212 -0
  262. package/dist/os/plugin/plugin.module.js.map +1 -0
  263. package/dist/os/program/discovery.d.ts +61 -0
  264. package/dist/os/program/discovery.d.ts.map +1 -0
  265. package/dist/os/program/discovery.js +236 -0
  266. package/dist/os/program/discovery.js.map +1 -0
  267. package/dist/os/program/handlers/complete.d.ts +12 -0
  268. package/dist/os/program/handlers/complete.d.ts.map +1 -0
  269. package/dist/os/program/handlers/complete.js +362 -0
  270. package/dist/os/program/handlers/complete.js.map +1 -0
  271. package/dist/os/program/handlers/lease.d.ts +13 -0
  272. package/dist/os/program/handlers/lease.d.ts.map +1 -0
  273. package/dist/os/program/handlers/lease.js +328 -0
  274. package/dist/os/program/handlers/lease.js.map +1 -0
  275. package/dist/os/program/handlers/seal.d.ts +12 -0
  276. package/dist/os/program/handlers/seal.d.ts.map +1 -0
  277. package/dist/os/program/handlers/seal.js +277 -0
  278. package/dist/os/program/handlers/seal.js.map +1 -0
  279. package/dist/os/program/handlers/validate.d.ts +14 -0
  280. package/dist/os/program/handlers/validate.d.ts.map +1 -0
  281. package/dist/os/program/handlers/validate.js +170 -0
  282. package/dist/os/program/handlers/validate.js.map +1 -0
  283. package/dist/os/program/lease.d.ts +39 -0
  284. package/dist/os/program/lease.d.ts.map +1 -0
  285. package/dist/os/program/lease.js +129 -0
  286. package/dist/os/program/lease.js.map +1 -0
  287. package/dist/os/program/program.module.d.ts +3 -0
  288. package/dist/os/program/program.module.d.ts.map +1 -0
  289. package/dist/os/program/program.module.js +209 -0
  290. package/dist/os/program/program.module.js.map +1 -0
  291. package/dist/os/program/schemas.d.ts +225 -0
  292. package/dist/os/program/schemas.d.ts.map +1 -0
  293. package/dist/os/program/schemas.js +174 -0
  294. package/dist/os/program/schemas.js.map +1 -0
  295. package/dist/os/program/state.d.ts +38 -0
  296. package/dist/os/program/state.d.ts.map +1 -0
  297. package/dist/os/program/state.js +189 -0
  298. package/dist/os/program/state.js.map +1 -0
  299. package/dist/os/rfc/acceptance.d.ts +15 -0
  300. package/dist/os/rfc/acceptance.d.ts.map +1 -0
  301. package/dist/os/rfc/acceptance.js +438 -0
  302. package/dist/os/rfc/acceptance.js.map +1 -0
  303. package/dist/os/rfc/decision-log.d.ts +6 -0
  304. package/dist/os/rfc/decision-log.d.ts.map +1 -0
  305. package/dist/os/rfc/decision-log.js +269 -0
  306. package/dist/os/rfc/decision-log.js.map +1 -0
  307. package/dist/os/rfc/dna-trace.d.ts +27 -0
  308. package/dist/os/rfc/dna-trace.d.ts.map +1 -0
  309. package/dist/os/rfc/dna-trace.js +214 -0
  310. package/dist/os/rfc/dna-trace.js.map +1 -0
  311. package/dist/os/rfc/frontmatter-io.d.ts +18 -0
  312. package/dist/os/rfc/frontmatter-io.d.ts.map +1 -0
  313. package/dist/os/rfc/frontmatter-io.js +110 -0
  314. package/dist/os/rfc/frontmatter-io.js.map +1 -0
  315. package/dist/os/rfc/handlers/archive.d.ts +25 -0
  316. package/dist/os/rfc/handlers/archive.d.ts.map +1 -0
  317. package/dist/os/rfc/handlers/archive.js +247 -0
  318. package/dist/os/rfc/handlers/archive.js.map +1 -0
  319. package/dist/os/rfc/handlers/check.d.ts +4 -0
  320. package/dist/os/rfc/handlers/check.d.ts.map +1 -0
  321. package/dist/os/rfc/handlers/check.js +203 -0
  322. package/dist/os/rfc/handlers/check.js.map +1 -0
  323. package/dist/os/rfc/handlers/implement-stamp.d.ts +4 -0
  324. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -0
  325. package/dist/os/rfc/handlers/implement-stamp.js +452 -0
  326. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -0
  327. package/dist/os/rfc/handlers/index-graph.d.ts +13 -0
  328. package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -0
  329. package/dist/os/rfc/handlers/index-graph.js +192 -0
  330. package/dist/os/rfc/handlers/index-graph.js.map +1 -0
  331. package/dist/os/rfc/handlers/lifecycle.d.ts +13 -0
  332. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -0
  333. package/dist/os/rfc/handlers/lifecycle.js +155 -0
  334. package/dist/os/rfc/handlers/lifecycle.js.map +1 -0
  335. package/dist/os/rfc/handlers/list-create.d.ts +6 -0
  336. package/dist/os/rfc/handlers/list-create.d.ts.map +1 -0
  337. package/dist/os/rfc/handlers/list-create.js +260 -0
  338. package/dist/os/rfc/handlers/list-create.js.map +1 -0
  339. package/dist/os/rfc/handlers/pipeline-status.d.ts +26 -0
  340. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -0
  341. package/dist/os/rfc/handlers/pipeline-status.js +124 -0
  342. package/dist/os/rfc/handlers/pipeline-status.js.map +1 -0
  343. package/dist/os/rfc/handlers/shared.d.ts +22 -0
  344. package/dist/os/rfc/handlers/shared.d.ts.map +1 -0
  345. package/dist/os/rfc/handlers/shared.js +105 -0
  346. package/dist/os/rfc/handlers/shared.js.map +1 -0
  347. package/dist/os/rfc/handlers/supersede-propose.d.ts +4 -0
  348. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -0
  349. package/dist/os/rfc/handlers/supersede-propose.js +203 -0
  350. package/dist/os/rfc/handlers/supersede-propose.js.map +1 -0
  351. package/dist/os/rfc/handlers/validate-rules.d.ts +80 -0
  352. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -0
  353. package/dist/os/rfc/handlers/validate-rules.js +907 -0
  354. package/dist/os/rfc/handlers/validate-rules.js.map +1 -0
  355. package/dist/os/rfc/handlers/validate.d.ts +4 -0
  356. package/dist/os/rfc/handlers/validate.d.ts.map +1 -0
  357. package/dist/os/rfc/handlers/validate.js +134 -0
  358. package/dist/os/rfc/handlers/validate.js.map +1 -0
  359. package/dist/os/rfc/handlers.d.ts +7 -0
  360. package/dist/os/rfc/handlers.d.ts.map +1 -0
  361. package/dist/os/rfc/handlers.js +19 -0
  362. package/dist/os/rfc/handlers.js.map +1 -0
  363. package/dist/os/rfc/index.d.ts +18 -0
  364. package/dist/os/rfc/index.d.ts.map +1 -0
  365. package/dist/os/rfc/index.js +24 -0
  366. package/dist/os/rfc/index.js.map +1 -0
  367. package/dist/os/rfc/rfc.module.d.ts +3 -0
  368. package/dist/os/rfc/rfc.module.d.ts.map +1 -0
  369. package/dist/os/rfc/rfc.module.js +390 -0
  370. package/dist/os/rfc/rfc.module.js.map +1 -0
  371. package/dist/os/rfc/types.d.ts +559 -0
  372. package/dist/os/rfc/types.d.ts.map +1 -0
  373. package/dist/os/rfc/types.js +118 -0
  374. package/dist/os/rfc/types.js.map +1 -0
  375. package/dist/os/rfc/verification-evidence.d.ts +15 -0
  376. package/dist/os/rfc/verification-evidence.d.ts.map +1 -0
  377. package/dist/os/rfc/verification-evidence.js +185 -0
  378. package/dist/os/rfc/verification-evidence.js.map +1 -0
  379. package/dist/os/rfc/verification-refresh.d.ts +4 -0
  380. package/dist/os/rfc/verification-refresh.d.ts.map +1 -0
  381. package/dist/os/rfc/verification-refresh.js +160 -0
  382. package/dist/os/rfc/verification-refresh.js.map +1 -0
  383. package/dist/os/session/atif-parser.d.ts +29 -0
  384. package/dist/os/session/atif-parser.d.ts.map +1 -0
  385. package/dist/os/session/atif-parser.js +140 -0
  386. package/dist/os/session/atif-parser.js.map +1 -0
  387. package/dist/os/session/frontmatter-io.d.ts +31 -0
  388. package/dist/os/session/frontmatter-io.d.ts.map +1 -0
  389. package/dist/os/session/frontmatter-io.js +146 -0
  390. package/dist/os/session/frontmatter-io.js.map +1 -0
  391. package/dist/os/session/handlers/archive.d.ts +4 -0
  392. package/dist/os/session/handlers/archive.d.ts.map +1 -0
  393. package/dist/os/session/handlers/archive.js +241 -0
  394. package/dist/os/session/handlers/archive.js.map +1 -0
  395. package/dist/os/session/handlers/list.d.ts +4 -0
  396. package/dist/os/session/handlers/list.d.ts.map +1 -0
  397. package/dist/os/session/handlers/list.js +147 -0
  398. package/dist/os/session/handlers/list.js.map +1 -0
  399. package/dist/os/session/handlers/metrics-aggregate.d.ts +4 -0
  400. package/dist/os/session/handlers/metrics-aggregate.d.ts.map +1 -0
  401. package/dist/os/session/handlers/metrics-aggregate.js +183 -0
  402. package/dist/os/session/handlers/metrics-aggregate.js.map +1 -0
  403. package/dist/os/session/handlers/metrics-rfc.d.ts +4 -0
  404. package/dist/os/session/handlers/metrics-rfc.d.ts.map +1 -0
  405. package/dist/os/session/handlers/metrics-rfc.js +272 -0
  406. package/dist/os/session/handlers/metrics-rfc.js.map +1 -0
  407. package/dist/os/session/handlers/metrics-session.d.ts +9 -0
  408. package/dist/os/session/handlers/metrics-session.d.ts.map +1 -0
  409. package/dist/os/session/handlers/metrics-session.js +167 -0
  410. package/dist/os/session/handlers/metrics-session.js.map +1 -0
  411. package/dist/os/session/handlers/save.d.ts +6 -0
  412. package/dist/os/session/handlers/save.d.ts.map +1 -0
  413. package/dist/os/session/handlers/save.js +319 -0
  414. package/dist/os/session/handlers/save.js.map +1 -0
  415. package/dist/os/session/handlers/validate.d.ts +4 -0
  416. package/dist/os/session/handlers/validate.d.ts.map +1 -0
  417. package/dist/os/session/handlers/validate.js +224 -0
  418. package/dist/os/session/handlers/validate.js.map +1 -0
  419. package/dist/os/session/index.d.ts +9 -0
  420. package/dist/os/session/index.d.ts.map +1 -0
  421. package/dist/os/session/index.js +21 -0
  422. package/dist/os/session/index.js.map +1 -0
  423. package/dist/os/session/session.module.d.ts +3 -0
  424. package/dist/os/session/session.module.d.ts.map +1 -0
  425. package/dist/os/session/session.module.js +147 -0
  426. package/dist/os/session/session.module.js.map +1 -0
  427. package/dist/os/session/types.d.ts +214 -0
  428. package/dist/os/session/types.d.ts.map +1 -0
  429. package/dist/os/session/types.js +61 -0
  430. package/dist/os/session/types.js.map +1 -0
  431. package/dist/os/spec/live-spec-list.d.ts +4 -0
  432. package/dist/os/spec/live-spec-list.d.ts.map +1 -0
  433. package/dist/os/spec/live-spec-list.js +72 -0
  434. package/dist/os/spec/live-spec-list.js.map +1 -0
  435. package/dist/os/spec/live-spec-merge.d.ts +4 -0
  436. package/dist/os/spec/live-spec-merge.d.ts.map +1 -0
  437. package/dist/os/spec/live-spec-merge.js +316 -0
  438. package/dist/os/spec/live-spec-merge.js.map +1 -0
  439. package/dist/os/spec/live-spec-show.d.ts +4 -0
  440. package/dist/os/spec/live-spec-show.d.ts.map +1 -0
  441. package/dist/os/spec/live-spec-show.js +105 -0
  442. package/dist/os/spec/live-spec-show.js.map +1 -0
  443. package/dist/os/spec/live-spec-types.d.ts +71 -0
  444. package/dist/os/spec/live-spec-types.d.ts.map +1 -0
  445. package/dist/os/spec/live-spec-types.js +14 -0
  446. package/dist/os/spec/live-spec-types.js.map +1 -0
  447. package/dist/os/spec/live-spec-validate.d.ts +4 -0
  448. package/dist/os/spec/live-spec-validate.d.ts.map +1 -0
  449. package/dist/os/spec/live-spec-validate.js +140 -0
  450. package/dist/os/spec/live-spec-validate.js.map +1 -0
  451. package/dist/os/spec/spec-materialize.d.ts +21 -0
  452. package/dist/os/spec/spec-materialize.d.ts.map +1 -0
  453. package/dist/os/spec/spec-materialize.js +342 -0
  454. package/dist/os/spec/spec-materialize.js.map +1 -0
  455. package/dist/os/spec/spec-schema.d.ts +126 -0
  456. package/dist/os/spec/spec-schema.d.ts.map +1 -0
  457. package/dist/os/spec/spec-schema.js +118 -0
  458. package/dist/os/spec/spec-schema.js.map +1 -0
  459. package/dist/os/spec/spec-status.d.ts +33 -0
  460. package/dist/os/spec/spec-status.d.ts.map +1 -0
  461. package/dist/os/spec/spec-status.js +228 -0
  462. package/dist/os/spec/spec-status.js.map +1 -0
  463. package/dist/os/spec/spec-validate.d.ts +4 -0
  464. package/dist/os/spec/spec-validate.d.ts.map +1 -0
  465. package/dist/os/spec/spec-validate.js +438 -0
  466. package/dist/os/spec/spec-validate.js.map +1 -0
  467. package/dist/os/spec/spec.module.d.ts +3 -0
  468. package/dist/os/spec/spec.module.d.ts.map +1 -0
  469. package/dist/os/spec/spec.module.js +129 -0
  470. package/dist/os/spec/spec.module.js.map +1 -0
  471. package/dist/os/werkstatt/handlers/lock.d.ts +10 -0
  472. package/dist/os/werkstatt/handlers/lock.d.ts.map +1 -0
  473. package/dist/os/werkstatt/handlers/lock.js +153 -0
  474. package/dist/os/werkstatt/handlers/lock.js.map +1 -0
  475. package/dist/os/werkstatt/handlers/schema.d.ts +33 -0
  476. package/dist/os/werkstatt/handlers/schema.d.ts.map +1 -0
  477. package/dist/os/werkstatt/handlers/schema.js +42 -0
  478. package/dist/os/werkstatt/handlers/schema.js.map +1 -0
  479. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +15 -0
  480. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -0
  481. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +152 -0
  482. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -0
  483. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +18 -0
  484. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +1 -0
  485. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +51 -0
  486. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +1 -0
  487. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +11 -0
  488. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +1 -0
  489. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +79 -0
  490. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +1 -0
  491. package/dist/os/werkstatt/handlers/workspace-deps.d.ts +12 -0
  492. package/dist/os/werkstatt/handlers/workspace-deps.d.ts.map +1 -0
  493. package/dist/os/werkstatt/handlers/workspace-deps.js +42 -0
  494. package/dist/os/werkstatt/handlers/workspace-deps.js.map +1 -0
  495. package/dist/os/werkstatt/index.d.ts +7 -0
  496. package/dist/os/werkstatt/index.d.ts.map +1 -0
  497. package/dist/os/werkstatt/index.js +18 -0
  498. package/dist/os/werkstatt/index.js.map +1 -0
  499. package/dist/os/werkstatt/werkstatt.module.d.ts +3 -0
  500. package/dist/os/werkstatt/werkstatt.module.d.ts.map +1 -0
  501. package/dist/os/werkstatt/werkstatt.module.js +63 -0
  502. package/dist/os/werkstatt/werkstatt.module.js.map +1 -0
  503. package/dist/os/workflow/handlers.d.ts +12 -0
  504. package/dist/os/workflow/handlers.d.ts.map +1 -0
  505. package/dist/os/workflow/handlers.js +262 -0
  506. package/dist/os/workflow/handlers.js.map +1 -0
  507. package/dist/os/workflow/index.d.ts +4 -0
  508. package/dist/os/workflow/index.d.ts.map +1 -0
  509. package/dist/os/workflow/index.js +18 -0
  510. package/dist/os/workflow/index.js.map +1 -0
  511. package/dist/os/workflow/types.d.ts +69 -0
  512. package/dist/os/workflow/types.d.ts.map +1 -0
  513. package/dist/os/workflow/types.js +23 -0
  514. package/dist/os/workflow/types.js.map +1 -0
  515. package/dist/os/workflow/workflow.module.d.ts +3 -0
  516. package/dist/os/workflow/workflow.module.d.ts.map +1 -0
  517. package/dist/os/workflow/workflow.module.js +56 -0
  518. package/dist/os/workflow/workflow.module.js.map +1 -0
  519. package/dist/src/cli-output.d.ts +5 -0
  520. package/dist/src/cli-output.d.ts.map +1 -0
  521. package/dist/src/cli-output.js +53 -0
  522. package/dist/src/cli-output.js.map +1 -0
  523. package/dist/src/compass/contract-registry.d.ts +7 -0
  524. package/dist/src/compass/contract-registry.d.ts.map +1 -0
  525. package/dist/src/compass/contract-registry.js +112 -0
  526. package/dist/src/compass/contract-registry.js.map +1 -0
  527. package/dist/src/compass/types.d.ts +28 -0
  528. package/dist/src/compass/types.d.ts.map +1 -0
  529. package/dist/src/compass/types.js +14 -0
  530. package/dist/src/compass/types.js.map +1 -0
  531. package/dist/src/config/forge-config.d.ts +242 -0
  532. package/dist/src/config/forge-config.d.ts.map +1 -0
  533. package/dist/src/config/forge-config.js +363 -0
  534. package/dist/src/config/forge-config.js.map +1 -0
  535. package/dist/src/forge-module.d.ts +29 -0
  536. package/dist/src/forge-module.d.ts.map +1 -0
  537. package/dist/src/forge-module.js +16 -0
  538. package/dist/src/forge-module.js.map +1 -0
  539. package/dist/src/index.d.ts +39 -0
  540. package/dist/src/index.d.ts.map +1 -0
  541. package/dist/src/index.js +59 -0
  542. package/dist/src/index.js.map +1 -0
  543. package/dist/src/knowledge/budgets.d.ts +38 -0
  544. package/dist/src/knowledge/budgets.d.ts.map +1 -0
  545. package/dist/src/knowledge/budgets.js +157 -0
  546. package/dist/src/knowledge/budgets.js.map +1 -0
  547. package/dist/src/knowledge/compact.d.ts +47 -0
  548. package/dist/src/knowledge/compact.d.ts.map +1 -0
  549. package/dist/src/knowledge/compact.js +320 -0
  550. package/dist/src/knowledge/compact.js.map +1 -0
  551. package/dist/src/knowledge/index.d.ts +7 -0
  552. package/dist/src/knowledge/index.d.ts.map +1 -0
  553. package/dist/src/knowledge/index.js +19 -0
  554. package/dist/src/knowledge/index.js.map +1 -0
  555. package/dist/src/knowledge/parse.d.ts +3 -0
  556. package/dist/src/knowledge/parse.d.ts.map +1 -0
  557. package/dist/src/knowledge/parse.js +205 -0
  558. package/dist/src/knowledge/parse.js.map +1 -0
  559. package/dist/src/knowledge/promote.d.ts +37 -0
  560. package/dist/src/knowledge/promote.d.ts.map +1 -0
  561. package/dist/src/knowledge/promote.js +120 -0
  562. package/dist/src/knowledge/promote.js.map +1 -0
  563. package/dist/src/knowledge/schema.d.ts +61 -0
  564. package/dist/src/knowledge/schema.d.ts.map +1 -0
  565. package/dist/src/knowledge/schema.js +64 -0
  566. package/dist/src/knowledge/schema.js.map +1 -0
  567. package/dist/src/knowledge/serialize.d.ts +3 -0
  568. package/dist/src/knowledge/serialize.d.ts.map +1 -0
  569. package/dist/src/knowledge/serialize.js +67 -0
  570. package/dist/src/knowledge/serialize.js.map +1 -0
  571. package/dist/src/migration-adapters/git-utils.d.ts +3 -0
  572. package/dist/src/migration-adapters/git-utils.d.ts.map +1 -0
  573. package/dist/src/migration-adapters/git-utils.js +65 -0
  574. package/dist/src/migration-adapters/git-utils.js.map +1 -0
  575. package/dist/src/migration-adapters/ignored-files.d.ts +12 -0
  576. package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -0
  577. package/dist/src/migration-adapters/ignored-files.js +190 -0
  578. package/dist/src/migration-adapters/ignored-files.js.map +1 -0
  579. package/dist/src/migration-adapters/index.d.ts +8 -0
  580. package/dist/src/migration-adapters/index.d.ts.map +1 -0
  581. package/dist/src/migration-adapters/index.js +17 -0
  582. package/dist/src/migration-adapters/index.js.map +1 -0
  583. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +3 -0
  584. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +1 -0
  585. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +141 -0
  586. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +1 -0
  587. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +3 -0
  588. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +1 -0
  589. package/dist/src/migration-adapters/phaser-pnpm/index.js +142 -0
  590. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +1 -0
  591. package/dist/src/migration-adapters/registry.d.ts +6 -0
  592. package/dist/src/migration-adapters/registry.d.ts.map +1 -0
  593. package/dist/src/migration-adapters/registry.js +55 -0
  594. package/dist/src/migration-adapters/registry.js.map +1 -0
  595. package/dist/src/migration-adapters/types.d.ts +35 -0
  596. package/dist/src/migration-adapters/types.d.ts.map +1 -0
  597. package/dist/src/migration-adapters/types.js +31 -0
  598. package/dist/src/migration-adapters/types.js.map +1 -0
  599. package/dist/src/onboarding/agents-generate.d.ts +31 -0
  600. package/dist/src/onboarding/agents-generate.d.ts.map +1 -0
  601. package/dist/src/onboarding/agents-generate.js +373 -0
  602. package/dist/src/onboarding/agents-generate.js.map +1 -0
  603. package/dist/src/onboarding/create.d.ts +12 -0
  604. package/dist/src/onboarding/create.d.ts.map +1 -0
  605. package/dist/src/onboarding/create.js +408 -0
  606. package/dist/src/onboarding/create.js.map +1 -0
  607. package/dist/src/onboarding/doctor.d.ts +45 -0
  608. package/dist/src/onboarding/doctor.d.ts.map +1 -0
  609. package/dist/src/onboarding/doctor.js +1222 -0
  610. package/dist/src/onboarding/doctor.js.map +1 -0
  611. package/dist/src/onboarding/init.d.ts +36 -0
  612. package/dist/src/onboarding/init.d.ts.map +1 -0
  613. package/dist/src/onboarding/init.js +412 -0
  614. package/dist/src/onboarding/init.js.map +1 -0
  615. package/dist/src/onboarding/invariant-engine.d.ts +17 -0
  616. package/dist/src/onboarding/invariant-engine.d.ts.map +1 -0
  617. package/dist/src/onboarding/invariant-engine.js +416 -0
  618. package/dist/src/onboarding/invariant-engine.js.map +1 -0
  619. package/dist/src/onboarding/memory-scaffold.d.ts +18 -0
  620. package/dist/src/onboarding/memory-scaffold.d.ts.map +1 -0
  621. package/dist/src/onboarding/memory-scaffold.js +151 -0
  622. package/dist/src/onboarding/memory-scaffold.js.map +1 -0
  623. package/dist/src/onboarding/nested-agents-generate.d.ts +18 -0
  624. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -0
  625. package/dist/src/onboarding/nested-agents-generate.js +69 -0
  626. package/dist/src/onboarding/nested-agents-generate.js.map +1 -0
  627. package/dist/src/onboarding/nested-agents-templates.d.ts +26 -0
  628. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -0
  629. package/dist/src/onboarding/nested-agents-templates.js +179 -0
  630. package/dist/src/onboarding/nested-agents-templates.js.map +1 -0
  631. package/dist/src/onboarding/profile-validate.d.ts +13 -0
  632. package/dist/src/onboarding/profile-validate.d.ts.map +1 -0
  633. package/dist/src/onboarding/profile-validate.js +109 -0
  634. package/dist/src/onboarding/profile-validate.js.map +1 -0
  635. package/dist/src/onboarding/scaffold-project.d.ts +12 -0
  636. package/dist/src/onboarding/scaffold-project.d.ts.map +1 -0
  637. package/dist/src/onboarding/scaffold-project.js +264 -0
  638. package/dist/src/onboarding/scaffold-project.js.map +1 -0
  639. package/dist/src/onboarding/scaffold.d.ts +15 -0
  640. package/dist/src/onboarding/scaffold.d.ts.map +1 -0
  641. package/dist/src/onboarding/scaffold.js +123 -0
  642. package/dist/src/onboarding/scaffold.js.map +1 -0
  643. package/dist/src/onboarding/upgrade.d.ts +27 -0
  644. package/dist/src/onboarding/upgrade.d.ts.map +1 -0
  645. package/dist/src/onboarding/upgrade.js +453 -0
  646. package/dist/src/onboarding/upgrade.js.map +1 -0
  647. package/dist/src/onboarding/workspace-discovery.d.ts +11 -0
  648. package/dist/src/onboarding/workspace-discovery.d.ts.map +1 -0
  649. package/dist/src/onboarding/workspace-discovery.js +138 -0
  650. package/dist/src/onboarding/workspace-discovery.js.map +1 -0
  651. package/dist/src/plugin/forge-plugin-manifest.d.ts +38 -0
  652. package/dist/src/plugin/forge-plugin-manifest.d.ts.map +1 -0
  653. package/dist/src/plugin/forge-plugin-manifest.js +52 -0
  654. package/dist/src/plugin/forge-plugin-manifest.js.map +1 -0
  655. package/dist/src/profiles/profile-schema.d.ts +361 -0
  656. package/dist/src/profiles/profile-schema.d.ts.map +1 -0
  657. package/dist/src/profiles/profile-schema.js +208 -0
  658. package/dist/src/profiles/profile-schema.js.map +1 -0
  659. package/dist/src/profiles/stack-profile.d.ts +173 -0
  660. package/dist/src/profiles/stack-profile.d.ts.map +1 -0
  661. package/dist/src/profiles/stack-profile.js +148 -0
  662. package/dist/src/profiles/stack-profile.js.map +1 -0
  663. package/dist/src/profiles/terminology-utils.d.ts +8 -0
  664. package/dist/src/profiles/terminology-utils.d.ts.map +1 -0
  665. package/dist/src/profiles/terminology-utils.js +31 -0
  666. package/dist/src/profiles/terminology-utils.js.map +1 -0
  667. package/dist/src/registry.d.ts +38 -0
  668. package/dist/src/registry.d.ts.map +1 -0
  669. package/dist/src/registry.js +174 -0
  670. package/dist/src/registry.js.map +1 -0
  671. package/dist/src/skill-schema.d.ts +30 -0
  672. package/dist/src/skill-schema.d.ts.map +1 -0
  673. package/dist/src/skill-schema.js +34 -0
  674. package/dist/src/skill-schema.js.map +1 -0
  675. package/dist/src/types.d.ts +158 -0
  676. package/dist/src/types.d.ts.map +1 -0
  677. package/dist/src/types.js +17 -0
  678. package/dist/src/types.js.map +1 -0
  679. package/dist/src/utils/fs-atomic.d.ts +7 -0
  680. package/dist/src/utils/fs-atomic.d.ts.map +1 -0
  681. package/dist/src/utils/fs-atomic.js +81 -0
  682. package/dist/src/utils/fs-atomic.js.map +1 -0
  683. package/dist/src/utils/fs-idempotent.d.ts +2 -0
  684. package/dist/src/utils/fs-idempotent.d.ts.map +1 -0
  685. package/dist/src/utils/fs-idempotent.js +39 -0
  686. package/dist/src/utils/fs-idempotent.js.map +1 -0
  687. package/dist/src/utils/fs-trash-sync.d.ts +2 -0
  688. package/dist/src/utils/fs-trash-sync.d.ts.map +1 -0
  689. package/dist/src/utils/fs-trash-sync.js +34 -0
  690. package/dist/src/utils/fs-trash-sync.js.map +1 -0
  691. package/dist/src/utils/fs-trash.d.ts +2 -0
  692. package/dist/src/utils/fs-trash.d.ts.map +1 -0
  693. package/dist/src/utils/fs-trash.js +24 -0
  694. package/dist/src/utils/fs-trash.js.map +1 -0
  695. package/dist/src/utils/fs.d.ts +8 -0
  696. package/dist/src/utils/fs.d.ts.map +1 -0
  697. package/dist/src/utils/fs.js +60 -0
  698. package/dist/src/utils/fs.js.map +1 -0
  699. package/dist/src/utils/generated-marker.d.ts +28 -0
  700. package/dist/src/utils/generated-marker.d.ts.map +1 -0
  701. package/dist/src/utils/generated-marker.js +138 -0
  702. package/dist/src/utils/generated-marker.js.map +1 -0
  703. package/dist/src/utils/hash.d.ts +2 -0
  704. package/dist/src/utils/hash.d.ts.map +1 -0
  705. package/dist/src/utils/hash.js +18 -0
  706. package/dist/src/utils/hash.js.map +1 -0
  707. package/dist/src/utils/index.d.ts +9 -0
  708. package/dist/src/utils/index.d.ts.map +1 -0
  709. package/dist/src/utils/index.js +21 -0
  710. package/dist/src/utils/index.js.map +1 -0
  711. package/dist/src/utils/string-utils.d.ts +2 -0
  712. package/dist/src/utils/string-utils.d.ts.map +1 -0
  713. package/dist/src/utils/string-utils.js +19 -0
  714. package/dist/src/utils/string-utils.js.map +1 -0
  715. package/dist/src/validators/note-frontmatter-validate.d.ts +20 -0
  716. package/dist/src/validators/note-frontmatter-validate.d.ts.map +1 -0
  717. package/dist/src/validators/note-frontmatter-validate.js +117 -0
  718. package/dist/src/validators/note-frontmatter-validate.js.map +1 -0
  719. package/dist/src/validators/note-link-validate.d.ts +21 -0
  720. package/dist/src/validators/note-link-validate.d.ts.map +1 -0
  721. package/dist/src/validators/note-link-validate.js +121 -0
  722. package/dist/src/validators/note-link-validate.js.map +1 -0
  723. package/dist/src/validators/note-orphan-detect.d.ts +19 -0
  724. package/dist/src/validators/note-orphan-detect.d.ts.map +1 -0
  725. package/dist/src/validators/note-orphan-detect.js +123 -0
  726. package/dist/src/validators/note-orphan-detect.js.map +1 -0
  727. package/dist/src/validators/port-validate.d.ts +12 -0
  728. package/dist/src/validators/port-validate.d.ts.map +1 -0
  729. package/dist/src/validators/port-validate.js +78 -0
  730. package/dist/src/validators/port-validate.js.map +1 -0
  731. package/dist/src/validators/skill-validate.d.ts +29 -0
  732. package/dist/src/validators/skill-validate.d.ts.map +1 -0
  733. package/dist/src/validators/skill-validate.js +689 -0
  734. package/dist/src/validators/skill-validate.js.map +1 -0
  735. package/docs/concepts/governance-model.md +33 -0
  736. package/docs/concepts/project-contract.md +61 -0
  737. package/docs/concepts/why-forge.md +46 -0
  738. package/docs/getting-started.md +44 -0
  739. package/docs/guides/existing-project.md +38 -0
  740. package/docs/guides/rfc-adr.md +61 -0
  741. package/docs/guides/skills.md +60 -0
  742. package/docs/guides/upgrading.md +35 -0
  743. package/docs/maintainers/publishing.md +34 -0
  744. package/docs/reference/cli.md +140 -0
  745. package/docs/reference/forge-yaml.md +114 -0
  746. package/docs/reference/profiles.md +37 -0
  747. package/docs/reference/programmatic-api.md +79 -0
  748. package/os/core/core.module.ts +15 -0
  749. package/os/core/handlers/public-surface.ts +189 -0
  750. package/os/rfc/handlers/validate-rules.ts +0 -1
  751. package/os/rfc/verification-refresh.test.ts +15 -14
  752. package/os/rfc/verification-refresh.ts +1 -7
  753. package/os/session/handlers/metrics-session.ts +10 -9
  754. package/package.json +15 -7
  755. package/skills/fo/fo-session-retro/SKILL.md +2 -1
  756. package/src/tests/metrics-rfc-1053.test.ts +14 -4
  757. package/src/tests/public-surface.test.ts +247 -0
package/README.md CHANGED
@@ -2,15 +2,17 @@
2
2
 
3
3
  [Українська](README.uk.md) | English
4
4
 
5
- Portable governance engine for AI-assisted project development. Provides skills, RFC/ADR workflows, naming conventions, spec vendoring, and a CLI — all framework-agnostic and dependency-free (only `yaml` + `zod`).
5
+ **AI can write the code. Forge keeps the project engineered.**
6
6
 
7
- > Engineered at [Warpgogol](https://warpgogol.com) · Released as open source.
7
+ A repository-native control layer for AI-assisted development. Decisions, rules, skills and verification stay with the project — independent of the agent that works on it.
8
+
9
+ [![npm version](https://img.shields.io/npm/v/@warpgogol/forge.svg)](https://www.npmjs.com/package/@warpgogol/forge) [![npm downloads](https://img.shields.io/npm/dm/@warpgogol/forge.svg)](https://www.npmjs.com/package/@warpgogol/forge) [![CI](https://github.com/syrokomskyi/forge/actions/workflows/ci.yml/badge.svg)](https://github.com/syrokomskyi/forge/actions) [![Node](https://img.shields.io/badge/Node-24%2B-green.svg)](https://nodejs.org) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE)
8
10
 
9
11
  ---
10
12
 
11
13
  ## Start right now
12
14
 
13
- Create a new folder, open it in your AI IDE (Windsurf, Cursor, or any IDE that supports AI agents), and paste this:
15
+ Create a new folder, open it in your AI IDE (Windsurf, Cursor, Claude Code, Codex CLI, or any IDE that supports AI agents), and paste this:
14
16
 
15
17
  ```
16
18
  Install https://npmjs.com/package/@warpgogol/forge in this folder and set up my project. I want to build: [describe your project]
@@ -32,323 +34,133 @@ The skill asks a few simple questions in the chat, then sets everything up. Afte
32
34
 
33
35
  ---
34
36
 
35
- ## What you can build with Forge
36
-
37
- Forge supports five kinds of projects. You pick one when you start — everything else is automatic.
38
-
39
- | Project type | What it is | Example ideas |
40
- | --- | --- | --- |
41
- | **Browser game** | An interactive game that runs in a web browser — 2D, arcade, puzzle, adventure | Catch falling stars, tile-matching puzzle, platformer |
42
- | **Governance / library** | A code library or governance-only project — no website, no game, no video, just structure and documentation | npm package, internal toolkit, documentation hub |
43
- | **Godot game** | A desktop or mobile game built with Godot 4.x and C# — 2D, 3D, platformer, RPG | Top-down adventure, 3D platformer, puzzle game |
44
- | **Knowledge system** | An evidence-backed knowledge base — structured datasets where claims are backed by registered source provenance | Game knowledge base, domain ontology, curated reference dataset |
45
- | **TypeScript library** | A generic TypeScript monorepo with best-practice validators — tsconfig, import boundaries, phantom deps, package exports, strict mode, barrel safety | Internal toolkit, shared library, TypeScript monorepo |
46
-
47
- Each project type gets its own scaffold: the right folder structure, the right dependencies, the right tools. You don't need to know what any of those are — Forge sets them up for you.
48
-
49
- ---
50
-
51
- ## Forge and the Werkstatt engine
52
-
53
- Forge is the **governance layer** — skills, RFC/ADR workflows, naming conventions, spec vendoring, and the CLI. It is framework-agnostic and has zero runtime dependencies (only `yaml` + `zod`).
54
-
55
- For full project lifecycle management — missions, releases, deployment, certification, quality checks, content codegen — Forge connects to the **Werkstatt engine** and **stack-specific plugins**. These are separate npm packages installed alongside Forge when you need runtime capabilities beyond governance.
56
-
57
- | Package | Purpose | Required for |
58
- | --- | --- | --- |
59
- | [`@warpgogol/werkstatt`](https://github.com/syrokomskyi/werkstatt) | Runtime engine — missions, releases, Leitstand deployment, certification, Bordbuch, artifact store | All project types with lifecycle management |
60
- | [`@warpgogol/werkstatt-shared`](https://github.com/syrokomskyi/werkstatt-shared) | Shared infrastructure — checks, integration, ontology, passport | Installed automatically with the engine |
61
- | [`@warpgogol/werkstatt-phaser-game`](https://github.com/syrokomskyi/werkstatt-phaser-game) | Phaser game plugin — phaser validators, Vite build, deploy adapters | Browser game projects (`phaser-turborepo`) |
62
- | [`@warpgogol/werkstatt-godot-game`](https://github.com/syrokomskyi/werkstatt-godot-game) | Godot plugin — scene validators, dotnet build, itch.io deploy, Godot skills | Godot game projects (`godot-csharp`) |
63
- | [`@warpgogol/werkstatt-knowledge`](https://github.com/syrokomskyi/werkstatt-knowledge) | Knowledge plugin — source binding, canonical verification, extraction, materialization, release checks | Knowledge system projects (`knowledge-typescript-turborepo`) |
64
- | [`@warpgogol/werkstatt-typescript`](https://github.com/syrokomskyi/werkstatt-typescript) | TypeScript plugin — tsconfig, import boundaries, phantom deps, package exports, strict mode, barrel validators | TypeScript TurboRepo projects (`typescript-turborepo`) |
65
-
66
- ### When you need these packages
67
-
68
- - **Governance-only projects** (RFCs, ADRs, skills, documentation hubs) — Forge alone is sufficient.
69
- - **Games, Godot projects, Knowledge systems** — install `@warpgogol/werkstatt` (the engine) plus the matching stack plugin. The `forge-bootstrap` skill configures bindings automatically; the packages themselves must be installed as devDependencies.
70
-
71
- ### Installing engine packages
72
-
73
- ```sh
74
- # Browser game project
75
- pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-phaser-game
76
-
77
- # Godot game project
78
- pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-godot-game
79
-
80
- # Knowledge system project
81
- pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-knowledge
82
- ```
37
+ ## Quick start (terminal)
83
38
 
84
39
  ```sh
85
- # TypeScript TurboRepo project
86
- pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-typescript
40
+ pnpm dlx @warpgogol/forge@latest create --in-place --profile typescript-turborepo
87
41
  ```
88
42
 
89
- > **Note for agents:** When scaffolding a new project with `forge create`, always install the engine and matching stack plugin after the scaffold completes. The `forge.yaml` bindings reference commands from these packages (e.g. `pnpm exec werkstatt run rfc.validate`), and they will fail if the packages are not installed.
90
-
91
- ---
92
-
93
- ## Complete installation guide (from zero)
94
-
95
- If you've never programmed before, this section takes you from a completely empty computer to a working Forge setup. Follow the steps for your operating system.
96
-
97
- ### What you need
98
-
99
- You need two free programs:
100
-
101
- - **Node.js** (version 24 or newer) — lets your computer run JavaScript tools.
102
- - **pnpm** — the package manager Forge uses to install dependencies. It's built into Node.js and just needs to be switched on.
103
-
104
- Both are free. You install Node.js first, then enable pnpm with a single command.
105
-
106
- ### Ubuntu
43
+ Then open the project in your AI IDE (Windsurf, Cursor, Claude Code, Codex CLI, or any IDE that supports AI agents) and tell the agent what you want to build.
107
44
 
108
- #### Step 1 Install Node.js
45
+ One bootstrap command. After that, work through your coding agent.
109
46
 
110
- 1. Open the **Terminal** app (press `Ctrl + Alt + T`, or search for "Terminal" in your applications).
47
+ ### Stack profiles
111
48
 
112
- 2. Download and install Node.js 24 (LTS) by pasting this command and pressing Enter:
49
+ Forge is project-agnostic. Stack profiles provide ready-made starting points.
113
50
 
114
- ```sh
115
- curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs
116
- ```
117
-
118
- You'll be asked for your password — type it (you won't see the characters as you type, that's normal) and press Enter.
119
-
120
- 3. Verify it worked:
121
-
122
- ```sh
123
- node --version
124
- ```
125
-
126
- You should see a version number like `v22.x.x`, not an error message.
127
-
128
- #### Step 2 — Enable pnpm
129
-
130
- Node.js includes a tool called **Corepack** that manages package managers. Enable pnpm with:
131
-
132
- ```sh
133
- corepack enable pnpm
134
- ```
135
-
136
- Verify:
51
+ | Profile | Use case |
52
+ | -------------------------------- | ----------------------------------------------------- |
53
+ | `forge-shell` | Governance-only projects, libraries, non-web projects |
54
+ | `typescript-turborepo` | TypeScript monorepo with best-practice validators |
55
+ | `phaser-turborepo` | Browser games, interactive experiences |
56
+ | `godot-csharp` | Desktop/mobile games with Godot 4.x + C# |
57
+ | `knowledge-typescript-turborepo` | Evidence-backed knowledge bases |
137
58
 
138
59
  ```sh
139
- pnpm --version
60
+ # List available profiles
61
+ pnpm exec forge profile.validate
140
62
  ```
141
63
 
142
- You should see a version number like `10.x.x`.
143
-
144
- #### Step 3 — Install an AI-powered IDE
145
-
146
- Forge works through conversation with an AI agent. You need an IDE that supports AI agents. We recommend **Windsurf** (tested with Forge):
147
-
148
- 1. Go to [windsurf.com](https://windsurf.com) and download the Linux version.
149
- 2. Open the downloaded file and follow the installer.
150
- 3. Launch Windsurf.
151
-
152
- You can also use **Cursor** ([cursor.com](https://cursor.com)) or any IDE that supports AI agent skills.
153
-
154
- ### Windows
155
-
156
- #### Step 1 — Install Node.js
157
-
158
- 1. Go to [nodejs.org](https://nodejs.org) in your web browser.
159
- 2. Download the **LTS version** (it will say "LTS" and "Recommended for Most Users"). It should be version 22.x or newer.
160
- 3. Run the downloaded installer (`.msi` file). Accept all default options by clicking **Next** through each screen, then **Install**. If Windows asks for permission, click **Yes**.
161
-
162
- 4. Verify it worked. Open **PowerShell** (search for "PowerShell" in the Start menu) and type:
163
-
164
- ```sh
165
- node --version
166
- ```
167
-
168
- You should see a version number like `v22.x.x`, not an error message.
169
-
170
- #### Step 2 — Enable pnpm
171
-
172
- Node.js includes a tool called **Corepack** that manages package managers. Enable pnpm with:
173
-
174
- ```sh
175
- corepack enable pnpm
176
- ```
64
+ ---
177
65
 
178
- Verify:
66
+ ## Architecture
179
67
 
180
- ```sh
181
- pnpm --version
182
68
  ```
183
-
184
- You should see a version number like `10.x.x`.
185
-
186
- #### Step 3 — Install an AI-powered IDE
187
-
188
- Forge works through conversation with an AI agent. You need an IDE that supports AI agents. We recommend **Windsurf** (tested with Forge):
189
-
190
- 1. Go to [windsurf.com](https://windsurf.com) and download the Windows version.
191
- 2. Run the downloaded installer and follow the setup wizard.
192
- 3. Launch Windsurf.
193
-
194
- You can also use **Cursor** ([cursor.com](https://cursor.com)) or any IDE that supports AI agent skills.
195
-
196
- ### Optional — Install Godot and .NET (only for Godot game projects)
197
-
198
- If you're planning to create **Godot game** projects (the `godot-csharp` profile), you need two additional tools:
199
-
200
- - **Godot 4.x** (with .NET support) — the game engine. Download it from [godotengine.org/download](https://godotengine.org/download). Make sure to choose the ".NET" version (not the standard version).
201
- - **.NET SDK 8+** — the C# runtime and build tools. Download it from [dotnet.microsoft.com/download](https://dotnet.microsoft.com/download).
202
-
203
- Verify both are installed:
204
-
205
- ```sh
206
- godot --version
207
- dotnet --version
69
+ IDE / AGENT / MODEL
70
+
71
+ ┌──────────────────────────────────┐
72
+ │ FORGE │
73
+ │ │
74
+ Project contract forge.yaml │
75
+ │ Decisions RFC / ADR │
76
+ Agent workflows Skills │
77
+ Verification Validators │
78
+ Evolution Upgrade │
79
+ └──────────────────────────────────┘
80
+
81
+ YOUR REPOSITORY
208
82
  ```
209
83
 
210
- ### Troubleshooting
211
-
212
- - **"command not found" after installing Node.js** — Close and reopen your terminal (Ubuntu) or PowerShell (Windows). The system needs to reload the list of available commands.
213
- - **"corepack: command not found"** — Your Node.js version is too old. Install Node.js 24+ using the steps above.
214
- - **AI agent doesn't know about Forge** — You opened an empty folder, but the AI agent has no Forge context. Run `pnpm dlx @warpgogol/forge@latest create --in-place --profile phaser-turborepo` (or the appropriate profile) in a terminal first, then open the folder in your IDE. The `forge create` command populates the current folder with skills, configuration, and `AGENTS.md` — without it, the AI agent can't discover Forge.
84
+ Agents can change. Models can change. IDEs can change. Engineering rules stay with the project.
215
85
 
216
86
  ---
217
87
 
218
- ## Quick start
219
-
220
- ### For creative operators — one command, then just talk
221
-
222
- You need to run one command in the terminal to create your project. After that, everything works through conversation with an AI agent — no more commands.
223
-
224
- #### Start a new project from scratch
225
-
226
- 1. **Create a project folder and scaffold Forge in-place.** Open a terminal (PowerShell on Windows, Terminal on Ubuntu) and run:
227
-
228
- ```sh
229
- mkdir my-game
230
- cd my-game
231
- pnpm dlx @warpgogol/forge@latest create --in-place --profile phaser-turborepo
232
- ```
233
-
234
- The project name is derived from the folder name (`my-game` in this example). You can override it with `--name`. This populates the current folder with everything Forge needs — skills, configuration, and project structure. For other project types, use a different `--profile`:
235
-
236
- | What you want to build | Profile flag |
237
- | ----------------------------------- | ------------------------------------------ |
238
- | Browser game (2D, arcade, puzzle) | `--profile phaser-turborepo` |
239
- | Godot game (desktop, mobile, 2D/3D) | `--profile godot-csharp` |
240
- | Knowledge system (evidence-backed) | `--profile knowledge-typescript-turborepo` |
241
- | TypeScript library (monorepo) | `--profile typescript-turborepo` |
242
- | Library or governance-only project | `--profile forge-shell` |
243
-
244
- 2. **Open the project folder in your AI IDE.** Open the folder from step 1 in Windsurf or your preferred IDE.
245
-
246
- 3. **Tell the AI agent what you want to build.** Just type it in the chat, in your own words. For example:
247
-
248
- > I want to build a Godot game where you catch falling stars.
249
-
250
- Or:
251
-
252
- > I want to make a browser game where you catch falling stars.
253
-
254
- Or:
255
-
256
- > I want to create a TypeScript library for calculating astrology charts.
257
-
258
- That's it. The AI agent will do everything else:
259
- - Set up the project structure based on what you described (game, library, etc.)
260
- - Configure language preferences and project settings
261
- - Start a live preview so you can see your work (for games)
262
- - Tell you the URL to open in your browser
88
+ ## What Forge controls
263
89
 
264
- 4. **Watch the preview.** For games, the AI agent will give you a localhost link. Click it — your project is already running. As you describe changes, the agent updates the project and the preview refreshes automatically.
90
+ | Plane | What it governs |
91
+ | ------------------ | -------------------------------------------------- |
92
+ | **Intent** | RFCs, architectural DNA, acceptance criteria |
93
+ | **Decisions** | ADRs, decision logs, traceability |
94
+ | **Agent behavior** | Repository-local skills and workflows |
95
+ | **Verification** | Doctor, validators, contracts, deterministic gates |
96
+ | **Evolution** | Profiles, vendored specs, additive upgrades |
265
97
 
266
- For governance and library projects, there's no visual preview — the agent will set up the project structure and tell you when it's ready.
267
-
268
- 5. **Create together.** From here on, you just talk. Want a different color? Want to add a scene? Want to add a new function to your library? Just say it. The agent handles all the technical work.
269
-
270
- #### Bring an existing project into Forge
271
-
272
- If you already have a project somewhere else and want to move it into Forge:
98
+ ---
273
99
 
274
- 1. **Create a Forge project.** Open a terminal, create a folder, and run:
100
+ ## Without Forge / With Forge
275
101
 
276
- ```sh
277
- mkdir my-project
278
- cd my-project
279
- pnpm dlx @warpgogol/forge@latest create --in-place --profile forge-shell
280
- ```
102
+ | AI development without Forge | With Forge |
103
+ | ------------------------------------- | ------------------------------------------------ |
104
+ | Rules live in prompts | Rules live in the repository |
105
+ | Architecture is implicit | Decisions become RFCs and ADRs |
106
+ | Agent behavior depends on the session | Project-local skills define repeatable workflows |
107
+ | "Done" means the agent says so | Validators provide deterministic checks |
108
+ | New agent starts from zero | Project contract travels with the code |
109
+ | Upgrades risk overwriting decisions | Upgrade is additive and idempotent |
110
+ | Tool-specific conventions | Agent- and IDE-independent project layer |
281
111
 
282
- Then open the folder in your AI IDE.
112
+ ---
283
113
 
284
- 2. **Tell the AI agent:**
114
+ ## Forge IS / Forge IS NOT
285
115
 
286
- > I want to bring my existing project into Forge. It's located at /path/to/my/project.
116
+ **Forge IS**
287
117
 
288
- The agent will:
289
- - Detect what kind of project it is (game, library, etc.)
290
- - Move all your files into the new Forge project — including hidden files like `.env`
291
- - Optionally bring your git history
292
- - Verify everything builds correctly
293
- - Start a live preview (for visual project types)
118
+ - A repository-native governance layer
119
+ - Agent-independent project infrastructure
120
+ - A deterministic complement to probabilistic AI agents
121
+ - A portable project contract
294
122
 
295
- #### What if something goes wrong?
123
+ **Forge IS NOT**
296
124
 
297
- Just tell the AI agent. It can check the project's health, fix issues, and explain what happened — all in plain language. You never need to open a terminal or run commands yourself.
125
+ - Another AI model
126
+ - Another coding agent
127
+ - An IDE
128
+ - A hosted platform
129
+ - A replacement for Git
130
+ - A magic "vibe coding" wrapper
298
131
 
299
132
  ---
300
133
 
301
- ### For developers — CLI commands
302
-
303
- #### Create a new project (in-place)
304
-
305
- ```sh
306
- # Create a project folder, then scaffold Forge in-place
307
- # pnpm dlx downloads Forge temporarily — no global install needed
308
- mkdir my-project
309
- cd my-project
310
- pnpm dlx @warpgogol/forge@latest create --in-place --profile forge-shell
134
+ ## What you get
311
135
 
312
- # With a specific stack profile
313
- mkdir my-game && cd my-game
314
- pnpm dlx @warpgogol/forge@latest create --in-place --profile phaser-turborepo
136
+ - **37 skills** idea-to-RFC pipeline, grilling, preferences, skill authoring
137
+ - **RFC workflow** — create, validate, list, graph, archive, acceptance probes
138
+ - **ADR workflow** lightweight architectural decision records
139
+ - **Spec vendoring** — vendor external specs as immutable snapshots
140
+ - **Naming conventions** — kebab-case linting
141
+ - **Workflow linting** — validate `.agents/workflows/` frontmatter
142
+ - **Stack scaffolding** — pnpm + Turborepo monorepo from a profile
143
+ - **Bindings contract** — de-hardcode project-specific commands via `forge.yaml`
144
+ - **Doctor** — project health check
145
+ - **Upgrade** — additive, idempotent skill and config sync
315
146
 
316
- mkdir my-godot-game && cd my-godot-game
317
- pnpm dlx @warpgogol/forge@latest create --in-place --profile godot-csharp
147
+ ---
318
148
 
319
- mkdir my-knowledge-base && cd my-knowledge-base
320
- pnpm dlx @warpgogol/forge@latest create --in-place --profile knowledge-typescript-turborepo
149
+ ## Working with your AI agent
321
150
 
322
- mkdir my-ts-project && cd my-ts-project
323
- pnpm dlx @warpgogol/forge@latest create --in-place --profile typescript-turborepo
151
+ Forge works with any AI agent — Windsurf, Cursor, Claude Code, Codex CLI, or any IDE that supports agent skills. The setup is the same; only the conversation matters.
324
152
 
325
- # Override the project name (derived from folder name by default)
326
- pnpm dlx @warpgogol/forge@latest create --in-place --profile forge-shell --name my-custom-name
327
- ```
153
+ **Start with questions, not commands.** Before asking the agent to write code, ask it about the codebase. The agent can read files, search git history, and run Forge CLI commands — let it explore first.
328
154
 
329
- After scaffolding, Forge is installed as a local devDependency. Use `pnpm exec forge` for all subsequent commands within the project:
155
+ **Describe results, not steps.** Tell the agent what you want, not how to do it. For complex work, ask the agent to plan first and wait for your approval.
330
156
 
331
- #### Bring an existing project into Forge
157
+ **Let the agent verify its own work.** Give criteria for "done" and let the agent check itself: "Run the tests after you're done." "Validate the RFC before committing." "Check project health with `forge doctor`."
332
158
 
333
- There is no CLI command for transplant it is an interactive, AI-guided process:
159
+ **AGENTS.md is your project's persistent memory.** Forge generates `AGENTS.md` files that the agent reads at the start of every session. Put build commands, code style, architecture decisions, and "do X, not Y" rules there.
334
160
 
335
- ```sh
336
- # 1. Create a new empty Forge project (in-place)
337
- mkdir my-project && cd my-project
338
- pnpm dlx @warpgogol/forge@latest create --in-place --profile forge-shell
339
-
340
- # 2. Open the project in Windsurf (tested with forge) or your preferred IDE
341
-
342
- # 3. Run the /forge-bootstrap skill and choose "transplant" mode
343
- # The skill will:
344
- # - Ask for the path to your existing codebase
345
- # - Detect the stack automatically (Phaser, Godot, etc.)
346
- # - Migrate all files (including .env and git-ignored files)
347
- # - Optionally transfer git history
348
- # - Verify the build
349
- ```
161
+ ---
350
162
 
351
- #### Diagnose and validate
163
+ ## CLI
352
164
 
353
165
  ```sh
354
166
  # Check project health
@@ -359,250 +171,21 @@ pnpm exec forge rfc.validate
359
171
 
360
172
  # List available skills
361
173
  pnpm exec forge skill.list
362
- ```
363
-
364
- ---
365
-
366
- ## Working with your AI agent
367
-
368
- Forge works with any AI agent — Windsurf, Cursor, Claude Code, Codex CLI, or any IDE that supports agent skills. The setup is the same; only the conversation matters. Here are the patterns that make the biggest difference.
369
-
370
- ### Start with questions, not commands
371
-
372
- The single most effective habit: before asking the agent to write code, ask it about the codebase. The agent can read files, search git history, and run Forge CLI commands — let it explore first.
373
-
374
- Good questions to start a session:
375
-
376
- - "How is this project structured?"
377
- - "What skills are available and what do they do?"
378
- - "Walk me through the RFC workflow in this project."
379
- - "What did we change this week?" (the agent reads git log)
380
- - "Why does this function have 15 parameters? Check git history."
381
-
382
- This works for onboarding too — new team members can get up to speed by asking the agent questions instead of reading code manually. The agent reads everything locally; nothing is uploaded or trained on.
383
-
384
- ### AGENTS.md — your project's persistent memory
385
-
386
- Forge generates `AGENTS.md` files at the project root and in each workspace directory. The agent reads them automatically at the start of every session — think of them as instructions that survive between conversations.
387
-
388
- **What to put in AGENTS.md:**
389
-
390
- - Build and test commands (`pnpm test`, `pnpm run build:check`)
391
- - Code style conventions ("use 2 spaces, not tabs")
392
- - Architecture decisions ("the game package owns all scene logic")
393
- - "Do X, not Y" rules ("use `resolveImage()` for all image props, never raw `src`")
394
- - Common mistakes to avoid
395
-
396
- **When the agent makes a mistake**, tell it to update AGENTS.md so it doesn't repeat the error. Over time, AGENTS.md accumulates the team's hard-won knowledge.
397
-
398
- Forge generates AGENTS.md from `forge.yaml` via `forge.agents.generate`. Hand-written AGENTS.md files (without the generated marker) are preserved. Generated ones are regenerated when you run `forge upgrade` or `forge.agents.generate` — so put your custom rules in `forge.yaml` or in a hand-written AGENTS.md, not in a generated one.
399
-
400
- ### Describe results, not steps
401
-
402
- The agent is an autonomous worker, not a typewriter. Tell it what you want, not how to do it.
403
-
404
- **Bad** (over-specified):
405
-
406
- > Open src/game/player.ts, add a function called calculateScore that takes a number array, sum it, return the result. Then open src/game/player.test.ts and add a test.
407
-
408
- **Good** (result-oriented):
409
-
410
- > Add a scoring system that calculates total points from collected items.
411
-
412
- For complex work, ask the agent to plan first:
413
-
414
- > I want to add a multiplayer mode. Make a plan first, show it to me, and wait for my approval before implementing.
415
-
416
- Forge's `/fo-idea` skill formalizes this: idea → audit → plan → implement → review. You can invoke it explicitly, or the agent will follow the pattern when the task is complex enough.
417
-
418
- ### Let the agent explore
419
-
420
- Don't over-explain. The agent knows how to read files, search code, check git history, and run commands. Instead of pointing it to specific files, describe what you want to understand or change:
421
-
422
- **Instead of:** "Look in the src/game folder for player.ts and check if it has a move function."
423
-
424
- **Say:** "How does player movement work?"
425
-
426
- The agent will find the relevant files, trace the call chain, and explain it back to you. If it needs more context, it will ask.
427
-
428
- ### Parallel work
429
-
430
- You can run multiple agent sessions simultaneously — in separate IDE windows, terminal tabs, or git worktrees. Each session works independently.
431
-
432
- This is useful for:
433
-
434
- - Writing an RFC in one session while implementing a different feature in another
435
- - Exploring two design approaches in parallel before committing to one
436
- - Running a long validation in one session while continuing work in another
437
-
438
- If you use the Werkstatt engine, its mission system keeps work isolated — each mission has its own workpiece directory, so parallel sessions don't conflict.
439
-
440
- ### Let the agent verify its own work
441
-
442
- Give the agent criteria for "done" and let it check itself:
443
-
444
- - "Run the tests after you're done."
445
- - "Validate the RFC before committing."
446
- - "Check project health with `forge doctor`."
447
-
448
- Forge provides the tools — `forge doctor`, `forge rfc.validate`, `forge skill.list`, test runners. Tell the agent to use them. The agent can run commands, read the output, and fix issues without your intervention.
449
-
450
- ---
451
-
452
- ## Skill packs
453
-
454
- Skill packs let you create project-local skills under your own prefix, separate from Forge's portable `fo-` skills. This is useful when your project has domain-specific workflows that don't belong in Forge's portable skill set.
455
-
456
- ### Declaring a pack
457
-
458
- Add a `skillPacks` entry to `forge.yaml`:
459
-
460
- ```yaml
461
- skillPacks:
462
- - prefix: wg
463
- dir: packages/my-skills/skills
464
- ```
465
-
466
- - `prefix` — short identifier used as a skill name prefix (e.g. `wg-deploy`, `wg-content-check`). Cannot be `fo` (reserved for Forge).
467
- - `dir` — directory containing your pack skills. Each skill is a subdirectory with a `SKILL.md` file.
468
-
469
- ### Pack manifest (`forge.plugin.yaml`)
470
-
471
- Each pack directory must contain a `forge.plugin.yaml` manifest:
472
-
473
- ```yaml
474
- id: my-pack
475
- version: 1.0.0
476
- ```
477
-
478
- - `id` — kebab-case identifier for the pack.
479
- - `version` — semver version string.
480
-
481
- `forge init` auto-creates this manifest if it's missing. You can also create it manually.
482
-
483
- ### Skill structure
484
-
485
- Skills follow the same structure as Forge skills:
486
-
487
- ```
488
- packages/my-skills/skills/
489
- forge.plugin.yaml # pack manifest
490
- wg-deploy/
491
- SKILL.md # skill definition with frontmatter
492
- wg-content-check/
493
- SKILL.md
494
- ```
495
-
496
- Each `SKILL.md` has standardized frontmatter (name, description, category, concerns, dependsOn) — the same format as Forge's `fo-` skills.
497
-
498
- ### Validation commands
499
-
500
- ```sh
501
- # Validate all pack manifests
502
- pnpm exec forge plugin.validate
503
-
504
- # List discovered packs
505
- pnpm exec forge plugin.discover
506
-
507
- # Validate individual skills (including pack skills)
508
- pnpm exec forge skill.validate
509
-
510
- # List all skills (pack skills annotated with pack:<prefix>)
511
- pnpm exec forge skill.list
512
- ```
513
-
514
- ### Extension points (Compass contract blocks)
515
-
516
- Packs can declare custom Compass contract blocks — source-file markers that `compass.validate` enforces. This lets your pack define its own `<MY_CONTRACT>` blocks with required tags:
517
-
518
- ```yaml
519
- id: my-pack
520
- version: 1.0.0
521
- extensionPoints:
522
- compass:
523
- contract:
524
- blocks:
525
- - blockId: api-contract
526
- requiredFor:
527
- - "packages/my-pack/**/*.ts"
528
- requiredTags:
529
- - name: purpose
530
- minWords: 3
531
- ```
532
-
533
- `compass.validate` will emit `COMPASS-PLUGIN-01` (missing block), `COMPASS-PLUGIN-02` (missing required tag), and `COMPASS-PLUGIN-03` (tag below minWords) for files matching `requiredFor` that don't carry the block.
534
-
535
- ### Rules
536
-
537
- - Pack skill names must start with the pack prefix (e.g. `wg-deploy` for prefix `wg`).
538
- - Pack skills cannot use the `fo-` prefix (reserved for Forge).
539
- - Pack skills cannot reference platform RFC/ADR ids or platform names.
540
- - Pack skills may depend on Forge skills, but Forge skills may not depend on pack skills (preserves portability).
541
- - If a pack skill name conflicts with a Forge skill name, the pack skill is skipped during sync.
542
-
543
- ---
544
-
545
- ## Stack profiles
546
-
547
- A stack profile defines the project scaffold: directory structure, dependencies, CI config, and first workspace. Choose a profile with `--profile` when creating a new project.
548
-
549
- | Profile | Project type | Description | First workspace | Use case |
550
- | --- | --- | --- | --- | --- |
551
- | `forge-shell` | Governance / library | Minimal Forge shell (default) | — | Governance-only projects, libraries, non-web projects |
552
- | `phaser-turborepo` | Browser game | Phaser + TypeScript + pnpm + Turborepo | `games/my-game` | Browser games, interactive experiences |
553
- | `godot-csharp` | Godot game | Godot 4.x + C# + pnpm + Turborepo | `games/my-game` | Desktop/mobile games, Godot-based interactive projects |
554
- | `knowledge-typescript-turborepo` | Knowledge system | TypeScript + pnpm + Turborepo | `knowledge/my-kb` | Evidence-backed knowledge bases, structured datasets with source provenance |
555
- | `typescript-turborepo` | TypeScript library | TypeScript + pnpm + Turborepo | — | Generic TypeScript TurboRepo monorepo with best-practice validators |
556
-
557
- ```sh
558
- # List available profiles (after install)
559
- pnpm exec forge profile.validate
560
- ```
561
-
562
- When you bring an existing project through the `/forge-bootstrap` transplant mode, Forge detects the matching profile automatically by checking for marker files (`phaser.config.*`, `project.godot`, etc.).
563
-
564
- ## Upgrade flow
565
-
566
- When a new version of `@warpgogol/forge` is published, consumers upgrade additively:
567
-
568
- ```sh
569
- # 1. Update Forge to the latest version (local devDependency)
570
- pnpm update @warpgogol/forge
571
174
 
572
- # 2. Sync skills and binding defaults from the installed version
175
+ # Sync skills and config from installed version
573
176
  pnpm exec forge upgrade
574
177
 
575
- # 3. Check project health
576
- pnpm exec forge doctor
178
+ # Validate public surface consistency
179
+ pnpm exec forge public-surface.validate
577
180
  ```
578
181
 
579
- `forge upgrade` is additive — it never overwrites operator-set bindings, never deletes files, and is idempotent. It updates `forge.syncedVersion` in `forge.yaml` to track the last synced version. Use `--dry-run` to preview changes.
580
-
581
- ## What forge gives you
582
-
583
- - **37 skills** (fo-pipeline, grilling, preferences, skill authoring) — deployed to `.agents/skills/` by `forge create`
584
- - **RFC workflow** — create, validate, list, graph, archive, acceptance probes, decision logs, DNA trace
585
- - **ADR workflow** — lightweight architectural decision records
586
- - **Spec vendoring** — vendor external spec packages as immutable snapshots with integrity manifests
587
- - **Naming conventions** — kebab-case linting
588
- - **Workflow linting** — validate `.agents/workflows/` frontmatter and references
589
- - **Stack scaffolding** — scaffold a new pnpm + Turborepo monorepo from a profile
590
- - **Bindings contract** — de-hardcode project-specific commands/paths from skills via `forge.yaml`
591
-
592
- ## Lifecycle
593
-
594
- The typical forge project lifecycle:
182
+ Full CLI reference: [docs/reference/cli.md](docs/reference/cli.md)
595
183
 
596
- 1. **Create** — `pnpm dlx @warpgogol/forge@latest create --in-place --profile <profile>` scaffolds a new project in the current directory with forge.yaml, skills, and docs directories
597
- 2. **IDE** — open the project in Windsurf (tested with forge) or your preferred IDE
598
- 3. **Bootstrap** — run `/forge-bootstrap` to configure the project interactively. The skill supports two modes:
599
- - **Greenfield** — start a new project from scratch: pick a stack, fill in bindings, init git
600
- - **Transplant** — bring an existing codebase into Forge: detect the stack, migrate code (including git-ignored files like `.env`), optionally transfer git history, verify the build
601
- 4. **Upgrade** — when a new `@warpgogol/forge` version is published, run `pnpm exec forge upgrade` to sync skills and binding defaults additively
184
+ ---
602
185
 
603
186
  ## forge.yaml
604
187
 
605
- The single source of truth for project configuration. Created by `forge create`:
188
+ The single source of truth for project configuration:
606
189
 
607
190
  ```yaml
608
191
  schema: forge/config@1
@@ -626,6 +209,10 @@ bindings:
626
209
  invariants: DNA
627
210
  ```
628
211
 
212
+ Full reference: [docs/reference/forge-yaml.md](docs/reference/forge-yaml.md)
213
+
214
+ ---
215
+
629
216
  ## Programmatic API
630
217
 
631
218
  ```ts
@@ -637,52 +224,59 @@ import {
637
224
  FORGE_SKILLS,
638
225
  } from "@warpgogol/forge";
639
226
 
640
- // Load config
641
227
  const config = loadForgeConfig(process.cwd());
642
-
643
- // Resolve a binding
644
228
  const cmd = resolveBinding(config, "commands.validateRfc", { id: "RFC-0001" });
645
229
 
646
- // Register modules in your own registry
647
230
  const registry = /* your ForgeModuleRegistry */;
648
231
  await forgeCoreModule.register(registry);
649
232
  await forgeRfcModule.register(registry);
650
233
  ```
651
234
 
235
+ Full API reference: [docs/reference/programmatic-api.md](docs/reference/programmatic-api.md)
236
+
237
+ ---
238
+
652
239
  ## Architecture
653
240
 
654
241
  | Directory | Purpose |
655
242
  | --- | --- |
656
243
  | `src/` | Portable core — types, config, skills registry, validators, onboarding. Zero `@warpgogol/*` imports. |
657
- | `os/` | ForgeModule registrations. `compass` and `werkstatt` are fully autonomous (RFC-0556) — all handlers inlined, no `@warpgogol/*` imports. |
244
+ | `os/` | ForgeModule registrations. `compass` and `werkstatt` are fully autonomous — all handlers inlined. |
658
245
  | `bin/` | CLI entrypoint (`forge` command). |
659
246
  | `skills/` | 37 skill definitions (29 fo + 5 shared + 3 meta) with SKILL.md frontmatter. |
660
247
  | `profiles/` | Stack profiles for `scaffold`. |
661
248
 
662
- ## Publishing to npm
663
-
664
- This package is published to the npm registry as `@warpgogol/forge`. Publishing is automated via GitHub Actions CI.
665
-
666
- ### How it works
249
+ ---
667
250
 
668
- 1. The source lives in the [warpgogol/werkstatt](https://github.com/syrokomskyi/werkstatt) monorepo under `packages/forge/`.
669
- 2. [`@warpgogol/repo-extract`](https://github.com/syrokomskyi/repo-extract) extracts the package into the standalone [syrokomskyi/forge](https://github.com/syrokomskyi/forge) repository, flattening it to repo root and stripping workspace dependencies.
670
- 3. The generated GitHub Actions CI workflow (`.github/workflows/ci.yml`) runs on every push to `main`: lint → typecheck → build → test → `npm publish --provenance --access public`.
671
- 4. The `NPM_TOKEN` secret must be set in the [repository settings](https://github.com/syrokomskyi/forge/settings/secrets/actions).
251
+ ## Upgrade flow
672
252
 
673
- ### Triggering a new release
253
+ ```sh
254
+ pnpm update @warpgogol/forge
255
+ pnpm exec forge upgrade
256
+ pnpm exec forge doctor
257
+ ```
674
258
 
675
- From the werkstatt monorepo root:
259
+ `forge upgrade` is additive — it never overwrites operator-set bindings, never deletes files, and is idempotent. Use `--dry-run` to preview changes.
676
260
 
677
- ```sh
678
- # 1. Bump the version in packages/forge/package.json
679
- # 2. Run the extraction (extracts + commits + pushes to github.com:syrokomskyi/forge.git)
680
- pnpm exec repo-extract --config packages/forge/extract.config.yaml --verbose
261
+ ---
681
262
 
682
- # 3. CI picks up the push and publishes to npm automatically
683
- ```
263
+ ## Documentation
264
+
265
+ - [Getting started](docs/getting-started.md)
266
+ - [Why Forge?](docs/concepts/why-forge.md)
267
+ - [Project contract](docs/concepts/project-contract.md)
268
+ - [Governance model](docs/concepts/governance-model.md)
269
+ - [Bring an existing project](docs/guides/existing-project.md)
270
+ - [Upgrading](docs/guides/upgrading.md)
271
+ - [Skills](docs/guides/skills.md)
272
+ - [RFC and ADR workflows](docs/guides/rfc-adr.md)
273
+ - [CLI reference](docs/reference/cli.md)
274
+ - [forge.yaml reference](docs/reference/forge-yaml.md)
275
+ - [Profiles](docs/reference/profiles.md)
276
+ - [Programmatic API](docs/reference/programmatic-api.md)
277
+ - [Publishing](docs/maintainers/publishing.md)
684
278
 
685
- After CI completes, verify the new version on [npmjs.com/package/@warpgogol/forge](https://www.npmjs.com/package/@warpgogol/forge).
279
+ ---
686
280
 
687
281
  ## License
688
282