@warpgogol/forge 4.1.5 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (757) hide show
  1. package/AGENTS.md +2 -1
  2. package/CHANGELOG.md +33 -0
  3. package/CONTRIBUTING.md +36 -0
  4. package/README.md +129 -535
  5. package/README.uk.md +145 -554
  6. package/SECURITY.md +17 -0
  7. package/dist/bin/cli.d.ts +3 -0
  8. package/dist/bin/cli.d.ts.map +1 -0
  9. package/dist/bin/cli.js +296 -0
  10. package/dist/bin/cli.js.map +1 -0
  11. package/dist/os/adr/adr.module.d.ts +3 -0
  12. package/dist/os/adr/adr.module.d.ts.map +1 -0
  13. package/dist/os/adr/adr.module.js +153 -0
  14. package/dist/os/adr/adr.module.js.map +1 -0
  15. package/dist/os/adr/frontmatter-io.d.ts +12 -0
  16. package/dist/os/adr/frontmatter-io.d.ts.map +1 -0
  17. package/dist/os/adr/frontmatter-io.js +67 -0
  18. package/dist/os/adr/frontmatter-io.js.map +1 -0
  19. package/dist/os/adr/handlers/archive.d.ts +24 -0
  20. package/dist/os/adr/handlers/archive.d.ts.map +1 -0
  21. package/dist/os/adr/handlers/archive.js +194 -0
  22. package/dist/os/adr/handlers/archive.js.map +1 -0
  23. package/dist/os/adr/handlers/implement-stamp.d.ts +4 -0
  24. package/dist/os/adr/handlers/implement-stamp.d.ts.map +1 -0
  25. package/dist/os/adr/handlers/implement-stamp.js +264 -0
  26. package/dist/os/adr/handlers/implement-stamp.js.map +1 -0
  27. package/dist/os/adr/handlers/list-create.d.ts +5 -0
  28. package/dist/os/adr/handlers/list-create.d.ts.map +1 -0
  29. package/dist/os/adr/handlers/list-create.js +201 -0
  30. package/dist/os/adr/handlers/list-create.js.map +1 -0
  31. package/dist/os/adr/handlers/validate.d.ts +4 -0
  32. package/dist/os/adr/handlers/validate.d.ts.map +1 -0
  33. package/dist/os/adr/handlers/validate.js +304 -0
  34. package/dist/os/adr/handlers/validate.js.map +1 -0
  35. package/dist/os/adr/index.d.ts +8 -0
  36. package/dist/os/adr/index.d.ts.map +1 -0
  37. package/dist/os/adr/index.js +18 -0
  38. package/dist/os/adr/index.js.map +1 -0
  39. package/dist/os/adr/types.d.ts +81 -0
  40. package/dist/os/adr/types.d.ts.map +1 -0
  41. package/dist/os/adr/types.js +62 -0
  42. package/dist/os/adr/types.js.map +1 -0
  43. package/dist/os/audit/audit.module.d.ts +3 -0
  44. package/dist/os/audit/audit.module.d.ts.map +1 -0
  45. package/dist/os/audit/audit.module.js +50 -0
  46. package/dist/os/audit/audit.module.js.map +1 -0
  47. package/dist/os/audit/frontmatter-io.d.ts +12 -0
  48. package/dist/os/audit/frontmatter-io.d.ts.map +1 -0
  49. package/dist/os/audit/frontmatter-io.js +71 -0
  50. package/dist/os/audit/frontmatter-io.js.map +1 -0
  51. package/dist/os/audit/handlers/archive.d.ts +4 -0
  52. package/dist/os/audit/handlers/archive.d.ts.map +1 -0
  53. package/dist/os/audit/handlers/archive.js +207 -0
  54. package/dist/os/audit/handlers/archive.js.map +1 -0
  55. package/dist/os/audit/index.d.ts +6 -0
  56. package/dist/os/audit/index.d.ts.map +1 -0
  57. package/dist/os/audit/index.js +16 -0
  58. package/dist/os/audit/index.js.map +1 -0
  59. package/dist/os/audit/types.d.ts +12 -0
  60. package/dist/os/audit/types.d.ts.map +1 -0
  61. package/dist/os/audit/types.js +17 -0
  62. package/dist/os/audit/types.js.map +1 -0
  63. package/dist/os/compass/compass.module.d.ts +3 -0
  64. package/dist/os/compass/compass.module.d.ts.map +1 -0
  65. package/dist/os/compass/compass.module.js +191 -0
  66. package/dist/os/compass/compass.module.js.map +1 -0
  67. package/dist/os/compass/handlers/compass-audit-handler.d.ts +36 -0
  68. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +1 -0
  69. package/dist/os/compass/handlers/compass-audit-handler.js +260 -0
  70. package/dist/os/compass/handlers/compass-audit-handler.js.map +1 -0
  71. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +19 -0
  72. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +1 -0
  73. package/dist/os/compass/handlers/compass-change-summary-handler.js +222 -0
  74. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +1 -0
  75. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +28 -0
  76. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +1 -0
  77. package/dist/os/compass/handlers/compass-inventory-handler.js +387 -0
  78. package/dist/os/compass/handlers/compass-inventory-handler.js.map +1 -0
  79. package/dist/os/compass/handlers/compass-inventory.d.ts +30 -0
  80. package/dist/os/compass/handlers/compass-inventory.d.ts.map +1 -0
  81. package/dist/os/compass/handlers/compass-inventory.js +472 -0
  82. package/dist/os/compass/handlers/compass-inventory.js.map +1 -0
  83. package/dist/os/compass/handlers/git-revision.d.ts +8 -0
  84. package/dist/os/compass/handlers/git-revision.d.ts.map +1 -0
  85. package/dist/os/compass/handlers/git-revision.js +99 -0
  86. package/dist/os/compass/handlers/git-revision.js.map +1 -0
  87. package/dist/os/compass/handlers/resolve-scan-root.d.ts +3 -0
  88. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +1 -0
  89. package/dist/os/compass/handlers/resolve-scan-root.js +57 -0
  90. package/dist/os/compass/handlers/resolve-scan-root.js.map +1 -0
  91. package/dist/os/compass/index.d.ts +8 -0
  92. package/dist/os/compass/index.d.ts.map +1 -0
  93. package/dist/os/compass/index.js +19 -0
  94. package/dist/os/compass/index.js.map +1 -0
  95. package/dist/os/core/core.module.d.ts +3 -0
  96. package/dist/os/core/core.module.d.ts.map +1 -0
  97. package/dist/os/core/core.module.js +855 -0
  98. package/dist/os/core/core.module.js.map +1 -0
  99. package/dist/os/core/handlers/assets-check.d.ts +19 -0
  100. package/dist/os/core/handlers/assets-check.d.ts.map +1 -0
  101. package/dist/os/core/handlers/assets-check.js +89 -0
  102. package/dist/os/core/handlers/assets-check.js.map +1 -0
  103. package/dist/os/core/handlers/assets-helpers.d.ts +28 -0
  104. package/dist/os/core/handlers/assets-helpers.d.ts.map +1 -0
  105. package/dist/os/core/handlers/assets-helpers.js +128 -0
  106. package/dist/os/core/handlers/assets-helpers.js.map +1 -0
  107. package/dist/os/core/handlers/assets-list.d.ts +9 -0
  108. package/dist/os/core/handlers/assets-list.d.ts.map +1 -0
  109. package/dist/os/core/handlers/assets-list.js +72 -0
  110. package/dist/os/core/handlers/assets-list.js.map +1 -0
  111. package/dist/os/core/handlers/build.d.ts +16 -0
  112. package/dist/os/core/handlers/build.d.ts.map +1 -0
  113. package/dist/os/core/handlers/build.js +123 -0
  114. package/dist/os/core/handlers/build.js.map +1 -0
  115. package/dist/os/core/handlers/determinism-check.d.ts +20 -0
  116. package/dist/os/core/handlers/determinism-check.d.ts.map +1 -0
  117. package/dist/os/core/handlers/determinism-check.js +289 -0
  118. package/dist/os/core/handlers/determinism-check.js.map +1 -0
  119. package/dist/os/core/handlers/dev.d.ts +10 -0
  120. package/dist/os/core/handlers/dev.d.ts.map +1 -0
  121. package/dist/os/core/handlers/dev.js +102 -0
  122. package/dist/os/core/handlers/dev.js.map +1 -0
  123. package/dist/os/core/handlers/forge-autonomy-validate.d.ts +18 -0
  124. package/dist/os/core/handlers/forge-autonomy-validate.d.ts.map +1 -0
  125. package/dist/os/core/handlers/forge-autonomy-validate.js +115 -0
  126. package/dist/os/core/handlers/forge-autonomy-validate.js.map +1 -0
  127. package/dist/os/core/handlers/knowledge-compact.d.ts +4 -0
  128. package/dist/os/core/handlers/knowledge-compact.d.ts.map +1 -0
  129. package/dist/os/core/handlers/knowledge-compact.js +204 -0
  130. package/dist/os/core/handlers/knowledge-compact.js.map +1 -0
  131. package/dist/os/core/handlers/package-health.d.ts +17 -0
  132. package/dist/os/core/handlers/package-health.d.ts.map +1 -0
  133. package/dist/os/core/handlers/package-health.js +217 -0
  134. package/dist/os/core/handlers/package-health.js.map +1 -0
  135. package/dist/os/core/handlers/pinned-check.d.ts +49 -0
  136. package/dist/os/core/handlers/pinned-check.d.ts.map +1 -0
  137. package/dist/os/core/handlers/pinned-check.js +159 -0
  138. package/dist/os/core/handlers/pinned-check.js.map +1 -0
  139. package/dist/os/core/handlers/pinned-init.d.ts +19 -0
  140. package/dist/os/core/handlers/pinned-init.d.ts.map +1 -0
  141. package/dist/os/core/handlers/pinned-init.js +283 -0
  142. package/dist/os/core/handlers/pinned-init.js.map +1 -0
  143. package/dist/os/core/handlers/pinned-types.d.ts +29 -0
  144. package/dist/os/core/handlers/pinned-types.d.ts.map +1 -0
  145. package/dist/os/core/handlers/pinned-types.js +16 -0
  146. package/dist/os/core/handlers/pinned-types.js.map +1 -0
  147. package/dist/os/core/handlers/pinned-validate.d.ts +4 -0
  148. package/dist/os/core/handlers/pinned-validate.d.ts.map +1 -0
  149. package/dist/os/core/handlers/pinned-validate.js +248 -0
  150. package/dist/os/core/handlers/pinned-validate.js.map +1 -0
  151. package/dist/os/core/handlers/profile-resolve.d.ts +13 -0
  152. package/dist/os/core/handlers/profile-resolve.d.ts.map +1 -0
  153. package/dist/os/core/handlers/profile-resolve.js +65 -0
  154. package/dist/os/core/handlers/profile-resolve.js.map +1 -0
  155. package/dist/os/core/handlers/public-surface.d.ts +13 -0
  156. package/dist/os/core/handlers/public-surface.d.ts.map +1 -0
  157. package/dist/os/core/handlers/public-surface.js +148 -0
  158. package/dist/os/core/handlers/public-surface.js.map +1 -0
  159. package/dist/os/core/handlers/release-prepare.d.ts +25 -0
  160. package/dist/os/core/handlers/release-prepare.d.ts.map +1 -0
  161. package/dist/os/core/handlers/release-prepare.js +228 -0
  162. package/dist/os/core/handlers/release-prepare.js.map +1 -0
  163. package/dist/os/core/handlers/release-publish.d.ts +13 -0
  164. package/dist/os/core/handlers/release-publish.d.ts.map +1 -0
  165. package/dist/os/core/handlers/release-publish.js +173 -0
  166. package/dist/os/core/handlers/release-publish.js.map +1 -0
  167. package/dist/os/core/handlers/validate.d.ts +39 -0
  168. package/dist/os/core/handlers/validate.d.ts.map +1 -0
  169. package/dist/os/core/handlers/validate.js +241 -0
  170. package/dist/os/core/handlers/validate.js.map +1 -0
  171. package/dist/os/core/index.d.ts +2 -0
  172. package/dist/os/core/index.d.ts.map +1 -0
  173. package/dist/os/core/index.js +13 -0
  174. package/dist/os/core/index.js.map +1 -0
  175. package/dist/os/exploration/exploration.module.d.ts +3 -0
  176. package/dist/os/exploration/exploration.module.d.ts.map +1 -0
  177. package/dist/os/exploration/exploration.module.js +88 -0
  178. package/dist/os/exploration/exploration.module.js.map +1 -0
  179. package/dist/os/exploration/frontmatter-io.d.ts +13 -0
  180. package/dist/os/exploration/frontmatter-io.d.ts.map +1 -0
  181. package/dist/os/exploration/frontmatter-io.js +61 -0
  182. package/dist/os/exploration/frontmatter-io.js.map +1 -0
  183. package/dist/os/exploration/handlers/archive.d.ts +4 -0
  184. package/dist/os/exploration/handlers/archive.d.ts.map +1 -0
  185. package/dist/os/exploration/handlers/archive.js +141 -0
  186. package/dist/os/exploration/handlers/archive.js.map +1 -0
  187. package/dist/os/exploration/handlers/list.d.ts +4 -0
  188. package/dist/os/exploration/handlers/list.d.ts.map +1 -0
  189. package/dist/os/exploration/handlers/list.js +64 -0
  190. package/dist/os/exploration/handlers/list.js.map +1 -0
  191. package/dist/os/exploration/handlers/show.d.ts +4 -0
  192. package/dist/os/exploration/handlers/show.d.ts.map +1 -0
  193. package/dist/os/exploration/handlers/show.js +97 -0
  194. package/dist/os/exploration/handlers/show.js.map +1 -0
  195. package/dist/os/exploration/index.d.ts +7 -0
  196. package/dist/os/exploration/index.d.ts.map +1 -0
  197. package/dist/os/exploration/index.js +17 -0
  198. package/dist/os/exploration/index.js.map +1 -0
  199. package/dist/os/exploration/types.d.ts +38 -0
  200. package/dist/os/exploration/types.d.ts.map +1 -0
  201. package/dist/os/exploration/types.js +23 -0
  202. package/dist/os/exploration/types.js.map +1 -0
  203. package/dist/os/mission/handlers/archive.d.ts +4 -0
  204. package/dist/os/mission/handlers/archive.d.ts.map +1 -0
  205. package/dist/os/mission/handlers/archive.js +454 -0
  206. package/dist/os/mission/handlers/archive.js.map +1 -0
  207. package/dist/os/mission/index.d.ts +2 -0
  208. package/dist/os/mission/index.d.ts.map +1 -0
  209. package/dist/os/mission/index.js +2 -0
  210. package/dist/os/mission/index.js.map +1 -0
  211. package/dist/os/mission/mission.module.d.ts +3 -0
  212. package/dist/os/mission/mission.module.d.ts.map +1 -0
  213. package/dist/os/mission/mission.module.js +55 -0
  214. package/dist/os/mission/mission.module.js.map +1 -0
  215. package/dist/os/mission/types.d.ts +23 -0
  216. package/dist/os/mission/types.d.ts.map +1 -0
  217. package/dist/os/mission/types.js +19 -0
  218. package/dist/os/mission/types.js.map +1 -0
  219. package/dist/os/naming/index.d.ts +3 -0
  220. package/dist/os/naming/index.d.ts.map +1 -0
  221. package/dist/os/naming/index.js +14 -0
  222. package/dist/os/naming/index.js.map +1 -0
  223. package/dist/os/naming/naming-convention.d.ts +25 -0
  224. package/dist/os/naming/naming-convention.d.ts.map +1 -0
  225. package/dist/os/naming/naming-convention.js +334 -0
  226. package/dist/os/naming/naming-convention.js.map +1 -0
  227. package/dist/os/naming/naming.module.d.ts +3 -0
  228. package/dist/os/naming/naming.module.d.ts.map +1 -0
  229. package/dist/os/naming/naming.module.js +41 -0
  230. package/dist/os/naming/naming.module.js.map +1 -0
  231. package/dist/os/notes/index.d.ts +2 -0
  232. package/dist/os/notes/index.d.ts.map +1 -0
  233. package/dist/os/notes/index.js +10 -0
  234. package/dist/os/notes/index.js.map +1 -0
  235. package/dist/os/notes/notes.module.d.ts +3 -0
  236. package/dist/os/notes/notes.module.d.ts.map +1 -0
  237. package/dist/os/notes/notes.module.js +93 -0
  238. package/dist/os/notes/notes.module.js.map +1 -0
  239. package/dist/os/plan/frontmatter-io.d.ts +12 -0
  240. package/dist/os/plan/frontmatter-io.d.ts.map +1 -0
  241. package/dist/os/plan/frontmatter-io.js +69 -0
  242. package/dist/os/plan/frontmatter-io.js.map +1 -0
  243. package/dist/os/plan/handlers/archive.d.ts +4 -0
  244. package/dist/os/plan/handlers/archive.d.ts.map +1 -0
  245. package/dist/os/plan/handlers/archive.js +206 -0
  246. package/dist/os/plan/handlers/archive.js.map +1 -0
  247. package/dist/os/plan/index.d.ts +6 -0
  248. package/dist/os/plan/index.d.ts.map +1 -0
  249. package/dist/os/plan/index.js +16 -0
  250. package/dist/os/plan/index.js.map +1 -0
  251. package/dist/os/plan/plan.module.d.ts +3 -0
  252. package/dist/os/plan/plan.module.d.ts.map +1 -0
  253. package/dist/os/plan/plan.module.js +50 -0
  254. package/dist/os/plan/plan.module.js.map +1 -0
  255. package/dist/os/plan/types.d.ts +12 -0
  256. package/dist/os/plan/types.d.ts.map +1 -0
  257. package/dist/os/plan/types.js +17 -0
  258. package/dist/os/plan/types.js.map +1 -0
  259. package/dist/os/plugin/plugin.module.d.ts +25 -0
  260. package/dist/os/plugin/plugin.module.d.ts.map +1 -0
  261. package/dist/os/plugin/plugin.module.js +212 -0
  262. package/dist/os/plugin/plugin.module.js.map +1 -0
  263. package/dist/os/program/discovery.d.ts +61 -0
  264. package/dist/os/program/discovery.d.ts.map +1 -0
  265. package/dist/os/program/discovery.js +236 -0
  266. package/dist/os/program/discovery.js.map +1 -0
  267. package/dist/os/program/handlers/complete.d.ts +12 -0
  268. package/dist/os/program/handlers/complete.d.ts.map +1 -0
  269. package/dist/os/program/handlers/complete.js +362 -0
  270. package/dist/os/program/handlers/complete.js.map +1 -0
  271. package/dist/os/program/handlers/lease.d.ts +13 -0
  272. package/dist/os/program/handlers/lease.d.ts.map +1 -0
  273. package/dist/os/program/handlers/lease.js +328 -0
  274. package/dist/os/program/handlers/lease.js.map +1 -0
  275. package/dist/os/program/handlers/seal.d.ts +12 -0
  276. package/dist/os/program/handlers/seal.d.ts.map +1 -0
  277. package/dist/os/program/handlers/seal.js +277 -0
  278. package/dist/os/program/handlers/seal.js.map +1 -0
  279. package/dist/os/program/handlers/validate.d.ts +14 -0
  280. package/dist/os/program/handlers/validate.d.ts.map +1 -0
  281. package/dist/os/program/handlers/validate.js +170 -0
  282. package/dist/os/program/handlers/validate.js.map +1 -0
  283. package/dist/os/program/lease.d.ts +39 -0
  284. package/dist/os/program/lease.d.ts.map +1 -0
  285. package/dist/os/program/lease.js +129 -0
  286. package/dist/os/program/lease.js.map +1 -0
  287. package/dist/os/program/program.module.d.ts +3 -0
  288. package/dist/os/program/program.module.d.ts.map +1 -0
  289. package/dist/os/program/program.module.js +209 -0
  290. package/dist/os/program/program.module.js.map +1 -0
  291. package/dist/os/program/schemas.d.ts +225 -0
  292. package/dist/os/program/schemas.d.ts.map +1 -0
  293. package/dist/os/program/schemas.js +174 -0
  294. package/dist/os/program/schemas.js.map +1 -0
  295. package/dist/os/program/state.d.ts +38 -0
  296. package/dist/os/program/state.d.ts.map +1 -0
  297. package/dist/os/program/state.js +189 -0
  298. package/dist/os/program/state.js.map +1 -0
  299. package/dist/os/rfc/acceptance.d.ts +15 -0
  300. package/dist/os/rfc/acceptance.d.ts.map +1 -0
  301. package/dist/os/rfc/acceptance.js +438 -0
  302. package/dist/os/rfc/acceptance.js.map +1 -0
  303. package/dist/os/rfc/decision-log.d.ts +6 -0
  304. package/dist/os/rfc/decision-log.d.ts.map +1 -0
  305. package/dist/os/rfc/decision-log.js +269 -0
  306. package/dist/os/rfc/decision-log.js.map +1 -0
  307. package/dist/os/rfc/dna-trace.d.ts +27 -0
  308. package/dist/os/rfc/dna-trace.d.ts.map +1 -0
  309. package/dist/os/rfc/dna-trace.js +214 -0
  310. package/dist/os/rfc/dna-trace.js.map +1 -0
  311. package/dist/os/rfc/frontmatter-io.d.ts +18 -0
  312. package/dist/os/rfc/frontmatter-io.d.ts.map +1 -0
  313. package/dist/os/rfc/frontmatter-io.js +110 -0
  314. package/dist/os/rfc/frontmatter-io.js.map +1 -0
  315. package/dist/os/rfc/handlers/archive.d.ts +25 -0
  316. package/dist/os/rfc/handlers/archive.d.ts.map +1 -0
  317. package/dist/os/rfc/handlers/archive.js +247 -0
  318. package/dist/os/rfc/handlers/archive.js.map +1 -0
  319. package/dist/os/rfc/handlers/check.d.ts +4 -0
  320. package/dist/os/rfc/handlers/check.d.ts.map +1 -0
  321. package/dist/os/rfc/handlers/check.js +203 -0
  322. package/dist/os/rfc/handlers/check.js.map +1 -0
  323. package/dist/os/rfc/handlers/implement-stamp.d.ts +4 -0
  324. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +1 -0
  325. package/dist/os/rfc/handlers/implement-stamp.js +452 -0
  326. package/dist/os/rfc/handlers/implement-stamp.js.map +1 -0
  327. package/dist/os/rfc/handlers/index-graph.d.ts +13 -0
  328. package/dist/os/rfc/handlers/index-graph.d.ts.map +1 -0
  329. package/dist/os/rfc/handlers/index-graph.js +192 -0
  330. package/dist/os/rfc/handlers/index-graph.js.map +1 -0
  331. package/dist/os/rfc/handlers/lifecycle.d.ts +13 -0
  332. package/dist/os/rfc/handlers/lifecycle.d.ts.map +1 -0
  333. package/dist/os/rfc/handlers/lifecycle.js +155 -0
  334. package/dist/os/rfc/handlers/lifecycle.js.map +1 -0
  335. package/dist/os/rfc/handlers/list-create.d.ts +6 -0
  336. package/dist/os/rfc/handlers/list-create.d.ts.map +1 -0
  337. package/dist/os/rfc/handlers/list-create.js +260 -0
  338. package/dist/os/rfc/handlers/list-create.js.map +1 -0
  339. package/dist/os/rfc/handlers/pipeline-status.d.ts +26 -0
  340. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +1 -0
  341. package/dist/os/rfc/handlers/pipeline-status.js +124 -0
  342. package/dist/os/rfc/handlers/pipeline-status.js.map +1 -0
  343. package/dist/os/rfc/handlers/shared.d.ts +22 -0
  344. package/dist/os/rfc/handlers/shared.d.ts.map +1 -0
  345. package/dist/os/rfc/handlers/shared.js +105 -0
  346. package/dist/os/rfc/handlers/shared.js.map +1 -0
  347. package/dist/os/rfc/handlers/supersede-propose.d.ts +4 -0
  348. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +1 -0
  349. package/dist/os/rfc/handlers/supersede-propose.js +203 -0
  350. package/dist/os/rfc/handlers/supersede-propose.js.map +1 -0
  351. package/dist/os/rfc/handlers/validate-rules.d.ts +80 -0
  352. package/dist/os/rfc/handlers/validate-rules.d.ts.map +1 -0
  353. package/dist/os/rfc/handlers/validate-rules.js +907 -0
  354. package/dist/os/rfc/handlers/validate-rules.js.map +1 -0
  355. package/dist/os/rfc/handlers/validate.d.ts +4 -0
  356. package/dist/os/rfc/handlers/validate.d.ts.map +1 -0
  357. package/dist/os/rfc/handlers/validate.js +134 -0
  358. package/dist/os/rfc/handlers/validate.js.map +1 -0
  359. package/dist/os/rfc/handlers.d.ts +7 -0
  360. package/dist/os/rfc/handlers.d.ts.map +1 -0
  361. package/dist/os/rfc/handlers.js +19 -0
  362. package/dist/os/rfc/handlers.js.map +1 -0
  363. package/dist/os/rfc/index.d.ts +18 -0
  364. package/dist/os/rfc/index.d.ts.map +1 -0
  365. package/dist/os/rfc/index.js +24 -0
  366. package/dist/os/rfc/index.js.map +1 -0
  367. package/dist/os/rfc/rfc.module.d.ts +3 -0
  368. package/dist/os/rfc/rfc.module.d.ts.map +1 -0
  369. package/dist/os/rfc/rfc.module.js +390 -0
  370. package/dist/os/rfc/rfc.module.js.map +1 -0
  371. package/dist/os/rfc/types.d.ts +559 -0
  372. package/dist/os/rfc/types.d.ts.map +1 -0
  373. package/dist/os/rfc/types.js +118 -0
  374. package/dist/os/rfc/types.js.map +1 -0
  375. package/dist/os/rfc/verification-evidence.d.ts +15 -0
  376. package/dist/os/rfc/verification-evidence.d.ts.map +1 -0
  377. package/dist/os/rfc/verification-evidence.js +185 -0
  378. package/dist/os/rfc/verification-evidence.js.map +1 -0
  379. package/dist/os/rfc/verification-refresh.d.ts +4 -0
  380. package/dist/os/rfc/verification-refresh.d.ts.map +1 -0
  381. package/dist/os/rfc/verification-refresh.js +160 -0
  382. package/dist/os/rfc/verification-refresh.js.map +1 -0
  383. package/dist/os/session/atif-parser.d.ts +29 -0
  384. package/dist/os/session/atif-parser.d.ts.map +1 -0
  385. package/dist/os/session/atif-parser.js +140 -0
  386. package/dist/os/session/atif-parser.js.map +1 -0
  387. package/dist/os/session/frontmatter-io.d.ts +31 -0
  388. package/dist/os/session/frontmatter-io.d.ts.map +1 -0
  389. package/dist/os/session/frontmatter-io.js +146 -0
  390. package/dist/os/session/frontmatter-io.js.map +1 -0
  391. package/dist/os/session/handlers/archive.d.ts +4 -0
  392. package/dist/os/session/handlers/archive.d.ts.map +1 -0
  393. package/dist/os/session/handlers/archive.js +241 -0
  394. package/dist/os/session/handlers/archive.js.map +1 -0
  395. package/dist/os/session/handlers/list.d.ts +4 -0
  396. package/dist/os/session/handlers/list.d.ts.map +1 -0
  397. package/dist/os/session/handlers/list.js +147 -0
  398. package/dist/os/session/handlers/list.js.map +1 -0
  399. package/dist/os/session/handlers/metrics-aggregate.d.ts +4 -0
  400. package/dist/os/session/handlers/metrics-aggregate.d.ts.map +1 -0
  401. package/dist/os/session/handlers/metrics-aggregate.js +183 -0
  402. package/dist/os/session/handlers/metrics-aggregate.js.map +1 -0
  403. package/dist/os/session/handlers/metrics-rfc.d.ts +4 -0
  404. package/dist/os/session/handlers/metrics-rfc.d.ts.map +1 -0
  405. package/dist/os/session/handlers/metrics-rfc.js +272 -0
  406. package/dist/os/session/handlers/metrics-rfc.js.map +1 -0
  407. package/dist/os/session/handlers/metrics-session.d.ts +9 -0
  408. package/dist/os/session/handlers/metrics-session.d.ts.map +1 -0
  409. package/dist/os/session/handlers/metrics-session.js +167 -0
  410. package/dist/os/session/handlers/metrics-session.js.map +1 -0
  411. package/dist/os/session/handlers/save.d.ts +6 -0
  412. package/dist/os/session/handlers/save.d.ts.map +1 -0
  413. package/dist/os/session/handlers/save.js +319 -0
  414. package/dist/os/session/handlers/save.js.map +1 -0
  415. package/dist/os/session/handlers/validate.d.ts +4 -0
  416. package/dist/os/session/handlers/validate.d.ts.map +1 -0
  417. package/dist/os/session/handlers/validate.js +224 -0
  418. package/dist/os/session/handlers/validate.js.map +1 -0
  419. package/dist/os/session/index.d.ts +9 -0
  420. package/dist/os/session/index.d.ts.map +1 -0
  421. package/dist/os/session/index.js +21 -0
  422. package/dist/os/session/index.js.map +1 -0
  423. package/dist/os/session/session.module.d.ts +3 -0
  424. package/dist/os/session/session.module.d.ts.map +1 -0
  425. package/dist/os/session/session.module.js +147 -0
  426. package/dist/os/session/session.module.js.map +1 -0
  427. package/dist/os/session/types.d.ts +214 -0
  428. package/dist/os/session/types.d.ts.map +1 -0
  429. package/dist/os/session/types.js +61 -0
  430. package/dist/os/session/types.js.map +1 -0
  431. package/dist/os/spec/live-spec-list.d.ts +4 -0
  432. package/dist/os/spec/live-spec-list.d.ts.map +1 -0
  433. package/dist/os/spec/live-spec-list.js +72 -0
  434. package/dist/os/spec/live-spec-list.js.map +1 -0
  435. package/dist/os/spec/live-spec-merge.d.ts +4 -0
  436. package/dist/os/spec/live-spec-merge.d.ts.map +1 -0
  437. package/dist/os/spec/live-spec-merge.js +316 -0
  438. package/dist/os/spec/live-spec-merge.js.map +1 -0
  439. package/dist/os/spec/live-spec-show.d.ts +4 -0
  440. package/dist/os/spec/live-spec-show.d.ts.map +1 -0
  441. package/dist/os/spec/live-spec-show.js +105 -0
  442. package/dist/os/spec/live-spec-show.js.map +1 -0
  443. package/dist/os/spec/live-spec-types.d.ts +71 -0
  444. package/dist/os/spec/live-spec-types.d.ts.map +1 -0
  445. package/dist/os/spec/live-spec-types.js +14 -0
  446. package/dist/os/spec/live-spec-types.js.map +1 -0
  447. package/dist/os/spec/live-spec-validate.d.ts +4 -0
  448. package/dist/os/spec/live-spec-validate.d.ts.map +1 -0
  449. package/dist/os/spec/live-spec-validate.js +140 -0
  450. package/dist/os/spec/live-spec-validate.js.map +1 -0
  451. package/dist/os/spec/spec-materialize.d.ts +21 -0
  452. package/dist/os/spec/spec-materialize.d.ts.map +1 -0
  453. package/dist/os/spec/spec-materialize.js +342 -0
  454. package/dist/os/spec/spec-materialize.js.map +1 -0
  455. package/dist/os/spec/spec-schema.d.ts +126 -0
  456. package/dist/os/spec/spec-schema.d.ts.map +1 -0
  457. package/dist/os/spec/spec-schema.js +118 -0
  458. package/dist/os/spec/spec-schema.js.map +1 -0
  459. package/dist/os/spec/spec-status.d.ts +33 -0
  460. package/dist/os/spec/spec-status.d.ts.map +1 -0
  461. package/dist/os/spec/spec-status.js +228 -0
  462. package/dist/os/spec/spec-status.js.map +1 -0
  463. package/dist/os/spec/spec-validate.d.ts +4 -0
  464. package/dist/os/spec/spec-validate.d.ts.map +1 -0
  465. package/dist/os/spec/spec-validate.js +438 -0
  466. package/dist/os/spec/spec-validate.js.map +1 -0
  467. package/dist/os/spec/spec.module.d.ts +3 -0
  468. package/dist/os/spec/spec.module.d.ts.map +1 -0
  469. package/dist/os/spec/spec.module.js +129 -0
  470. package/dist/os/spec/spec.module.js.map +1 -0
  471. package/dist/os/werkstatt/handlers/lock.d.ts +10 -0
  472. package/dist/os/werkstatt/handlers/lock.d.ts.map +1 -0
  473. package/dist/os/werkstatt/handlers/lock.js +153 -0
  474. package/dist/os/werkstatt/handlers/lock.js.map +1 -0
  475. package/dist/os/werkstatt/handlers/schema.d.ts +33 -0
  476. package/dist/os/werkstatt/handlers/schema.d.ts.map +1 -0
  477. package/dist/os/werkstatt/handlers/schema.js +42 -0
  478. package/dist/os/werkstatt/handlers/schema.js.map +1 -0
  479. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +15 -0
  480. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +1 -0
  481. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +152 -0
  482. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +1 -0
  483. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +18 -0
  484. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +1 -0
  485. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +51 -0
  486. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +1 -0
  487. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +11 -0
  488. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +1 -0
  489. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +79 -0
  490. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +1 -0
  491. package/dist/os/werkstatt/handlers/workspace-deps.d.ts +12 -0
  492. package/dist/os/werkstatt/handlers/workspace-deps.d.ts.map +1 -0
  493. package/dist/os/werkstatt/handlers/workspace-deps.js +42 -0
  494. package/dist/os/werkstatt/handlers/workspace-deps.js.map +1 -0
  495. package/dist/os/werkstatt/index.d.ts +7 -0
  496. package/dist/os/werkstatt/index.d.ts.map +1 -0
  497. package/dist/os/werkstatt/index.js +18 -0
  498. package/dist/os/werkstatt/index.js.map +1 -0
  499. package/dist/os/werkstatt/werkstatt.module.d.ts +3 -0
  500. package/dist/os/werkstatt/werkstatt.module.d.ts.map +1 -0
  501. package/dist/os/werkstatt/werkstatt.module.js +63 -0
  502. package/dist/os/werkstatt/werkstatt.module.js.map +1 -0
  503. package/dist/os/workflow/handlers.d.ts +12 -0
  504. package/dist/os/workflow/handlers.d.ts.map +1 -0
  505. package/dist/os/workflow/handlers.js +262 -0
  506. package/dist/os/workflow/handlers.js.map +1 -0
  507. package/dist/os/workflow/index.d.ts +4 -0
  508. package/dist/os/workflow/index.d.ts.map +1 -0
  509. package/dist/os/workflow/index.js +18 -0
  510. package/dist/os/workflow/index.js.map +1 -0
  511. package/dist/os/workflow/types.d.ts +69 -0
  512. package/dist/os/workflow/types.d.ts.map +1 -0
  513. package/dist/os/workflow/types.js +23 -0
  514. package/dist/os/workflow/types.js.map +1 -0
  515. package/dist/os/workflow/workflow.module.d.ts +3 -0
  516. package/dist/os/workflow/workflow.module.d.ts.map +1 -0
  517. package/dist/os/workflow/workflow.module.js +56 -0
  518. package/dist/os/workflow/workflow.module.js.map +1 -0
  519. package/dist/src/cli-output.d.ts +5 -0
  520. package/dist/src/cli-output.d.ts.map +1 -0
  521. package/dist/src/cli-output.js +53 -0
  522. package/dist/src/cli-output.js.map +1 -0
  523. package/dist/src/compass/contract-registry.d.ts +7 -0
  524. package/dist/src/compass/contract-registry.d.ts.map +1 -0
  525. package/dist/src/compass/contract-registry.js +112 -0
  526. package/dist/src/compass/contract-registry.js.map +1 -0
  527. package/dist/src/compass/types.d.ts +28 -0
  528. package/dist/src/compass/types.d.ts.map +1 -0
  529. package/dist/src/compass/types.js +14 -0
  530. package/dist/src/compass/types.js.map +1 -0
  531. package/dist/src/config/forge-config.d.ts +242 -0
  532. package/dist/src/config/forge-config.d.ts.map +1 -0
  533. package/dist/src/config/forge-config.js +363 -0
  534. package/dist/src/config/forge-config.js.map +1 -0
  535. package/dist/src/forge-module.d.ts +29 -0
  536. package/dist/src/forge-module.d.ts.map +1 -0
  537. package/dist/src/forge-module.js +16 -0
  538. package/dist/src/forge-module.js.map +1 -0
  539. package/dist/src/index.d.ts +39 -0
  540. package/dist/src/index.d.ts.map +1 -0
  541. package/dist/src/index.js +59 -0
  542. package/dist/src/index.js.map +1 -0
  543. package/dist/src/knowledge/budgets.d.ts +38 -0
  544. package/dist/src/knowledge/budgets.d.ts.map +1 -0
  545. package/dist/src/knowledge/budgets.js +157 -0
  546. package/dist/src/knowledge/budgets.js.map +1 -0
  547. package/dist/src/knowledge/compact.d.ts +47 -0
  548. package/dist/src/knowledge/compact.d.ts.map +1 -0
  549. package/dist/src/knowledge/compact.js +320 -0
  550. package/dist/src/knowledge/compact.js.map +1 -0
  551. package/dist/src/knowledge/index.d.ts +7 -0
  552. package/dist/src/knowledge/index.d.ts.map +1 -0
  553. package/dist/src/knowledge/index.js +19 -0
  554. package/dist/src/knowledge/index.js.map +1 -0
  555. package/dist/src/knowledge/parse.d.ts +3 -0
  556. package/dist/src/knowledge/parse.d.ts.map +1 -0
  557. package/dist/src/knowledge/parse.js +205 -0
  558. package/dist/src/knowledge/parse.js.map +1 -0
  559. package/dist/src/knowledge/promote.d.ts +37 -0
  560. package/dist/src/knowledge/promote.d.ts.map +1 -0
  561. package/dist/src/knowledge/promote.js +120 -0
  562. package/dist/src/knowledge/promote.js.map +1 -0
  563. package/dist/src/knowledge/schema.d.ts +61 -0
  564. package/dist/src/knowledge/schema.d.ts.map +1 -0
  565. package/dist/src/knowledge/schema.js +64 -0
  566. package/dist/src/knowledge/schema.js.map +1 -0
  567. package/dist/src/knowledge/serialize.d.ts +3 -0
  568. package/dist/src/knowledge/serialize.d.ts.map +1 -0
  569. package/dist/src/knowledge/serialize.js +67 -0
  570. package/dist/src/knowledge/serialize.js.map +1 -0
  571. package/dist/src/migration-adapters/git-utils.d.ts +3 -0
  572. package/dist/src/migration-adapters/git-utils.d.ts.map +1 -0
  573. package/dist/src/migration-adapters/git-utils.js +65 -0
  574. package/dist/src/migration-adapters/git-utils.js.map +1 -0
  575. package/dist/src/migration-adapters/ignored-files.d.ts +12 -0
  576. package/dist/src/migration-adapters/ignored-files.d.ts.map +1 -0
  577. package/dist/src/migration-adapters/ignored-files.js +190 -0
  578. package/dist/src/migration-adapters/ignored-files.js.map +1 -0
  579. package/dist/src/migration-adapters/index.d.ts +8 -0
  580. package/dist/src/migration-adapters/index.d.ts.map +1 -0
  581. package/dist/src/migration-adapters/index.js +17 -0
  582. package/dist/src/migration-adapters/index.js.map +1 -0
  583. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +3 -0
  584. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +1 -0
  585. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +141 -0
  586. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +1 -0
  587. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +3 -0
  588. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +1 -0
  589. package/dist/src/migration-adapters/phaser-pnpm/index.js +142 -0
  590. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +1 -0
  591. package/dist/src/migration-adapters/registry.d.ts +6 -0
  592. package/dist/src/migration-adapters/registry.d.ts.map +1 -0
  593. package/dist/src/migration-adapters/registry.js +55 -0
  594. package/dist/src/migration-adapters/registry.js.map +1 -0
  595. package/dist/src/migration-adapters/types.d.ts +35 -0
  596. package/dist/src/migration-adapters/types.d.ts.map +1 -0
  597. package/dist/src/migration-adapters/types.js +31 -0
  598. package/dist/src/migration-adapters/types.js.map +1 -0
  599. package/dist/src/onboarding/agents-generate.d.ts +31 -0
  600. package/dist/src/onboarding/agents-generate.d.ts.map +1 -0
  601. package/dist/src/onboarding/agents-generate.js +373 -0
  602. package/dist/src/onboarding/agents-generate.js.map +1 -0
  603. package/dist/src/onboarding/create.d.ts +12 -0
  604. package/dist/src/onboarding/create.d.ts.map +1 -0
  605. package/dist/src/onboarding/create.js +408 -0
  606. package/dist/src/onboarding/create.js.map +1 -0
  607. package/dist/src/onboarding/doctor.d.ts +45 -0
  608. package/dist/src/onboarding/doctor.d.ts.map +1 -0
  609. package/dist/src/onboarding/doctor.js +1222 -0
  610. package/dist/src/onboarding/doctor.js.map +1 -0
  611. package/dist/src/onboarding/init.d.ts +36 -0
  612. package/dist/src/onboarding/init.d.ts.map +1 -0
  613. package/dist/src/onboarding/init.js +412 -0
  614. package/dist/src/onboarding/init.js.map +1 -0
  615. package/dist/src/onboarding/invariant-engine.d.ts +17 -0
  616. package/dist/src/onboarding/invariant-engine.d.ts.map +1 -0
  617. package/dist/src/onboarding/invariant-engine.js +416 -0
  618. package/dist/src/onboarding/invariant-engine.js.map +1 -0
  619. package/dist/src/onboarding/memory-scaffold.d.ts +18 -0
  620. package/dist/src/onboarding/memory-scaffold.d.ts.map +1 -0
  621. package/dist/src/onboarding/memory-scaffold.js +151 -0
  622. package/dist/src/onboarding/memory-scaffold.js.map +1 -0
  623. package/dist/src/onboarding/nested-agents-generate.d.ts +18 -0
  624. package/dist/src/onboarding/nested-agents-generate.d.ts.map +1 -0
  625. package/dist/src/onboarding/nested-agents-generate.js +69 -0
  626. package/dist/src/onboarding/nested-agents-generate.js.map +1 -0
  627. package/dist/src/onboarding/nested-agents-templates.d.ts +26 -0
  628. package/dist/src/onboarding/nested-agents-templates.d.ts.map +1 -0
  629. package/dist/src/onboarding/nested-agents-templates.js +179 -0
  630. package/dist/src/onboarding/nested-agents-templates.js.map +1 -0
  631. package/dist/src/onboarding/profile-validate.d.ts +13 -0
  632. package/dist/src/onboarding/profile-validate.d.ts.map +1 -0
  633. package/dist/src/onboarding/profile-validate.js +109 -0
  634. package/dist/src/onboarding/profile-validate.js.map +1 -0
  635. package/dist/src/onboarding/scaffold-project.d.ts +12 -0
  636. package/dist/src/onboarding/scaffold-project.d.ts.map +1 -0
  637. package/dist/src/onboarding/scaffold-project.js +264 -0
  638. package/dist/src/onboarding/scaffold-project.js.map +1 -0
  639. package/dist/src/onboarding/scaffold.d.ts +15 -0
  640. package/dist/src/onboarding/scaffold.d.ts.map +1 -0
  641. package/dist/src/onboarding/scaffold.js +123 -0
  642. package/dist/src/onboarding/scaffold.js.map +1 -0
  643. package/dist/src/onboarding/upgrade.d.ts +27 -0
  644. package/dist/src/onboarding/upgrade.d.ts.map +1 -0
  645. package/dist/src/onboarding/upgrade.js +453 -0
  646. package/dist/src/onboarding/upgrade.js.map +1 -0
  647. package/dist/src/onboarding/workspace-discovery.d.ts +11 -0
  648. package/dist/src/onboarding/workspace-discovery.d.ts.map +1 -0
  649. package/dist/src/onboarding/workspace-discovery.js +138 -0
  650. package/dist/src/onboarding/workspace-discovery.js.map +1 -0
  651. package/dist/src/plugin/forge-plugin-manifest.d.ts +38 -0
  652. package/dist/src/plugin/forge-plugin-manifest.d.ts.map +1 -0
  653. package/dist/src/plugin/forge-plugin-manifest.js +52 -0
  654. package/dist/src/plugin/forge-plugin-manifest.js.map +1 -0
  655. package/dist/src/profiles/profile-schema.d.ts +361 -0
  656. package/dist/src/profiles/profile-schema.d.ts.map +1 -0
  657. package/dist/src/profiles/profile-schema.js +208 -0
  658. package/dist/src/profiles/profile-schema.js.map +1 -0
  659. package/dist/src/profiles/stack-profile.d.ts +173 -0
  660. package/dist/src/profiles/stack-profile.d.ts.map +1 -0
  661. package/dist/src/profiles/stack-profile.js +148 -0
  662. package/dist/src/profiles/stack-profile.js.map +1 -0
  663. package/dist/src/profiles/terminology-utils.d.ts +8 -0
  664. package/dist/src/profiles/terminology-utils.d.ts.map +1 -0
  665. package/dist/src/profiles/terminology-utils.js +31 -0
  666. package/dist/src/profiles/terminology-utils.js.map +1 -0
  667. package/dist/src/registry.d.ts +38 -0
  668. package/dist/src/registry.d.ts.map +1 -0
  669. package/dist/src/registry.js +174 -0
  670. package/dist/src/registry.js.map +1 -0
  671. package/dist/src/skill-schema.d.ts +30 -0
  672. package/dist/src/skill-schema.d.ts.map +1 -0
  673. package/dist/src/skill-schema.js +34 -0
  674. package/dist/src/skill-schema.js.map +1 -0
  675. package/dist/src/types.d.ts +158 -0
  676. package/dist/src/types.d.ts.map +1 -0
  677. package/dist/src/types.js +17 -0
  678. package/dist/src/types.js.map +1 -0
  679. package/dist/src/utils/fs-atomic.d.ts +7 -0
  680. package/dist/src/utils/fs-atomic.d.ts.map +1 -0
  681. package/dist/src/utils/fs-atomic.js +81 -0
  682. package/dist/src/utils/fs-atomic.js.map +1 -0
  683. package/dist/src/utils/fs-idempotent.d.ts +2 -0
  684. package/dist/src/utils/fs-idempotent.d.ts.map +1 -0
  685. package/dist/src/utils/fs-idempotent.js +39 -0
  686. package/dist/src/utils/fs-idempotent.js.map +1 -0
  687. package/dist/src/utils/fs-trash-sync.d.ts +2 -0
  688. package/dist/src/utils/fs-trash-sync.d.ts.map +1 -0
  689. package/dist/src/utils/fs-trash-sync.js +34 -0
  690. package/dist/src/utils/fs-trash-sync.js.map +1 -0
  691. package/dist/src/utils/fs-trash.d.ts +2 -0
  692. package/dist/src/utils/fs-trash.d.ts.map +1 -0
  693. package/dist/src/utils/fs-trash.js +24 -0
  694. package/dist/src/utils/fs-trash.js.map +1 -0
  695. package/dist/src/utils/fs.d.ts +8 -0
  696. package/dist/src/utils/fs.d.ts.map +1 -0
  697. package/dist/src/utils/fs.js +60 -0
  698. package/dist/src/utils/fs.js.map +1 -0
  699. package/dist/src/utils/generated-marker.d.ts +28 -0
  700. package/dist/src/utils/generated-marker.d.ts.map +1 -0
  701. package/dist/src/utils/generated-marker.js +138 -0
  702. package/dist/src/utils/generated-marker.js.map +1 -0
  703. package/dist/src/utils/hash.d.ts +2 -0
  704. package/dist/src/utils/hash.d.ts.map +1 -0
  705. package/dist/src/utils/hash.js +18 -0
  706. package/dist/src/utils/hash.js.map +1 -0
  707. package/dist/src/utils/index.d.ts +9 -0
  708. package/dist/src/utils/index.d.ts.map +1 -0
  709. package/dist/src/utils/index.js +21 -0
  710. package/dist/src/utils/index.js.map +1 -0
  711. package/dist/src/utils/string-utils.d.ts +2 -0
  712. package/dist/src/utils/string-utils.d.ts.map +1 -0
  713. package/dist/src/utils/string-utils.js +19 -0
  714. package/dist/src/utils/string-utils.js.map +1 -0
  715. package/dist/src/validators/note-frontmatter-validate.d.ts +20 -0
  716. package/dist/src/validators/note-frontmatter-validate.d.ts.map +1 -0
  717. package/dist/src/validators/note-frontmatter-validate.js +117 -0
  718. package/dist/src/validators/note-frontmatter-validate.js.map +1 -0
  719. package/dist/src/validators/note-link-validate.d.ts +21 -0
  720. package/dist/src/validators/note-link-validate.d.ts.map +1 -0
  721. package/dist/src/validators/note-link-validate.js +121 -0
  722. package/dist/src/validators/note-link-validate.js.map +1 -0
  723. package/dist/src/validators/note-orphan-detect.d.ts +19 -0
  724. package/dist/src/validators/note-orphan-detect.d.ts.map +1 -0
  725. package/dist/src/validators/note-orphan-detect.js +123 -0
  726. package/dist/src/validators/note-orphan-detect.js.map +1 -0
  727. package/dist/src/validators/port-validate.d.ts +12 -0
  728. package/dist/src/validators/port-validate.d.ts.map +1 -0
  729. package/dist/src/validators/port-validate.js +78 -0
  730. package/dist/src/validators/port-validate.js.map +1 -0
  731. package/dist/src/validators/skill-validate.d.ts +29 -0
  732. package/dist/src/validators/skill-validate.d.ts.map +1 -0
  733. package/dist/src/validators/skill-validate.js +689 -0
  734. package/dist/src/validators/skill-validate.js.map +1 -0
  735. package/docs/concepts/governance-model.md +33 -0
  736. package/docs/concepts/project-contract.md +61 -0
  737. package/docs/concepts/why-forge.md +46 -0
  738. package/docs/getting-started.md +44 -0
  739. package/docs/guides/existing-project.md +38 -0
  740. package/docs/guides/rfc-adr.md +61 -0
  741. package/docs/guides/skills.md +60 -0
  742. package/docs/guides/upgrading.md +35 -0
  743. package/docs/maintainers/publishing.md +34 -0
  744. package/docs/reference/cli.md +140 -0
  745. package/docs/reference/forge-yaml.md +114 -0
  746. package/docs/reference/profiles.md +37 -0
  747. package/docs/reference/programmatic-api.md +79 -0
  748. package/os/core/core.module.ts +15 -0
  749. package/os/core/handlers/public-surface.ts +189 -0
  750. package/os/rfc/handlers/validate-rules.ts +0 -1
  751. package/os/rfc/verification-refresh.test.ts +15 -14
  752. package/os/rfc/verification-refresh.ts +1 -7
  753. package/os/session/handlers/metrics-session.ts +10 -9
  754. package/package.json +15 -7
  755. package/skills/fo/fo-session-retro/SKILL.md +2 -1
  756. package/src/tests/metrics-rfc-1053.test.ts +14 -4
  757. package/src/tests/public-surface.test.ts +247 -0
package/README.uk.md CHANGED
@@ -2,598 +2,190 @@
2
2
 
3
3
  Українська | [English](README.md)
4
4
 
5
- Портативний рушій управління для розробки проєктів за допомогою ШІ. Надає навички, RFC/ADR робочі процеси, угоди про найменування, вендоринг специфікацій та CLI — все незалежне від фреймворку та без зайвих залежностей (тільки `yaml` + `zod`).
5
+ **ШІ може писати код. Forge тримає проєкт інженерним.**
6
6
 
7
- > Розроблено в [Warpgogol](https://warpgogol.com) · Опубліковано як open source.
7
+ Репозиторіо-нативний шар управління для розробки за допомогою ШІ. Рішення, правила, навички та перевірки залишаються з проєктом — незалежно від агента, який з ним працює.
8
+
9
+ [![npm version](https://img.shields.io/npm/v/@warpgogol/forge.svg)](https://www.npmjs.com/package/@warpgogol/forge) [![npm downloads](https://img.shields.io/npm/dm/@warpgogol/forge.svg)](https://www.npmjs.com/package/@warpgogol/forge) [![CI](https://github.com/syrokomskyi/forge/actions/workflows/ci.yml/badge.svg)](https://github.com/syrokomskyi/forge/actions) [![Node](https://img.shields.io/badge/Node-24%2B-green.svg)](https://nodejs.org) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE)
8
10
 
9
11
  ---
10
12
 
11
- ## Почніть прямо зараз
13
+ ## Почни зараз
12
14
 
13
- Створіть нову папку, відкрийте її у вашому ШІ-IDE (Windsurf, Cursor або будь-якому IDE з підтримкою ШІ-агентів) і вставте це:
15
+ Створіть нову папку, відкрийте її у вашому ШІ-IDE (Windsurf, Cursor, Claude Code, Codex CLI або будь-якому IDE з підтримкою ШІ-агентів) і вставте це:
14
16
 
15
17
  ```
16
- Install https://npmjs.com/package/@warpgogol/forge in this folder and set up my project. I want to build: [опишіть ваш проєкт]
18
+ Install https://npmjs.com/package/@warpgogol/forge in this folder and set up my project. I want to build: [describe your project]
17
19
  ```
18
20
 
19
- Замініть `[опишіть ваш проєкт]` на вашу ідею — гра, бібліотека, база знань, будь-що. ШІ-агент встановить Forge, згенерує каркас проєкту та налаштує живий перегляд. Далі ви просто розмовляєте: описуєте, що хочете, і агент будує це. Жодного програмування, жодного терміналу, жодних команд.
21
+ Замініть `[describe your project]` своєю ідеєю — гра, бібліотека, база знань, будь-що. ШІ-агент встановить Forge, створить структуру проєкту і налаштує живий прев'ю. Далі ви просто говорите: описуєте, що хочете, і агент будує. Без програмування, без терміналу, без команд.
20
22
 
21
- ### Після виконання промпту — навичка Bootstrap
23
+ ### Після завершення промпту — Bootstrap skill
22
24
 
23
- Коли ШІ-агент встановить Forge і згенерує каркас проєкту, він запустить навичку `/forge-bootstrap`. Це обов'язковий крок, який інтерактивно налаштовує ваш проєкт:
25
+ Коли ШІ-агент встановить Forge і створить структуру проєкту, він запустить навичку `/forge-bootstrap`. Це обов'язковий крок, який інтерактивно налаштовує ваш проєкт:
24
26
 
25
27
  - Мову, якою ШІ спілкується з вами
26
28
  - Мову документації проєкту (RFC, ADR, README) — за замовчуванням англійська
27
29
  - Ваш стиль роботи — діловий або творчий
28
- - Ваше ім'я та форму звертання
29
- - Конфігурацію стеку (або міграцію наявного проєкту)
30
-
31
- Навичка ставить кілька простих запитань у чаті, а потім налаштовує все. Після завершення ви готові творити — просто скажіть ШІ-агенту, що ви хочете створити.
32
-
33
- ---
34
-
35
- ## Що можна створити за допомогою Forge
36
-
37
- Forge підтримує п'ять типів проєктів. Ви обираєте один на старті — все інше відбувається автоматично.
38
-
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 монорепозиторій |
30
+ - Ваше ім'я та форму звернення
31
+ - Вашу конфігурацію стеку (або міграцію існуючого проєкту)
46
32
 
47
- Кожен тип проєкту отримує власний каркас: правильну структуру папок, правильні залежності, правильні інструменти. Вам не потрібно знати, що це таке Forge налаштує все за вас.
33
+ Навичка ставить кілька простих запитань у чаті, потім усе налаштовує. Після завершення ви готові творити просто скажіть ШІ-агенту, що хочете побудувати.
48
34
 
49
35
  ---
50
36
 
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
- ### Встановлення пакунків рушія
37
+ ## Швидкий старт (термінал)
72
38
 
73
39
  ```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
40
+ pnpm dlx @warpgogol/forge@latest create --in-place --profile typescript-turborepo
85
41
  ```
86
42
 
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
107
-
108
- 1. Відкрийте програму **Термінал** (натисніть `Ctrl + Alt + T` або знайдіть «Термінал» у ваших програмах).
43
+ Потім відкрийте проєкт у вашому ШІ-IDE (Windsurf, Cursor, Claude Code, Codex CLI або будь-якому IDE з підтримкою ШІ-агентів) і скажіть агентові, що ви хочете створити.
109
44
 
110
- 2. Завантажте та встановіть Node.js 24 (LTS), вставивши цю команду та натиснувши Enter:
45
+ Одна команда. Далі робота через агента.
111
46
 
112
- ```sh
113
- curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash - && sudo apt-get install -y nodejs
114
- ```
47
+ ### Профілі стеку
115
48
 
116
- Вас попросять ввести пароль введіть його (символи не відображатимуться під час введення, це нормально) і натисніть Enter.
49
+ Forge не залежить від типу проєкту. Профілі стеку готові стартові точки.
117
50
 
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
- Перевірте:
51
+ | Профіль | Призначення |
52
+ | -------------------------------- | ------------------------------------------- |
53
+ | `forge-shell` | Лише управління, бібліотеки, не-веб проєкти |
54
+ | `typescript-turborepo` | TypeScript монорепозиторій з валідаторами |
55
+ | `phaser-turborepo` | Браузерні ігри, інтерактивні досвіди |
56
+ | `godot-csharp` | Десктопні/мобільні ігри на Godot 4.x + C# |
57
+ | `knowledge-typescript-turborepo` | Бази знань з підтримкою доказів |
135
58
 
136
59
  ```sh
137
- pnpm --version
60
+ # Перелічити доступні профілі
61
+ pnpm exec forge profile.validate
138
62
  ```
139
63
 
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
- ```
64
+ ---
175
65
 
176
- Перевірте:
66
+ ## Архітектура
177
67
 
178
- ```sh
179
- pnpm --version
180
68
  ```
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
69
+ IDE / АГЕНТ / МОДЕЛЬ
70
+
71
+ ┌──────────────────────────────────┐
72
+ │ FORGE │
73
+ │ │
74
+ Контракт проєкту forge.yaml │
75
+ │ Рішення RFC / ADR │
76
+ Поведінка агента Skills │
77
+ Перевірка Validators │
78
+ Еволюція Upgrade │
79
+ └──────────────────────────────────┘
80
+
81
+ ВАШ РЕПОЗИТОРІЙ
206
82
  ```
207
83
 
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.
84
+ Агенти можуть змінюватися. Моделі можуть змінюватися. IDE можуть змінюватися. Інженерні правила залишаються з проєктом.
213
85
 
214
86
  ---
215
87
 
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-бібліотеку для розрахунку астрологічних карт.
254
-
255
- Це все. ШІ-агент зробить усе інше:
256
- - Налаштує структуру проєкту залежно від того, що ви описали (гра, бібліотека тощо)
257
- - Налаштує мовні вподобання та параметри проєкту
258
- - Запустить живий попередній перегляд, щоб ви бачили свою роботу (для ігор)
259
- - Скаже вам URL для відкриття в браузері
88
+ ## Що контролює Forge
260
89
 
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
- Просто скажіть ШІ-агенту. Він може перевірити стан проєкту, виправити проблеми та пояснити, що сталося — все простою мовою. Вам ніколи не потрібно відкривати термінал або вводити команди самостійно.
90
+ | Площина | Що управляє |
91
+ | -------------------- | --------------------------------------------------- |
92
+ | **Намір** | RFC, архітектурна ДНК, критерії приймання |
93
+ | **Рішення** | ADR, журнали рішень, відстежуваність |
94
+ | **Поведінка агента** | Локальні навички та робочі процеси |
95
+ | **Перевірка** | Doctor, валідатори, контракти, детерміновані гейти |
96
+ | **Еволюція** | Профілі, вендоринг специфікацій, адитивні оновлення |
295
97
 
296
98
  ---
297
99
 
298
- ### Для розробників CLI-команди
299
-
300
- #### Створення нового проєкту (на місці)
100
+ ## Без Forge / З Forge
301
101
 
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
102
+ | Розробка з ШІ без Forge | З Forge |
103
+ | -------------------------------------- | ------------------------------------------------ |
104
+ | Правила живуть у промптах | Правила живуть у репозиторії |
105
+ | Архітектура неявна | Рішення стають RFC та ADR |
106
+ | Поведінка агента залежить від сесії | Локальні навички визначають відтворювані процеси |
107
+ | «Готово» означає, що агент так каже | Валідатори дають детерміновані перевірки |
108
+ | Новий агент починає з нуля | Контракт проєкту подорожує з кодом |
109
+ | Оновлення ризикує перезаписати рішення | Оновлення адитивне та ідемпотентне |
110
+ | Конвенції специфічні для інструменту | Агент- та IDE-незалежний шар проєкту |
308
111
 
309
- # З конкретним профілем стеку
310
- mkdir my-game && cd my-game
311
- pnpm dlx @warpgogol/forge create --in-place --profile phaser-turborepo
112
+ ---
312
113
 
313
- mkdir my-godot-game && cd my-godot-game
314
- pnpm dlx @warpgogol/forge create --in-place --profile godot-csharp
114
+ ## Forge Є / Forge Не Є
315
115
 
316
- # Перевизначити назву проєкту (за замовчуванням визначається з назви папки)
317
- pnpm dlx @warpgogol/forge create --in-place --profile forge-shell --name my-custom-name
318
- ```
116
+ **Forge Є**
319
117
 
320
- Після створення каркаса Forge встановлюється як локальна devDependency. Використовуйте `pnpm exec forge` для всіх наступних команд у проєкті:
118
+ - Репозиторіо-нативний шар управління
119
+ - Агент-незалежна інфраструктура проєкту
120
+ - Детерміноване доповнення до ймовірнісних ШІ-агентів
121
+ - Портативний контракт проєкту
321
122
 
322
- #### Перенесення наявного проєкту у Forge
123
+ **Forge Не Є**
323
124
 
324
- CLI-команди для перенесення немає — це інтерактивний процес під керівництвом ШІ:
125
+ - Ще однією ШІ-моделлю
126
+ - Ще одним агентом-кодером
127
+ - IDE
128
+ - Хостованою платформою
129
+ - Заміною Git
130
+ - Магічною обгорткою «vibe coding»
325
131
 
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
- ```
341
-
342
- #### Діагностика та перевірка
343
-
344
- ```sh
345
- # Перевірити стан проєкту
346
- pnpm exec forge doctor
132
+ ---
347
133
 
348
- # Валідувати RFC
349
- pnpm exec forge rfc.validate
134
+ ## Що ви отримуєте
350
135
 
351
- # Список доступних навичок
352
- pnpm exec forge skill.list
353
- ```
136
+ - **37 навичок** — пайплайн ідея→RFC, grilling, preferences, авторинг навичок
137
+ - **RFC робочий процес** — створення, валідація, перелік, граф, архівування, acceptance probes
138
+ - **ADR робочий процес** — легкі записи архітектурних рішень
139
+ - **Вендоринг специфікацій** — вендоринг зовнішніх специфікацій як незмінних снапшотів
140
+ - **Конвенції найменування** — kebab-case linting
141
+ - **Linting робочих процесів** — валідація frontmatter `.agents/workflows/`
142
+ - **Скаффолдинг стеку** — pnpm + Turborepo монорепозиторій з профілю
143
+ - **Контракт прив'язок** — деконкретизація команд проєкту через `forge.yaml`
144
+ - **Doctor** — перевірка здоров'я проєкту
145
+ - **Upgrade** — адитивна, ідемпотентна синхронізація навичок та конфігурації
354
146
 
355
147
  ---
356
148
 
357
149
  ## Робота з вашим ШІ-агентом
358
150
 
359
- Forge працює з будь-яким ШІ-агентом — Windsurf, Cursor, Claude Code, Codex CLI або будь-яким IDE, що підтримує навички агентів. Налаштування однакове; важлива лише розмова. Ось патерни, які дають найбільший ефект.
151
+ Forge працює з будь-яким ШІ-агентом — Windsurf, Cursor, Claude Code, Codex CLI або будь-яким IDE, що підтримує навички агентів. Налаштування однакове; важлива лише розмова.
360
152
 
361
- ### Починайте з питань, а не з команд
153
+ **Починайте з питань, а не з команд.** Перед тим, як просити агента писати код, запитайте його про кодову базу. Агент може читати файли, шукати в історії git та запускати CLI-команди Forge — дайте йому спочатку дослідити.
362
154
 
363
- Найефективніша звичка: перед тим, як просити агента писати код, запитайте його про кодову базу. Агент може читати файли, шукати в історії git та запускати CLI-команди Forge — дайте йому спочатку дослідити.
155
+ **Описуйте результат, а не кроки.** Скажіть агенту, що ви хочете, а не як це зробити. Для складних задач просіть агента спочатку спланувати.
364
156
 
365
- Добрі питання для початку сесії:
157
+ **Дозвольте агенту перевіряти власну роботу.** Дайте критерії «готовно» і дозвольте агенту перевірити себе: «Запусти тести після завершення.» «Валідуй RFC перед комітом.» «Перевір здоров'я проєкту через `forge doctor`.»
366
158
 
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
- ### Паралельна робота
420
-
421
- Ви можете запускати кілька сесій агента одночасно — в різних вікнах IDE, вкладках терміналу або git worktrees. Кожна сесія працює незалежно.
422
-
423
- Це корисно для:
424
-
425
- - Написання RFC в одній сесії, паралельно з реалізацією іншої функції в іншій
426
- - Дослідження двох дизайн-підходів паралельно перед вибором одного
427
- - Запуску тривалої валідації в одній сесії, продовжуючи роботу в іншій
428
-
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`, тест-ранери. Скажіть агенту використовувати їх. Агент може запускати команди, читати вивід та виправляти проблеми без вашої втручання.
159
+ **AGENTS.md постійна пам'ять вашого проєкту.** Forge генерує файли `AGENTS.md`, які агент читає на початку кожної сесії. Кладіть туди команди збірки, стиль коду, архітектурні рішення та правила «роби X, а не Y».
440
160
 
441
161
  ---
442
162
 
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
- ### Команди валідації
163
+ ## CLI
490
164
 
491
165
  ```sh
492
- # Валідувати всі маніфести пакетів
493
- pnpm exec forge plugin.validate
494
-
495
- # Перелічити виявлені пакети
496
- pnpm exec forge plugin.discover
166
+ # Перевірити здоров'я проєкту
167
+ pnpm exec forge doctor
497
168
 
498
- # Валідувати окремі навички (включно з навичками пакетів)
499
- pnpm exec forge skill.validate
169
+ # Валідувати RFC
170
+ pnpm exec forge rfc.validate
500
171
 
501
- # Перелічити всі навички (навички пакетів позначені pack:<prefix>)
172
+ # Перелічити доступні навички
502
173
  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
-
538
- Профіль стеку визначає каркас проєкту: структуру директорій, залежності, конфігурацію CI та перший робочий простір. Оберіть профіль прапорцем `--profile` під час створення проєкту.
539
174
 
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. Синхронізувати навички та стандартні прив'язки з встановленої версії
175
+ # Синхронізувати навички та конфігурацію
564
176
  pnpm exec forge upgrade
565
177
 
566
- # 3. Перевірити стан проєкту
567
- pnpm exec forge doctor
178
+ # Перевірити консистентність публічної поверхні
179
+ pnpm exec forge public-surface.validate
568
180
  ```
569
181
 
570
- `forge upgrade` адитивний: він ніколи не перезаписує прив'язки, встановлені оператором, ніколи не видаляє файли та є ідемпотентним. Він оновлює `forge.syncedVersion` у `forge.yaml`, щоб відстежувати останню синхронізовану версію. Використовуйте `--dry-run` для попереднього перегляду змін.
571
-
572
- ## Що дає Forge
182
+ Повний довідник CLI: [docs/reference/cli.md](docs/reference/cli.md)
573
183
 
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` для адитивної синхронізації навичок та стандартних прив'язок
184
+ ---
593
185
 
594
186
  ## forge.yaml
595
187
 
596
- Єдине джерело істини для конфігурації проєкту. Створюється командою `forge create`:
188
+ Єдине джерело істини для конфігурації проєкту:
597
189
 
598
190
  ```yaml
599
191
  schema: forge/config@1
@@ -617,6 +209,10 @@ bindings:
617
209
  invariants: DNA
618
210
  ```
619
211
 
212
+ Повний довідник: [docs/reference/forge-yaml.md](docs/reference/forge-yaml.md)
213
+
214
+ ---
215
+
620
216
  ## Програмний API
621
217
 
622
218
  ```ts
@@ -628,64 +224,59 @@ import {
628
224
  FORGE_SKILLS,
629
225
  } from "@warpgogol/forge";
630
226
 
631
- // Завантажити конфігурацію
632
227
  const config = loadForgeConfig(process.cwd());
633
-
634
- // Розв'язати прив'язку
635
228
  const cmd = resolveBinding(config, "commands.validateRfc", { id: "RFC-0001" });
636
229
 
637
- // Зареєструвати модулі у вашому реєстрі
638
230
  const registry = /* ваш ForgeModuleRegistry */;
639
231
  await forgeCoreModule.register(registry);
640
232
  await forgeRfcModule.register(registry);
641
233
  ```
642
234
 
643
- ## Архітектура
235
+ Повний API: [docs/reference/programmatic-api.md](docs/reference/programmatic-api.md)
236
+
237
+ ---
238
+
239
+ ## Структура
644
240
 
645
241
  | Директорія | Призначення |
646
242
  | --- | --- |
647
- | `src/` | Портативне ядро — типи, конфігурація, реєстр навичок, валідатори, онбординг. Нуль імпортів `@warpgogol/*`. |
648
- | `os/` | Реєстрації ForgeModule. `compass` та `werkstatt` повністю автономні (RFC-0556) всі обробники вбудовані, без імпортів `@warpgogol/*`. |
243
+ | `src/` | Портативне ядро — типи, конфіг, реєстр навичок, валідатори, онбординг. Нуль `@warpgogol/*` імпортів. |
244
+ | `os/` | Реєстрації ForgeModule. `compass` та `werkstatt` — повністю автономні. |
649
245
  | `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
246
+ | `skills/` | 37 визначень навичок (29 fo + 5 спільних + 3 мета) з SKILL.md frontmatter. |
247
+ | `profiles/` | Профілі стеку для `scaffold`. |
655
248
 
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
- ### Публікація нової версії
249
+ ---
671
250
 
672
- Виконайте такі команди з директорії `packages/forge`:
251
+ ## Оновлення
673
252
 
674
253
  ```sh
675
- # 1. Автентифікація в npm (інтерактивно — запитає username, password, OTP)
676
- npm login
254
+ pnpm update @warpgogol/forge
255
+ pnpm exec forge upgrade
256
+ pnpm exec forge doctor
257
+ ```
677
258
 
678
- # 2. Зберегти auth-токен для реєстру (використайте токен з попереднього кроку)
679
- npm config set //registry.npmjs.org/:_authToken=<TOKEN>
259
+ `forge upgrade` адитивний: ніколи не перезаписує прив'язки, встановлені оператором, ніколи не видаляє файли, ідемпотентний. Використовуйте `--dry-run` для попереднього перегляду.
680
260
 
681
- # 3. Підняти patch-версію (оновлює package.json + створює git commit + tag)
682
- npm version patch
261
+ ---
683
262
 
684
- # 4. Опублікувати пакет публічно
685
- npm publish --access public
686
- ```
263
+ ## Документація
264
+
265
+ - [Початок роботи](docs/getting-started.md)
266
+ - [Чому Forge?](docs/concepts/why-forge.md)
267
+ - [Контракт проєкту](docs/concepts/project-contract.md)
268
+ - [Модель управління](docs/concepts/governance-model.md)
269
+ - [Перенесення наявного проєкту](docs/guides/existing-project.md)
270
+ - [Оновлення](docs/guides/upgrading.md)
271
+ - [Навички](docs/guides/skills.md)
272
+ - [RFC та ADR робочі процеси](docs/guides/rfc-adr.md)
273
+ - [Довідник CLI](docs/reference/cli.md)
274
+ - [Довідник forge.yaml](docs/reference/forge-yaml.md)
275
+ - [Профілі](docs/reference/profiles.md)
276
+ - [Програмний API](docs/reference/programmatic-api.md)
277
+ - [Публікація](docs/maintainers/publishing.md)
687
278
 
688
- Після публікації перевірте нову версію на [npmjs.com/package/@warpgogol/forge](https://www.npmjs.com/package/@warpgogol/forge).
279
+ ---
689
280
 
690
281
  ## Ліцензія
691
282
 
@@ -693,8 +284,8 @@ Apache-2.0
693
284
 
694
285
  ## Відкрита інженерія
695
286
 
696
- Цей пакет походить із виробничої інженерної роботи в [Warpgogol](https://warpgogol.com), інженерній студії в Німеччині.
287
+ Цей пакет походить з виробничої інженерної роботи [Warpgogol](https://warpgogol.com), інженерної студії в Німеччині.
697
288
 
698
- Ми публікуємо багаторазові частини нашої інфраструктури, коли вони можуть бути корисними поза нашими власними проєктами. Він публікується незалежно від будь-якого комерційного сервісу Warpgogol. Використання цього пакету не створює жодної залежності від Warpgogol.
289
+ Ми публікуємо багаторазово використовувані частини нашої інфраструктури, коли вони можуть бути корисні поза нашими власними проєктами. Пакет публікується незалежно від будь-якого комерційного сервісу Warpgogol. Використання цього пакету не створює залежності від Warpgogol.
699
290
 
700
- Створено для реальних систем. Поширюється відкрито.
291
+ Створено для реальних систем. Поділяємо відкрито.