@warpgogol/forge 4.1.6 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (756) hide show
  1. package/AGENTS.md +2 -1
  2. package/CHANGELOG.md +33 -0
  3. package/CONTRIBUTING.md +36 -0
  4. package/README.md +130 -534
  5. package/README.uk.md +146 -553
  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/src/tests/metrics-rfc-1053.test.ts +14 -4
  756. package/src/tests/public-surface.test.ts +247 -0
package/README.uk.md CHANGED
@@ -2,598 +2,192 @@
2
2
 
3
3
  Українська | [English](README.md)
4
4
 
5
- Портативний рушій управління для розробки проєктів за допомогою ШІ. Надає навички, RFC/ADR робочі процеси, угоди про найменування, вендоринг специфікацій та CLI — все незалежне від фреймворку та без зайвих залежностей (тільки `yaml` + `zod`).
5
+ **ШІ може писати код. Forge тримає проєкт інженерним.**
6
+
7
+ Репозиторіо-нативний шар управління для розробки за допомогою ШІ. Рішення, правила, навички та перевірки залишаються з проєктом — незалежно від агента, який з ним працює.
6
8
 
7
9
  > Розроблено в [Warpgogol](https://warpgogol.com) · Опубліковано як open source.
8
10
 
11
+ [![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)
12
+
9
13
  ---
10
14
 
11
- ## Почніть прямо зараз
15
+ ## Почни зараз
12
16
 
13
- Створіть нову папку, відкрийте її у вашому ШІ-IDE (Windsurf, Cursor або будь-якому IDE з підтримкою ШІ-агентів) і вставте це:
17
+ Створіть нову папку, відкрийте її у вашому ШІ-IDE (Windsurf, Cursor, Claude Code, Codex CLI або будь-якому IDE з підтримкою ШІ-агентів) і вставте це:
14
18
 
15
19
  ```
16
- Install https://npmjs.com/package/@warpgogol/forge in this folder and set up my project. I want to build: [опишіть ваш проєкт]
20
+ Install https://npmjs.com/package/@warpgogol/forge in this folder and set up my project. I want to build: [describe your project]
17
21
  ```
18
22
 
19
- Замініть `[опишіть ваш проєкт]` на вашу ідею — гра, бібліотека, база знань, будь-що. ШІ-агент встановить Forge, згенерує каркас проєкту та налаштує живий перегляд. Далі ви просто розмовляєте: описуєте, що хочете, і агент будує це. Жодного програмування, жодного терміналу, жодних команд.
23
+ Замініть `[describe your project]` своєю ідеєю — гра, бібліотека, база знань, будь-що. ШІ-агент встановить Forge, створить структуру проєкту і налаштує живий прев'ю. Далі ви просто говорите: описуєте, що хочете, і агент будує. Без програмування, без терміналу, без команд.
20
24
 
21
- ### Після виконання промпту — навичка Bootstrap
25
+ ### Після завершення промпту — Bootstrap skill
22
26
 
23
- Коли ШІ-агент встановить Forge і згенерує каркас проєкту, він запустить навичку `/forge-bootstrap`. Це обов'язковий крок, який інтерактивно налаштовує ваш проєкт:
27
+ Коли ШІ-агент встановить Forge і створить структуру проєкту, він запустить навичку `/forge-bootstrap`. Це обов'язковий крок, який інтерактивно налаштовує ваш проєкт:
24
28
 
25
29
  - Мову, якою ШІ спілкується з вами
26
30
  - Мову документації проєкту (RFC, ADR, README) — за замовчуванням англійська
27
31
  - Ваш стиль роботи — діловий або творчий
28
- - Ваше ім'я та форму звертання
29
- - Конфігурацію стеку (або міграцію наявного проєкту)
30
-
31
- Навичка ставить кілька простих запитань у чаті, а потім налаштовує все. Після завершення ви готові творити — просто скажіть ШІ-агенту, що ви хочете створити.
32
-
33
- ---
34
-
35
- ## Що можна створити за допомогою Forge
36
-
37
- Forge підтримує п'ять типів проєктів. Ви обираєте один на старті — все інше відбувається автоматично.
32
+ - Ваше ім'я та форму звернення
33
+ - Вашу конфігурацію стеку (або міграцію існуючого проєкту)
38
34
 
39
- | Тип проєкту | Що це | Приклади |
40
- | --- | --- | --- |
41
- | **Браузерна гра** | Інтерактивна гра, що працює в браузері — 2D, аркада, головоломка, пригода | Лови зірки, головоломка з плитками, платформер |
42
- | **Управління / бібліотека** | Бібліотека коду або проєкт лише з управлінською структурою — без сайту, без гри, без відео, лише структура та документація | npm-пакет, внутрішній інструмент, центр документації |
43
- | **Гра Godot** | Десктопна або мобільна гра на Godot 4.x з C# — 2D, 3D, платформер, RPG | Пригода з виглядом зверху, 3D-платформер, головоломка |
44
- | **Система знань** | База знань з підтримкою доказів — структуровані набори даних, де твердження підтверджені зареєстрованими джерелами | База знань гри, доменна онтологія, куратований довідковий набір даних |
45
- | **Бібліотека TypeScript** | Універсальний TypeScript монорепозиторій з валідаторами найкращих практик — tsconfig, межі імпортів, фантомні залежності, експорти пакетів, strict mode, безпека barrel-експортів | Внутрішній інструмент, спільна бібліотека, TypeScript монорепозиторій |
46
-
47
- Кожен тип проєкту отримує власний каркас: правильну структуру папок, правильні залежності, правильні інструменти. Вам не потрібно знати, що це таке — Forge налаштує все за вас.
35
+ Навичка ставить кілька простих запитань у чаті, потім усе налаштовує. Після завершення ви готові творити — просто скажіть ШІ-агенту, що хочете побудувати.
48
36
 
49
37
  ---
50
38
 
51
- ## Forge та рушій Werkstatt
52
-
53
- Forge — це **шар управління**: навички, RFC/ADR робочі процеси, угоди про найменування, вендоринг специфікацій та CLI. Він незалежний від фреймворку та не має Runtime-залежностей (тільки `yaml` + `zod`).
54
-
55
- Для повного управління життєвим циклом проєкту — місії, релізи, розгортання, сертифікація, перевірки якості, генерація контенту — Forge підключається до **рушія Werkstatt** та **плагінів специфічних для стеку**. Це окремі npm-пакети, які встановлюються разом з Forge, коли потрібні можливості runtime понад управління.
56
-
57
- | Пакет | Призначення | Потрібен для |
58
- | --- | --- | --- |
59
- | [`@warpgogol/werkstatt`](https://github.com/syrokomskyi/werkstatt) | Рушій runtime — місії, релізи, розгортання Leitstand, сертифікація, Bordbuch, сховище артефактів | Усі типи проєктів з управлінням життєвим циклом |
60
- | [`@warpgogol/werkstatt-shared`](https://github.com/syrokomskyi/werkstatt-shared) | Спільна інфраструктура — перевірки, інтеграція, онтологія, паспорт | Встановлюється автоматично з рушієм |
61
- | [`@warpgogol/werkstatt-phaser-game`](https://github.com/syrokomskyi/werkstatt-phaser-game) | Плагін Phaser-гри — валідатори phaser, збірка Vite, адаптери розгортання | Проєкти браузерних ігор (`phaser-turborepo`) |
62
- | [`@warpgogol/werkstatt-godot-game`](https://github.com/syrokomskyi/werkstatt-godot-game) | Плагін Godot — валідатори сцен, збірка dotnet, розгортання itch.io, навички Godot | Проєкти ігор Godot (`godot-csharp`) |
63
- | [`@warpgogol/werkstatt-knowledge`](https://github.com/syrokomskyi/werkstatt-knowledge) | Плагін системи знань — прив'язка джерел, канонічна верифікація, екстракція, матеріалізація, перевірки релізу | Проєкти систем знань (`knowledge-typescript-turborepo`) |
64
- | [`@warpgogol/werkstatt-typescript`](https://github.com/syrokomskyi/werkstatt-typescript) | Плагін TypeScript — tsconfig, межі імпортів, фантомні залежності, експорти пакетів, strict mode, barrel-валідатори | Проєкти TypeScript TurboRepo (`typescript-turborepo`) |
65
-
66
- ### Коли потрібні ці пакети
67
-
68
- - **Проєкти лише з управлінням** (RFC, ADR, навички, центри документації) — Forge сам по собі достатній.
69
- - **Ігри, проєкти Godot, системи знань** — встановіть `@warpgogol/werkstatt` (рушій) плюс відповідний плагін стеку. Навичка `forge-bootstrap` налаштовує прив'язки автоматично; самі пакети потрібно встановити як devDependencies.
70
-
71
- ### Встановлення пакунків рушія
39
+ ## Швидкий старт (термінал)
72
40
 
73
41
  ```sh
74
- # Проєкт браузерної гри
75
- pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-phaser-game
76
-
77
- # Проєкт гри Godot
78
- pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-godot-game
79
-
80
- # Проєкт системи знань
81
- pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-knowledge
82
-
83
- # Проєкт TypeScript TurboRepo
84
- pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-typescript
42
+ pnpm dlx @warpgogol/forge@latest create --in-place --profile typescript-turborepo
85
43
  ```
86
44
 
87
- > **Примітка для агентів:** Після створення проєкту командою `forge create` завжди встановлюйте рушій та відповідний плагін стеку. Прив'язки в `forge.yaml` посилаються на команди з цих пакунків (напр. `pnpm exec werkstatt run rfc.validate`), і вони не працюватимуть, якщо пакунки не встановлені.
88
-
89
- ---
90
-
91
- ## Повний посібник зі встановлення (з нуля)
92
-
93
- Якщо ви ніколи раніше не програмували, цей розділ проведе вас від абсолютно порожнього комп'ютера до робочого налаштування Forge. Виконайте кроки для вашої операційної системи.
94
-
95
- ### Що вам потрібно
96
-
97
- Потрібні дві безкоштовні програми:
98
-
99
- - **Node.js** (версія 24 або новіша) — дозволяє вашому комп'ютеру запускати JavaScript-інструменти.
100
- - **pnpm** — менеджер пакетів, який Forge використовує для встановлення залежностей. Він вбудований у Node.js і його лише треба увімкнути.
101
-
102
- Обидві програми безкоштовні. Спочатку встановлюєте Node.js, потім вмикаєте pnpm однією командою.
103
-
104
- ### Ubuntu
105
-
106
- #### Крок 1 — Встановлення Node.js
45
+ Потім відкрийте проєкт у вашому ШІ-IDE (Windsurf, Cursor, Claude Code, Codex CLI або будь-якому IDE з підтримкою ШІ-агентів) і скажіть агентові, що ви хочете створити.
107
46
 
108
- 1. Відкрийте програму **Термінал** (натисніть `Ctrl + Alt + T` або знайдіть «Термінал» у ваших програмах).
47
+ Одна команда. Далі — робота через агента.
109
48
 
110
- 2. Завантажте та встановіть Node.js 24 (LTS), вставивши цю команду та натиснувши Enter:
49
+ ### Профілі стеку
111
50
 
112
- ```sh
113
- curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs
114
- ```
51
+ Forge не залежить від типу проєкту. Профілі стеку — готові стартові точки.
115
52
 
116
- Вас попросять ввести пароль — введіть його (символи не відображатимуться під час введення, це нормально) і натисніть Enter.
117
-
118
- 3. Перевірте, чи все працює:
119
-
120
- ```sh
121
- node --version
122
- ```
123
-
124
- Ви маєте побачити номер версії, наприклад `v22.x.x`, а не повідомлення про помилку.
125
-
126
- #### Крок 2 — Увімкнення pnpm
127
-
128
- Node.js містить інструмент **Corepack**, який керує менеджерами пакетів. Увімкніть pnpm командою:
129
-
130
- ```sh
131
- corepack enable pnpm
132
- ```
133
-
134
- Перевірте:
53
+ | Профіль | Призначення |
54
+ | -------------------------------- | ------------------------------------------- |
55
+ | `forge-shell` | Лише управління, бібліотеки, не-веб проєкти |
56
+ | `typescript-turborepo` | TypeScript монорепозиторій з валідаторами |
57
+ | `phaser-turborepo` | Браузерні ігри, інтерактивні досвіди |
58
+ | `godot-csharp` | Десктопні/мобільні ігри на Godot 4.x + C# |
59
+ | `knowledge-typescript-turborepo` | Бази знань з підтримкою доказів |
135
60
 
136
61
  ```sh
137
- pnpm --version
62
+ # Перелічити доступні профілі
63
+ pnpm exec forge profile.validate
138
64
  ```
139
65
 
140
- Ви маєте побачити номер версії, наприклад `10.x.x`.
141
-
142
- #### Крок 3 — Встановлення IDE зі штучним інтелектом
143
-
144
- Forge працює через розмову з ШІ-агентом. Вам потрібне IDE, що підтримує ШІ-агентів. Рекомендуємо **Windsurf** (протестовано з Forge):
145
-
146
- 1. Перейдіть на [windsurf.com](https://windsurf.com) та завантажте версію для Linux.
147
- 2. Відкрийте завантажений файл і дотримуйтесь інструкцій установника.
148
- 3. Запустіть Windsurf.
149
-
150
- Можете також використовувати **Cursor** ([cursor.com](https://cursor.com)) або будь-яке IDE, що підтримує навички ШІ-агентів.
151
-
152
- ### Windows
153
-
154
- #### Крок 1 — Встановлення Node.js
155
-
156
- 1. Відкрийте [nodejs.org](https://nodejs.org) у вашому браузері.
157
- 2. Завантажте **LTS-версію** (на ній буде написано «LTS» та «Recommended for Most Users»). Версія має бути 22.x або новіша.
158
- 3. Запустіть завантажений установник (файл `.msi`). Прийміть усі стандартні параметри, натискаючи **Next** на кожному екрані, потім **Install**. Якщо Windows попросить дозвіл, натисніть **Yes**.
159
-
160
- 4. Перевірте, чи все працює. Відкрийте **PowerShell** (знайдіть «PowerShell» у меню Пуск) і введіть:
161
-
162
- ```sh
163
- node --version
164
- ```
165
-
166
- Ви маєте побачити номер версії, наприклад `v22.x.x`, а не повідомлення про помилку.
167
-
168
- #### Крок 2 — Увімкнення pnpm
169
-
170
- Node.js містить інструмент **Corepack**, який керує менеджерами пакетів. Увімкніть pnpm командою:
171
-
172
- ```sh
173
- corepack enable pnpm
174
- ```
66
+ ---
175
67
 
176
- Перевірте:
68
+ ## Архітектура
177
69
 
178
- ```sh
179
- pnpm --version
180
70
  ```
181
-
182
- Ви маєте побачити номер версії, наприклад `10.x.x`.
183
-
184
- #### Крок 3 — Встановлення IDE зі штучним інтелектом
185
-
186
- Forge працює через розмову з ШІ-агентом. Вам потрібне IDE, що підтримує ШІ-агентів. Рекомендуємо **Windsurf** (протестовано з Forge):
187
-
188
- 1. Перейдіть на [windsurf.com](https://windsurf.com) та завантажте версію для Windows.
189
- 2. Запустіть завантажений установник і дотримуйтесь майстра налаштування.
190
- 3. Запустіть Windsurf.
191
-
192
- Можете також використовувати **Cursor** ([cursor.com](https://cursor.com)) або будь-яке IDE, що підтримує навички ШІ-агентів.
193
-
194
- ### Додатково — Встановлення Godot та .NET (лише для проєктів ігор Godot)
195
-
196
- Якщо ви плануєте створювати **ігри Godot** (профіль `godot-csharp`), вам потрібні два додаткові інструменти:
197
-
198
- - **Godot 4.x** (з підтримкою .NET) — ігровий рушій. Завантажте його з [godotengine.org/download](https://godotengine.org/download). Обов'язково оберіть версію ".NET" (не стандартну версію).
199
- - **.NET SDK 8+** — runtime C# та інструменти збірки. Завантажте з [dotnet.microsoft.com/download](https://dotnet.microsoft.com/download).
200
-
201
- Перевірте, що обидва встановлені:
202
-
203
- ```sh
204
- godot --version
205
- dotnet --version
71
+ IDE / АГЕНТ / МОДЕЛЬ
72
+ ↓
73
+ ┌──────────────────────────────────┐
74
+ │ FORGE │
75
+ │ │
76
+ │ Контракт проєкту forge.yaml │
77
+ │ Рішення RFC / ADR │
78
+ │ Поведінка агента Skills │
79
+ │ Перевірка Validators │
80
+ │ Еволюція Upgrade │
81
+ └──────────────────────────────────┘
82
+ ↓
83
+ ВАШ РЕПОЗИТОРІЙ
206
84
  ```
207
85
 
208
- ### Усунення проблем
209
-
210
- - **«command not found» після встановлення Node.js** — Закрийте та знову відкрийте термінал (Ubuntu) або PowerShell (Windows). Системі потрібно перезавантажити список доступних команд.
211
- - **«corepack: command not found»** — Ваша версія Node.js занадто стара. Встановіть Node.js 24+ за кроками вище.
212
- - **ШІ-агент не знає про Forge** — Ви відкрили порожню папку, але ШІ-агент не має контексту Forge. Спочатку виконайте `pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo` (або відповідний профіль) у терміналі, потім відкрийте папку в вашому IDE. Команда `forge create` наповнює поточну папку навичками, конфігурацією та `AGENTS.md` — без цього ШІ-агент не може виявити Forge.
86
+ Агенти можуть змінюватися. Моделі можуть змінюватися. IDE можуть змінюватися. Інженерні правила залишаються з проєктом.
213
87
 
214
88
  ---
215
89
 
216
- ## Швидкий старт
217
-
218
- ### Для креативних операторів — одна команда, потім просто розмовляйте
219
-
220
- Потрібно виконати одну команду в терміналі для створення проєкту. Після цього все працює через розмову з ШІ-агентом — більше команд не потрібно.
221
-
222
- #### Створення нового проєкту з нуля
223
-
224
- 1. **Створіть папку проєкту та згенеруйте каркас Forge на місці.** Відкрийте термінал (PowerShell на Windows, Термінал на Ubuntu) і виконайте:
225
-
226
- ```sh
227
- mkdir my-game
228
- cd my-game
229
- pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo
230
- ```
231
-
232
- Назва проєкту визначається з назви папки (`my-game` у цьому прикладі). Ви можете перевизначити її прапорцем `--name`. Це наповнює поточну папку усьом, що потрібно Forge — навичками, конфігурацією та структурою проєкту. Для інших типів проєктів використовуйте інший `--profile`:
233
-
234
- | Що ви хочете створити | Прапорець профілю |
235
- | ---------------------------------------- | ------------------------------------------ |
236
- | Браузерна гра (2D, аркада, головоломка) | `--profile phaser-turborepo` |
237
- | Гра Godot (десктоп, мобільний, 2D/3D) | `--profile godot-csharp` |
238
- | Система знань (з підтримкою доказів) | `--profile knowledge-typescript-turborepo` |
239
- | Бібліотека або проєкт лише з управлінням | `--profile forge-shell` |
240
-
241
- 2. **Відкрийте папку проєкту в вашому IDE.** Відкрийте папку з кроку 1 у Windsurf або вашому IDE.
242
-
243
- 3. **Скажіть ШІ-агенту, що ви хочете створити.** Просто напишіть це в чаті своїми словами. Наприклад:
244
-
245
- > Я хочу зробити гру на Godot, де ловиш зірки, що падають.
246
-
247
- Або:
248
-
249
- > Я хочу створити браузерну гру, де ловиш зірки, що падають.
250
-
251
- Або:
252
-
253
- > Я хочу створити TypeScript-бібліотеку для розрахунку астрологічних карт.
90
+ ## Що контролює Forge
254
91
 
255
- Це все. ШІ-агент зробить усе інше:
256
- - Налаштує структуру проєкту залежно від того, що ви описали (гра, бібліотека тощо)
257
- - Налаштує мовні вподобання та параметри проєкту
258
- - Запустить живий попередній перегляд, щоб ви бачили свою роботу (для ігор)
259
- - Скаже вам URL для відкриття в браузері
260
-
261
- 4. **Дивіться попередній перегляд.** Для ігор ШІ-агент дасть вам посилання localhost. Натисніть його — ваш проєкт уже запущений. Коли ви описуєте зміни, агент оновлює проєкт, а попередній перегляд оновлюється автоматично.
262
-
263
- Для проєктів управління та бібліотек візуального попереднього перегляду немає — агент налаштує структуру проєкту та скаже, коли все готово.
264
-
265
- 5. **Створюйте разом.** Далі ви просто розмовляєте. Хочете інший колір? Хочете додати сцену? Хочете додати нову функцію до бібліотеки? Просто скажіть. Агент виконає всю технічну роботу.
266
-
267
- #### Перенесення наявного проєкту у Forge
268
-
269
- Якщо ви вже маєте проєкт десь інше і хочете перенести його у Forge:
270
-
271
- 1. **Створіть проєкт Forge.** Відкрийте термінал, створіть папку і виконайте:
272
-
273
- ```sh
274
- mkdir my-project
275
- cd my-project
276
- pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
277
- ```
278
-
279
- Потім відкрийте папку в вашому IDE.
280
-
281
- 2. **Скажіть ШІ-агенту:**
282
-
283
- > Я хочу перенести свій наявний проєкт у Forge. Він знаходиться за шляхом /path/to/my/project.
284
-
285
- Агент:
286
- - Визначить, який це тип проєкту (гра, бібліотека тощо)
287
- - Перемістить усі ваші файли у новий проєкт Forge — включно з прихованими файлами на кшталт `.env`
288
- - За бажанням перенесе вашу історію git
289
- - Перевірить, чи все коректно збирається
290
- - Запустить живий попередній перегляд (для візуальних типів проєктів)
291
-
292
- #### Що робити, якщо щось пішло не так?
293
-
294
- Просто скажіть ШІ-агенту. Він може перевірити стан проєкту, виправити проблеми та пояснити, що сталося — все простою мовою. Вам ніколи не потрібно відкривати термінал або вводити команди самостійно.
92
+ | Площина | Що управляє |
93
+ | -------------------- | --------------------------------------------------- |
94
+ | **Намір** | RFC, архітектурна ДНК, критерії приймання |
95
+ | **Рішення** | ADR, журнали рішень, відстежуваність |
96
+ | **Поведінка агента** | Локальні навички та робочі процеси |
97
+ | **Перевірка** | Doctor, валідатори, контракти, детерміновані гейти |
98
+ | **Еволюція** | Профілі, вендоринг специфікацій, адитивні оновлення |
295
99
 
296
100
  ---
297
101
 
298
- ### Для розробників — CLI-команди
102
+ ## Без Forge / З Forge
299
103
 
300
- #### Створення нового проєкту (на місці)
104
+ | Розробка з ШІ без Forge | З Forge |
105
+ | -------------------------------------- | ------------------------------------------------ |
106
+ | Правила живуть у промптах | Правила живуть у репозиторії |
107
+ | Архітектура неявна | Рішення стають RFC та ADR |
108
+ | Поведінка агента залежить від сесії | Локальні навички визначають відтворювані процеси |
109
+ | «Готово» означає, що агент так каже | Валідатори дають детерміновані перевірки |
110
+ | Новий агент починає з нуля | Контракт проєкту подорожує з кодом |
111
+ | Оновлення ризикує перезаписати рішення | Оновлення адитивне та ідемпотентне |
112
+ | Конвенції специфічні для інструменту | Агент- та IDE-незалежний шар проєкту |
301
113
 
302
- ```sh
303
- # Створіть папку проєкту, потім згенеруйте каркас Forge на місці
304
- # pnpm dlx завантажує Forge тимчасово — глобальне встановлення не потрібне
305
- mkdir my-project
306
- cd my-project
307
- pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
308
-
309
- # З конкретним профілем стеку
310
- mkdir my-game && cd my-game
311
- pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo
312
-
313
- mkdir my-godot-game && cd my-godot-game
314
- pnpm dlx @warpgogol/forge create --in-place --profile godot-csharp
315
-
316
- # Перевизначити назву проєкту (за замовчуванням визначається з назви папки)
317
- pnpm dlx @warpgogol/forge create --in-place --profile forge-shell --name my-custom-name
318
- ```
114
+ ---
319
115
 
320
- Після створення каркаса Forge встановлюється як локальна devDependency. Використовуйте `pnpm exec forge` для всіх наступних команд у проєкті:
116
+ ## Forge Є / Forge Не Є
321
117
 
322
- #### Перенесення наявного проєкту у Forge
118
+ **Forge Є**
323
119
 
324
- CLI-команди для перенесення немає — це інтерактивний процес під керівництвом ШІ:
120
+ - Репозиторіо-нативний шар управління
121
+ - Агент-незалежна інфраструктура проєкту
122
+ - Детерміноване доповнення до ймовірнісних ШІ-агентів
123
+ - Портативний контракт проєкту
325
124
 
326
- ```sh
327
- # 1. Створіть новий порожній проєкт Forge (на місці)
328
- mkdir my-project && cd my-project
329
- pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
330
-
331
- # 2. Відкрийте проєкт у Windsurf (протестовано з Forge) або вашому IDE
332
-
333
- # 3. Запустіть навичку /forge-bootstrap і оберіть режим "transplant"
334
- # Навичка:
335
- # - Запитає шлях до вашого наявного коду
336
- # - Автоматично визначить стек (Phaser, Godot тощо)
337
- # - Перенесе всі файли (включно з .env та git-ігнорованими)
338
- # - За бажанням перенесе історію git
339
- # - Перевірить збірку
340
- ```
125
+ **Forge Не Є**
341
126
 
342
- #### Діагностика та перевірка
127
+ - Ще однією ШІ-моделлю
128
+ - Ще одним агентом-кодером
129
+ - IDE
130
+ - Хостованою платформою
131
+ - Заміною Git
132
+ - Магічною обгорткою «vibe coding»
343
133
 
344
- ```sh
345
- # Перевірити стан проєкту
346
- pnpm exec forge doctor
134
+ ---
347
135
 
348
- # Валідувати RFC
349
- pnpm exec forge rfc.validate
136
+ ## Що ви отримуєте
350
137
 
351
- # Список доступних навичок
352
- pnpm exec forge skill.list
353
- ```
138
+ - **37 навичок** — пайплайн ідея→RFC, grilling, preferences, авторинг навичок
139
+ - **RFC робочий процес** — створення, валідація, перелік, граф, архівування, acceptance probes
140
+ - **ADR робочий процес** — легкі записи архітектурних рішень
141
+ - **Вендоринг специфікацій** — вендоринг зовнішніх специфікацій як незмінних снапшотів
142
+ - **Конвенції найменування** — kebab-case linting
143
+ - **Linting робочих процесів** — валідація frontmatter `.agents/workflows/`
144
+ - **Скаффолдинг стеку** — pnpm + Turborepo монорепозиторій з профілю
145
+ - **Контракт прив'язок** — деконкретизація команд проєкту через `forge.yaml`
146
+ - **Doctor** — перевірка здоров'я проєкту
147
+ - **Upgrade** — адитивна, ідемпотентна синхронізація навичок та конфігурації
354
148
 
355
149
  ---
356
150
 
357
151
  ## Робота з вашим ШІ-агентом
358
152
 
359
- Forge працює з будь-яким ШІ-агентом — Windsurf, Cursor, Claude Code, Codex CLI або будь-яким IDE, що підтримує навички агентів. Налаштування однакове; важлива лише розмова. Ось патерни, які дають найбільший ефект.
360
-
361
- ### Починайте з питань, а не з команд
362
-
363
- Найефективніша звичка: перед тим, як просити агента писати код, запитайте його про кодову базу. Агент може читати файли, шукати в історії git та запускати CLI-команди Forge — дайте йому спочатку дослідити.
364
-
365
- Добрі питання для початку сесії:
366
-
367
- - "Як структурований цей проєкт?"
368
- - "Які навички доступні і що вони роблять?"
369
- - "Проведи мене через RFC робочий процес у цьому проєкті."
370
- - "Що ми змінили цього тижня?" (агент читає git log)
371
- - "Чому ця функція має 15 параметрів? Перевір історію git."
372
-
373
- Це працює і для онбордингу — нові члени команди можуть швидко ввійти в курс справи, запитуючи агента, замість того, щоб вручну читати код. Агент читає все локально; нічого не завантажується та не тренується на вашому коді.
374
-
375
- ### AGENTS.md — постійна пам'ять вашого проєкту
376
-
377
- Forge генерує файли `AGENTS.md` в корені проєкту та в кожній директорії робочого простору. Агент читає їх автоматично на початку кожної сесії — сприймайте їх як інструкції, які зберігаються між розмовами.
378
-
379
- **Що писати в AGENTS.md:**
380
-
381
- - Команди збірки та тестування (`pnpm test`, `pnpm run build:check`)
382
- - Угоди стилю коду ("використовуйте 2 пробіли, а не таби")
383
- - Архітектурні рішення ("пакет гри володіє всією логікою сцен")
384
- - Правила "роби X, а не Y" ("використовуйте `resolveImage()` для всіх image-пропів, ніколи сирий `src`")
385
- - Типові помилки, яких слід уникати
386
-
387
- **Коли агент помиляється**, скажіть йому оновити AGENTS.md, щоб він не повторював помилку. З часом AGENTS.md накопичує здобуті командою знання.
388
-
389
- Forge генерує AGENTS.md з `forge.yaml` через `forge.agents.generate`. Написані вручну AGENTS.md (без згенерованого маркера) зберігаються. Згенеровані файли регенеруються при запуску `forge upgrade` або `forge.agents.generate` — тому кладіть свої правила в `forge.yaml` або в написаний вручну AGENTS.md, а не в згенерований.
390
-
391
- ### Описуйте результат, а не кроки
392
-
393
- Агент — автономний працівник, а не друкарська машинка. Скажіть йому, що ви хочете, а не як це зробити.
394
-
395
- **Погано** (занадто детально):
396
-
397
- > Відкрий src/game/player.ts, додай функцію calculateScore, яка приймає масив чисел, сумує його, повертає результат. Потім відкрий src/game/player.test.ts і додай тест.
398
-
399
- **Добре** (орієнтовано на результат):
400
-
401
- > Додай систему підрахунку очок, яка обчислює загальні бали за зібрані предмети.
402
-
403
- Для складних задач просіть агента спочатку спланувати:
404
-
405
- > Я хочу додати багатокористувацький режим. Спочатку склади план, покажи мені, і чекай на моє схвалення перед реалізацією.
406
-
407
- Навичка Forge `/fo-idea` формалізує це: ідея → аудит → план → реалізація → рев'ю. Ви можете викликати її явно, або агент буде слідувати цьому патерну, коли задача достатньо складна.
408
-
409
- ### Дайте агенту дослідити
410
-
411
- Не пояснюйте занадто детально. Агент вміє читати файли, шукати в коді, перевіряти історію git та запускати команди. Замість того, щоб вказувати на конкретні файли, опишіть, що ви хочете зрозуміти або змінити:
412
-
413
- **Замість:** "Подивись у папці src/game файл player.ts і перевір, чи є там функція move."
414
-
415
- **Скажіть:** "Як працює рух гравця?"
416
-
417
- Агент знайде відповідні файли, простежить ланцюг викликів і пояснить вам. Якщо йому потрібен буде додатковий контекст, він запитає.
418
-
419
- ### Паралельна робота
153
+ Forge працює з будь-яким ШІ-агентом — Windsurf, Cursor, Claude Code, Codex CLI або будь-яким IDE, що підтримує навички агентів. Налаштування однакове; важлива лише розмова.
420
154
 
421
- Ви можете запускати кілька сесій агента одночасно — в різних вікнах IDE, вкладках терміналу або git worktrees. Кожна сесія працює незалежно.
155
+ **Починайте з питань, а не з команд.** Перед тим, як просити агента писати код, запитайте його про кодову базу. Агент може читати файли, шукати в історії git та запускати CLI-команди Forge — дайте йому спочатку дослідити.
422
156
 
423
- Це корисно для:
157
+ **Описуйте результат, а не кроки.** Скажіть агенту, що ви хочете, а не як це зробити. Для складних задач просіть агента спочатку спланувати.
424
158
 
425
- - Написання RFC в одній сесії, паралельно з реалізацією іншої функції в іншій
426
- - Дослідження двох дизайн-підходів паралельно перед вибором одного
427
- - Запуску тривалої валідації в одній сесії, продовжуючи роботу в іншій
159
+ **Дозвольте агенту перевіряти власну роботу.** Дайте критерії «готовно» і дозвольте агенту перевірити себе: «Запусти тести після завершення.» «Валідуй RFC перед комітом.» «Перевір здоров'я проєкту через `forge doctor`.»
428
160
 
429
- Якщо ви використовуєте рушій Werkstatt, його система місій ізолює роботу — кожна місія має власну директорію workpiece, тому паралельні сесії не конфліктують.
430
-
431
- ### Дозвольте агенту перевіряти власну роботу
432
-
433
- Дайте агенту критерії "готово" і дозвольте йому перевірити себе:
434
-
435
- - "Запусти тести після завершення."
436
- - "Валідуй RFC перед комітом."
437
- - "Перевір стан проєкту через `forge doctor`."
438
-
439
- Forge надає інструменти — `forge doctor`, `forge rfc.validate`, `forge skill.list`, тест-ранери. Скажіть агенту використовувати їх. Агент може запускати команди, читати вивід та виправляти проблеми без вашої втручання.
161
+ **AGENTS.md — постійна пам'ять вашого проєкту.** Forge генерує файли `AGENTS.md`, які агент читає на початку кожної сесії. Кладіть туди команди збірки, стиль коду, архітектурні рішення та правила «роби X, а не Y».
440
162
 
441
163
  ---
442
164
 
443
- ## Пакети навичок
444
-
445
- Пакети навичок (skill packs) дозволяють створювати навички проєкту під власним префіксом, окремо від портативних `fo-` навичок Forge. Це корисно, коли ваш проєкт має домен-специфічні робочі процеси, які не належать до портативного набору Forge.
446
-
447
- ### Оголошення пакету
448
-
449
- Додайте запис `skillPacks` у `forge.yaml`:
450
-
451
- ```yaml
452
- skillPacks:
453
- - prefix: wg
454
- dir: packages/my-skills/skills
455
- ```
456
-
457
- - `prefix` — короткий ідентифікатор, що використовується як префікс імені навички (наприклад `wg-deploy`, `wg-content-check`). Не може бути `fo` (зарезервовано для Forge).
458
- - `dir` — директорія, що містить навички вашого пакету. Кожна навичка — піддиректорія з файлом `SKILL.md`.
459
-
460
- ### Маніфест пакету (`forge.plugin.yaml`)
461
-
462
- Кожна директорія пакету повинна містити маніфест `forge.plugin.yaml`:
463
-
464
- ```yaml
465
- id: my-pack
466
- version: 1.0.0
467
- ```
468
-
469
- - `id` — ідентифікатор пакету в kebab-case.
470
- - `version` — рядок версії у форматі semver.
471
-
472
- `forge init` автоматично створює цей маніфест, якщо він відсутній. Ви також можете створити його вручну.
473
-
474
- ### Структура навичок
475
-
476
- Навички мають ту саму структуру, що й навички Forge:
477
-
478
- ```
479
- packages/my-skills/skills/
480
- forge.plugin.yaml # маніфест пакету
481
- wg-deploy/
482
- SKILL.md # визначення навички з frontmatter
483
- wg-content-check/
484
- SKILL.md
485
- ```
486
-
487
- Кожен `SKILL.md` має стандартизований frontmatter (name, description, category, concerns, dependsOn) — той самий формат, що й у `fo-` навичок Forge.
488
-
489
- ### Команди валідації
165
+ ## CLI
490
166
 
491
167
  ```sh
492
- # Валідувати всі маніфести пакетів
493
- pnpm exec forge plugin.validate
494
-
495
- # Перелічити виявлені пакети
496
- pnpm exec forge plugin.discover
168
+ # Перевірити здоров'я проєкту
169
+ pnpm exec forge doctor
497
170
 
498
- # Валідувати окремі навички (включно з навичками пакетів)
499
- pnpm exec forge skill.validate
171
+ # Валідувати RFC
172
+ pnpm exec forge rfc.validate
500
173
 
501
- # Перелічити всі навички (навички пакетів позначені pack:<prefix>)
174
+ # Перелічити доступні навички
502
175
  pnpm exec forge skill.list
503
- ```
504
-
505
- ### Точки розширення (блоки Compass-контракту)
506
-
507
- Пакети можуть оголошувати власні блоки Compass-контракту — маркери у вихідних файлах, які `compass.validate` перевіряє. Це дозволяє вашому пакету визначати власні `<MY_CONTRACT>` блоки з обов'язковими тегами:
508
-
509
- ```yaml
510
- id: my-pack
511
- version: 1.0.0
512
- extensionPoints:
513
- compass:
514
- contract:
515
- blocks:
516
- - blockId: api-contract
517
- requiredFor:
518
- - "packages/my-pack/**/*.ts"
519
- requiredTags:
520
- - name: purpose
521
- minWords: 3
522
- ```
523
-
524
- `compass.validate` видаватиме `COMPASS-PLUGIN-01` (відсутній блок), `COMPASS-PLUGIN-02` (відсутній обов'язковий тег) та `COMPASS-PLUGIN-03` (тег з меншою кількістю слів) для файлів, що відповідають `requiredFor`, але не містять блок.
525
-
526
- ### Правила
527
-
528
- - Імена навичок пакету повинні починатися з префіксу пакету (наприклад `wg-deploy` для префіксу `wg`).
529
- - Навички пакету не можуть використовувати префікс `fo-` (зарезервовано для Forge).
530
- - Навички пакету не можуть посилатися на ідентифікатори платформених RFC/ADR або назви платформи.
531
- - Навички пакету можуть залежати від навичок Forge, але навички Forge не можуть залежати від навичок пакету (зберігає портативність).
532
- - Якщо ім'я навички пакету конфліктує з іменем навички Forge, навичка пакету пропускається під час синхронізації.
533
-
534
- ---
535
-
536
- ## Профілі стеку
537
176
 
538
- Профіль стеку визначає каркас проєкту: структуру директорій, залежності, конфігурацію CI та перший робочий простір. Оберіть профіль прапорцем `--profile` під час створення проєкту.
539
-
540
- | Профіль | Тип проєкту | Опис | Перший робочий простір | Призначення |
541
- | --- | --- | --- | --- | --- |
542
- | `forge-shell` | Управління / бібліотека | Мінімальний каркас Forge (за замовчуванням) | — | Проєкти лише з управлінням, бібліотеки, невеб-проєкти |
543
- | `phaser-turborepo` | Браузерна гра | Phaser + TypeScript + pnpm + Turborepo | `games/my-game` | Браузерні ігри, інтерактивні досвіди |
544
- | `godot-csharp` | Гра Godot | Godot 4.x + C# + pnpm + Turborepo | `games/my-game` | Десктопні/мобільні ігри, інтерактивні проєкти на Godot |
545
- | `knowledge-typescript-turborepo` | Система знань | TypeScript + pnpm + Turborepo | `knowledge/my-kb` | Бази знань з підтримкою доказів, структуровані набори даних з джерельною простежуваністю |
546
- | `typescript-turborepo` | Бібліотека TypeScript | TypeScript + pnpm + Turborepo | — | Універсальний TypeScript TurboRepo монорепозиторій з валідаторами найкращих практик |
547
-
548
- ```sh
549
- # Список доступних профілів (після встановлення)
550
- pnpm exec forge profile.validate
551
- ```
552
-
553
- Коли ви переносите наявний проєкт через режим `/forge-bootstrap` transplant, Forge автоматично визначає відповідний профіль, перевіряючи файли-маркери (`phaser.config.*`, `project.godot` тощо).
554
-
555
- ## Процес оновлення
556
-
557
- Коли публікується нова версія `@warpgogol/forge`, споживачі оновлюються адитивно:
558
-
559
- ```sh
560
- # 1. Оновити Forge до останньої версії (локальна devDependency)
561
- pnpm update @warpgogol/forge
562
-
563
- # 2. Синхронізувати навички та стандартні прив'язки з встановленої версії
177
+ # Синхронізувати навички та конфігурацію
564
178
  pnpm exec forge upgrade
565
179
 
566
- # 3. Перевірити стан проєкту
567
- pnpm exec forge doctor
180
+ # Перевірити консистентність публічної поверхні
181
+ pnpm exec forge public-surface.validate
568
182
  ```
569
183
 
570
- `forge upgrade` — адитивний: він ніколи не перезаписує прив'язки, встановлені оператором, ніколи не видаляє файли та є ідемпотентним. Він оновлює `forge.syncedVersion` у `forge.yaml`, щоб відстежувати останню синхронізовану версію. Використовуйте `--dry-run` для попереднього перегляду змін.
184
+ Повний довідник CLI: [docs/reference/cli.md](docs/reference/cli.md)
571
185
 
572
- ## Що дає Forge
573
-
574
- - **37 навичок** (fo-pipeline, grilling, preferences, написання навичок) — розгортаються у `.agents/skills/` командою `forge create`
575
- - **RFC робочий процес** — створення, валідація, список, граф, архівування, acceptance-зондування, журнали рішень, DNA-трасування
576
- - **ADR робочий процес** — легковісні архітектурні записи рішень
577
- - **Вендоринг специфікацій** — вендоринг зовнішніх пакетів специфікацій як незмінних знімків з маніфестами цілісності
578
- - **Угоди про найменування** — linting kebab-case
579
- - **Linting робочих процесів** — валідація frontmatter та посилань у `.agents/workflows/`
580
- - **Каркаси стеків** — створення нового pnpm + Turborepo монорепозиторію з профілю
581
- - **Контракт прив'язок** — декодування специфічних для проєкту команд/шляхів із навичок через `forge.yaml`
582
-
583
- ## Життєвий цикл
584
-
585
- Типовий життєвий цикл проєкту Forge:
586
-
587
- 1. **Створення** — `pnpm dlx @warpgogol/forge create --in-place --profile <профіль>` генерує каркас нового проєкту в поточній директорії з forge.yaml, навичками та директоріями документації
588
- 2. **IDE** — відкрийте проєкт у Windsurf (протестовано з Forge) або вашому IDE
589
- 3. **Bootstrap** — запустіть `/forge-bootstrap` для інтерактивного налаштування проєкту. Навичка підтримує два режими:
590
- - **Greenfield** — створення нового проєкту з нуля: оберіть стек, заповніть прив'язки, ініціалізуйте git
591
- - **Transplant** — перенесення наявного коду у Forge: визначення стеку, міграція коду (включно з git-ігнорованими файлами на кшталт `.env`), за бажанням перенесення історії git, перевірка збірки
592
- 4. **Оновлення** — коли публікується нова версія `@warpgogol/forge`, запустіть `pnpm exec forge upgrade` для адитивної синхронізації навичок та стандартних прив'язок
186
+ ---
593
187
 
594
188
  ## forge.yaml
595
189
 
596
- Єдине джерело істини для конфігурації проєкту. Створюється командою `forge create`:
190
+ Єдине джерело істини для конфігурації проєкту:
597
191
 
598
192
  ```yaml
599
193
  schema: forge/config@1
@@ -617,6 +211,10 @@ bindings:
617
211
  invariants: DNA
618
212
  ```
619
213
 
214
+ Повний довідник: [docs/reference/forge-yaml.md](docs/reference/forge-yaml.md)
215
+
216
+ ---
217
+
620
218
  ## Програмний API
621
219
 
622
220
  ```ts
@@ -628,64 +226,59 @@ import {
628
226
  FORGE_SKILLS,
629
227
  } from "@warpgogol/forge";
630
228
 
631
- // Завантажити конфігурацію
632
229
  const config = loadForgeConfig(process.cwd());
633
-
634
- // Розв'язати прив'язку
635
230
  const cmd = resolveBinding(config, "commands.validateRfc", { id: "RFC-0001" });
636
231
 
637
- // Зареєструвати модулі у вашому реєстрі
638
232
  const registry = /* ваш ForgeModuleRegistry */;
639
233
  await forgeCoreModule.register(registry);
640
234
  await forgeRfcModule.register(registry);
641
235
  ```
642
236
 
643
- ## Архітектура
237
+ Повний API: [docs/reference/programmatic-api.md](docs/reference/programmatic-api.md)
238
+
239
+ ---
240
+
241
+ ## Структура
644
242
 
645
243
  | Директорія | Призначення |
646
244
  | --- | --- |
647
- | `src/` | Портативне ядро — типи, конфігурація, реєстр навичок, валідатори, онбординг. Нуль імпортів `@warpgogol/*`. |
648
- | `os/` | Реєстрації ForgeModule. `compass` та `werkstatt` повністю автономні (RFC-0556) — всі обробники вбудовані, без імпортів `@warpgogol/*`. |
245
+ | `src/` | Портативне ядро — типи, конфіг, реєстр навичок, валідатори, онбординг. Нуль `@warpgogol/*` імпортів. |
246
+ | `os/` | Реєстрації ForgeModule. `compass` та `werkstatt` — повністю автономні. |
649
247
  | `bin/` | Точка входу CLI (команда `forge`). |
650
- | `skills/` | 44 визначення навичок (36 fo + 5 спільних + 3 мета) з frontmatter SKILL.md. |
651
- | `scripts/` | Перевірка гігієни публікації (`publish-check.mjs`), запускається `prepublishOnly`. |
652
- | `profiles/` | Профілі стеків для `scaffold`. |
653
-
654
- ## Публікація в npm
248
+ | `skills/` | 37 визначень навичок (29 fo + 5 спільних + 3 мета) з SKILL.md frontmatter. |
249
+ | `profiles/` | Профілі стеку для `scaffold`. |
655
250
 
656
- Цей пакет публікується в реєстр npm як `@warpgogol/forge`. Нижче описано, як опублікувати нову версію.
657
-
658
- ### Передумови
659
-
660
- - Обліковий запис npm з правами публікації в організації `@warpgogol`.
661
- - Встановлені Node.js та pnpm локально.
662
-
663
- ### Створення токена доступу
664
-
665
- 1. Увійдіть на [npmjs.com](https://www.npmjs.com/).
666
- 2. Перейдіть до **Access Tokens** (аватар → Access Tokens).
667
- 3. Натисніть **Generate New Token** → оберіть **Classic Token** → тип **Publish**.
668
- 4. Скопіюйте згенерований токен — він показується лише один раз.
669
-
670
- ### Публікація нової версії
251
+ ---
671
252
 
672
- Виконайте такі команди з директорії `packages/forge`:
253
+ ## Оновлення
673
254
 
674
255
  ```sh
675
- # 1. Автентифікація в npm (інтерактивно — запитає username, password, OTP)
676
- npm login
256
+ pnpm update @warpgogol/forge
257
+ pnpm exec forge upgrade
258
+ pnpm exec forge doctor
259
+ ```
677
260
 
678
- # 2. Зберегти auth-токен для реєстру (використайте токен з попереднього кроку)
679
- npm config set //registry.npmjs.org/:_authToken=<TOKEN>
261
+ `forge upgrade` — адитивний: ніколи не перезаписує прив'язки, встановлені оператором, ніколи не видаляє файли, ідемпотентний. Використовуйте `--dry-run` для попереднього перегляду.
680
262
 
681
- # 3. Підняти patch-версію (оновлює package.json + створює git commit + tag)
682
- npm version patch
263
+ ---
683
264
 
684
- # 4. Опублікувати пакет публічно
685
- npm publish --access public
686
- ```
265
+ ## Документація
266
+
267
+ - [Початок роботи](docs/getting-started.md)
268
+ - [Чому Forge?](docs/concepts/why-forge.md)
269
+ - [Контракт проєкту](docs/concepts/project-contract.md)
270
+ - [Модель управління](docs/concepts/governance-model.md)
271
+ - [Перенесення наявного проєкту](docs/guides/existing-project.md)
272
+ - [Оновлення](docs/guides/upgrading.md)
273
+ - [Навички](docs/guides/skills.md)
274
+ - [RFC та ADR робочі процеси](docs/guides/rfc-adr.md)
275
+ - [Довідник CLI](docs/reference/cli.md)
276
+ - [Довідник forge.yaml](docs/reference/forge-yaml.md)
277
+ - [Профілі](docs/reference/profiles.md)
278
+ - [Програмний API](docs/reference/programmatic-api.md)
279
+ - [Публікація](docs/maintainers/publishing.md)
687
280
 
688
- Після публікації перевірте нову версію на [npmjs.com/package/@warpgogol/forge](https://www.npmjs.com/package/@warpgogol/forge).
281
+ ---
689
282
 
690
283
  ## Ліцензія
691
284
 
@@ -693,8 +286,8 @@ Apache-2.0
693
286
 
694
287
  ## Відкрита інженерія
695
288
 
696
- Цей пакет походить із виробничої інженерної роботи в [Warpgogol](https://warpgogol.com), інженерній студії в Німеччині.
289
+ Цей пакет походить з виробничої інженерної роботи [Warpgogol](https://warpgogol.com), інженерної студії в Німеччині.
697
290
 
698
- Ми публікуємо багаторазові частини нашої інфраструктури, коли вони можуть бути корисними поза нашими власними проєктами. Він публікується незалежно від будь-якого комерційного сервісу Warpgogol. Використання цього пакету не створює жодної залежності від Warpgogol.
291
+ Ми публікуємо багаторазово використовувані частини нашої інфраструктури, коли вони можуть бути корисні поза нашими власними проєктами. Пакет публікується незалежно від будь-якого комерційного сервісу Warpgogol. Використання цього пакету не створює залежності від Warpgogol.
699
292
 
700
- Створено для реальних систем. Поширюється відкрито.
293
+ Створено для реальних систем. Поділяємо відкрито.