@warpgogol/forge 2.9.10 → 2.9.13

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 (690) hide show
  1. package/AGENTS.md +397 -0
  2. package/package.json +1 -1
  3. package/dist/bin/cli.d.ts +0 -3
  4. package/dist/bin/cli.d.ts.map +0 -1
  5. package/dist/bin/cli.js +0 -291
  6. package/dist/bin/cli.js.map +0 -1
  7. package/dist/os/adr/adr.module.d.ts +0 -3
  8. package/dist/os/adr/adr.module.d.ts.map +0 -1
  9. package/dist/os/adr/adr.module.js +0 -145
  10. package/dist/os/adr/adr.module.js.map +0 -1
  11. package/dist/os/adr/frontmatter-io.d.ts +0 -12
  12. package/dist/os/adr/frontmatter-io.d.ts.map +0 -1
  13. package/dist/os/adr/frontmatter-io.js +0 -67
  14. package/dist/os/adr/frontmatter-io.js.map +0 -1
  15. package/dist/os/adr/handlers/archive.d.ts +0 -24
  16. package/dist/os/adr/handlers/archive.d.ts.map +0 -1
  17. package/dist/os/adr/handlers/archive.js +0 -194
  18. package/dist/os/adr/handlers/archive.js.map +0 -1
  19. package/dist/os/adr/handlers/implement-stamp.d.ts +0 -4
  20. package/dist/os/adr/handlers/implement-stamp.d.ts.map +0 -1
  21. package/dist/os/adr/handlers/implement-stamp.js +0 -264
  22. package/dist/os/adr/handlers/implement-stamp.js.map +0 -1
  23. package/dist/os/adr/handlers/list-create.d.ts +0 -5
  24. package/dist/os/adr/handlers/list-create.d.ts.map +0 -1
  25. package/dist/os/adr/handlers/list-create.js +0 -201
  26. package/dist/os/adr/handlers/list-create.js.map +0 -1
  27. package/dist/os/adr/handlers/validate.d.ts +0 -4
  28. package/dist/os/adr/handlers/validate.d.ts.map +0 -1
  29. package/dist/os/adr/handlers/validate.js +0 -279
  30. package/dist/os/adr/handlers/validate.js.map +0 -1
  31. package/dist/os/adr/index.d.ts +0 -8
  32. package/dist/os/adr/index.d.ts.map +0 -1
  33. package/dist/os/adr/index.js +0 -18
  34. package/dist/os/adr/index.js.map +0 -1
  35. package/dist/os/adr/types.d.ts +0 -76
  36. package/dist/os/adr/types.d.ts.map +0 -1
  37. package/dist/os/adr/types.js +0 -56
  38. package/dist/os/adr/types.js.map +0 -1
  39. package/dist/os/audit/audit.module.d.ts +0 -3
  40. package/dist/os/audit/audit.module.d.ts.map +0 -1
  41. package/dist/os/audit/audit.module.js +0 -44
  42. package/dist/os/audit/audit.module.js.map +0 -1
  43. package/dist/os/audit/frontmatter-io.d.ts +0 -12
  44. package/dist/os/audit/frontmatter-io.d.ts.map +0 -1
  45. package/dist/os/audit/frontmatter-io.js +0 -71
  46. package/dist/os/audit/frontmatter-io.js.map +0 -1
  47. package/dist/os/audit/handlers/archive.d.ts +0 -4
  48. package/dist/os/audit/handlers/archive.d.ts.map +0 -1
  49. package/dist/os/audit/handlers/archive.js +0 -207
  50. package/dist/os/audit/handlers/archive.js.map +0 -1
  51. package/dist/os/audit/index.d.ts +0 -6
  52. package/dist/os/audit/index.d.ts.map +0 -1
  53. package/dist/os/audit/index.js +0 -16
  54. package/dist/os/audit/index.js.map +0 -1
  55. package/dist/os/audit/types.d.ts +0 -12
  56. package/dist/os/audit/types.d.ts.map +0 -1
  57. package/dist/os/audit/types.js +0 -17
  58. package/dist/os/audit/types.js.map +0 -1
  59. package/dist/os/compass/compass.module.d.ts +0 -3
  60. package/dist/os/compass/compass.module.d.ts.map +0 -1
  61. package/dist/os/compass/compass.module.js +0 -182
  62. package/dist/os/compass/compass.module.js.map +0 -1
  63. package/dist/os/compass/handlers/compass-audit-handler.d.ts +0 -36
  64. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +0 -1
  65. package/dist/os/compass/handlers/compass-audit-handler.js +0 -260
  66. package/dist/os/compass/handlers/compass-audit-handler.js.map +0 -1
  67. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +0 -19
  68. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +0 -1
  69. package/dist/os/compass/handlers/compass-change-summary-handler.js +0 -222
  70. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +0 -1
  71. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +0 -28
  72. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +0 -1
  73. package/dist/os/compass/handlers/compass-inventory-handler.js +0 -296
  74. package/dist/os/compass/handlers/compass-inventory-handler.js.map +0 -1
  75. package/dist/os/compass/handlers/compass-inventory.d.ts +0 -30
  76. package/dist/os/compass/handlers/compass-inventory.d.ts.map +0 -1
  77. package/dist/os/compass/handlers/compass-inventory.js +0 -462
  78. package/dist/os/compass/handlers/compass-inventory.js.map +0 -1
  79. package/dist/os/compass/handlers/git-revision.d.ts +0 -8
  80. package/dist/os/compass/handlers/git-revision.d.ts.map +0 -1
  81. package/dist/os/compass/handlers/git-revision.js +0 -99
  82. package/dist/os/compass/handlers/git-revision.js.map +0 -1
  83. package/dist/os/compass/handlers/resolve-scan-root.d.ts +0 -3
  84. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +0 -1
  85. package/dist/os/compass/handlers/resolve-scan-root.js +0 -57
  86. package/dist/os/compass/handlers/resolve-scan-root.js.map +0 -1
  87. package/dist/os/compass/index.d.ts +0 -8
  88. package/dist/os/compass/index.d.ts.map +0 -1
  89. package/dist/os/compass/index.js +0 -19
  90. package/dist/os/compass/index.js.map +0 -1
  91. package/dist/os/core/core.module.d.ts +0 -3
  92. package/dist/os/core/core.module.d.ts.map +0 -1
  93. package/dist/os/core/core.module.js +0 -820
  94. package/dist/os/core/core.module.js.map +0 -1
  95. package/dist/os/core/handlers/assets-check.d.ts +0 -19
  96. package/dist/os/core/handlers/assets-check.d.ts.map +0 -1
  97. package/dist/os/core/handlers/assets-check.js +0 -89
  98. package/dist/os/core/handlers/assets-check.js.map +0 -1
  99. package/dist/os/core/handlers/assets-helpers.d.ts +0 -28
  100. package/dist/os/core/handlers/assets-helpers.d.ts.map +0 -1
  101. package/dist/os/core/handlers/assets-helpers.js +0 -128
  102. package/dist/os/core/handlers/assets-helpers.js.map +0 -1
  103. package/dist/os/core/handlers/assets-list.d.ts +0 -9
  104. package/dist/os/core/handlers/assets-list.d.ts.map +0 -1
  105. package/dist/os/core/handlers/assets-list.js +0 -72
  106. package/dist/os/core/handlers/assets-list.js.map +0 -1
  107. package/dist/os/core/handlers/build.d.ts +0 -16
  108. package/dist/os/core/handlers/build.d.ts.map +0 -1
  109. package/dist/os/core/handlers/build.js +0 -123
  110. package/dist/os/core/handlers/build.js.map +0 -1
  111. package/dist/os/core/handlers/determinism-check.d.ts +0 -20
  112. package/dist/os/core/handlers/determinism-check.d.ts.map +0 -1
  113. package/dist/os/core/handlers/determinism-check.js +0 -289
  114. package/dist/os/core/handlers/determinism-check.js.map +0 -1
  115. package/dist/os/core/handlers/dev.d.ts +0 -10
  116. package/dist/os/core/handlers/dev.d.ts.map +0 -1
  117. package/dist/os/core/handlers/dev.js +0 -102
  118. package/dist/os/core/handlers/dev.js.map +0 -1
  119. package/dist/os/core/handlers/knowledge-compact.d.ts +0 -4
  120. package/dist/os/core/handlers/knowledge-compact.d.ts.map +0 -1
  121. package/dist/os/core/handlers/knowledge-compact.js +0 -198
  122. package/dist/os/core/handlers/knowledge-compact.js.map +0 -1
  123. package/dist/os/core/handlers/package-health.d.ts +0 -17
  124. package/dist/os/core/handlers/package-health.d.ts.map +0 -1
  125. package/dist/os/core/handlers/package-health.js +0 -196
  126. package/dist/os/core/handlers/package-health.js.map +0 -1
  127. package/dist/os/core/handlers/pinned-check.d.ts +0 -49
  128. package/dist/os/core/handlers/pinned-check.d.ts.map +0 -1
  129. package/dist/os/core/handlers/pinned-check.js +0 -159
  130. package/dist/os/core/handlers/pinned-check.js.map +0 -1
  131. package/dist/os/core/handlers/pinned-init.d.ts +0 -19
  132. package/dist/os/core/handlers/pinned-init.d.ts.map +0 -1
  133. package/dist/os/core/handlers/pinned-init.js +0 -283
  134. package/dist/os/core/handlers/pinned-init.js.map +0 -1
  135. package/dist/os/core/handlers/pinned-types.d.ts +0 -29
  136. package/dist/os/core/handlers/pinned-types.d.ts.map +0 -1
  137. package/dist/os/core/handlers/pinned-types.js +0 -16
  138. package/dist/os/core/handlers/pinned-types.js.map +0 -1
  139. package/dist/os/core/handlers/pinned-validate.d.ts +0 -4
  140. package/dist/os/core/handlers/pinned-validate.d.ts.map +0 -1
  141. package/dist/os/core/handlers/pinned-validate.js +0 -248
  142. package/dist/os/core/handlers/pinned-validate.js.map +0 -1
  143. package/dist/os/core/handlers/profile-resolve.d.ts +0 -13
  144. package/dist/os/core/handlers/profile-resolve.d.ts.map +0 -1
  145. package/dist/os/core/handlers/profile-resolve.js +0 -65
  146. package/dist/os/core/handlers/profile-resolve.js.map +0 -1
  147. package/dist/os/core/handlers/release-prepare.d.ts +0 -25
  148. package/dist/os/core/handlers/release-prepare.d.ts.map +0 -1
  149. package/dist/os/core/handlers/release-prepare.js +0 -228
  150. package/dist/os/core/handlers/release-prepare.js.map +0 -1
  151. package/dist/os/core/handlers/release-publish.d.ts +0 -13
  152. package/dist/os/core/handlers/release-publish.d.ts.map +0 -1
  153. package/dist/os/core/handlers/release-publish.js +0 -173
  154. package/dist/os/core/handlers/release-publish.js.map +0 -1
  155. package/dist/os/core/handlers/validate.d.ts +0 -26
  156. package/dist/os/core/handlers/validate.d.ts.map +0 -1
  157. package/dist/os/core/handlers/validate.js +0 -208
  158. package/dist/os/core/handlers/validate.js.map +0 -1
  159. package/dist/os/core/handlers/workspace-deps.d.ts +0 -12
  160. package/dist/os/core/handlers/workspace-deps.d.ts.map +0 -1
  161. package/dist/os/core/handlers/workspace-deps.js +0 -41
  162. package/dist/os/core/handlers/workspace-deps.js.map +0 -1
  163. package/dist/os/core/index.d.ts +0 -2
  164. package/dist/os/core/index.d.ts.map +0 -1
  165. package/dist/os/core/index.js +0 -13
  166. package/dist/os/core/index.js.map +0 -1
  167. package/dist/os/exploration/exploration.module.d.ts +0 -3
  168. package/dist/os/exploration/exploration.module.d.ts.map +0 -1
  169. package/dist/os/exploration/exploration.module.js +0 -82
  170. package/dist/os/exploration/exploration.module.js.map +0 -1
  171. package/dist/os/exploration/frontmatter-io.d.ts +0 -13
  172. package/dist/os/exploration/frontmatter-io.d.ts.map +0 -1
  173. package/dist/os/exploration/frontmatter-io.js +0 -61
  174. package/dist/os/exploration/frontmatter-io.js.map +0 -1
  175. package/dist/os/exploration/handlers/archive.d.ts +0 -4
  176. package/dist/os/exploration/handlers/archive.d.ts.map +0 -1
  177. package/dist/os/exploration/handlers/archive.js +0 -141
  178. package/dist/os/exploration/handlers/archive.js.map +0 -1
  179. package/dist/os/exploration/handlers/list.d.ts +0 -4
  180. package/dist/os/exploration/handlers/list.d.ts.map +0 -1
  181. package/dist/os/exploration/handlers/list.js +0 -64
  182. package/dist/os/exploration/handlers/list.js.map +0 -1
  183. package/dist/os/exploration/handlers/show.d.ts +0 -4
  184. package/dist/os/exploration/handlers/show.d.ts.map +0 -1
  185. package/dist/os/exploration/handlers/show.js +0 -97
  186. package/dist/os/exploration/handlers/show.js.map +0 -1
  187. package/dist/os/exploration/index.d.ts +0 -7
  188. package/dist/os/exploration/index.d.ts.map +0 -1
  189. package/dist/os/exploration/index.js +0 -17
  190. package/dist/os/exploration/index.js.map +0 -1
  191. package/dist/os/exploration/types.d.ts +0 -38
  192. package/dist/os/exploration/types.d.ts.map +0 -1
  193. package/dist/os/exploration/types.js +0 -23
  194. package/dist/os/exploration/types.js.map +0 -1
  195. package/dist/os/mission/handlers/archive.d.ts +0 -4
  196. package/dist/os/mission/handlers/archive.d.ts.map +0 -1
  197. package/dist/os/mission/handlers/archive.js +0 -356
  198. package/dist/os/mission/handlers/archive.js.map +0 -1
  199. package/dist/os/mission/index.d.ts +0 -2
  200. package/dist/os/mission/index.d.ts.map +0 -1
  201. package/dist/os/mission/index.js +0 -2
  202. package/dist/os/mission/index.js.map +0 -1
  203. package/dist/os/mission/mission.module.d.ts +0 -3
  204. package/dist/os/mission/mission.module.d.ts.map +0 -1
  205. package/dist/os/mission/mission.module.js +0 -44
  206. package/dist/os/mission/mission.module.js.map +0 -1
  207. package/dist/os/mission/types.d.ts +0 -23
  208. package/dist/os/mission/types.d.ts.map +0 -1
  209. package/dist/os/mission/types.js +0 -18
  210. package/dist/os/mission/types.js.map +0 -1
  211. package/dist/os/naming/index.d.ts +0 -3
  212. package/dist/os/naming/index.d.ts.map +0 -1
  213. package/dist/os/naming/index.js +0 -14
  214. package/dist/os/naming/index.js.map +0 -1
  215. package/dist/os/naming/naming-convention.d.ts +0 -25
  216. package/dist/os/naming/naming-convention.d.ts.map +0 -1
  217. package/dist/os/naming/naming-convention.js +0 -324
  218. package/dist/os/naming/naming-convention.js.map +0 -1
  219. package/dist/os/naming/naming.module.d.ts +0 -3
  220. package/dist/os/naming/naming.module.d.ts.map +0 -1
  221. package/dist/os/naming/naming.module.js +0 -33
  222. package/dist/os/naming/naming.module.js.map +0 -1
  223. package/dist/os/notes/index.d.ts +0 -2
  224. package/dist/os/notes/index.d.ts.map +0 -1
  225. package/dist/os/notes/index.js +0 -10
  226. package/dist/os/notes/index.js.map +0 -1
  227. package/dist/os/notes/notes.module.d.ts +0 -3
  228. package/dist/os/notes/notes.module.d.ts.map +0 -1
  229. package/dist/os/notes/notes.module.js +0 -83
  230. package/dist/os/notes/notes.module.js.map +0 -1
  231. package/dist/os/plan/frontmatter-io.d.ts +0 -12
  232. package/dist/os/plan/frontmatter-io.d.ts.map +0 -1
  233. package/dist/os/plan/frontmatter-io.js +0 -69
  234. package/dist/os/plan/frontmatter-io.js.map +0 -1
  235. package/dist/os/plan/handlers/archive.d.ts +0 -4
  236. package/dist/os/plan/handlers/archive.d.ts.map +0 -1
  237. package/dist/os/plan/handlers/archive.js +0 -206
  238. package/dist/os/plan/handlers/archive.js.map +0 -1
  239. package/dist/os/plan/index.d.ts +0 -6
  240. package/dist/os/plan/index.d.ts.map +0 -1
  241. package/dist/os/plan/index.js +0 -16
  242. package/dist/os/plan/index.js.map +0 -1
  243. package/dist/os/plan/plan.module.d.ts +0 -3
  244. package/dist/os/plan/plan.module.d.ts.map +0 -1
  245. package/dist/os/plan/plan.module.js +0 -44
  246. package/dist/os/plan/plan.module.js.map +0 -1
  247. package/dist/os/plan/types.d.ts +0 -12
  248. package/dist/os/plan/types.d.ts.map +0 -1
  249. package/dist/os/plan/types.js +0 -17
  250. package/dist/os/plan/types.js.map +0 -1
  251. package/dist/os/program/discovery.d.ts +0 -61
  252. package/dist/os/program/discovery.d.ts.map +0 -1
  253. package/dist/os/program/discovery.js +0 -236
  254. package/dist/os/program/discovery.js.map +0 -1
  255. package/dist/os/program/handlers/complete.d.ts +0 -12
  256. package/dist/os/program/handlers/complete.d.ts.map +0 -1
  257. package/dist/os/program/handlers/complete.js +0 -362
  258. package/dist/os/program/handlers/complete.js.map +0 -1
  259. package/dist/os/program/handlers/lease.d.ts +0 -13
  260. package/dist/os/program/handlers/lease.d.ts.map +0 -1
  261. package/dist/os/program/handlers/lease.js +0 -328
  262. package/dist/os/program/handlers/lease.js.map +0 -1
  263. package/dist/os/program/handlers/seal.d.ts +0 -12
  264. package/dist/os/program/handlers/seal.d.ts.map +0 -1
  265. package/dist/os/program/handlers/seal.js +0 -277
  266. package/dist/os/program/handlers/seal.js.map +0 -1
  267. package/dist/os/program/handlers/validate.d.ts +0 -14
  268. package/dist/os/program/handlers/validate.d.ts.map +0 -1
  269. package/dist/os/program/handlers/validate.js +0 -170
  270. package/dist/os/program/handlers/validate.js.map +0 -1
  271. package/dist/os/program/lease.d.ts +0 -39
  272. package/dist/os/program/lease.d.ts.map +0 -1
  273. package/dist/os/program/lease.js +0 -129
  274. package/dist/os/program/lease.js.map +0 -1
  275. package/dist/os/program/program.module.d.ts +0 -3
  276. package/dist/os/program/program.module.d.ts.map +0 -1
  277. package/dist/os/program/program.module.js +0 -201
  278. package/dist/os/program/program.module.js.map +0 -1
  279. package/dist/os/program/schemas.d.ts +0 -225
  280. package/dist/os/program/schemas.d.ts.map +0 -1
  281. package/dist/os/program/schemas.js +0 -174
  282. package/dist/os/program/schemas.js.map +0 -1
  283. package/dist/os/program/state.d.ts +0 -38
  284. package/dist/os/program/state.d.ts.map +0 -1
  285. package/dist/os/program/state.js +0 -189
  286. package/dist/os/program/state.js.map +0 -1
  287. package/dist/os/rfc/acceptance.d.ts +0 -15
  288. package/dist/os/rfc/acceptance.d.ts.map +0 -1
  289. package/dist/os/rfc/acceptance.js +0 -318
  290. package/dist/os/rfc/acceptance.js.map +0 -1
  291. package/dist/os/rfc/decision-log.d.ts +0 -6
  292. package/dist/os/rfc/decision-log.d.ts.map +0 -1
  293. package/dist/os/rfc/decision-log.js +0 -269
  294. package/dist/os/rfc/decision-log.js.map +0 -1
  295. package/dist/os/rfc/dna-trace.d.ts +0 -27
  296. package/dist/os/rfc/dna-trace.d.ts.map +0 -1
  297. package/dist/os/rfc/dna-trace.js +0 -214
  298. package/dist/os/rfc/dna-trace.js.map +0 -1
  299. package/dist/os/rfc/frontmatter-io.d.ts +0 -18
  300. package/dist/os/rfc/frontmatter-io.d.ts.map +0 -1
  301. package/dist/os/rfc/frontmatter-io.js +0 -110
  302. package/dist/os/rfc/frontmatter-io.js.map +0 -1
  303. package/dist/os/rfc/handlers/archive.d.ts +0 -25
  304. package/dist/os/rfc/handlers/archive.d.ts.map +0 -1
  305. package/dist/os/rfc/handlers/archive.js +0 -247
  306. package/dist/os/rfc/handlers/archive.js.map +0 -1
  307. package/dist/os/rfc/handlers/check.d.ts +0 -4
  308. package/dist/os/rfc/handlers/check.d.ts.map +0 -1
  309. package/dist/os/rfc/handlers/check.js +0 -203
  310. package/dist/os/rfc/handlers/check.js.map +0 -1
  311. package/dist/os/rfc/handlers/implement-stamp.d.ts +0 -4
  312. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +0 -1
  313. package/dist/os/rfc/handlers/implement-stamp.js +0 -426
  314. package/dist/os/rfc/handlers/implement-stamp.js.map +0 -1
  315. package/dist/os/rfc/handlers/index-graph.d.ts +0 -13
  316. package/dist/os/rfc/handlers/index-graph.d.ts.map +0 -1
  317. package/dist/os/rfc/handlers/index-graph.js +0 -192
  318. package/dist/os/rfc/handlers/index-graph.js.map +0 -1
  319. package/dist/os/rfc/handlers/lifecycle.d.ts +0 -13
  320. package/dist/os/rfc/handlers/lifecycle.d.ts.map +0 -1
  321. package/dist/os/rfc/handlers/lifecycle.js +0 -155
  322. package/dist/os/rfc/handlers/lifecycle.js.map +0 -1
  323. package/dist/os/rfc/handlers/list-create.d.ts +0 -6
  324. package/dist/os/rfc/handlers/list-create.d.ts.map +0 -1
  325. package/dist/os/rfc/handlers/list-create.js +0 -260
  326. package/dist/os/rfc/handlers/list-create.js.map +0 -1
  327. package/dist/os/rfc/handlers/pipeline-status.d.ts +0 -26
  328. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +0 -1
  329. package/dist/os/rfc/handlers/pipeline-status.js +0 -124
  330. package/dist/os/rfc/handlers/pipeline-status.js.map +0 -1
  331. package/dist/os/rfc/handlers/shared.d.ts +0 -22
  332. package/dist/os/rfc/handlers/shared.d.ts.map +0 -1
  333. package/dist/os/rfc/handlers/shared.js +0 -105
  334. package/dist/os/rfc/handlers/shared.js.map +0 -1
  335. package/dist/os/rfc/handlers/supersede-propose.d.ts +0 -4
  336. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +0 -1
  337. package/dist/os/rfc/handlers/supersede-propose.js +0 -203
  338. package/dist/os/rfc/handlers/supersede-propose.js.map +0 -1
  339. package/dist/os/rfc/handlers/validate-rules.d.ts +0 -32
  340. package/dist/os/rfc/handlers/validate-rules.d.ts.map +0 -1
  341. package/dist/os/rfc/handlers/validate-rules.js +0 -590
  342. package/dist/os/rfc/handlers/validate-rules.js.map +0 -1
  343. package/dist/os/rfc/handlers/validate.d.ts +0 -4
  344. package/dist/os/rfc/handlers/validate.d.ts.map +0 -1
  345. package/dist/os/rfc/handlers/validate.js +0 -122
  346. package/dist/os/rfc/handlers/validate.js.map +0 -1
  347. package/dist/os/rfc/handlers.d.ts +0 -7
  348. package/dist/os/rfc/handlers.d.ts.map +0 -1
  349. package/dist/os/rfc/handlers.js +0 -19
  350. package/dist/os/rfc/handlers.js.map +0 -1
  351. package/dist/os/rfc/index.d.ts +0 -18
  352. package/dist/os/rfc/index.d.ts.map +0 -1
  353. package/dist/os/rfc/index.js +0 -24
  354. package/dist/os/rfc/index.js.map +0 -1
  355. package/dist/os/rfc/rfc.module.d.ts +0 -3
  356. package/dist/os/rfc/rfc.module.d.ts.map +0 -1
  357. package/dist/os/rfc/rfc.module.js +0 -366
  358. package/dist/os/rfc/rfc.module.js.map +0 -1
  359. package/dist/os/rfc/types.d.ts +0 -483
  360. package/dist/os/rfc/types.d.ts.map +0 -1
  361. package/dist/os/rfc/types.js +0 -100
  362. package/dist/os/rfc/types.js.map +0 -1
  363. package/dist/os/rfc/verification-evidence.d.ts +0 -8
  364. package/dist/os/rfc/verification-evidence.d.ts.map +0 -1
  365. package/dist/os/rfc/verification-evidence.js +0 -184
  366. package/dist/os/rfc/verification-evidence.js.map +0 -1
  367. package/dist/os/session/atif-parser.d.ts +0 -29
  368. package/dist/os/session/atif-parser.d.ts.map +0 -1
  369. package/dist/os/session/atif-parser.js +0 -140
  370. package/dist/os/session/atif-parser.js.map +0 -1
  371. package/dist/os/session/frontmatter-io.d.ts +0 -31
  372. package/dist/os/session/frontmatter-io.d.ts.map +0 -1
  373. package/dist/os/session/frontmatter-io.js +0 -146
  374. package/dist/os/session/frontmatter-io.js.map +0 -1
  375. package/dist/os/session/handlers/archive.d.ts +0 -4
  376. package/dist/os/session/handlers/archive.d.ts.map +0 -1
  377. package/dist/os/session/handlers/archive.js +0 -241
  378. package/dist/os/session/handlers/archive.js.map +0 -1
  379. package/dist/os/session/handlers/list.d.ts +0 -4
  380. package/dist/os/session/handlers/list.d.ts.map +0 -1
  381. package/dist/os/session/handlers/list.js +0 -147
  382. package/dist/os/session/handlers/list.js.map +0 -1
  383. package/dist/os/session/handlers/save.d.ts +0 -6
  384. package/dist/os/session/handlers/save.d.ts.map +0 -1
  385. package/dist/os/session/handlers/save.js +0 -297
  386. package/dist/os/session/handlers/save.js.map +0 -1
  387. package/dist/os/session/handlers/validate.d.ts +0 -4
  388. package/dist/os/session/handlers/validate.d.ts.map +0 -1
  389. package/dist/os/session/handlers/validate.js +0 -224
  390. package/dist/os/session/handlers/validate.js.map +0 -1
  391. package/dist/os/session/index.d.ts +0 -9
  392. package/dist/os/session/index.d.ts.map +0 -1
  393. package/dist/os/session/index.js +0 -20
  394. package/dist/os/session/index.js.map +0 -1
  395. package/dist/os/session/session.module.d.ts +0 -3
  396. package/dist/os/session/session.module.d.ts.map +0 -1
  397. package/dist/os/session/session.module.js +0 -115
  398. package/dist/os/session/session.module.js.map +0 -1
  399. package/dist/os/session/types.d.ts +0 -131
  400. package/dist/os/session/types.d.ts.map +0 -1
  401. package/dist/os/session/types.js +0 -59
  402. package/dist/os/session/types.js.map +0 -1
  403. package/dist/os/spec/live-spec-list.d.ts +0 -4
  404. package/dist/os/spec/live-spec-list.d.ts.map +0 -1
  405. package/dist/os/spec/live-spec-list.js +0 -72
  406. package/dist/os/spec/live-spec-list.js.map +0 -1
  407. package/dist/os/spec/live-spec-merge.d.ts +0 -4
  408. package/dist/os/spec/live-spec-merge.d.ts.map +0 -1
  409. package/dist/os/spec/live-spec-merge.js +0 -345
  410. package/dist/os/spec/live-spec-merge.js.map +0 -1
  411. package/dist/os/spec/live-spec-show.d.ts +0 -4
  412. package/dist/os/spec/live-spec-show.d.ts.map +0 -1
  413. package/dist/os/spec/live-spec-show.js +0 -105
  414. package/dist/os/spec/live-spec-show.js.map +0 -1
  415. package/dist/os/spec/live-spec-types.d.ts +0 -71
  416. package/dist/os/spec/live-spec-types.d.ts.map +0 -1
  417. package/dist/os/spec/live-spec-types.js +0 -14
  418. package/dist/os/spec/live-spec-types.js.map +0 -1
  419. package/dist/os/spec/live-spec-validate.d.ts +0 -4
  420. package/dist/os/spec/live-spec-validate.d.ts.map +0 -1
  421. package/dist/os/spec/live-spec-validate.js +0 -140
  422. package/dist/os/spec/live-spec-validate.js.map +0 -1
  423. package/dist/os/spec/spec-materialize.d.ts +0 -21
  424. package/dist/os/spec/spec-materialize.d.ts.map +0 -1
  425. package/dist/os/spec/spec-materialize.js +0 -342
  426. package/dist/os/spec/spec-materialize.js.map +0 -1
  427. package/dist/os/spec/spec-schema.d.ts +0 -126
  428. package/dist/os/spec/spec-schema.d.ts.map +0 -1
  429. package/dist/os/spec/spec-schema.js +0 -118
  430. package/dist/os/spec/spec-schema.js.map +0 -1
  431. package/dist/os/spec/spec-status.d.ts +0 -33
  432. package/dist/os/spec/spec-status.d.ts.map +0 -1
  433. package/dist/os/spec/spec-status.js +0 -228
  434. package/dist/os/spec/spec-status.js.map +0 -1
  435. package/dist/os/spec/spec-validate.d.ts +0 -4
  436. package/dist/os/spec/spec-validate.d.ts.map +0 -1
  437. package/dist/os/spec/spec-validate.js +0 -435
  438. package/dist/os/spec/spec-validate.js.map +0 -1
  439. package/dist/os/spec/spec.module.d.ts +0 -3
  440. package/dist/os/spec/spec.module.d.ts.map +0 -1
  441. package/dist/os/spec/spec.module.js +0 -119
  442. package/dist/os/spec/spec.module.js.map +0 -1
  443. package/dist/os/werkstatt/handlers/lock.d.ts +0 -10
  444. package/dist/os/werkstatt/handlers/lock.d.ts.map +0 -1
  445. package/dist/os/werkstatt/handlers/lock.js +0 -153
  446. package/dist/os/werkstatt/handlers/lock.js.map +0 -1
  447. package/dist/os/werkstatt/handlers/schema.d.ts +0 -33
  448. package/dist/os/werkstatt/handlers/schema.d.ts.map +0 -1
  449. package/dist/os/werkstatt/handlers/schema.js +0 -42
  450. package/dist/os/werkstatt/handlers/schema.js.map +0 -1
  451. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +0 -15
  452. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +0 -1
  453. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +0 -152
  454. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +0 -1
  455. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +0 -18
  456. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +0 -1
  457. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +0 -51
  458. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +0 -1
  459. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +0 -11
  460. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +0 -1
  461. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +0 -79
  462. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +0 -1
  463. package/dist/os/werkstatt/index.d.ts +0 -7
  464. package/dist/os/werkstatt/index.d.ts.map +0 -1
  465. package/dist/os/werkstatt/index.js +0 -18
  466. package/dist/os/werkstatt/index.js.map +0 -1
  467. package/dist/os/werkstatt/werkstatt.module.d.ts +0 -3
  468. package/dist/os/werkstatt/werkstatt.module.d.ts.map +0 -1
  469. package/dist/os/werkstatt/werkstatt.module.js +0 -58
  470. package/dist/os/werkstatt/werkstatt.module.js.map +0 -1
  471. package/dist/os/workflow/handlers.d.ts +0 -12
  472. package/dist/os/workflow/handlers.d.ts.map +0 -1
  473. package/dist/os/workflow/handlers.js +0 -262
  474. package/dist/os/workflow/handlers.js.map +0 -1
  475. package/dist/os/workflow/index.d.ts +0 -4
  476. package/dist/os/workflow/index.d.ts.map +0 -1
  477. package/dist/os/workflow/index.js +0 -18
  478. package/dist/os/workflow/index.js.map +0 -1
  479. package/dist/os/workflow/types.d.ts +0 -69
  480. package/dist/os/workflow/types.d.ts.map +0 -1
  481. package/dist/os/workflow/types.js +0 -23
  482. package/dist/os/workflow/types.js.map +0 -1
  483. package/dist/os/workflow/workflow.module.d.ts +0 -3
  484. package/dist/os/workflow/workflow.module.d.ts.map +0 -1
  485. package/dist/os/workflow/workflow.module.js +0 -48
  486. package/dist/os/workflow/workflow.module.js.map +0 -1
  487. package/dist/src/cli-output.d.ts +0 -5
  488. package/dist/src/cli-output.d.ts.map +0 -1
  489. package/dist/src/cli-output.js +0 -53
  490. package/dist/src/cli-output.js.map +0 -1
  491. package/dist/src/config/forge-config.d.ts +0 -242
  492. package/dist/src/config/forge-config.d.ts.map +0 -1
  493. package/dist/src/config/forge-config.js +0 -363
  494. package/dist/src/config/forge-config.js.map +0 -1
  495. package/dist/src/forge-module.d.ts +0 -16
  496. package/dist/src/forge-module.d.ts.map +0 -1
  497. package/dist/src/forge-module.js +0 -15
  498. package/dist/src/forge-module.js.map +0 -1
  499. package/dist/src/index.d.ts +0 -36
  500. package/dist/src/index.d.ts.map +0 -1
  501. package/dist/src/index.js +0 -56
  502. package/dist/src/index.js.map +0 -1
  503. package/dist/src/knowledge/budgets.d.ts +0 -38
  504. package/dist/src/knowledge/budgets.d.ts.map +0 -1
  505. package/dist/src/knowledge/budgets.js +0 -157
  506. package/dist/src/knowledge/budgets.js.map +0 -1
  507. package/dist/src/knowledge/compact.d.ts +0 -47
  508. package/dist/src/knowledge/compact.d.ts.map +0 -1
  509. package/dist/src/knowledge/compact.js +0 -320
  510. package/dist/src/knowledge/compact.js.map +0 -1
  511. package/dist/src/knowledge/index.d.ts +0 -7
  512. package/dist/src/knowledge/index.d.ts.map +0 -1
  513. package/dist/src/knowledge/index.js +0 -19
  514. package/dist/src/knowledge/index.js.map +0 -1
  515. package/dist/src/knowledge/parse.d.ts +0 -3
  516. package/dist/src/knowledge/parse.d.ts.map +0 -1
  517. package/dist/src/knowledge/parse.js +0 -205
  518. package/dist/src/knowledge/parse.js.map +0 -1
  519. package/dist/src/knowledge/promote.d.ts +0 -37
  520. package/dist/src/knowledge/promote.d.ts.map +0 -1
  521. package/dist/src/knowledge/promote.js +0 -120
  522. package/dist/src/knowledge/promote.js.map +0 -1
  523. package/dist/src/knowledge/schema.d.ts +0 -61
  524. package/dist/src/knowledge/schema.d.ts.map +0 -1
  525. package/dist/src/knowledge/schema.js +0 -64
  526. package/dist/src/knowledge/schema.js.map +0 -1
  527. package/dist/src/knowledge/serialize.d.ts +0 -3
  528. package/dist/src/knowledge/serialize.d.ts.map +0 -1
  529. package/dist/src/knowledge/serialize.js +0 -67
  530. package/dist/src/knowledge/serialize.js.map +0 -1
  531. package/dist/src/migration-adapters/git-utils.d.ts +0 -3
  532. package/dist/src/migration-adapters/git-utils.d.ts.map +0 -1
  533. package/dist/src/migration-adapters/git-utils.js +0 -64
  534. package/dist/src/migration-adapters/git-utils.js.map +0 -1
  535. package/dist/src/migration-adapters/ignored-files.d.ts +0 -12
  536. package/dist/src/migration-adapters/ignored-files.d.ts.map +0 -1
  537. package/dist/src/migration-adapters/ignored-files.js +0 -190
  538. package/dist/src/migration-adapters/ignored-files.js.map +0 -1
  539. package/dist/src/migration-adapters/index.d.ts +0 -8
  540. package/dist/src/migration-adapters/index.d.ts.map +0 -1
  541. package/dist/src/migration-adapters/index.js +0 -17
  542. package/dist/src/migration-adapters/index.js.map +0 -1
  543. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +0 -3
  544. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +0 -1
  545. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +0 -141
  546. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +0 -1
  547. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +0 -3
  548. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +0 -1
  549. package/dist/src/migration-adapters/phaser-pnpm/index.js +0 -142
  550. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +0 -1
  551. package/dist/src/migration-adapters/registry.d.ts +0 -6
  552. package/dist/src/migration-adapters/registry.d.ts.map +0 -1
  553. package/dist/src/migration-adapters/registry.js +0 -55
  554. package/dist/src/migration-adapters/registry.js.map +0 -1
  555. package/dist/src/migration-adapters/types.d.ts +0 -35
  556. package/dist/src/migration-adapters/types.d.ts.map +0 -1
  557. package/dist/src/migration-adapters/types.js +0 -31
  558. package/dist/src/migration-adapters/types.js.map +0 -1
  559. package/dist/src/onboarding/agents-generate.d.ts +0 -31
  560. package/dist/src/onboarding/agents-generate.d.ts.map +0 -1
  561. package/dist/src/onboarding/agents-generate.js +0 -372
  562. package/dist/src/onboarding/agents-generate.js.map +0 -1
  563. package/dist/src/onboarding/create.d.ts +0 -12
  564. package/dist/src/onboarding/create.d.ts.map +0 -1
  565. package/dist/src/onboarding/create.js +0 -389
  566. package/dist/src/onboarding/create.js.map +0 -1
  567. package/dist/src/onboarding/doctor.d.ts +0 -45
  568. package/dist/src/onboarding/doctor.d.ts.map +0 -1
  569. package/dist/src/onboarding/doctor.js +0 -1108
  570. package/dist/src/onboarding/doctor.js.map +0 -1
  571. package/dist/src/onboarding/init.d.ts +0 -36
  572. package/dist/src/onboarding/init.d.ts.map +0 -1
  573. package/dist/src/onboarding/init.js +0 -341
  574. package/dist/src/onboarding/init.js.map +0 -1
  575. package/dist/src/onboarding/invariant-engine.d.ts +0 -17
  576. package/dist/src/onboarding/invariant-engine.d.ts.map +0 -1
  577. package/dist/src/onboarding/invariant-engine.js +0 -416
  578. package/dist/src/onboarding/invariant-engine.js.map +0 -1
  579. package/dist/src/onboarding/memory-scaffold.d.ts +0 -18
  580. package/dist/src/onboarding/memory-scaffold.d.ts.map +0 -1
  581. package/dist/src/onboarding/memory-scaffold.js +0 -151
  582. package/dist/src/onboarding/memory-scaffold.js.map +0 -1
  583. package/dist/src/onboarding/nested-agents-generate.d.ts +0 -18
  584. package/dist/src/onboarding/nested-agents-generate.d.ts.map +0 -1
  585. package/dist/src/onboarding/nested-agents-generate.js +0 -69
  586. package/dist/src/onboarding/nested-agents-generate.js.map +0 -1
  587. package/dist/src/onboarding/nested-agents-templates.d.ts +0 -26
  588. package/dist/src/onboarding/nested-agents-templates.d.ts.map +0 -1
  589. package/dist/src/onboarding/nested-agents-templates.js +0 -178
  590. package/dist/src/onboarding/nested-agents-templates.js.map +0 -1
  591. package/dist/src/onboarding/profile-validate.d.ts +0 -13
  592. package/dist/src/onboarding/profile-validate.d.ts.map +0 -1
  593. package/dist/src/onboarding/profile-validate.js +0 -109
  594. package/dist/src/onboarding/profile-validate.js.map +0 -1
  595. package/dist/src/onboarding/scaffold-project.d.ts +0 -12
  596. package/dist/src/onboarding/scaffold-project.d.ts.map +0 -1
  597. package/dist/src/onboarding/scaffold-project.js +0 -264
  598. package/dist/src/onboarding/scaffold-project.js.map +0 -1
  599. package/dist/src/onboarding/scaffold.d.ts +0 -15
  600. package/dist/src/onboarding/scaffold.d.ts.map +0 -1
  601. package/dist/src/onboarding/scaffold.js +0 -120
  602. package/dist/src/onboarding/scaffold.js.map +0 -1
  603. package/dist/src/onboarding/upgrade.d.ts +0 -27
  604. package/dist/src/onboarding/upgrade.d.ts.map +0 -1
  605. package/dist/src/onboarding/upgrade.js +0 -447
  606. package/dist/src/onboarding/upgrade.js.map +0 -1
  607. package/dist/src/onboarding/workspace-discovery.d.ts +0 -11
  608. package/dist/src/onboarding/workspace-discovery.d.ts.map +0 -1
  609. package/dist/src/onboarding/workspace-discovery.js +0 -138
  610. package/dist/src/onboarding/workspace-discovery.js.map +0 -1
  611. package/dist/src/profiles/profile-schema.d.ts +0 -361
  612. package/dist/src/profiles/profile-schema.d.ts.map +0 -1
  613. package/dist/src/profiles/profile-schema.js +0 -208
  614. package/dist/src/profiles/profile-schema.js.map +0 -1
  615. package/dist/src/profiles/stack-profile.d.ts +0 -173
  616. package/dist/src/profiles/stack-profile.d.ts.map +0 -1
  617. package/dist/src/profiles/stack-profile.js +0 -148
  618. package/dist/src/profiles/stack-profile.js.map +0 -1
  619. package/dist/src/profiles/terminology-utils.d.ts +0 -8
  620. package/dist/src/profiles/terminology-utils.d.ts.map +0 -1
  621. package/dist/src/profiles/terminology-utils.js +0 -31
  622. package/dist/src/profiles/terminology-utils.js.map +0 -1
  623. package/dist/src/registry.d.ts +0 -38
  624. package/dist/src/registry.d.ts.map +0 -1
  625. package/dist/src/registry.js +0 -146
  626. package/dist/src/registry.js.map +0 -1
  627. package/dist/src/skill-schema.d.ts +0 -30
  628. package/dist/src/skill-schema.d.ts.map +0 -1
  629. package/dist/src/skill-schema.js +0 -34
  630. package/dist/src/skill-schema.js.map +0 -1
  631. package/dist/src/types.d.ts +0 -154
  632. package/dist/src/types.d.ts.map +0 -1
  633. package/dist/src/types.js +0 -17
  634. package/dist/src/types.js.map +0 -1
  635. package/dist/src/utils/fs-atomic.d.ts +0 -7
  636. package/dist/src/utils/fs-atomic.d.ts.map +0 -1
  637. package/dist/src/utils/fs-atomic.js +0 -81
  638. package/dist/src/utils/fs-atomic.js.map +0 -1
  639. package/dist/src/utils/fs-idempotent.d.ts +0 -2
  640. package/dist/src/utils/fs-idempotent.d.ts.map +0 -1
  641. package/dist/src/utils/fs-idempotent.js +0 -39
  642. package/dist/src/utils/fs-idempotent.js.map +0 -1
  643. package/dist/src/utils/fs-trash-sync.d.ts +0 -2
  644. package/dist/src/utils/fs-trash-sync.d.ts.map +0 -1
  645. package/dist/src/utils/fs-trash-sync.js +0 -34
  646. package/dist/src/utils/fs-trash-sync.js.map +0 -1
  647. package/dist/src/utils/fs-trash.d.ts +0 -2
  648. package/dist/src/utils/fs-trash.d.ts.map +0 -1
  649. package/dist/src/utils/fs-trash.js +0 -24
  650. package/dist/src/utils/fs-trash.js.map +0 -1
  651. package/dist/src/utils/fs.d.ts +0 -8
  652. package/dist/src/utils/fs.d.ts.map +0 -1
  653. package/dist/src/utils/fs.js +0 -60
  654. package/dist/src/utils/fs.js.map +0 -1
  655. package/dist/src/utils/generated-marker.d.ts +0 -21
  656. package/dist/src/utils/generated-marker.d.ts.map +0 -1
  657. package/dist/src/utils/generated-marker.js +0 -128
  658. package/dist/src/utils/generated-marker.js.map +0 -1
  659. package/dist/src/utils/hash.d.ts +0 -2
  660. package/dist/src/utils/hash.d.ts.map +0 -1
  661. package/dist/src/utils/hash.js +0 -18
  662. package/dist/src/utils/hash.js.map +0 -1
  663. package/dist/src/utils/index.d.ts +0 -9
  664. package/dist/src/utils/index.d.ts.map +0 -1
  665. package/dist/src/utils/index.js +0 -21
  666. package/dist/src/utils/index.js.map +0 -1
  667. package/dist/src/utils/string-utils.d.ts +0 -2
  668. package/dist/src/utils/string-utils.d.ts.map +0 -1
  669. package/dist/src/utils/string-utils.js +0 -19
  670. package/dist/src/utils/string-utils.js.map +0 -1
  671. package/dist/src/validators/note-frontmatter-validate.d.ts +0 -20
  672. package/dist/src/validators/note-frontmatter-validate.d.ts.map +0 -1
  673. package/dist/src/validators/note-frontmatter-validate.js +0 -117
  674. package/dist/src/validators/note-frontmatter-validate.js.map +0 -1
  675. package/dist/src/validators/note-link-validate.d.ts +0 -21
  676. package/dist/src/validators/note-link-validate.d.ts.map +0 -1
  677. package/dist/src/validators/note-link-validate.js +0 -121
  678. package/dist/src/validators/note-link-validate.js.map +0 -1
  679. package/dist/src/validators/note-orphan-detect.d.ts +0 -19
  680. package/dist/src/validators/note-orphan-detect.d.ts.map +0 -1
  681. package/dist/src/validators/note-orphan-detect.js +0 -123
  682. package/dist/src/validators/note-orphan-detect.js.map +0 -1
  683. package/dist/src/validators/port-validate.d.ts +0 -12
  684. package/dist/src/validators/port-validate.d.ts.map +0 -1
  685. package/dist/src/validators/port-validate.js +0 -78
  686. package/dist/src/validators/port-validate.js.map +0 -1
  687. package/dist/src/validators/skill-validate.d.ts +0 -29
  688. package/dist/src/validators/skill-validate.d.ts.map +0 -1
  689. package/dist/src/validators/skill-validate.js +0 -689
  690. package/dist/src/validators/skill-validate.js.map +0 -1
@@ -1,53 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>CLI output rendering helpers (RFC-0542) — renderNextSteps,
4
- renderIdeRecommendation, generateHelp. Pure functions, no I/O, no process.exit.
5
- Importable by bin/cli.ts and unit tests.</purpose>
6
- <non-goals>
7
- <item>Do not call console.log or process.exit — callers handle output.</item>
8
- <item>Do not import from bin/ — this is the portable layer.</item>
9
- </non-goals>
10
- </MODULE_CONTRACT>
11
- <CHANGE_SUMMARY>
12
- <item>RFC-0542: initial CLI output rendering helpers — renderNextSteps, renderIdeRecommendation, generateHelp.</item>
13
- </CHANGE_SUMMARY>
14
- */
15
- export function renderNextSteps(steps) {
16
- if (!steps || steps.length === 0)
17
- return "";
18
- const lines = ["\nNext steps:"];
19
- for (const step of steps) {
20
- const label = step.kind === "required" ? "[must do]" : "[can do]";
21
- lines.push(` • ${step.action} ${label}`);
22
- }
23
- return lines.join("\n");
24
- }
25
- export function renderIdeRecommendation() {
26
- return "\nRecommended IDE: Windsurf (tested with forge). Other IDEs (VS Code, Cursor)\nwork but are not tested.";
27
- }
28
- export function generateHelp(registry) {
29
- const commands = registry.listCommands().filter((cmd) => !cmd.hidden);
30
- const header = `forge — autonomous project tooling
31
-
32
- Usage:
33
- forge <command> [args...] [--flags...]
34
- forge --help <command> Show per-command flags and description
35
-
36
- Flags:
37
- --json Output results as JSON
38
- --dry-run Show what would happen without making changes
39
- --site <name> Target a specific site/app
40
- --version Show forge version
41
- --help Show this help (or per-command help with --help <command>)
42
-
43
- Registered commands (${commands.length}):`;
44
- const commandLines = commands
45
- .map((cmd) => {
46
- const desc = cmd.description.length > 80 ? cmd.description.slice(0, 77) + "..." : cmd.description;
47
- const displayName = cmd.name.replace(/^forge\./, "");
48
- return ` ${displayName.padEnd(40)} ${desc}`;
49
- })
50
- .join("\n");
51
- return `${header}\n${commandLines}\n`;
52
- }
53
- //# sourceMappingURL=cli-output.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-output.js","sourceRoot":"","sources":["../../src/cli-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;EAaE;AAIF,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,eAAe,CAAC,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,WAAW,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO,yGAAyG,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAyB;IACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG;;;;;;;;;;;;;uBAaM,QAAQ,CAAC,MAAM,IAAI,CAAC;IAEzC,MAAM,YAAY,GAAG,QAAQ;SAC1B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,IAAI,GACR,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;QACvF,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACrD,OAAO,KAAK,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/C,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO,GAAG,MAAM,KAAK,YAAY,IAAI,CAAC;AACxC,CAAC"}
@@ -1,242 +0,0 @@
1
- import { z } from "zod";
2
- import { type StackProfile } from "../profiles/stack-profile.ts";
3
- export declare const forgeBindingsSchema: z.ZodObject<{
4
- schema: z.ZodLiteral<"forge/bindings@1">;
5
- commands: z.ZodObject<{
6
- validateRfc: z.ZodDefault<z.ZodNullable<z.ZodString>>;
7
- validateAdr: z.ZodDefault<z.ZodNullable<z.ZodString>>;
8
- implementStamp: z.ZodDefault<z.ZodNullable<z.ZodString>>;
9
- typecheck: z.ZodDefault<z.ZodNullable<z.ZodString>>;
10
- test: z.ZodDefault<z.ZodNullable<z.ZodString>>;
11
- scopedBuild: z.ZodDefault<z.ZodNullable<z.ZodString>>;
12
- specValidate: z.ZodDefault<z.ZodNullable<z.ZodString>>;
13
- sessionSave: z.ZodDefault<z.ZodNullable<z.ZodString>>;
14
- validate: z.ZodDefault<z.ZodNullable<z.ZodString>>;
15
- produce: z.ZodDefault<z.ZodNullable<z.ZodString>>;
16
- verify: z.ZodDefault<z.ZodNullable<z.ZodString>>;
17
- preview: z.ZodDefault<z.ZodNullable<z.ZodString>>;
18
- lint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
19
- }, z.core.$strip>;
20
- paths: z.ZodObject<{
21
- invariantsFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
22
- compassDocs: z.ZodDefault<z.ZodArray<z.ZodString>>;
23
- reviewsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
24
- handoffsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
25
- sessionsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
26
- }, z.core.$strip>;
27
- terminology: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
28
- compass: z.ZodOptional<z.ZodObject<{
29
- fileExtensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
- testPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
31
- }, z.core.$strip>>;
32
- knowledge: z.ZodOptional<z.ZodObject<{
33
- budgets: z.ZodOptional<z.ZodObject<{
34
- hot: z.ZodNumber;
35
- warm: z.ZodNumber;
36
- }, z.core.$strip>>;
37
- retentionDays: z.ZodOptional<z.ZodNumber>;
38
- staleDays: z.ZodOptional<z.ZodNumber>;
39
- }, z.core.$strip>>;
40
- memory: z.ZodOptional<z.ZodObject<{
41
- budget: z.ZodDefault<z.ZodNumber>;
42
- }, z.core.$strip>>;
43
- }, z.core.$strip>;
44
- export interface ForgeBindings {
45
- schema: "forge/bindings@1";
46
- commands: {
47
- validateRfc: string | null;
48
- validateAdr: string | null;
49
- implementStamp: string | null;
50
- typecheck: string | null;
51
- test: string | null;
52
- scopedBuild: string | null;
53
- specValidate: string | null;
54
- sessionSave: string | null;
55
- validate: string | null;
56
- produce: string | null;
57
- verify: string | null;
58
- preview: string | null;
59
- lint: string | null;
60
- };
61
- paths: {
62
- invariantsFile: string | null;
63
- compassDocs: string[];
64
- reviewsDir: string | null;
65
- handoffsDir: string | null;
66
- sessionsDir: string | null;
67
- };
68
- terminology: Record<string, string>;
69
- compass?: {
70
- fileExtensions?: string[];
71
- testPatterns?: string[];
72
- };
73
- knowledge?: {
74
- budgets?: {
75
- hot: number;
76
- warm: number;
77
- };
78
- retentionDays?: number;
79
- staleDays?: number;
80
- };
81
- memory?: {
82
- budget: number;
83
- };
84
- }
85
- export declare const forgeSkillPackSchema: z.ZodObject<{
86
- prefix: z.ZodString;
87
- dir: z.ZodString;
88
- }, z.core.$strip>;
89
- export interface ForgeSkillPack {
90
- prefix: string;
91
- dir: string;
92
- }
93
- export declare const forgeMigrationAdapterSchema: z.ZodObject<{
94
- id: z.ZodString;
95
- module: z.ZodOptional<z.ZodString>;
96
- }, z.core.$strip>;
97
- export interface ForgeMigrationAdapter {
98
- id: string;
99
- module?: string;
100
- }
101
- export declare const forgeConfigSchema: z.ZodObject<{
102
- schema: z.ZodLiteral<"forge/config@1">;
103
- project: z.ZodObject<{
104
- name: z.ZodString;
105
- stack: z.ZodDefault<z.ZodArray<z.ZodString>>;
106
- packageManager: z.ZodDefault<z.ZodEnum<{
107
- pnpm: "pnpm";
108
- npm: "npm";
109
- yarn: "yarn";
110
- bun: "bun";
111
- none: "none";
112
- }>>;
113
- domain: z.ZodOptional<z.ZodString>;
114
- }, z.core.$strip>;
115
- paths: z.ZodObject<{
116
- rfcsDir: z.ZodDefault<z.ZodString>;
117
- adrsDir: z.ZodDefault<z.ZodString>;
118
- plansDir: z.ZodDefault<z.ZodString>;
119
- auditsDir: z.ZodDefault<z.ZodString>;
120
- specsDir: z.ZodDefault<z.ZodString>;
121
- skillsDir: z.ZodDefault<z.ZodString>;
122
- sessionsDir: z.ZodDefault<z.ZodString>;
123
- }, z.core.$strip>;
124
- bindings: z.ZodOptional<z.ZodObject<{
125
- schema: z.ZodLiteral<"forge/bindings@1">;
126
- commands: z.ZodObject<{
127
- validateRfc: z.ZodDefault<z.ZodNullable<z.ZodString>>;
128
- validateAdr: z.ZodDefault<z.ZodNullable<z.ZodString>>;
129
- implementStamp: z.ZodDefault<z.ZodNullable<z.ZodString>>;
130
- typecheck: z.ZodDefault<z.ZodNullable<z.ZodString>>;
131
- test: z.ZodDefault<z.ZodNullable<z.ZodString>>;
132
- scopedBuild: z.ZodDefault<z.ZodNullable<z.ZodString>>;
133
- specValidate: z.ZodDefault<z.ZodNullable<z.ZodString>>;
134
- sessionSave: z.ZodDefault<z.ZodNullable<z.ZodString>>;
135
- validate: z.ZodDefault<z.ZodNullable<z.ZodString>>;
136
- produce: z.ZodDefault<z.ZodNullable<z.ZodString>>;
137
- verify: z.ZodDefault<z.ZodNullable<z.ZodString>>;
138
- preview: z.ZodDefault<z.ZodNullable<z.ZodString>>;
139
- lint: z.ZodDefault<z.ZodNullable<z.ZodString>>;
140
- }, z.core.$strip>;
141
- paths: z.ZodObject<{
142
- invariantsFile: z.ZodDefault<z.ZodNullable<z.ZodString>>;
143
- compassDocs: z.ZodDefault<z.ZodArray<z.ZodString>>;
144
- reviewsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
145
- handoffsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
146
- sessionsDir: z.ZodDefault<z.ZodNullable<z.ZodString>>;
147
- }, z.core.$strip>;
148
- terminology: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
149
- compass: z.ZodOptional<z.ZodObject<{
150
- fileExtensions: z.ZodOptional<z.ZodArray<z.ZodString>>;
151
- testPatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
152
- }, z.core.$strip>>;
153
- knowledge: z.ZodOptional<z.ZodObject<{
154
- budgets: z.ZodOptional<z.ZodObject<{
155
- hot: z.ZodNumber;
156
- warm: z.ZodNumber;
157
- }, z.core.$strip>>;
158
- retentionDays: z.ZodOptional<z.ZodNumber>;
159
- staleDays: z.ZodOptional<z.ZodNumber>;
160
- }, z.core.$strip>>;
161
- memory: z.ZodOptional<z.ZodObject<{
162
- budget: z.ZodDefault<z.ZodNumber>;
163
- }, z.core.$strip>>;
164
- }, z.core.$strip>>;
165
- skillPacks: z.ZodOptional<z.ZodArray<z.ZodObject<{
166
- prefix: z.ZodString;
167
- dir: z.ZodString;
168
- }, z.core.$strip>>>;
169
- migrationAdapters: z.ZodOptional<z.ZodArray<z.ZodObject<{
170
- id: z.ZodString;
171
- module: z.ZodOptional<z.ZodString>;
172
- }, z.core.$strip>>>;
173
- forge: z.ZodOptional<z.ZodObject<{
174
- syncedVersion: z.ZodDefault<z.ZodNullable<z.ZodString>>;
175
- }, z.core.$strip>>;
176
- profile: z.ZodOptional<z.ZodString>;
177
- independentVersionPackages: z.ZodOptional<z.ZodArray<z.ZodString>>;
178
- }, z.core.$strip>;
179
- export interface ForgeConfig {
180
- schema: "forge/config@1";
181
- project: {
182
- name: string;
183
- stack: string[];
184
- packageManager: "pnpm" | "npm" | "yarn" | "bun" | "none";
185
- /** RFC-0640: optional domain field — absent means software-domain fallback */
186
- domain?: string;
187
- };
188
- paths: {
189
- rfcsDir: string;
190
- adrsDir: string;
191
- plansDir: string;
192
- auditsDir: string;
193
- specsDir: string;
194
- skillsDir: string;
195
- sessionsDir: string;
196
- };
197
- /** Bindings contract (RFC-0393). Optional — absent means no bindings. */
198
- bindings?: ForgeBindings;
199
- /** Skill packs (RFC-0539). Optional — absent means no project-local packs. */
200
- skillPacks?: ForgeSkillPack[];
201
- /** Migration adapters (RFC-0546). Optional — absent means built-in adapters only. */
202
- migrationAdapters?: ForgeMigrationAdapter[];
203
- /** Forge sync metadata (RFC-0543). Optional — absent means never synced. */
204
- forge?: {
205
- syncedVersion: string | null;
206
- };
207
- /** RFC-0643: loaded stack profile — present when forge.yaml has a `profile` field */
208
- profile?: StackProfile;
209
- /** RFC-0704: packages with autonomous npm versions — ecosystem.commit skips platform bump when all staged files belong to these packages */
210
- independentVersionPackages?: string[];
211
- }
212
- export interface ForgeCliBindingDefault {
213
- key: string;
214
- template: string;
215
- }
216
- export declare const FORGE_CLI_BINDING_DEFAULTS: ForgeCliBindingDefault[];
217
- export declare const PM_RUNNER_MAP: Record<string, string>;
218
- export declare function resolvePmRunner(pm: string): string;
219
- export declare const PM_INSTALL_MAP: Record<string, string>;
220
- export declare function resolvePmInstall(pm: string): string;
221
- export declare function applyCliBindingDefaults(pm: string): ForgeBindings["commands"];
222
- export type ForgePackageManager = ForgeConfig["project"]["packageManager"];
223
- export declare function resolvePackageManager(pm: string): ForgePackageManager;
224
- export declare function defaultForgeConfig(projectName: string, packageManager?: string): ForgeConfig;
225
- export declare function loadForgeConfig(workspaceRoot: string, forgeRootOverride?: string): ForgeConfig;
226
- export declare function resolveForgeRoot(workspaceRoot: string): string;
227
- /**
228
- * Resolve a binding key (e.g. "commands.validateRfc") from the config.
229
- * Returns the resolved string/array, or null if the binding is absent or explicitly null.
230
- * Supports placeholder substitution: {id}, {workspace}, {file}.
231
- */
232
- export declare function resolveBinding(config: ForgeConfig, key: string, placeholders?: Record<string, string>): string | string[] | null;
233
- /**
234
- * Resolve a terminology key using a three-tier chain:
235
- * 1. Per-project override in bindings.terminology
236
- * 2. Caller-provided terminology map (typically from profile.terminology, RFC-0638)
237
- * 3. Universal default from TERMINOLOGY_DEFAULTS (RFC-0638)
238
- *
239
- * If the key is not found in any tier, the key itself is returned.
240
- */
241
- export declare function resolveTerminology(config: ForgeConfig, terminology: Record<string, string> | undefined, key: string): string;
242
- //# sourceMappingURL=forge-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"forge-config.d.ts","sourceRoot":"","sources":["../../../src/config/forge-config.ts"],"names":[],"mappings":"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"}
@@ -1,363 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>Forge project configuration — forge.yaml schema, loader, forge root resolver, and bindings contract. Single source of truth for how forge is deployed in a project.</purpose>
4
- <non-goals>
5
- <item>Do not import from @warpgogol/* — this module is portable.</item>
6
- </non-goals>
7
- </MODULE_CONTRACT>
8
- <CHANGE_SUMMARY>
9
- <item>RFC-0391: initial forge-config module with zod schema, loadForgeConfig, resolveForgeRoot.</item>
10
- <item>RFC-0393: added ForgeBindings schema, resolveBinding with placeholder substitution.</item>
11
- <item>RFC-0538: added optional compass binding section (fileExtensions, testPatterns).</item>
12
- <item>RFC-0537: added sessionsDir to paths and bindings.paths schemas.</item>
13
- <item>RFC-0539: added ForgeSkillPack schema and skillPacks to forge config for project-declared skill packs.</item>
14
- <item>RFC-0540: added implementStamp to bindings schema, FORGE_CLI_BINDING_DEFAULTS, PM_RUNNER_MAP, resolvePmRunner, applyCliBindingDefaults.</item>
15
- <item>RFC-0540 fix: eliminated type casts — applyCliBindingDefaults returns ForgeBindings["commands"] directly, resolvePackageManager validates pm against enum.</item>
16
- <item>RFC-0543: added optional forge.syncedVersion field to forgeConfigSchema and defaultForgeConfig for consumer upgrade tracking.</item>
17
- <item>RFC-0546: added optional migrationAdapters field to forgeConfigSchema for migration-adapter registry discovery.</item>
18
- <item>RFC-0639: added 5 semantic command keys (validate, produce, verify, preview, lint), terminology promoted from .optional() to .default({}), resolveTerminology function.</item>
19
- <item>RFC-0640: added optional domain field to project section for domain-aware bootstrapping and health checks.</item>
20
- <item>RFC-0643: added optional profile field to forgeConfigSchema and ForgeConfig; loadForgeConfig loads profiles/<id>.yaml when present.</item>
21
- <item>RFC-0661: added optional knowledge.budgets binding for hot/warm layer character budget overrides.</item>
22
- <item>RFC-0662: added optional knowledge.retentionDays and knowledge.staleDays bindings for compaction overrides.</item>
23
- <item>RFC-0704: added optional independentVersionPackages field to forgeConfigSchema for packages with autonomous npm versions.</item>
24
- </CHANGE_SUMMARY>
25
- */
26
- import fs from "node:fs";
27
- import path from "node:path";
28
- import { z } from "zod";
29
- import { parse as parseYaml } from "yaml";
30
- import { TERMINOLOGY_DEFAULTS } from "../profiles/profile-schema.js";
31
- import { listStackProfiles } from "../profiles/stack-profile.js";
32
- // ---------------------------------------------------------------------------
33
- // Bindings schema (forge/bindings@1) — RFC-0393
34
- // ---------------------------------------------------------------------------
35
- export const forgeBindingsSchema = z.object({
36
- schema: z.literal("forge/bindings@1"),
37
- commands: z.object({
38
- validateRfc: z.string().nullable().default(null),
39
- validateAdr: z.string().nullable().default(null),
40
- implementStamp: z.string().nullable().default(null),
41
- typecheck: z.string().nullable().default(null),
42
- test: z.string().nullable().default(null),
43
- scopedBuild: z.string().nullable().default(null),
44
- specValidate: z.string().nullable().default(null),
45
- sessionSave: z.string().nullable().default(null),
46
- // Semantic keys (RFC-0639) — domain-neutral, optional
47
- validate: z.string().nullable().default(null),
48
- produce: z.string().nullable().default(null),
49
- verify: z.string().nullable().default(null),
50
- preview: z.string().nullable().default(null),
51
- lint: z.string().nullable().default(null),
52
- }),
53
- paths: z.object({
54
- invariantsFile: z.string().nullable().default(null),
55
- compassDocs: z.array(z.string()).default([]),
56
- reviewsDir: z.string().nullable().default(null),
57
- handoffsDir: z.string().nullable().default(null),
58
- sessionsDir: z.string().nullable().default(null),
59
- }),
60
- terminology: z.record(z.string(), z.string()).default({}),
61
- compass: z
62
- .object({
63
- fileExtensions: z.array(z.string()).optional(),
64
- testPatterns: z.array(z.string()).optional(),
65
- })
66
- .optional(),
67
- // RFC-0661: optional knowledge layer character budget overrides
68
- // RFC-0662: optional retention/stale day overrides
69
- knowledge: z
70
- .object({
71
- budgets: z
72
- .object({
73
- hot: z.number().positive(),
74
- warm: z.number().positive(),
75
- })
76
- .optional(),
77
- retentionDays: z.number().positive().optional(),
78
- staleDays: z.number().positive().optional(),
79
- })
80
- .optional(),
81
- // RFC-0664: optional memory layer budget override (MEMORY.md hot store)
82
- memory: z
83
- .object({
84
- budget: z.number().int().positive().default(4096),
85
- })
86
- .optional(),
87
- });
88
- // ---------------------------------------------------------------------------
89
- // Skill packs schema (RFC-0539)
90
- // ---------------------------------------------------------------------------
91
- export const forgeSkillPackSchema = z.object({
92
- prefix: z
93
- .string()
94
- .regex(/^[a-z][a-z0-9]{1,7}$/, "prefix must be 2-8 chars: lowercase letter followed by lowercase alphanumeric")
95
- .refine((v) => v !== "fo", "fo prefix is reserved for forge"),
96
- dir: z.string().min(1),
97
- });
98
- // ---------------------------------------------------------------------------
99
- // Migration adapters schema (RFC-0546)
100
- // ---------------------------------------------------------------------------
101
- export const forgeMigrationAdapterSchema = z.object({
102
- id: z.string().min(1),
103
- module: z.string().optional(),
104
- });
105
- // ---------------------------------------------------------------------------
106
- // Schema (forge/config@1)
107
- // ---------------------------------------------------------------------------
108
- export const forgeConfigSchema = z.object({
109
- schema: z.literal("forge/config@1"),
110
- project: z.object({
111
- name: z.string().min(1),
112
- stack: z.array(z.string()).default([]),
113
- packageManager: z.enum(["pnpm", "npm", "yarn", "bun", "none"]).default("pnpm"),
114
- // RFC-0640: optional domain field — absent means software-domain fallback
115
- domain: z.string().optional(),
116
- }),
117
- paths: z.object({
118
- rfcsDir: z.string().default("docs/rfcs"),
119
- adrsDir: z.string().default("docs/adrs"),
120
- plansDir: z.string().default("docs/plans"),
121
- auditsDir: z.string().default("docs/audits"),
122
- specsDir: z.string().default("docs/specs"),
123
- skillsDir: z.string().default(".agents/skills"),
124
- sessionsDir: z.string().default("docs/sessions"),
125
- }),
126
- /** Bindings contract (RFC-0393). Optional — absent means no bindings. */
127
- bindings: forgeBindingsSchema.optional(),
128
- /** Skill packs (RFC-0539). Optional — absent means no project-local packs. */
129
- skillPacks: z.array(forgeSkillPackSchema).optional(),
130
- /** Migration adapters (RFC-0546). Optional — absent means built-in adapters only. */
131
- migrationAdapters: z.array(forgeMigrationAdapterSchema).optional(),
132
- /** Forge sync metadata (RFC-0543). Optional — absent means never synced. */
133
- forge: z
134
- .object({
135
- syncedVersion: z.string().nullable().default(null),
136
- })
137
- .optional(),
138
- /** RFC-0643: profile id — when present, loadForgeConfig loads the corresponding profiles/<id>.yaml */
139
- profile: z.string().optional(),
140
- /** RFC-0704: packages with autonomous npm versions — ecosystem.commit skips platform bump when all staged files belong to these packages */
141
- independentVersionPackages: z.array(z.string()).optional(),
142
- });
143
- export const FORGE_CLI_BINDING_DEFAULTS = [
144
- { key: "commands.validateRfc", template: "forge rfc.validate --id {id} --json" },
145
- { key: "commands.validateAdr", template: "forge adr.validate --id {id} --json" },
146
- {
147
- key: "commands.implementStamp",
148
- template: "forge rfc.implement.stamp --id {id} --implementation-commit {commit}",
149
- },
150
- { key: "commands.specValidate", template: "forge spec.validate --spec={id} --json" },
151
- { key: "commands.sessionSave", template: "forge session.save --json" },
152
- ];
153
- export const PM_RUNNER_MAP = {
154
- pnpm: "pnpm exec",
155
- npm: "npx",
156
- yarn: "yarn exec",
157
- bun: "bunx",
158
- none: "npx",
159
- };
160
- export function resolvePmRunner(pm) {
161
- return PM_RUNNER_MAP[pm] ?? "npx";
162
- }
163
- export const PM_INSTALL_MAP = {
164
- pnpm: "pnpm add",
165
- npm: "npm install",
166
- yarn: "yarn add",
167
- bun: "bun add",
168
- none: "npm install",
169
- };
170
- export function resolvePmInstall(pm) {
171
- return PM_INSTALL_MAP[pm] ?? "npm install";
172
- }
173
- export function applyCliBindingDefaults(pm) {
174
- const runner = resolvePmRunner(pm);
175
- const commands = {
176
- validateRfc: null,
177
- validateAdr: null,
178
- implementStamp: null,
179
- typecheck: null,
180
- test: null,
181
- scopedBuild: null,
182
- specValidate: null,
183
- sessionSave: null,
184
- // Semantic keys (RFC-0639) — stack-dependent, not CLI-backed
185
- validate: null,
186
- produce: null,
187
- verify: null,
188
- preview: null,
189
- lint: null,
190
- };
191
- for (const entry of FORGE_CLI_BINDING_DEFAULTS) {
192
- const bareKey = entry.key.replace("commands.", "");
193
- commands[bareKey] = `${runner} ${entry.template}`;
194
- }
195
- return commands;
196
- }
197
- const VALID_PACKAGE_MANAGERS = ["pnpm", "npm", "yarn", "bun", "none"];
198
- export function resolvePackageManager(pm) {
199
- return VALID_PACKAGE_MANAGERS.includes(pm) ? pm : "pnpm";
200
- }
201
- export function defaultForgeConfig(projectName, packageManager) {
202
- const pm = resolvePackageManager(packageManager ?? "pnpm");
203
- return {
204
- schema: "forge/config@1",
205
- project: {
206
- name: projectName,
207
- stack: [],
208
- packageManager: pm,
209
- },
210
- paths: {
211
- rfcsDir: "docs/rfcs",
212
- adrsDir: "docs/adrs",
213
- plansDir: "docs/plans",
214
- auditsDir: "docs/audits",
215
- specsDir: "docs/specs",
216
- skillsDir: ".agents/skills",
217
- sessionsDir: "docs/sessions",
218
- },
219
- bindings: {
220
- schema: "forge/bindings@1",
221
- commands: applyCliBindingDefaults(pm),
222
- paths: {
223
- invariantsFile: null,
224
- compassDocs: [],
225
- reviewsDir: "docs/reviews",
226
- handoffsDir: "docs/handoffs",
227
- sessionsDir: "docs/sessions",
228
- },
229
- terminology: {},
230
- compass: {},
231
- },
232
- forge: { syncedVersion: null },
233
- };
234
- }
235
- // ---------------------------------------------------------------------------
236
- // Loader
237
- // ---------------------------------------------------------------------------
238
- export function loadForgeConfig(workspaceRoot, forgeRootOverride) {
239
- const configPath = path.join(workspaceRoot, "forge.yaml");
240
- if (!fs.existsSync(configPath)) {
241
- throw new Error(`forge.yaml not found at ${configPath}. Run 'forge create' to create project configuration.`);
242
- }
243
- const raw = fs.readFileSync(configPath, "utf8");
244
- let parsed;
245
- try {
246
- parsed = parseYaml(raw);
247
- }
248
- catch (err) {
249
- throw new Error(`forge.yaml at ${configPath} is not valid YAML: ${err.message}`);
250
- }
251
- const result = forgeConfigSchema.safeParse(parsed);
252
- if (!result.success) {
253
- const issues = result.error.issues
254
- .map((i) => ` - ${i.path.join(".")}: ${i.message}`)
255
- .join("\n");
256
- throw new Error(`forge.yaml at ${configPath} failed schema validation:\n${issues}\nFix the listed fields or run 'forge create' to regenerate defaults.`);
257
- }
258
- const rawData = result.data;
259
- const profileId = rawData["profile"];
260
- // RFC-0643: load stack profile when `profile` field is present in forge.yaml
261
- let loadedProfile;
262
- if (profileId) {
263
- try {
264
- const forgeRoot = forgeRootOverride ?? resolveForgeRoot(workspaceRoot);
265
- const profiles = listStackProfiles(forgeRoot);
266
- loadedProfile = profiles.find((p) => p.id === profileId);
267
- }
268
- catch {
269
- // forge root not resolvable — profile not loaded
270
- }
271
- }
272
- const config = { ...rawData };
273
- if (loadedProfile) {
274
- config.profile = loadedProfile;
275
- }
276
- else {
277
- delete config.profile;
278
- }
279
- return config;
280
- }
281
- // ---------------------------------------------------------------------------
282
- // Forge root resolver — the single place that decides monorepo vs npm-installed
283
- // ---------------------------------------------------------------------------
284
- export function resolveForgeRoot(workspaceRoot) {
285
- const monorepoPath = path.join(workspaceRoot, "packages", "forge");
286
- if (fs.existsSync(path.join(monorepoPath, "package.json"))) {
287
- return monorepoPath;
288
- }
289
- const npmPath = path.join(workspaceRoot, "node_modules", "@warpgogol", "forge");
290
- if (fs.existsSync(path.join(npmPath, "package.json"))) {
291
- return npmPath;
292
- }
293
- if (fs.existsSync(path.join(workspaceRoot, "profiles")) &&
294
- fs.existsSync(path.join(workspaceRoot, "package.json"))) {
295
- return workspaceRoot;
296
- }
297
- throw new Error(`Could not resolve forge root. Checked:\n ${monorepoPath}\n ${npmPath}\nEnsure @warpgogol/forge is installed or packages/forge exists.`);
298
- }
299
- // ---------------------------------------------------------------------------
300
- // Binding resolver — RFC-0393
301
- // ---------------------------------------------------------------------------
302
- /**
303
- * Resolve a binding key (e.g. "commands.validateRfc") from the config.
304
- * Returns the resolved string/array, or null if the binding is absent or explicitly null.
305
- * Supports placeholder substitution: {id}, {workspace}, {file}.
306
- */
307
- export function resolveBinding(config, key, placeholders) {
308
- if (!config.bindings) {
309
- return null;
310
- }
311
- const parts = key.split(".");
312
- let current = config.bindings;
313
- for (const part of parts) {
314
- if (current === null || current === undefined) {
315
- return null;
316
- }
317
- if (typeof current !== "object" || !(part in current)) {
318
- return null;
319
- }
320
- current = current[part];
321
- }
322
- if (current === null || current === undefined) {
323
- return null;
324
- }
325
- if (Array.isArray(current)) {
326
- return current;
327
- }
328
- if (typeof current === "string") {
329
- if (placeholders) {
330
- return substitutePlaceholders(current, placeholders);
331
- }
332
- return current;
333
- }
334
- return null;
335
- }
336
- function substitutePlaceholders(template, placeholders) {
337
- let result = template;
338
- for (const [key, value] of Object.entries(placeholders)) {
339
- result = result.replaceAll(`{${key}}`, value);
340
- }
341
- return result;
342
- }
343
- // ---------------------------------------------------------------------------
344
- // Terminology resolver — RFC-0639
345
- // ---------------------------------------------------------------------------
346
- /**
347
- * Resolve a terminology key using a three-tier chain:
348
- * 1. Per-project override in bindings.terminology
349
- * 2. Caller-provided terminology map (typically from profile.terminology, RFC-0638)
350
- * 3. Universal default from TERMINOLOGY_DEFAULTS (RFC-0638)
351
- *
352
- * If the key is not found in any tier, the key itself is returned.
353
- */
354
- export function resolveTerminology(config, terminology, key) {
355
- if (config.bindings?.terminology?.[key]) {
356
- return config.bindings.terminology[key];
357
- }
358
- if (terminology?.[key]) {
359
- return terminology[key];
360
- }
361
- return TERMINOLOGY_DEFAULTS[key] ?? key;
362
- }
363
- //# sourceMappingURL=forge-config.js.map