@warpgogol/forge 1.1.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (713) hide show
  1. package/AGENTS.md +8 -19
  2. package/README.md +93 -65
  3. package/README.uk.md +93 -65
  4. package/package.json +16 -3
  5. package/profiles/astro-typescript-turborepo.yaml +148 -1
  6. package/profiles/forge-shell.yaml +120 -1
  7. package/profiles/godot-csharp.yaml +280 -6
  8. package/profiles/phaser-turborepo.yaml +135 -1
  9. package/skills/_shared/fo-pipeline-conventions.md +55 -0
  10. package/skills/fo/fo-doc-audit/SKILL.md +2 -2
  11. package/skills/fo/fo-idea-i-just-want-to-see-the-plan/SKILL.md +2 -0
  12. package/skills/fo/fo-idea-i-just-want-to-see-the-result/SKILL.md +7 -3
  13. package/skills/fo/fo-idea-implement/SKILL.md +50 -46
  14. package/skills/fo/fo-session-retro/SKILL.md +2 -2
  15. package/skills/fo/fo-spec-ingest/SKILL.md +1 -1
  16. package/dist/bin/cli.d.ts +0 -3
  17. package/dist/bin/cli.d.ts.map +0 -1
  18. package/dist/bin/cli.js +0 -292
  19. package/dist/bin/cli.js.map +0 -1
  20. package/dist/os/adr/adr.module.d.ts +0 -3
  21. package/dist/os/adr/adr.module.d.ts.map +0 -1
  22. package/dist/os/adr/adr.module.js +0 -145
  23. package/dist/os/adr/adr.module.js.map +0 -1
  24. package/dist/os/adr/frontmatter-io.d.ts +0 -12
  25. package/dist/os/adr/frontmatter-io.d.ts.map +0 -1
  26. package/dist/os/adr/frontmatter-io.js +0 -67
  27. package/dist/os/adr/frontmatter-io.js.map +0 -1
  28. package/dist/os/adr/handlers/archive.d.ts +0 -24
  29. package/dist/os/adr/handlers/archive.d.ts.map +0 -1
  30. package/dist/os/adr/handlers/archive.js +0 -194
  31. package/dist/os/adr/handlers/archive.js.map +0 -1
  32. package/dist/os/adr/handlers/implement-stamp.d.ts +0 -4
  33. package/dist/os/adr/handlers/implement-stamp.d.ts.map +0 -1
  34. package/dist/os/adr/handlers/implement-stamp.js +0 -258
  35. package/dist/os/adr/handlers/implement-stamp.js.map +0 -1
  36. package/dist/os/adr/handlers/list-create.d.ts +0 -5
  37. package/dist/os/adr/handlers/list-create.d.ts.map +0 -1
  38. package/dist/os/adr/handlers/list-create.js +0 -165
  39. package/dist/os/adr/handlers/list-create.js.map +0 -1
  40. package/dist/os/adr/handlers/validate.d.ts +0 -4
  41. package/dist/os/adr/handlers/validate.d.ts.map +0 -1
  42. package/dist/os/adr/handlers/validate.js +0 -265
  43. package/dist/os/adr/handlers/validate.js.map +0 -1
  44. package/dist/os/adr/index.d.ts +0 -8
  45. package/dist/os/adr/index.d.ts.map +0 -1
  46. package/dist/os/adr/index.js +0 -18
  47. package/dist/os/adr/index.js.map +0 -1
  48. package/dist/os/adr/types.d.ts +0 -75
  49. package/dist/os/adr/types.d.ts.map +0 -1
  50. package/dist/os/adr/types.js +0 -55
  51. package/dist/os/adr/types.js.map +0 -1
  52. package/dist/os/audit/audit.module.d.ts +0 -3
  53. package/dist/os/audit/audit.module.d.ts.map +0 -1
  54. package/dist/os/audit/audit.module.js +0 -44
  55. package/dist/os/audit/audit.module.js.map +0 -1
  56. package/dist/os/audit/frontmatter-io.d.ts +0 -12
  57. package/dist/os/audit/frontmatter-io.d.ts.map +0 -1
  58. package/dist/os/audit/frontmatter-io.js +0 -71
  59. package/dist/os/audit/frontmatter-io.js.map +0 -1
  60. package/dist/os/audit/handlers/archive.d.ts +0 -4
  61. package/dist/os/audit/handlers/archive.d.ts.map +0 -1
  62. package/dist/os/audit/handlers/archive.js +0 -207
  63. package/dist/os/audit/handlers/archive.js.map +0 -1
  64. package/dist/os/audit/index.d.ts +0 -6
  65. package/dist/os/audit/index.d.ts.map +0 -1
  66. package/dist/os/audit/index.js +0 -16
  67. package/dist/os/audit/index.js.map +0 -1
  68. package/dist/os/audit/types.d.ts +0 -12
  69. package/dist/os/audit/types.d.ts.map +0 -1
  70. package/dist/os/audit/types.js +0 -17
  71. package/dist/os/audit/types.js.map +0 -1
  72. package/dist/os/compass/compass.module.d.ts +0 -3
  73. package/dist/os/compass/compass.module.d.ts.map +0 -1
  74. package/dist/os/compass/compass.module.js +0 -166
  75. package/dist/os/compass/compass.module.js.map +0 -1
  76. package/dist/os/compass/handlers/compass-audit-handler.d.ts +0 -36
  77. package/dist/os/compass/handlers/compass-audit-handler.d.ts.map +0 -1
  78. package/dist/os/compass/handlers/compass-audit-handler.js +0 -238
  79. package/dist/os/compass/handlers/compass-audit-handler.js.map +0 -1
  80. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts +0 -19
  81. package/dist/os/compass/handlers/compass-change-summary-handler.d.ts.map +0 -1
  82. package/dist/os/compass/handlers/compass-change-summary-handler.js +0 -205
  83. package/dist/os/compass/handlers/compass-change-summary-handler.js.map +0 -1
  84. package/dist/os/compass/handlers/compass-inventory-handler.d.ts +0 -28
  85. package/dist/os/compass/handlers/compass-inventory-handler.d.ts.map +0 -1
  86. package/dist/os/compass/handlers/compass-inventory-handler.js +0 -213
  87. package/dist/os/compass/handlers/compass-inventory-handler.js.map +0 -1
  88. package/dist/os/compass/handlers/compass-inventory.d.ts +0 -30
  89. package/dist/os/compass/handlers/compass-inventory.d.ts.map +0 -1
  90. package/dist/os/compass/handlers/compass-inventory.js +0 -418
  91. package/dist/os/compass/handlers/compass-inventory.js.map +0 -1
  92. package/dist/os/compass/handlers/git-revision.d.ts +0 -8
  93. package/dist/os/compass/handlers/git-revision.d.ts.map +0 -1
  94. package/dist/os/compass/handlers/git-revision.js +0 -99
  95. package/dist/os/compass/handlers/git-revision.js.map +0 -1
  96. package/dist/os/compass/handlers/resolve-scan-root.d.ts +0 -3
  97. package/dist/os/compass/handlers/resolve-scan-root.d.ts.map +0 -1
  98. package/dist/os/compass/handlers/resolve-scan-root.js +0 -57
  99. package/dist/os/compass/handlers/resolve-scan-root.js.map +0 -1
  100. package/dist/os/compass/index.d.ts +0 -8
  101. package/dist/os/compass/index.d.ts.map +0 -1
  102. package/dist/os/compass/index.js +0 -19
  103. package/dist/os/compass/index.js.map +0 -1
  104. package/dist/os/core/core.module.d.ts +0 -3
  105. package/dist/os/core/core.module.d.ts.map +0 -1
  106. package/dist/os/core/core.module.js +0 -758
  107. package/dist/os/core/core.module.js.map +0 -1
  108. package/dist/os/core/handlers/assets-check.d.ts +0 -19
  109. package/dist/os/core/handlers/assets-check.d.ts.map +0 -1
  110. package/dist/os/core/handlers/assets-check.js +0 -89
  111. package/dist/os/core/handlers/assets-check.js.map +0 -1
  112. package/dist/os/core/handlers/assets-helpers.d.ts +0 -28
  113. package/dist/os/core/handlers/assets-helpers.d.ts.map +0 -1
  114. package/dist/os/core/handlers/assets-helpers.js +0 -128
  115. package/dist/os/core/handlers/assets-helpers.js.map +0 -1
  116. package/dist/os/core/handlers/assets-list.d.ts +0 -9
  117. package/dist/os/core/handlers/assets-list.d.ts.map +0 -1
  118. package/dist/os/core/handlers/assets-list.js +0 -72
  119. package/dist/os/core/handlers/assets-list.js.map +0 -1
  120. package/dist/os/core/handlers/build.d.ts +0 -16
  121. package/dist/os/core/handlers/build.d.ts.map +0 -1
  122. package/dist/os/core/handlers/build.js +0 -123
  123. package/dist/os/core/handlers/build.js.map +0 -1
  124. package/dist/os/core/handlers/determinism-check.d.ts +0 -20
  125. package/dist/os/core/handlers/determinism-check.d.ts.map +0 -1
  126. package/dist/os/core/handlers/determinism-check.js +0 -289
  127. package/dist/os/core/handlers/determinism-check.js.map +0 -1
  128. package/dist/os/core/handlers/dev.d.ts +0 -10
  129. package/dist/os/core/handlers/dev.d.ts.map +0 -1
  130. package/dist/os/core/handlers/dev.js +0 -102
  131. package/dist/os/core/handlers/dev.js.map +0 -1
  132. package/dist/os/core/handlers/knowledge-compact.d.ts +0 -4
  133. package/dist/os/core/handlers/knowledge-compact.d.ts.map +0 -1
  134. package/dist/os/core/handlers/knowledge-compact.js +0 -198
  135. package/dist/os/core/handlers/knowledge-compact.js.map +0 -1
  136. package/dist/os/core/handlers/pinned-check.d.ts +0 -49
  137. package/dist/os/core/handlers/pinned-check.d.ts.map +0 -1
  138. package/dist/os/core/handlers/pinned-check.js +0 -159
  139. package/dist/os/core/handlers/pinned-check.js.map +0 -1
  140. package/dist/os/core/handlers/pinned-init.d.ts +0 -19
  141. package/dist/os/core/handlers/pinned-init.d.ts.map +0 -1
  142. package/dist/os/core/handlers/pinned-init.js +0 -283
  143. package/dist/os/core/handlers/pinned-init.js.map +0 -1
  144. package/dist/os/core/handlers/pinned-types.d.ts +0 -29
  145. package/dist/os/core/handlers/pinned-types.d.ts.map +0 -1
  146. package/dist/os/core/handlers/pinned-types.js +0 -16
  147. package/dist/os/core/handlers/pinned-types.js.map +0 -1
  148. package/dist/os/core/handlers/pinned-validate.d.ts +0 -4
  149. package/dist/os/core/handlers/pinned-validate.d.ts.map +0 -1
  150. package/dist/os/core/handlers/pinned-validate.js +0 -248
  151. package/dist/os/core/handlers/pinned-validate.js.map +0 -1
  152. package/dist/os/core/handlers/profile-resolve.d.ts +0 -13
  153. package/dist/os/core/handlers/profile-resolve.d.ts.map +0 -1
  154. package/dist/os/core/handlers/profile-resolve.js +0 -65
  155. package/dist/os/core/handlers/profile-resolve.js.map +0 -1
  156. package/dist/os/core/handlers/release-prepare.d.ts +0 -25
  157. package/dist/os/core/handlers/release-prepare.d.ts.map +0 -1
  158. package/dist/os/core/handlers/release-prepare.js +0 -228
  159. package/dist/os/core/handlers/release-prepare.js.map +0 -1
  160. package/dist/os/core/handlers/release-publish.d.ts +0 -13
  161. package/dist/os/core/handlers/release-publish.d.ts.map +0 -1
  162. package/dist/os/core/handlers/release-publish.js +0 -173
  163. package/dist/os/core/handlers/release-publish.js.map +0 -1
  164. package/dist/os/core/handlers/validate.d.ts +0 -26
  165. package/dist/os/core/handlers/validate.d.ts.map +0 -1
  166. package/dist/os/core/handlers/validate.js +0 -208
  167. package/dist/os/core/handlers/validate.js.map +0 -1
  168. package/dist/os/core/handlers/workspace-deps.d.ts +0 -12
  169. package/dist/os/core/handlers/workspace-deps.d.ts.map +0 -1
  170. package/dist/os/core/handlers/workspace-deps.js +0 -39
  171. package/dist/os/core/handlers/workspace-deps.js.map +0 -1
  172. package/dist/os/core/index.d.ts +0 -2
  173. package/dist/os/core/index.d.ts.map +0 -1
  174. package/dist/os/core/index.js +0 -13
  175. package/dist/os/core/index.js.map +0 -1
  176. package/dist/os/exploration/exploration.module.d.ts +0 -3
  177. package/dist/os/exploration/exploration.module.d.ts.map +0 -1
  178. package/dist/os/exploration/exploration.module.js +0 -82
  179. package/dist/os/exploration/exploration.module.js.map +0 -1
  180. package/dist/os/exploration/frontmatter-io.d.ts +0 -13
  181. package/dist/os/exploration/frontmatter-io.d.ts.map +0 -1
  182. package/dist/os/exploration/frontmatter-io.js +0 -61
  183. package/dist/os/exploration/frontmatter-io.js.map +0 -1
  184. package/dist/os/exploration/handlers/archive.d.ts +0 -4
  185. package/dist/os/exploration/handlers/archive.d.ts.map +0 -1
  186. package/dist/os/exploration/handlers/archive.js +0 -135
  187. package/dist/os/exploration/handlers/archive.js.map +0 -1
  188. package/dist/os/exploration/handlers/list.d.ts +0 -4
  189. package/dist/os/exploration/handlers/list.d.ts.map +0 -1
  190. package/dist/os/exploration/handlers/list.js +0 -56
  191. package/dist/os/exploration/handlers/list.js.map +0 -1
  192. package/dist/os/exploration/handlers/show.d.ts +0 -4
  193. package/dist/os/exploration/handlers/show.d.ts.map +0 -1
  194. package/dist/os/exploration/handlers/show.js +0 -91
  195. package/dist/os/exploration/handlers/show.js.map +0 -1
  196. package/dist/os/exploration/index.d.ts +0 -7
  197. package/dist/os/exploration/index.d.ts.map +0 -1
  198. package/dist/os/exploration/index.js +0 -17
  199. package/dist/os/exploration/index.js.map +0 -1
  200. package/dist/os/exploration/types.d.ts +0 -38
  201. package/dist/os/exploration/types.d.ts.map +0 -1
  202. package/dist/os/exploration/types.js +0 -23
  203. package/dist/os/exploration/types.js.map +0 -1
  204. package/dist/os/mission/handlers/archive.d.ts +0 -4
  205. package/dist/os/mission/handlers/archive.d.ts.map +0 -1
  206. package/dist/os/mission/handlers/archive.js +0 -356
  207. package/dist/os/mission/handlers/archive.js.map +0 -1
  208. package/dist/os/mission/index.d.ts +0 -2
  209. package/dist/os/mission/index.d.ts.map +0 -1
  210. package/dist/os/mission/index.js +0 -2
  211. package/dist/os/mission/index.js.map +0 -1
  212. package/dist/os/mission/mission.module.d.ts +0 -3
  213. package/dist/os/mission/mission.module.d.ts.map +0 -1
  214. package/dist/os/mission/mission.module.js +0 -44
  215. package/dist/os/mission/mission.module.js.map +0 -1
  216. package/dist/os/mission/types.d.ts +0 -23
  217. package/dist/os/mission/types.d.ts.map +0 -1
  218. package/dist/os/mission/types.js +0 -18
  219. package/dist/os/mission/types.js.map +0 -1
  220. package/dist/os/naming/index.d.ts +0 -3
  221. package/dist/os/naming/index.d.ts.map +0 -1
  222. package/dist/os/naming/index.js +0 -14
  223. package/dist/os/naming/index.js.map +0 -1
  224. package/dist/os/naming/naming-convention.d.ts +0 -25
  225. package/dist/os/naming/naming-convention.d.ts.map +0 -1
  226. package/dist/os/naming/naming-convention.js +0 -324
  227. package/dist/os/naming/naming-convention.js.map +0 -1
  228. package/dist/os/naming/naming.module.d.ts +0 -3
  229. package/dist/os/naming/naming.module.d.ts.map +0 -1
  230. package/dist/os/naming/naming.module.js +0 -33
  231. package/dist/os/naming/naming.module.js.map +0 -1
  232. package/dist/os/notes/index.d.ts +0 -2
  233. package/dist/os/notes/index.d.ts.map +0 -1
  234. package/dist/os/notes/index.js +0 -10
  235. package/dist/os/notes/index.js.map +0 -1
  236. package/dist/os/notes/notes.module.d.ts +0 -3
  237. package/dist/os/notes/notes.module.d.ts.map +0 -1
  238. package/dist/os/notes/notes.module.js +0 -83
  239. package/dist/os/notes/notes.module.js.map +0 -1
  240. package/dist/os/plan/frontmatter-io.d.ts +0 -12
  241. package/dist/os/plan/frontmatter-io.d.ts.map +0 -1
  242. package/dist/os/plan/frontmatter-io.js +0 -69
  243. package/dist/os/plan/frontmatter-io.js.map +0 -1
  244. package/dist/os/plan/handlers/archive.d.ts +0 -4
  245. package/dist/os/plan/handlers/archive.d.ts.map +0 -1
  246. package/dist/os/plan/handlers/archive.js +0 -206
  247. package/dist/os/plan/handlers/archive.js.map +0 -1
  248. package/dist/os/plan/index.d.ts +0 -6
  249. package/dist/os/plan/index.d.ts.map +0 -1
  250. package/dist/os/plan/index.js +0 -16
  251. package/dist/os/plan/index.js.map +0 -1
  252. package/dist/os/plan/plan.module.d.ts +0 -3
  253. package/dist/os/plan/plan.module.d.ts.map +0 -1
  254. package/dist/os/plan/plan.module.js +0 -44
  255. package/dist/os/plan/plan.module.js.map +0 -1
  256. package/dist/os/plan/types.d.ts +0 -12
  257. package/dist/os/plan/types.d.ts.map +0 -1
  258. package/dist/os/plan/types.js +0 -17
  259. package/dist/os/plan/types.js.map +0 -1
  260. package/dist/os/program/discovery.d.ts +0 -61
  261. package/dist/os/program/discovery.d.ts.map +0 -1
  262. package/dist/os/program/discovery.js +0 -236
  263. package/dist/os/program/discovery.js.map +0 -1
  264. package/dist/os/program/handlers/complete.d.ts +0 -12
  265. package/dist/os/program/handlers/complete.d.ts.map +0 -1
  266. package/dist/os/program/handlers/complete.js +0 -344
  267. package/dist/os/program/handlers/complete.js.map +0 -1
  268. package/dist/os/program/handlers/lease.d.ts +0 -13
  269. package/dist/os/program/handlers/lease.d.ts.map +0 -1
  270. package/dist/os/program/handlers/lease.js +0 -322
  271. package/dist/os/program/handlers/lease.js.map +0 -1
  272. package/dist/os/program/handlers/seal.d.ts +0 -12
  273. package/dist/os/program/handlers/seal.d.ts.map +0 -1
  274. package/dist/os/program/handlers/seal.js +0 -265
  275. package/dist/os/program/handlers/seal.js.map +0 -1
  276. package/dist/os/program/handlers/validate.d.ts +0 -14
  277. package/dist/os/program/handlers/validate.d.ts.map +0 -1
  278. package/dist/os/program/handlers/validate.js +0 -164
  279. package/dist/os/program/handlers/validate.js.map +0 -1
  280. package/dist/os/program/lease.d.ts +0 -39
  281. package/dist/os/program/lease.d.ts.map +0 -1
  282. package/dist/os/program/lease.js +0 -129
  283. package/dist/os/program/lease.js.map +0 -1
  284. package/dist/os/program/program.module.d.ts +0 -3
  285. package/dist/os/program/program.module.d.ts.map +0 -1
  286. package/dist/os/program/program.module.js +0 -201
  287. package/dist/os/program/program.module.js.map +0 -1
  288. package/dist/os/program/schemas.d.ts +0 -225
  289. package/dist/os/program/schemas.d.ts.map +0 -1
  290. package/dist/os/program/schemas.js +0 -174
  291. package/dist/os/program/schemas.js.map +0 -1
  292. package/dist/os/program/state.d.ts +0 -38
  293. package/dist/os/program/state.d.ts.map +0 -1
  294. package/dist/os/program/state.js +0 -189
  295. package/dist/os/program/state.js.map +0 -1
  296. package/dist/os/rfc/acceptance.d.ts +0 -15
  297. package/dist/os/rfc/acceptance.d.ts.map +0 -1
  298. package/dist/os/rfc/acceptance.js +0 -310
  299. package/dist/os/rfc/acceptance.js.map +0 -1
  300. package/dist/os/rfc/decision-log.d.ts +0 -6
  301. package/dist/os/rfc/decision-log.d.ts.map +0 -1
  302. package/dist/os/rfc/decision-log.js +0 -269
  303. package/dist/os/rfc/decision-log.js.map +0 -1
  304. package/dist/os/rfc/dna-trace.d.ts +0 -27
  305. package/dist/os/rfc/dna-trace.d.ts.map +0 -1
  306. package/dist/os/rfc/dna-trace.js +0 -214
  307. package/dist/os/rfc/dna-trace.js.map +0 -1
  308. package/dist/os/rfc/frontmatter-io.d.ts +0 -18
  309. package/dist/os/rfc/frontmatter-io.d.ts.map +0 -1
  310. package/dist/os/rfc/frontmatter-io.js +0 -110
  311. package/dist/os/rfc/frontmatter-io.js.map +0 -1
  312. package/dist/os/rfc/handlers/archive.d.ts +0 -25
  313. package/dist/os/rfc/handlers/archive.d.ts.map +0 -1
  314. package/dist/os/rfc/handlers/archive.js +0 -247
  315. package/dist/os/rfc/handlers/archive.js.map +0 -1
  316. package/dist/os/rfc/handlers/check.d.ts +0 -4
  317. package/dist/os/rfc/handlers/check.d.ts.map +0 -1
  318. package/dist/os/rfc/handlers/check.js +0 -195
  319. package/dist/os/rfc/handlers/check.js.map +0 -1
  320. package/dist/os/rfc/handlers/implement-stamp.d.ts +0 -4
  321. package/dist/os/rfc/handlers/implement-stamp.d.ts.map +0 -1
  322. package/dist/os/rfc/handlers/implement-stamp.js +0 -420
  323. package/dist/os/rfc/handlers/implement-stamp.js.map +0 -1
  324. package/dist/os/rfc/handlers/index-graph.d.ts +0 -13
  325. package/dist/os/rfc/handlers/index-graph.d.ts.map +0 -1
  326. package/dist/os/rfc/handlers/index-graph.js +0 -192
  327. package/dist/os/rfc/handlers/index-graph.js.map +0 -1
  328. package/dist/os/rfc/handlers/lifecycle.d.ts +0 -13
  329. package/dist/os/rfc/handlers/lifecycle.d.ts.map +0 -1
  330. package/dist/os/rfc/handlers/lifecycle.js +0 -155
  331. package/dist/os/rfc/handlers/lifecycle.js.map +0 -1
  332. package/dist/os/rfc/handlers/list-create.d.ts +0 -6
  333. package/dist/os/rfc/handlers/list-create.d.ts.map +0 -1
  334. package/dist/os/rfc/handlers/list-create.js +0 -240
  335. package/dist/os/rfc/handlers/list-create.js.map +0 -1
  336. package/dist/os/rfc/handlers/pipeline-status.d.ts +0 -26
  337. package/dist/os/rfc/handlers/pipeline-status.d.ts.map +0 -1
  338. package/dist/os/rfc/handlers/pipeline-status.js +0 -124
  339. package/dist/os/rfc/handlers/pipeline-status.js.map +0 -1
  340. package/dist/os/rfc/handlers/shared.d.ts +0 -22
  341. package/dist/os/rfc/handlers/shared.d.ts.map +0 -1
  342. package/dist/os/rfc/handlers/shared.js +0 -105
  343. package/dist/os/rfc/handlers/shared.js.map +0 -1
  344. package/dist/os/rfc/handlers/supersede-propose.d.ts +0 -4
  345. package/dist/os/rfc/handlers/supersede-propose.d.ts.map +0 -1
  346. package/dist/os/rfc/handlers/supersede-propose.js +0 -203
  347. package/dist/os/rfc/handlers/supersede-propose.js.map +0 -1
  348. package/dist/os/rfc/handlers/validate-rules.d.ts +0 -32
  349. package/dist/os/rfc/handlers/validate-rules.d.ts.map +0 -1
  350. package/dist/os/rfc/handlers/validate-rules.js +0 -590
  351. package/dist/os/rfc/handlers/validate-rules.js.map +0 -1
  352. package/dist/os/rfc/handlers/validate.d.ts +0 -4
  353. package/dist/os/rfc/handlers/validate.d.ts.map +0 -1
  354. package/dist/os/rfc/handlers/validate.js +0 -108
  355. package/dist/os/rfc/handlers/validate.js.map +0 -1
  356. package/dist/os/rfc/handlers.d.ts +0 -7
  357. package/dist/os/rfc/handlers.d.ts.map +0 -1
  358. package/dist/os/rfc/handlers.js +0 -19
  359. package/dist/os/rfc/handlers.js.map +0 -1
  360. package/dist/os/rfc/index.d.ts +0 -18
  361. package/dist/os/rfc/index.d.ts.map +0 -1
  362. package/dist/os/rfc/index.js +0 -24
  363. package/dist/os/rfc/index.js.map +0 -1
  364. package/dist/os/rfc/rfc.module.d.ts +0 -3
  365. package/dist/os/rfc/rfc.module.d.ts.map +0 -1
  366. package/dist/os/rfc/rfc.module.js +0 -366
  367. package/dist/os/rfc/rfc.module.js.map +0 -1
  368. package/dist/os/rfc/types.d.ts +0 -483
  369. package/dist/os/rfc/types.d.ts.map +0 -1
  370. package/dist/os/rfc/types.js +0 -100
  371. package/dist/os/rfc/types.js.map +0 -1
  372. package/dist/os/rfc/verification-evidence.d.ts +0 -8
  373. package/dist/os/rfc/verification-evidence.d.ts.map +0 -1
  374. package/dist/os/rfc/verification-evidence.js +0 -184
  375. package/dist/os/rfc/verification-evidence.js.map +0 -1
  376. package/dist/os/session/atif-parser.d.ts +0 -29
  377. package/dist/os/session/atif-parser.d.ts.map +0 -1
  378. package/dist/os/session/atif-parser.js +0 -140
  379. package/dist/os/session/atif-parser.js.map +0 -1
  380. package/dist/os/session/frontmatter-io.d.ts +0 -31
  381. package/dist/os/session/frontmatter-io.d.ts.map +0 -1
  382. package/dist/os/session/frontmatter-io.js +0 -146
  383. package/dist/os/session/frontmatter-io.js.map +0 -1
  384. package/dist/os/session/handlers/archive.d.ts +0 -4
  385. package/dist/os/session/handlers/archive.d.ts.map +0 -1
  386. package/dist/os/session/handlers/archive.js +0 -241
  387. package/dist/os/session/handlers/archive.js.map +0 -1
  388. package/dist/os/session/handlers/list.d.ts +0 -4
  389. package/dist/os/session/handlers/list.d.ts.map +0 -1
  390. package/dist/os/session/handlers/list.js +0 -147
  391. package/dist/os/session/handlers/list.js.map +0 -1
  392. package/dist/os/session/handlers/save.d.ts +0 -6
  393. package/dist/os/session/handlers/save.d.ts.map +0 -1
  394. package/dist/os/session/handlers/save.js +0 -297
  395. package/dist/os/session/handlers/save.js.map +0 -1
  396. package/dist/os/session/handlers/validate.d.ts +0 -4
  397. package/dist/os/session/handlers/validate.d.ts.map +0 -1
  398. package/dist/os/session/handlers/validate.js +0 -188
  399. package/dist/os/session/handlers/validate.js.map +0 -1
  400. package/dist/os/session/index.d.ts +0 -9
  401. package/dist/os/session/index.d.ts.map +0 -1
  402. package/dist/os/session/index.js +0 -20
  403. package/dist/os/session/index.js.map +0 -1
  404. package/dist/os/session/session.module.d.ts +0 -3
  405. package/dist/os/session/session.module.d.ts.map +0 -1
  406. package/dist/os/session/session.module.js +0 -115
  407. package/dist/os/session/session.module.js.map +0 -1
  408. package/dist/os/session/types.d.ts +0 -101
  409. package/dist/os/session/types.d.ts.map +0 -1
  410. package/dist/os/session/types.js +0 -52
  411. package/dist/os/session/types.js.map +0 -1
  412. package/dist/os/spec/live-spec-list.d.ts +0 -4
  413. package/dist/os/spec/live-spec-list.d.ts.map +0 -1
  414. package/dist/os/spec/live-spec-list.js +0 -64
  415. package/dist/os/spec/live-spec-list.js.map +0 -1
  416. package/dist/os/spec/live-spec-merge.d.ts +0 -4
  417. package/dist/os/spec/live-spec-merge.d.ts.map +0 -1
  418. package/dist/os/spec/live-spec-merge.js +0 -345
  419. package/dist/os/spec/live-spec-merge.js.map +0 -1
  420. package/dist/os/spec/live-spec-show.d.ts +0 -4
  421. package/dist/os/spec/live-spec-show.d.ts.map +0 -1
  422. package/dist/os/spec/live-spec-show.js +0 -99
  423. package/dist/os/spec/live-spec-show.js.map +0 -1
  424. package/dist/os/spec/live-spec-types.d.ts +0 -71
  425. package/dist/os/spec/live-spec-types.d.ts.map +0 -1
  426. package/dist/os/spec/live-spec-types.js +0 -14
  427. package/dist/os/spec/live-spec-types.js.map +0 -1
  428. package/dist/os/spec/live-spec-validate.d.ts +0 -4
  429. package/dist/os/spec/live-spec-validate.d.ts.map +0 -1
  430. package/dist/os/spec/live-spec-validate.js +0 -140
  431. package/dist/os/spec/live-spec-validate.js.map +0 -1
  432. package/dist/os/spec/spec-materialize.d.ts +0 -21
  433. package/dist/os/spec/spec-materialize.d.ts.map +0 -1
  434. package/dist/os/spec/spec-materialize.js +0 -336
  435. package/dist/os/spec/spec-materialize.js.map +0 -1
  436. package/dist/os/spec/spec-schema.d.ts +0 -126
  437. package/dist/os/spec/spec-schema.d.ts.map +0 -1
  438. package/dist/os/spec/spec-schema.js +0 -118
  439. package/dist/os/spec/spec-schema.js.map +0 -1
  440. package/dist/os/spec/spec-status.d.ts +0 -33
  441. package/dist/os/spec/spec-status.d.ts.map +0 -1
  442. package/dist/os/spec/spec-status.js +0 -222
  443. package/dist/os/spec/spec-status.js.map +0 -1
  444. package/dist/os/spec/spec-validate.d.ts +0 -4
  445. package/dist/os/spec/spec-validate.d.ts.map +0 -1
  446. package/dist/os/spec/spec-validate.js +0 -435
  447. package/dist/os/spec/spec-validate.js.map +0 -1
  448. package/dist/os/spec/spec.module.d.ts +0 -3
  449. package/dist/os/spec/spec.module.d.ts.map +0 -1
  450. package/dist/os/spec/spec.module.js +0 -119
  451. package/dist/os/spec/spec.module.js.map +0 -1
  452. package/dist/os/werkstatt/handlers/lock.d.ts +0 -10
  453. package/dist/os/werkstatt/handlers/lock.d.ts.map +0 -1
  454. package/dist/os/werkstatt/handlers/lock.js +0 -153
  455. package/dist/os/werkstatt/handlers/lock.js.map +0 -1
  456. package/dist/os/werkstatt/handlers/schema.d.ts +0 -33
  457. package/dist/os/werkstatt/handlers/schema.d.ts.map +0 -1
  458. package/dist/os/werkstatt/handlers/schema.js +0 -42
  459. package/dist/os/werkstatt/handlers/schema.js.map +0 -1
  460. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts +0 -15
  461. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.d.ts.map +0 -1
  462. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js +0 -144
  463. package/dist/os/werkstatt/handlers/werkstatt-lock-recover.js.map +0 -1
  464. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts +0 -18
  465. package/dist/os/werkstatt/handlers/werkstatt-lock-status.d.ts.map +0 -1
  466. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js +0 -43
  467. package/dist/os/werkstatt/handlers/werkstatt-lock-status.js.map +0 -1
  468. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts +0 -11
  469. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.d.ts.map +0 -1
  470. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js +0 -79
  471. package/dist/os/werkstatt/handlers/werkstatt-operation-validate.js.map +0 -1
  472. package/dist/os/werkstatt/index.d.ts +0 -7
  473. package/dist/os/werkstatt/index.d.ts.map +0 -1
  474. package/dist/os/werkstatt/index.js +0 -18
  475. package/dist/os/werkstatt/index.js.map +0 -1
  476. package/dist/os/werkstatt/werkstatt.module.d.ts +0 -3
  477. package/dist/os/werkstatt/werkstatt.module.d.ts.map +0 -1
  478. package/dist/os/werkstatt/werkstatt.module.js +0 -58
  479. package/dist/os/werkstatt/werkstatt.module.js.map +0 -1
  480. package/dist/os/workflow/handlers.d.ts +0 -12
  481. package/dist/os/workflow/handlers.d.ts.map +0 -1
  482. package/dist/os/workflow/handlers.js +0 -254
  483. package/dist/os/workflow/handlers.js.map +0 -1
  484. package/dist/os/workflow/index.d.ts +0 -4
  485. package/dist/os/workflow/index.d.ts.map +0 -1
  486. package/dist/os/workflow/index.js +0 -18
  487. package/dist/os/workflow/index.js.map +0 -1
  488. package/dist/os/workflow/types.d.ts +0 -69
  489. package/dist/os/workflow/types.d.ts.map +0 -1
  490. package/dist/os/workflow/types.js +0 -23
  491. package/dist/os/workflow/types.js.map +0 -1
  492. package/dist/os/workflow/workflow.module.d.ts +0 -3
  493. package/dist/os/workflow/workflow.module.d.ts.map +0 -1
  494. package/dist/os/workflow/workflow.module.js +0 -48
  495. package/dist/os/workflow/workflow.module.js.map +0 -1
  496. package/dist/src/cli-output.d.ts +0 -5
  497. package/dist/src/cli-output.d.ts.map +0 -1
  498. package/dist/src/cli-output.js +0 -53
  499. package/dist/src/cli-output.js.map +0 -1
  500. package/dist/src/config/forge-config.d.ts +0 -242
  501. package/dist/src/config/forge-config.d.ts.map +0 -1
  502. package/dist/src/config/forge-config.js +0 -359
  503. package/dist/src/config/forge-config.js.map +0 -1
  504. package/dist/src/forge-module.d.ts +0 -16
  505. package/dist/src/forge-module.d.ts.map +0 -1
  506. package/dist/src/forge-module.js +0 -15
  507. package/dist/src/forge-module.js.map +0 -1
  508. package/dist/src/index.d.ts +0 -36
  509. package/dist/src/index.d.ts.map +0 -1
  510. package/dist/src/index.js +0 -56
  511. package/dist/src/index.js.map +0 -1
  512. package/dist/src/knowledge/budgets.d.ts +0 -38
  513. package/dist/src/knowledge/budgets.d.ts.map +0 -1
  514. package/dist/src/knowledge/budgets.js +0 -157
  515. package/dist/src/knowledge/budgets.js.map +0 -1
  516. package/dist/src/knowledge/compact.d.ts +0 -47
  517. package/dist/src/knowledge/compact.d.ts.map +0 -1
  518. package/dist/src/knowledge/compact.js +0 -320
  519. package/dist/src/knowledge/compact.js.map +0 -1
  520. package/dist/src/knowledge/index.d.ts +0 -7
  521. package/dist/src/knowledge/index.d.ts.map +0 -1
  522. package/dist/src/knowledge/index.js +0 -19
  523. package/dist/src/knowledge/index.js.map +0 -1
  524. package/dist/src/knowledge/parse.d.ts +0 -3
  525. package/dist/src/knowledge/parse.d.ts.map +0 -1
  526. package/dist/src/knowledge/parse.js +0 -205
  527. package/dist/src/knowledge/parse.js.map +0 -1
  528. package/dist/src/knowledge/promote.d.ts +0 -37
  529. package/dist/src/knowledge/promote.d.ts.map +0 -1
  530. package/dist/src/knowledge/promote.js +0 -120
  531. package/dist/src/knowledge/promote.js.map +0 -1
  532. package/dist/src/knowledge/schema.d.ts +0 -61
  533. package/dist/src/knowledge/schema.d.ts.map +0 -1
  534. package/dist/src/knowledge/schema.js +0 -64
  535. package/dist/src/knowledge/schema.js.map +0 -1
  536. package/dist/src/knowledge/serialize.d.ts +0 -3
  537. package/dist/src/knowledge/serialize.d.ts.map +0 -1
  538. package/dist/src/knowledge/serialize.js +0 -67
  539. package/dist/src/knowledge/serialize.js.map +0 -1
  540. package/dist/src/migration-adapters/git-utils.d.ts +0 -3
  541. package/dist/src/migration-adapters/git-utils.d.ts.map +0 -1
  542. package/dist/src/migration-adapters/git-utils.js +0 -56
  543. package/dist/src/migration-adapters/git-utils.js.map +0 -1
  544. package/dist/src/migration-adapters/ignored-files.d.ts +0 -12
  545. package/dist/src/migration-adapters/ignored-files.d.ts.map +0 -1
  546. package/dist/src/migration-adapters/ignored-files.js +0 -190
  547. package/dist/src/migration-adapters/ignored-files.js.map +0 -1
  548. package/dist/src/migration-adapters/index.d.ts +0 -8
  549. package/dist/src/migration-adapters/index.d.ts.map +0 -1
  550. package/dist/src/migration-adapters/index.js +0 -17
  551. package/dist/src/migration-adapters/index.js.map +0 -1
  552. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts +0 -3
  553. package/dist/src/migration-adapters/node-typescript-pnpm/index.d.ts.map +0 -1
  554. package/dist/src/migration-adapters/node-typescript-pnpm/index.js +0 -141
  555. package/dist/src/migration-adapters/node-typescript-pnpm/index.js.map +0 -1
  556. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts +0 -3
  557. package/dist/src/migration-adapters/phaser-pnpm/index.d.ts.map +0 -1
  558. package/dist/src/migration-adapters/phaser-pnpm/index.js +0 -142
  559. package/dist/src/migration-adapters/phaser-pnpm/index.js.map +0 -1
  560. package/dist/src/migration-adapters/registry.d.ts +0 -6
  561. package/dist/src/migration-adapters/registry.d.ts.map +0 -1
  562. package/dist/src/migration-adapters/registry.js +0 -55
  563. package/dist/src/migration-adapters/registry.js.map +0 -1
  564. package/dist/src/migration-adapters/types.d.ts +0 -35
  565. package/dist/src/migration-adapters/types.d.ts.map +0 -1
  566. package/dist/src/migration-adapters/types.js +0 -31
  567. package/dist/src/migration-adapters/types.js.map +0 -1
  568. package/dist/src/onboarding/agents-generate.d.ts +0 -30
  569. package/dist/src/onboarding/agents-generate.d.ts.map +0 -1
  570. package/dist/src/onboarding/agents-generate.js +0 -352
  571. package/dist/src/onboarding/agents-generate.js.map +0 -1
  572. package/dist/src/onboarding/create.d.ts +0 -12
  573. package/dist/src/onboarding/create.d.ts.map +0 -1
  574. package/dist/src/onboarding/create.js +0 -318
  575. package/dist/src/onboarding/create.js.map +0 -1
  576. package/dist/src/onboarding/doctor.d.ts +0 -45
  577. package/dist/src/onboarding/doctor.d.ts.map +0 -1
  578. package/dist/src/onboarding/doctor.js +0 -1108
  579. package/dist/src/onboarding/doctor.js.map +0 -1
  580. package/dist/src/onboarding/init.d.ts +0 -32
  581. package/dist/src/onboarding/init.d.ts.map +0 -1
  582. package/dist/src/onboarding/init.js +0 -291
  583. package/dist/src/onboarding/init.js.map +0 -1
  584. package/dist/src/onboarding/invariant-engine.d.ts +0 -17
  585. package/dist/src/onboarding/invariant-engine.d.ts.map +0 -1
  586. package/dist/src/onboarding/invariant-engine.js +0 -416
  587. package/dist/src/onboarding/invariant-engine.js.map +0 -1
  588. package/dist/src/onboarding/memory-scaffold.d.ts +0 -18
  589. package/dist/src/onboarding/memory-scaffold.d.ts.map +0 -1
  590. package/dist/src/onboarding/memory-scaffold.js +0 -151
  591. package/dist/src/onboarding/memory-scaffold.js.map +0 -1
  592. package/dist/src/onboarding/nested-agents-generate.d.ts +0 -18
  593. package/dist/src/onboarding/nested-agents-generate.d.ts.map +0 -1
  594. package/dist/src/onboarding/nested-agents-generate.js +0 -69
  595. package/dist/src/onboarding/nested-agents-generate.js.map +0 -1
  596. package/dist/src/onboarding/nested-agents-templates.d.ts +0 -26
  597. package/dist/src/onboarding/nested-agents-templates.d.ts.map +0 -1
  598. package/dist/src/onboarding/nested-agents-templates.js +0 -178
  599. package/dist/src/onboarding/nested-agents-templates.js.map +0 -1
  600. package/dist/src/onboarding/profile-validate.d.ts +0 -13
  601. package/dist/src/onboarding/profile-validate.d.ts.map +0 -1
  602. package/dist/src/onboarding/profile-validate.js +0 -109
  603. package/dist/src/onboarding/profile-validate.js.map +0 -1
  604. package/dist/src/onboarding/scaffold-project.d.ts +0 -12
  605. package/dist/src/onboarding/scaffold-project.d.ts.map +0 -1
  606. package/dist/src/onboarding/scaffold-project.js +0 -248
  607. package/dist/src/onboarding/scaffold-project.js.map +0 -1
  608. package/dist/src/onboarding/scaffold.d.ts +0 -15
  609. package/dist/src/onboarding/scaffold.d.ts.map +0 -1
  610. package/dist/src/onboarding/scaffold.js +0 -120
  611. package/dist/src/onboarding/scaffold.js.map +0 -1
  612. package/dist/src/onboarding/upgrade.d.ts +0 -25
  613. package/dist/src/onboarding/upgrade.d.ts.map +0 -1
  614. package/dist/src/onboarding/upgrade.js +0 -391
  615. package/dist/src/onboarding/upgrade.js.map +0 -1
  616. package/dist/src/onboarding/workspace-discovery.d.ts +0 -11
  617. package/dist/src/onboarding/workspace-discovery.d.ts.map +0 -1
  618. package/dist/src/onboarding/workspace-discovery.js +0 -138
  619. package/dist/src/onboarding/workspace-discovery.js.map +0 -1
  620. package/dist/src/profiles/profile-schema.d.ts +0 -351
  621. package/dist/src/profiles/profile-schema.d.ts.map +0 -1
  622. package/dist/src/profiles/profile-schema.js +0 -201
  623. package/dist/src/profiles/profile-schema.js.map +0 -1
  624. package/dist/src/profiles/stack-profile.d.ts +0 -168
  625. package/dist/src/profiles/stack-profile.d.ts.map +0 -1
  626. package/dist/src/profiles/stack-profile.js +0 -144
  627. package/dist/src/profiles/stack-profile.js.map +0 -1
  628. package/dist/src/profiles/terminology-utils.d.ts +0 -8
  629. package/dist/src/profiles/terminology-utils.d.ts.map +0 -1
  630. package/dist/src/profiles/terminology-utils.js +0 -31
  631. package/dist/src/profiles/terminology-utils.js.map +0 -1
  632. package/dist/src/registry.d.ts +0 -38
  633. package/dist/src/registry.d.ts.map +0 -1
  634. package/dist/src/registry.js +0 -135
  635. package/dist/src/registry.js.map +0 -1
  636. package/dist/src/skill-schema.d.ts +0 -30
  637. package/dist/src/skill-schema.d.ts.map +0 -1
  638. package/dist/src/skill-schema.js +0 -34
  639. package/dist/src/skill-schema.js.map +0 -1
  640. package/dist/src/types.d.ts +0 -152
  641. package/dist/src/types.d.ts.map +0 -1
  642. package/dist/src/types.js +0 -17
  643. package/dist/src/types.js.map +0 -1
  644. package/dist/src/utils/fs-atomic.d.ts +0 -7
  645. package/dist/src/utils/fs-atomic.d.ts.map +0 -1
  646. package/dist/src/utils/fs-atomic.js +0 -81
  647. package/dist/src/utils/fs-atomic.js.map +0 -1
  648. package/dist/src/utils/fs-idempotent.d.ts +0 -2
  649. package/dist/src/utils/fs-idempotent.d.ts.map +0 -1
  650. package/dist/src/utils/fs-idempotent.js +0 -39
  651. package/dist/src/utils/fs-idempotent.js.map +0 -1
  652. package/dist/src/utils/fs-trash-sync.d.ts +0 -2
  653. package/dist/src/utils/fs-trash-sync.d.ts.map +0 -1
  654. package/dist/src/utils/fs-trash-sync.js +0 -34
  655. package/dist/src/utils/fs-trash-sync.js.map +0 -1
  656. package/dist/src/utils/fs-trash.d.ts +0 -2
  657. package/dist/src/utils/fs-trash.d.ts.map +0 -1
  658. package/dist/src/utils/fs-trash.js +0 -24
  659. package/dist/src/utils/fs-trash.js.map +0 -1
  660. package/dist/src/utils/fs.d.ts +0 -8
  661. package/dist/src/utils/fs.d.ts.map +0 -1
  662. package/dist/src/utils/fs.js +0 -60
  663. package/dist/src/utils/fs.js.map +0 -1
  664. package/dist/src/utils/generated-marker.d.ts +0 -21
  665. package/dist/src/utils/generated-marker.d.ts.map +0 -1
  666. package/dist/src/utils/generated-marker.js +0 -128
  667. package/dist/src/utils/generated-marker.js.map +0 -1
  668. package/dist/src/utils/hash.d.ts +0 -2
  669. package/dist/src/utils/hash.d.ts.map +0 -1
  670. package/dist/src/utils/hash.js +0 -18
  671. package/dist/src/utils/hash.js.map +0 -1
  672. package/dist/src/utils/index.d.ts +0 -9
  673. package/dist/src/utils/index.d.ts.map +0 -1
  674. package/dist/src/utils/index.js +0 -21
  675. package/dist/src/utils/index.js.map +0 -1
  676. package/dist/src/utils/string-utils.d.ts +0 -2
  677. package/dist/src/utils/string-utils.d.ts.map +0 -1
  678. package/dist/src/utils/string-utils.js +0 -19
  679. package/dist/src/utils/string-utils.js.map +0 -1
  680. package/dist/src/validators/note-frontmatter-validate.d.ts +0 -20
  681. package/dist/src/validators/note-frontmatter-validate.d.ts.map +0 -1
  682. package/dist/src/validators/note-frontmatter-validate.js +0 -117
  683. package/dist/src/validators/note-frontmatter-validate.js.map +0 -1
  684. package/dist/src/validators/note-link-validate.d.ts +0 -21
  685. package/dist/src/validators/note-link-validate.d.ts.map +0 -1
  686. package/dist/src/validators/note-link-validate.js +0 -121
  687. package/dist/src/validators/note-link-validate.js.map +0 -1
  688. package/dist/src/validators/note-orphan-detect.d.ts +0 -19
  689. package/dist/src/validators/note-orphan-detect.d.ts.map +0 -1
  690. package/dist/src/validators/note-orphan-detect.js +0 -123
  691. package/dist/src/validators/note-orphan-detect.js.map +0 -1
  692. package/dist/src/validators/port-validate.d.ts +0 -12
  693. package/dist/src/validators/port-validate.d.ts.map +0 -1
  694. package/dist/src/validators/port-validate.js +0 -78
  695. package/dist/src/validators/port-validate.js.map +0 -1
  696. package/dist/src/validators/skill-validate.d.ts +0 -29
  697. package/dist/src/validators/skill-validate.d.ts.map +0 -1
  698. package/dist/src/validators/skill-validate.js +0 -689
  699. package/dist/src/validators/skill-validate.js.map +0 -1
  700. package/profiles/editframe-templates/composition-agents.md +0 -69
  701. package/profiles/editframe-templates/composition.tsx +0 -81
  702. package/profiles/editframe-templates/html-composition-agents.md +0 -62
  703. package/profiles/editframe.yaml +0 -729
  704. package/profiles/obsidian-vault.yaml +0 -103
  705. package/skills/fo/ef-brand-video-generator/SKILL.md +0 -92
  706. package/skills/fo/ef-composition/SKILL.md +0 -156
  707. package/skills/fo/ef-composition-review/SKILL.md +0 -68
  708. package/skills/fo/ef-dev-server/SKILL.md +0 -107
  709. package/skills/fo/ef-editor-gui/SKILL.md +0 -131
  710. package/skills/fo/ef-motion-design/SKILL.md +0 -118
  711. package/skills/fo/ef-onboard/SKILL.md +0 -77
  712. package/skills/fo/ef-render-verify/SKILL.md +0 -56
  713. package/skills/fo/ef-webhooks/SKILL.md +0 -95
package/AGENTS.md CHANGED
@@ -7,7 +7,7 @@ Portable governance skills and command modules extracted from the engine (RFC-03
7
7
  - `src/` — portable, no kernel imports. Contains skill schema, registry, validators, onboarding handlers, config module, canonical types, and utilities.
8
8
  - `os/` — ForgeModule registrations. RFC-0556: `os/compass/` and `os/werkstatt/` are fully autonomous — all command handlers are inlined in `os/*/handlers/` and no longer dynamically import `@warpgogol/*` packages. Other `os/` modules may still use dynamic imports where kernel integration is needed.
9
9
  - `bin/` — CLI entrypoint (`forge` command) for autonomous usage without `@warpgogol/werkstatt`.
10
- - `skills/` — forge-managed skill definitions (38 fo skills + 5 shared + 3 meta = 46 skills). Project-declared skill packs (RFC-0539) live outside forge and are discovered via `discoverPackSkills` from `forge.yaml` `skillPacks` config.
10
+ - `skills/` — forge-managed skill definitions (35 fo skills + 5 shared + 3 meta = 43 skills). Project-declared skill packs (RFC-0539) live outside forge and are discovered via `discoverPackSkills` from `forge.yaml` `skillPacks` config.
11
11
 
12
12
  ## RFC-0855 program control-plane boundary
13
13
 
@@ -70,6 +70,7 @@ Skills live in `skills/` and are synced to `.agents/skills/` by `create`. Each s
70
70
  - **When editing a skill in `packages/forge/skills/`**, the synced copy in `.agents/skills/<name>/SKILL.md` MUST also be committed in the same session — `create` is not run automatically after manual edits. Stale `.agents/skills/` copies cause `doctor` to report drift.
71
71
  - **Canonical sync path is flat**: `.agents/skills/<name>/SKILL.md` (e.g. `.agents/skills/fo-idea-implement/SKILL.md`). Both `create` (`init.ts`) and `upgrade` (`upgrade.ts`) sync to this flat path. A nested `.agents/skills/fo/<name>/SKILL.md` path is NOT created or maintained by forge — it is a stale artifact if present and should be removed.
72
72
  - **`FORGE_SKILLS[].path` is relative to the forge package root** and already includes the `skills/` prefix — resolve via `path.join(forgeRoot, skill.path)` (see `init.ts`). Never join a `skillsRoot` with `skill.path`: that produces a doubled `skills/skills/` prefix and silently finds nothing.
73
+ - **When renumbering steps in SKILL.md files** (inserting or removing a numbered step), grep for hard-coded step numbers across all `.md` files in the repo. Cross-references to `fo-idea-implement` step numbers exist in `PREFERENCES.md`, `fo-doc-audit/SKILL.md`, and `fo-session-retro/SKILL.md` — these break silently when steps shift. Always update all cross-references in the same commit.
73
74
 
74
75
  The `concerns` field uses a four-level taxonomy (RFC-0523): `read-only` (no file modifications), `document-only` (modifies `.md` files only), `content-mutation` (modifies content `.md`/`.yaml` but not executable code), `code-mutation` (modifies `.ts`/`.astro` code). `skill.validate` enforces this via SKILL-12.
75
76
 
@@ -105,21 +106,9 @@ skillPacks:
105
106
  - **MUST** use `hasGeneratedMarker()` from `utils/index.ts` for detecting generated file markers — never use raw `content.includes("GENERATED")` which is fragile and breaks if the marker format changes.
106
107
  - **Compass shared flags:** New flags for compass commands MUST be added to the shared `compassScanFlags` object in `os/compass/compass.module.ts`, not to individual command definitions. The `compassScanFlags` object is spread into all compass commands that use `flags: { ...compassScanFlags }`, ensuring the flag is available consistently across the command family. Per-command flags that are unique to one command may be defined inline.
107
108
  - **CLI flags must be wired to behavior.** Every flag declared in a command registration MUST affect the command's output or behavior — not just be read and stored. A flag that is read but never used is dead code and a contract violation. When adding a flag, implement its behavioral effect in the same commit. Verify by searching for the flag variable name in the handler function body.
108
- - **Profile-driven workspace detection is domain-neutral.** `workspaceTypes` from a stack profile must replace hardcoded workspace detection for ALL domains, not just software. Do NOT gate `checkNestedAgentsMd` or `discoverWorkspaces` by `isSoftwareDomain` — that silently skips the check for non-software domains (video, creative, etc.). When `workspaceTypes` is present, it fully replaces hardcoded detection; when absent, hardcoded detection is the fallback for all domains.
109
+ - **Profile-driven workspace detection is domain-neutral.** `workspaceTypes` from a stack profile must replace hardcoded workspace detection for ALL domains, not just software. Do NOT gate `checkNestedAgentsMd` or `discoverWorkspaces` by `isSoftwareDomain` — that silently skips the check for non-software domains (game, creative, etc.). When `workspaceTypes` is present, it fully replaces hardcoded detection; when absent, hardcoded detection is the fallback for all domains.
109
110
  - **`command-registered` probes MUST fall back to command manifest.** The `command-registered` probe in `os/rfc/acceptance.ts` uses `commandRegistry?.listCommands()`, which only sees workspace-scoped commands (forge modules). App-scoped commands from `werkstatt-site/checks` are invisible to the workspace-level registry. Always include a `loadManifestCommandNames(workspaceRoot)` fallback, matching the pattern already used in `os/rfc/handlers/lifecycle.ts`. Without this, `rfc.acceptance.run` and `rfc.verification.emit` will falsely report app-scoped commands as "not registered".
110
111
 
111
- ## Editframe template rules
112
-
113
- - **TimelineRoot MUST NOT be used inside Workbench.** `TimelineRoot` renders a `<div style="display: contents">` wrapper that breaks `EFWorkbenchElement.#initialize()` — it searches for `TemporalElement` among direct children of `ef-canvas`, but the div wrapper makes `ef-timegroup` a grandchild instead of a direct child. The correct structure is `Workbench > Configuration > Timegroup`. `TimelineRoot` is only valid outside `Workbench` (e.g. standalone render compositions without preview).
114
- - **Text content MUST be passed as children, not via `text` prop.** `ef-text` reads text from child text nodes via `#captureRawText()`, not from the `text` attribute. Use `<Text style={{ color: "white" }}>Hello</Text>`, not `<Text text="Hello" color="white" />`.
115
- - **Text styling MUST use the `style` prop or CSS classes, not HTML attributes.** `ef-text` does not read `x`, `y`, `fontSize`, `color`, `textAlign` as attributes. Pass them via `style={{ fontSize: "48px", color: "white" }}` or Tailwind classes.
116
- - **Timegroup inside Workbench MUST have explicit dimensions.** Without `style={{ width, height }}`, `Timegroup` renders as a 0×0 inline element. Set dimensions matching the composition resolution (e.g. `1920px` × `1080px`).
117
- - **main.tsx MUST set `height: 100%` on `html`, `body`, and `#root`** and override `ef-workbench { display: grid }` after importing `@editframe/elements/styles.css`. The document-level `ef-workbench { display: block }` rule overrides the shadow DOM `:host { display: grid }`, breaking the grid layout and making the preview invisible.
118
- - **In `contain` mode, parent duration = max child duration.** If a child `Text` has `duration="5s"` but the parent `Timegroup` has `duration="10s"`, the composition will be 5s, not 10s. Always match child durations to the parent when using `contain` mode, or the composition will be silently shorter than expected.
119
- - **`--ef-progress` CSS variable (0→1) is available on temporal elements** for driving animations. Use it in `style` props: `opacity: "min(1, var(--ef-progress, 0) * 5)"` fades in over the first 20% of the timeline. `transform: "scale(min(1, 0.8 + var(--ef-progress, 0) * 0.2))"` scales from 0.8 to 1.0. The variable is set by the temporal clock and updates during playback and scrubbing.
120
- - **`PlaybackController.play()` after `ended` does NOT seek to 0** — this is a race condition in `@editframe/elements`. To make replay work, patch `play()` in a `useEffect` via a `ref` on the `Workbench` element: query `ef-configuration`, access `.playback`, and wrap `play()` to call `play({ from: 0 })` when `currentTime >= duration`. Also listen for the `playback-attached` event for late-bound controllers.
121
- - **`@editframe/react` TypeScript types do not expose `ref` or accept all CSS string values.** Use `as any` casts (`const EFWorkbench = Workbench as any`, etc.) to bypass type errors without changing runtime behavior. This is required for `ref` on `Workbench` and for CSS function values like `min()` and `var()` in `style` props.
122
-
123
112
  ## RFC frontmatter: commands.changed (RFC-CMD-03)
124
113
 
125
114
  The `commands.changed` field in RFC frontmatter must only list **registered CLI commands** (e.g. `compass.audit.baseline`, `mission.materialize`), not internal functions or handlers (e.g. `acquireLock`, `releaseLock`). `rfc.validate` enforces this via RFC-CMD-03: every entry in `commands.changed` must match a live command in the registry. Internal functions that are not registered as CLI commands must not appear in `commands.changed` — use `packagesImpacted` to indicate which packages were modified.
@@ -163,15 +152,15 @@ Stack profiles are YAML documents under `profiles/` describing a supported stack
163
152
  - **MUST NOT** scaffold into a non-empty directory — no `--force` flag.
164
153
  - **MUST NOT** add stack profiles for stacks forge cannot scaffold end-to-end.
165
154
  - **MUST** reference all template files in `profiles/<profile>-templates/` from the profile YAML (`workspaceTypes[].agentsMdTemplate` or `firstWorkspace.files`) or document them in the `agentsMdTemplate` file. Unreferenced template files are orphan artifacts that operators cannot discover.
166
- - Shipped profiles: `astro-typescript-turborepo`, `phaser-turborepo`, `forge-shell` (minimal — default for `create`), `editframe` (video domain — first non-software profile, RFC-0641, React template RFC-0694).
155
+ - Shipped profiles: `astro-typescript-turborepo`, `phaser-turborepo`, `godot-csharp`, `forge-shell` (minimal — default for `create`).
167
156
  - **MUST** include a `.github/workflows/ci.yml` template in every stack profile's `workspace.files` list. The CI template MUST include `concurrency` (cancel superseded PR runs), `permissions: contents: read` at workflow level, `timeout-minutes` per job, `env: TZ: UTC` per job, `actions/checkout@v5`, and `actions/setup-node@v5` with Node 24. New projects inherit reliable CI from the scaffold — operators should not need to hand-write CI from scratch.
168
157
 
169
158
  ### Domain fields (RFC-0638)
170
159
 
171
160
  The `forge/stack-profile@1` schema includes six optional domain-neutral fields that allow a profile to declare its domain model. All fields are optional — existing profiles without them parse and function identically.
172
161
 
173
- - **`domain`** — string identifying the project domain (e.g. `software`, `video`, `book`, `music`, `game`, `illustration`). Used for profile detection and doctor output.
174
- - **`terminology`** — map of universal concept keys to domain-specific terms (e.g. `artifact: "composition"`). Open vocabulary; universal keys have built-in defaults exported as `TERMINOLOGY_DEFAULTS`. Missing keys fall back to the default term.
162
+ - **`domain`** — string identifying the project domain (e.g. `software`, `game`, `book`, `music`, `illustration`). Used for profile detection and doctor output.
163
+ - **`terminology`** — map of universal concept keys to domain-specific terms (e.g. `artifact: "game"`). Open vocabulary; universal keys have built-in defaults exported as `TERMINOLOGY_DEFAULTS`. Missing keys fall back to the default term.
175
164
  - **`artifacts`** — array of artifact definitions (id, extensions, produce/validate commands, determinism properties). Used by `doctor` for domain-specific health checks in follow-up RFCs.
176
165
  - **`workspaceTypes`** — array of workspace type definitions (id, detection markers, associated skills, AGENTS.md template). Used by `forge.agents.generate` for per-domain workspace detection in follow-up RFCs.
177
166
  - **`invariants`** — array of domain-specific invariant definitions (id matching `^[A-Z]+-\d+$`, rule text, severity). Schema only — enforcement is deferred to follow-up RFCs.
@@ -364,8 +353,8 @@ When publishing `@warpgogol/forge`, npm resolves the auth token from `.npmrc` fi
364
353
  - **Golden fixture for `agents-generate`** — when adding or modifying sections in `agents-generate.ts`, the golden fixture `src/tests/fixtures/agents-generate-business-before.txt` MUST be updated to match the new generated output. The test `agents-generate-domain.test.ts` compares generated content against this fixture with `expect(content).toBe(goldenFixture)` — a mismatch fails the test.
365
354
  - **SKILL-17 brand pattern must be case-sensitive** — the brand regex in `skill-validate.ts` uses a `@`-lookbehind to allow `@warpgogol/<pkg>` npm-scope references in skill instruction lines. Making the regex case-insensitive (`/gi`) defeats the lookbehind and false-flags every `@warpgogol` import as a brand violation. Keep the regex case-sensitive (`/g` only) so the `@`-scope allowance works correctly.
366
355
  - **`vi.resetModules()` before `vi.doMock()` for Node builtins** — when mocking Node built-in modules (e.g. `node:child_process`) in vitest, `vi.resetModules()` MUST be called BEFORE `vi.doMock()`. Without `resetModules()` first, the module cache retains the original module and the mock is not applied on re-import via dynamic `import()`. After the test, call `vi.doUnmock()` and `vi.resetModules()` to restore. Discovered during `upgrade.test.ts` `--update-npm` mock testing.
367
- - **Mock `execSync` for scaffold tests** — `runScaffoldProject` calls `execSync` to run `pnpm add` install commands, which fail in test environments without network access. Mock `node:child_process` with `vi.mock("node:child_process", async (importActual) => { const actual = await importActual(); return { ...actual, execSync: vi.fn(() => Buffer.from("mocked")) }; })` and use dynamic `await import("../onboarding/scaffold-project.ts")` after the mock. Use `vi.importActual` to preserve `execFile` (used by `promisify(execFile)` in forge/os/compass). See `src/tests/editframe-e2e.test.ts` for the reference pattern.
368
- - **`runDoctor` profile resolution in tests** — `runDoctor` calls `resolveForgeRoot(workspaceRoot)` which searches for `packages/forge/` relative to the workspace root. In temp-directory tests, the forge package is not found, so profile-dependent checks (prerequisites, invariants) are silently skipped. Either pass `forgeRoot` in the `ForgeRuntimeContext` (preferred), or create a minimal `packages/forge/profiles/<id>.yaml` inside the temp directory. See `src/tests/editframe-e2e.test.ts` "doctor checks prerequisites" test for the local-profile pattern.
356
+ - **Mock `execSync` for scaffold tests** — `runScaffoldProject` calls `execSync` to run `pnpm add` install commands, which fail in test environments without network access. Mock `node:child_process` with `vi.mock("node:child_process", async (importActual) => { const actual = await importActual(); return { ...actual, execSync: vi.fn(() => Buffer.from("mocked")) }; })` and use dynamic `await import("../onboarding/scaffold-project.ts")` after the mock. Use `vi.importActual` to preserve `execFile` (used by `promisify(execFile)` in forge/os/compass).
357
+ - **`runDoctor` profile resolution in tests** — `runDoctor` calls `resolveForgeRoot(workspaceRoot)` which searches for `packages/forge/` relative to the workspace root. In temp-directory tests, the forge package is not found, so profile-dependent checks (prerequisites, invariants) are silently skipped. Either pass `forgeRoot` in the `ForgeRuntimeContext` (preferred), or create a minimal `packages/forge/profiles/<id>.yaml` inside the temp directory.
369
358
 
370
359
  ## RFC frontmatter: versionBump for prose-only policy RFCs
371
360
 
package/README.md CHANGED
@@ -12,13 +12,49 @@ Forge supports four kinds of projects. You pick one when you start — everythin
12
12
  | --- | --- | --- |
13
13
  | **Website** | A public website or web app — pages, blog, portfolio, landing page, online store | Photography studio site, restaurant website, SaaS landing page |
14
14
  | **Browser game** | An interactive game that runs in a web browser — 2D, arcade, puzzle, adventure | Catch falling stars, tile-matching puzzle, platformer |
15
- | **Video** | A programmatic video composition — animated logo, intro, product showcase, motion design | Brand intro video, product demo, social media ad clip |
16
15
  | **Governance / library** | A code library or governance-only project — no website, no game, no video, just structure and documentation | npm package, internal toolkit, documentation hub |
16
+ | **Godot game** | A desktop or mobile game built with Godot 4.x and C# — 2D, 3D, platformer, RPG | Top-down adventure, 3D platformer, puzzle game |
17
17
 
18
18
  Each project type gets its own scaffold: the right folder structure, the right dependencies, the right tools. You don't need to know what any of those are — Forge sets them up for you.
19
19
 
20
20
  ---
21
21
 
22
+ ## Forge and the Werkstatt engine
23
+
24
+ Forge is the **governance layer** — skills, RFC/ADR workflows, naming conventions, spec vendoring, and the CLI. It is framework-agnostic and has zero runtime dependencies (only `yaml` + `zod`).
25
+
26
+ For full project lifecycle management — missions, releases, deployment, certification, quality checks, content codegen — Forge connects to the **Werkstatt engine** and **stack-specific plugins**. These are separate npm packages installed alongside Forge when you need runtime capabilities beyond governance.
27
+
28
+ | Package | Purpose | Required for |
29
+ | --- | --- | --- |
30
+ | `@warpgogol/werkstatt` | Runtime engine — missions, releases, Leitstand deployment, certification, Bordbuch, artifact store | All project types with lifecycle management |
31
+ | `@warpgogol/werkstatt-shared` | Shared infrastructure — checks, integration, ontology, passport | Installed automatically with the engine |
32
+ | `@warpgogol/werkstatt-site` | Astro site plugin — build pipeline, content checks, codegen, deploy adapters | Website projects (`astro-typescript-turborepo`) |
33
+ | `@warpgogol/werkstatt-game` | Phaser game plugin — game validators, Vite build, deploy adapters | Browser game projects (`phaser-turborepo`) |
34
+ | `@warpgogol/werkstatt-godot` | Godot plugin — scene validators, dotnet build, itch.io deploy, Godot skills | Godot game projects (`godot-csharp`) |
35
+
36
+ ### When you need these packages
37
+
38
+ - **Governance-only projects** (RFCs, ADRs, skills, documentation hubs) — Forge alone is sufficient.
39
+ - **Websites, games, Godot projects** — install `@warpgogol/werkstatt` (the engine) plus the matching stack plugin. The `forge-bootstrap` skill configures bindings automatically; the packages themselves must be installed as devDependencies.
40
+
41
+ ### Installing engine packages
42
+
43
+ ```sh
44
+ # Website project
45
+ pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-site
46
+
47
+ # Browser game project
48
+ pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-game
49
+
50
+ # Godot game project
51
+ pnpm add -D @warpgogol/werkstatt @warpgogol/werkstatt-godot
52
+ ```
53
+
54
+ > **Note for agents:** When scaffolding a new project with `forge create`, always install the engine and matching stack plugin after the scaffold completes. The `forge.yaml` bindings reference commands from these packages (e.g. `pnpm exec werkstatt run rfc.validate`), and they will fail if the packages are not installed.
55
+
56
+ ---
57
+
22
58
  ## Complete installation guide (from zero)
23
59
 
24
60
  If you've never programmed before, this section takes you from a completely empty computer to a working Forge setup. Follow the steps for your operating system.
@@ -154,43 +190,27 @@ Forge works through conversation with an AI agent. You need an IDE that supports
154
190
 
155
191
  You can also use **Cursor** ([cursor.com](https://cursor.com)) or any IDE that supports AI agent skills.
156
192
 
157
- ### Optional — Install FFmpeg (only for video projects)
193
+ ### Optional — Install Godot and .NET (only for Godot game projects)
194
+
195
+ If you're planning to create **Godot game** projects (the `godot-csharp` profile), you need two additional tools:
158
196
 
159
- If you're planning to create **video** projects (the `editframe` profile), you need **FFmpeg** a free tool for processing video and audio.
197
+ - **Godot 4.x** (with .NET support) the game engine. Download it from [godotengine.org/download](https://godotengine.org/download). Make sure to choose the ".NET" version (not the standard version).
198
+ - **.NET SDK 8+** — the C# runtime and build tools. Download it from [dotnet.microsoft.com/download](https://dotnet.microsoft.com/download).
160
199
 
161
- **Ubuntu:**
200
+ Verify both are installed:
162
201
 
163
202
  ```sh
164
- sudo apt-get install -y ffmpeg
165
- ffmpeg -version
203
+ godot --version
204
+ dotnet --version
166
205
  ```
167
206
 
168
- **Windows:**
169
-
170
- 1. Go to [ffmpeg.org/download.html](https://ffmpeg.org/download.html) in your browser.
171
- 2. Download a Windows build (look for "Windows builds" — the gyan.dev or BtbN builds are good choices).
172
- 3. Extract the downloaded `.zip` file to a folder, e.g. `C:\ffmpeg`.
173
- 4. Add FFmpeg to your system PATH:
174
- - Open the Start menu, search for "Environment Variables", and click "Edit the system environment variables".
175
- - Click **Environment Variables**.
176
- - Under "System variables" (or "User variables"), find **Path**, select it, and click **Edit**.
177
- - Click **New** and type `C:\ffmpeg\bin` (or wherever you extracted FFmpeg, in the `bin` subfolder).
178
- - Click **OK** on all three windows.
179
- 5. Close and reopen PowerShell, then verify:
180
-
181
- ```sh
182
- ffmpeg -version
183
- ```
184
-
185
- You should see version information, not an error.
186
-
187
207
  ### Troubleshooting
188
208
 
189
209
  - **"command not found" after installing Node.js** — Close and reopen your terminal (Ubuntu) or PowerShell (Windows). The system needs to reload the list of available commands.
190
210
  - **"EACCES permission denied" on Ubuntu when installing Forge globally** — Run `sudo pnpm add -g @warpgogol/forge` instead.
191
211
  - **"corepack: command not found"** — Your Node.js version is too old. Install Node.js 24+ using the steps above.
192
212
  - **Windsurf can't find `forge`** — Close and reopen Windsurf after installing Forge. IDEs need to restart to pick up new global commands.
193
- - **AI agent doesn't know about Forge** — You opened an empty folder, but the AI agent has no Forge context. Run `forge create --name my-project --profile editframe` (or the appropriate profile) in a terminal first, then open the created folder in your IDE. The `forge create` command populates the folder with skills, configuration, and `AGENTS.md` — without it, the AI agent can't discover Forge.
213
+ - **AI agent doesn't know about Forge** — You opened an empty folder, but the AI agent has no Forge context. Run `forge create --in-place --profile astro-typescript-turborepo` (or the appropriate profile) in a terminal first, then open the folder in your IDE. The `forge create` command populates the current folder with skills, configuration, and `AGENTS.md` — without it, the AI agent can't discover Forge.
194
214
 
195
215
  ---
196
216
 
@@ -202,29 +222,27 @@ You need to run one command in the terminal to create your project. After that,
202
222
 
203
223
  #### Start a new project from scratch
204
224
 
205
- 1. **Create a Forge project.** Open a terminal (PowerShell on Windows, Terminal on Ubuntu) and run:
225
+ 1. **Create a project folder and scaffold Forge in-place.** Open a terminal (PowerShell on Windows, Terminal on Ubuntu) and run:
206
226
 
207
227
  ```sh
208
- forge create --name my-brand-video --profile editframe
228
+ mkdir my-site
229
+ cd my-site
230
+ forge create --in-place --profile astro-typescript-turborepo
209
231
  ```
210
232
 
211
- Replace `my-brand-video` with your project name (lowercase letters and hyphens). This creates a new folder with everything Forge needs — skills, configuration, and project structure. For other project types, use a different `--profile`:
233
+ The project name is derived from the folder name (`my-site` in this example). You can override it with `--name`. This populates the current folder with everything Forge needs — skills, configuration, and project structure. For other project types, use a different `--profile`:
212
234
 
213
- | What you want to build | Profile flag |
214
- | ----------------------------------------- | -------------------------------------- |
215
- | Video (brand video, intro, motion design) | `--profile editframe` |
216
- | Website (landing page, blog, portfolio) | `--profile astro-typescript-turborepo` |
217
- | Browser game (2D, arcade, puzzle) | `--profile phaser-turborepo` |
218
- | Library or governance-only project | `--profile forge-shell` |
235
+ | What you want to build | Profile flag |
236
+ | --------------------------------------- | -------------------------------------- |
237
+ | Website (landing page, blog, portfolio) | `--profile astro-typescript-turborepo` |
238
+ | Browser game (2D, arcade, puzzle) | `--profile phaser-turborepo` |
239
+ | Godot game (desktop, mobile, 2D/3D) | `--profile godot-csharp` |
240
+ | Library or governance-only project | `--profile forge-shell` |
219
241
 
220
- 2. **Open the project folder in your AI IDE.** Open the folder that was created in step 1 in Windsurf or your preferred IDE.
242
+ 2. **Open the project folder in your AI IDE.** Open the folder from step 1 in Windsurf or your preferred IDE.
221
243
 
222
244
  3. **Tell the AI agent what you want to build.** Just type it in the chat, in your own words. For example:
223
245
 
224
- > I want to create a brand video for my coffee shop. It should have an animated logo, a short intro, and a product showcase.
225
-
226
- Or:
227
-
228
246
  > I want to build a website for my photography studio.
229
247
 
230
248
  Or:
@@ -236,35 +254,37 @@ You need to run one command in the terminal to create your project. After that,
236
254
  > I want to create a TypeScript library for calculating astrology charts.
237
255
 
238
256
  That's it. The AI agent will do everything else:
239
- - Set up the project structure based on what you described (video, website, game, library, etc.)
257
+ - Set up the project structure based on what you described (website, game, library, etc.)
240
258
  - Configure language preferences and project settings
241
- - Start a live preview so you can see your work (for websites, games, and videos)
259
+ - Start a live preview so you can see your work (for websites and games)
242
260
  - Tell you the URL to open in your browser
243
261
 
244
- 4. **Watch the preview.** For websites, games, and videos, the AI agent will give you a localhost link. Click it — your project is already running. As you describe changes, the agent updates the project and the preview refreshes automatically.
262
+ 4. **Watch the preview.** For websites and games, the AI agent will give you a localhost link. Click it — your project is already running. As you describe changes, the agent updates the project and the preview refreshes automatically.
245
263
 
246
264
  For governance and library projects, there's no visual preview — the agent will set up the project structure and tell you when it's ready.
247
265
 
248
- 5. **Create together.** From here on, you just talk. Want a different color? Want to add a scene? Want to change the music? Want to add a new function to your library? Just say it. The agent handles all the technical work.
266
+ 5. **Create together.** From here on, you just talk. Want a different color? Want to add a scene? Want to add a new function to your library? Just say it. The agent handles all the technical work.
249
267
 
250
268
  #### Bring an existing project into Forge
251
269
 
252
270
  If you already have a project somewhere else and want to move it into Forge:
253
271
 
254
- 1. **Create a Forge project.** Open a terminal and run:
272
+ 1. **Create a Forge project.** Open a terminal, create a folder, and run:
255
273
 
256
274
  ```sh
257
- forge create --name my-project
275
+ mkdir my-project
276
+ cd my-project
277
+ forge create --in-place --profile forge-shell
258
278
  ```
259
279
 
260
- Then open the created folder in your AI IDE.
280
+ Then open the folder in your AI IDE.
261
281
 
262
282
  2. **Tell the AI agent:**
263
283
 
264
284
  > I want to bring my existing project into Forge. It's located at /path/to/my/project.
265
285
 
266
286
  The agent will:
267
- - Detect what kind of project it is (website, video, game, library, etc.)
287
+ - Detect what kind of project it is (website, game, library, etc.)
268
288
  - Move all your files into the new Forge project — including hidden files like `.env`
269
289
  - Optionally bring your git history
270
290
  - Verify everything builds correctly
@@ -278,24 +298,33 @@ Just tell the AI agent. It can check the project's health, fix issues, and expla
278
298
 
279
299
  ### For developers — CLI commands
280
300
 
281
- #### Create a new project
301
+ #### Create a new project (in-place)
282
302
 
283
303
  ```sh
284
- # Create a new project (scaffold + init + skills + AGENTS.md in one command)
285
- forge create --name my-project
304
+ # Create a project folder, then scaffold Forge in-place
305
+ mkdir my-project
306
+ cd my-project
307
+ forge create --in-place --profile forge-shell
286
308
 
287
309
  # With a specific stack profile
288
- forge create --name my-site --profile astro-typescript-turborepo
289
- forge create --name my-game --profile phaser-turborepo
290
- forge create --name my-video --profile editframe
291
- forge create --name my-library --profile forge-shell
310
+ mkdir my-site && cd my-site
311
+ forge create --in-place --profile astro-typescript-turborepo
292
312
 
313
+ mkdir my-game && cd my-game
314
+ forge create --in-place --profile phaser-turborepo
315
+
316
+ mkdir my-godot-game && cd my-godot-game
317
+ forge create --in-place --profile godot-csharp
318
+
319
+ # Override the project name (derived from folder name by default)
320
+ forge create --in-place --profile forge-shell --name my-custom-name
293
321
  ```
294
322
 
295
323
  If Forge is not installed globally, use `pnpm dlx` instead:
296
324
 
297
325
  ```sh
298
- pnpm dlx @warpgogol/forge create --name my-project
326
+ mkdir my-project && cd my-project
327
+ pnpm dlx @warpgogol/forge create --in-place --profile forge-shell
299
328
  ```
300
329
 
301
330
  #### Bring an existing project into Forge
@@ -303,15 +332,16 @@ pnpm dlx @warpgogol/forge create --name my-project
303
332
  There is no CLI command for transplant — it is an interactive, AI-guided process:
304
333
 
305
334
  ```sh
306
- # 1. Create a new empty Forge project
307
- forge create --name my-project
335
+ # 1. Create a new empty Forge project (in-place)
336
+ mkdir my-project && cd my-project
337
+ forge create --in-place --profile forge-shell
308
338
 
309
339
  # 2. Open the project in Windsurf (tested with forge) or your preferred IDE
310
340
 
311
341
  # 3. Run the /forge-bootstrap skill and choose "transplant" mode
312
342
  # The skill will:
313
343
  # - Ask for the path to your existing codebase
314
- # - Detect the stack automatically (Astro, Phaser, Editframe, etc.)
344
+ # - Detect the stack automatically (Astro, Phaser, Godot, etc.)
315
345
  # - Migrate all files (including .env and git-ignored files)
316
346
  # - Optionally transfer git history
317
347
  # - Verify the build
@@ -339,16 +369,14 @@ A stack profile defines the project scaffold: directory structure, dependencies,
339
369
  | `forge-shell` | Governance / library | Minimal Forge shell (default) | — | Governance-only projects, libraries, non-web projects |
340
370
  | `astro-typescript-turborepo` | Website | Astro + TypeScript + pnpm + Turborepo | `sites/my-site` | Websites, web apps, content-driven sites |
341
371
  | `phaser-turborepo` | Browser game | Phaser + TypeScript + pnpm + Turborepo | `games/my-game` | Browser games, interactive experiences |
342
- | `editframe` | Video | Editframe React + Vite + TailwindCSS | `compositions/my-first-video` | Video compositions, brand videos, motion design |
343
-
344
- The `editframe` profile also supports an **HTML template** (instead of React) for users who prefer web components over JSX. Choose between the two during project setup.
372
+ | `godot-csharp` | Godot game | Godot 4.x + C# + pnpm + Turborepo | `games/my-game` | Desktop/mobile games, Godot-based interactive projects |
345
373
 
346
374
  ```sh
347
375
  # List available profiles (after install)
348
376
  forge profile.validate
349
377
  ```
350
378
 
351
- When you bring an existing project through the `/forge-bootstrap` transplant mode, Forge detects the matching profile automatically by checking for marker files (`astro.config.*`, `phaser.config.*`, `editframe.config.*`, etc.).
379
+ When you bring an existing project through the `/forge-bootstrap` transplant mode, Forge detects the matching profile automatically by checking for marker files (`astro.config.*`, `phaser.config.*`, `project.godot`, etc.).
352
380
 
353
381
  ## Upgrade flow
354
382
 
@@ -369,7 +397,7 @@ forge doctor
369
397
 
370
398
  ## What forge gives you
371
399
 
372
- - **44 skills** (fo-pipeline, grilling, preferences, skill authoring, Editframe video composition) — deployed to `.agents/skills/` by `forge create`
400
+ - **44 skills** (fo-pipeline, grilling, preferences, skill authoring) — deployed to `.agents/skills/` by `forge create`
373
401
  - **RFC workflow** — create, validate, list, graph, archive, acceptance probes, decision logs, DNA trace
374
402
  - **ADR workflow** — lightweight architectural decision records
375
403
  - **Spec vendoring** — vendor external spec packages as immutable snapshots with integrity manifests
@@ -382,7 +410,7 @@ forge doctor
382
410
 
383
411
  The typical forge project lifecycle:
384
412
 
385
- 1. **Create** — `forge create` bootstraps a new project with forge.yaml, skills, and docs directories
413
+ 1. **Create** — `forge create --in-place --profile <profile>` scaffolds a new project in the current directory with forge.yaml, skills, and docs directories
386
414
  2. **IDE** — open the project in Windsurf (tested with forge) or your preferred IDE
387
415
  3. **Bootstrap** — run `/forge-bootstrap` to configure the project interactively. The skill supports two modes:
388
416
  - **Greenfield** — start a new project from scratch: pick a stack, fill in bindings, init git