@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
@@ -1,324 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>naming.convention.lint — validates that every filename in registered repo roots
4
- uses kebab-case (lowercase letters, digits, hyphens only), with documented exemptions.</purpose>
5
- <non-goals>
6
- <item>Do not introduce app-specific runtime composition or deployment behavior into this reusable package source file.</item>
7
- </non-goals>
8
- </MODULE_CONTRACT>
9
- <CHANGE_SUMMARY>
10
- <item>RFC-0303: split out of structure.ts (Phase 3 file-size split).</item>
11
- <item>RFC-0360: extend scan roots from apps/ and packages/ to the whole repo.</item>
12
- </CHANGE_SUMMARY>
13
- */
14
- import { basename, join, relative } from "node:path";
15
- import { readFile } from "node:fs/promises";
16
- import { readdirSync } from "node:fs";
17
- import { collectFiles } from "../../src/utils/fs.js";
18
- // @ai-invariant The exception rules below are the canonical source for naming.convention.lint.
19
- // Update naming-conventions.md (packages/site-kernel/docs/) when these rules change.
20
- // RFC-0360: Registered recursive roots — scanned recursively for filename violations.
21
- const NAMING_CONVENTION_RECURSIVE_ROOTS = [
22
- "apps",
23
- "packages",
24
- "services",
25
- "docs",
26
- "integrations",
27
- "onboarding",
28
- "fleet",
29
- "hooks",
30
- "tools",
31
- "scripts",
32
- "systems",
33
- "tsconfig",
34
- ];
35
- // RFC-0360: Registered ephemeral roots — root name validated, contents skipped unless --include-ignored.
36
- const NAMING_CONVENTION_EPHEMERAL_ROOTS = ["missions", "releases", "agents", ".werkstatt"];
37
- // RFC-0360: Tool/cache directories that are never scanned at any level.
38
- const NAMING_CONVENTION_IGNORED_TOP_LEVEL = new Set([
39
- "node_modules",
40
- ".git",
41
- ".turbo",
42
- ".astro",
43
- ".wrangler",
44
- ".vscode",
45
- ".idea",
46
- "coverage",
47
- ".changelog-system",
48
- ".codex-runlogs",
49
- ".agents",
50
- ".claude",
51
- ".github",
52
- ".opencode",
53
- ".windsurf",
54
- ".cache",
55
- "tmp",
56
- ]);
57
- // Tool-mandated filenames exempt from kebab-case (Docker, Caddy use these exact names).
58
- const NAMING_CONVENTION_TOOL_MANDATED = new Set(["Dockerfile", "Caddyfile"]);
59
- const NAMING_CONVENTION_IGNORED_DIRS = new Set([
60
- "node_modules",
61
- "dist",
62
- ".git",
63
- ".turbo",
64
- ".astro",
65
- ".wrangler",
66
- ".vscode",
67
- ".idea",
68
- "coverage",
69
- "spec",
70
- "todo",
71
- // Generated, gitignored media-artifact dirs under public/ — their filenames are owned by the
72
- // generators, not authored: RFC-0204 responsive image variants (_img) and RFC-0210 video
73
- // variants / HLS segments (_video, e.g. "1080p_000.ts", where ".ts" is MPEG-TS, not TypeScript).
74
- "_img",
75
- "_video",
76
- // DB migration dirs follow the ordered tool convention "NNN_name.sql" (Supabase/Postgres,
77
- // RFC-0186) — the numeric-underscore prefix is required for ordering and is not authored prose.
78
- "migrations",
79
- ]);
80
- const NAMING_CONVENTION_EXEMPT_KEYWORDS = ["config", "module"];
81
- // Set of directory paths that are exempt from naming convention (generated files)
82
- const NAMING_CONVENTION_EXEMPT_DIRS = new Set([
83
- "components/icons/gen", // Generated icon components — naming controlled by generator
84
- ]);
85
- /**
86
- * Returns true when a filename is exempt from kebab-case enforcement.
87
- *
88
- * Exemptions (see naming-conventions.md for the canonical description):
89
- * 1. File name starts with a dot (.env, .gitignore, ...).
90
- * 2. File name starts with an underscore (_shared.ts, _headers, etc.).
91
- * 3. File name is ALLCAPS (AGENTS.md, README.md, LICENSE, etc.).
92
- * 4. File name (full, including extension) contains "config" or "module".
93
- * 5. File is in an exempt directory (components/icons/gen — generated files).
94
- * 6. Base icon component (LordIconBase.astro) — used by generated icon components.
95
- */
96
- function isNamingExempt(fileName, filePath) {
97
- if (fileName.startsWith("."))
98
- return true;
99
- if (fileName.startsWith("_"))
100
- return true;
101
- if (NAMING_CONVENTION_TOOL_MANDATED.has(fileName))
102
- return true;
103
- // SHOUTY_SNAKE_CASE files are exempt (AGENTS.md, README.md, LICENSE,
104
- // ICONS_GENERATE.md, etc.). RFC-0132 extension: the check uses the FIRST
105
- // stem segment so multi-segment names like AGENTS.template.md and
106
- // SCHEMA.draft.md inherit the exemption from their canonical first segment
107
- // — this is intentional for template files whose generated artifact carries
108
- // the canonical name (AGENTS.template.md → AGENTS.md after agents.generate).
109
- const firstDotIndex = fileName.indexOf(".");
110
- const firstStem = firstDotIndex > 0 ? fileName.slice(0, firstDotIndex) : fileName;
111
- if (firstStem.length > 0 && /^[A-Z]+(_[A-Z]+)*$/.test(firstStem))
112
- return true;
113
- for (const keyword of NAMING_CONVENTION_EXEMPT_KEYWORDS) {
114
- if (fileName.includes(keyword))
115
- return true;
116
- }
117
- // Check if file is in an exempt directory
118
- if (filePath) {
119
- for (const exemptDir of NAMING_CONVENTION_EXEMPT_DIRS) {
120
- if (filePath.includes(exemptDir))
121
- return true;
122
- }
123
- }
124
- return false;
125
- }
126
- /**
127
- * Returns true when a filename violates the kebab-case convention.
128
- * Violations: underscores OR mixed-case (PascalCase, camelCase).
129
- * Note: ALLCAPS files are exempt, not violations.
130
- * Only called when the file is not already exempt.
131
- */
132
- function hasNamingViolation(fileName) {
133
- const dotIndex = fileName.lastIndexOf(".");
134
- const stem = dotIndex > 0 ? fileName.slice(0, dotIndex) : fileName;
135
- // kebab-case allows only lowercase letters, digits, and hyphens
136
- // Violations: underscores OR mixed-case (contains both upper and lower)
137
- if (stem.includes("_"))
138
- return true;
139
- // Mixed case: has at least one uppercase AND at least one lowercase
140
- const hasUpper = /[A-Z]/.test(stem);
141
- const hasLower = /[a-z]/.test(stem);
142
- return hasUpper && hasLower;
143
- }
144
- /**
145
- * Reads a gitignore-style file and returns a set of simple (no-wildcard) patterns.
146
- * Patterns containing `*` or `?` are skipped — too complex without a full gitignore engine.
147
- */
148
- async function readSimpleIgnorePatterns(filePath) {
149
- const patterns = new Set();
150
- try {
151
- const content = await readFile(filePath, "utf8");
152
- for (const rawLine of content.split("\n")) {
153
- const line = rawLine.trim();
154
- if (!line || line.startsWith("#"))
155
- continue;
156
- if (line.includes("*") || line.includes("?"))
157
- continue;
158
- patterns.add(line.replace(/^\//, "").replace(/\/$/, ""));
159
- }
160
- }
161
- catch {
162
- // File absent — silently skip
163
- }
164
- return patterns;
165
- }
166
- function isSegmentIgnored(relPath, ignorePatterns) {
167
- for (const segment of relPath.split("/")) {
168
- if (ignorePatterns.has(segment))
169
- return true;
170
- }
171
- return false;
172
- }
173
- async function collectAllFilesForNaming(dirPath, ignorePatterns) {
174
- return collectFiles(dirPath, {
175
- ignore: (name) => name.startsWith(".") ||
176
- NAMING_CONVENTION_IGNORED_DIRS.has(name) ||
177
- ignorePatterns.has(name) ||
178
- ignorePatterns.has(`${name}/`),
179
- });
180
- }
181
- function isRegisteredOrIgnoredTopLevel(name) {
182
- return (NAMING_CONVENTION_RECURSIVE_ROOTS.includes(name) ||
183
- NAMING_CONVENTION_EPHEMERAL_ROOTS.includes(name) ||
184
- NAMING_CONVENTION_IGNORED_TOP_LEVEL.has(name));
185
- }
186
- function resolveScanPlan(repoRoot) {
187
- let entries;
188
- try {
189
- entries = readdirSync(repoRoot, { withFileTypes: true });
190
- }
191
- catch {
192
- return {
193
- recursiveRoots: [...NAMING_CONVENTION_RECURSIVE_ROOTS],
194
- ephemeralRoots: [...NAMING_CONVENTION_EPHEMERAL_ROOTS],
195
- unknown: [],
196
- };
197
- }
198
- const topLevelDirs = entries
199
- .filter((e) => e.isDirectory() && !e.isSymbolicLink())
200
- .map((e) => e.name);
201
- const unknown = topLevelDirs.filter((name) => !isRegisteredOrIgnoredTopLevel(name));
202
- const recursiveRoots = NAMING_CONVENTION_RECURSIVE_ROOTS.filter((name) => topLevelDirs.includes(name));
203
- const ephemeralRoots = NAMING_CONVENTION_EPHEMERAL_ROOTS.filter((name) => topLevelDirs.includes(name));
204
- return { recursiveRoots, ephemeralRoots, unknown };
205
- }
206
- /**
207
- * Validates that all filenames in registered repo roots use kebab-case.
208
- *
209
- * Rule: filenames must use only lowercase letters, digits, and hyphens.
210
- * Violations: underscores, uppercase letters (PascalCase, camelCase, ALLCAPS).
211
- *
212
- * Exceptions (not flagged):
213
- * - Files starting with a dot (.env, .gitignore)
214
- * - Files starting with an underscore (_shared.ts, _headers, _redirects, _routes.json)
215
- * - Tool-mandated filenames (Dockerfile, Caddyfile)
216
- * - Files containing "config" or "module" in their name (astro.config.mjs, check.module.ts)
217
- * - Files in directories starting with a dot (.git, .astro, .vscode)
218
- * - Files excluded by .gitignore or .windsurfignore (simple non-wildcard patterns only)
219
- *
220
- * See packages/site-kernel/docs/naming-conventions.md — "Global Rule" section.
221
- */
222
- export async function runNamingConventionLint(input, context) {
223
- const workspaceRoot = context.workspaceRoot;
224
- const includeIgnored = input.flags["include-ignored"] === true;
225
- const gitignorePatterns = await readSimpleIgnorePatterns(join(workspaceRoot, ".gitignore"));
226
- const windsurfignorePatterns = await readSimpleIgnorePatterns(join(workspaceRoot, ".windsurfignore"));
227
- const ignorePatterns = new Set([...gitignorePatterns, ...windsurfignorePatterns]);
228
- let violations = 0;
229
- let checkedFiles = 0;
230
- // App-scoped mode: scan only the app directory
231
- if (context.site) {
232
- const files = await collectAllFilesForNaming(context.site.directory, ignorePatterns);
233
- for (const filePath of files) {
234
- const fileName = basename(filePath);
235
- const relPath = relative(workspaceRoot, filePath).replace(/\\/g, "/");
236
- if (isNamingExempt(fileName, relPath))
237
- continue;
238
- if (isSegmentIgnored(relPath, ignorePatterns))
239
- continue;
240
- checkedFiles += 1;
241
- if (hasNamingViolation(fileName)) {
242
- context.logger.error(`${relPath}: "${fileName}" violates kebab-case — use only lowercase letters, digits, and hyphens`);
243
- violations += 1;
244
- }
245
- }
246
- return {
247
- data: { violations, checkedFiles },
248
- exitCode: violations > 0 ? 1 : 0,
249
- summary: violations > 0
250
- ? undefined
251
- : `[naming.convention] OK (${checkedFiles} non-exempt files checked)`,
252
- };
253
- }
254
- // Workspace-scoped mode: resolve scan plan from filesystem
255
- const scanPlan = resolveScanPlan(workspaceRoot);
256
- // Report unknown top-level directories
257
- for (const unknownDir of scanPlan.unknown) {
258
- context.logger.error(`[naming.convention.lint] unknown top-level directory '${unknownDir}'; register it or remove it`);
259
- violations += 1;
260
- }
261
- // Validate ephemeral root names (kebab-case check on the root name itself)
262
- for (const ephemeral of scanPlan.ephemeralRoots) {
263
- const name = ephemeral.startsWith(".") ? ephemeral.slice(1) : ephemeral;
264
- if (name && !name.includes("_") && !(/[A-Z]/.test(name) && /[a-z]/.test(name))) {
265
- // ok
266
- }
267
- else if (name && (name.includes("_") || (/[A-Z]/.test(name) && /[a-z]/.test(name)))) {
268
- context.logger.error(`[naming.convention.lint] top-level directory '${ephemeral}' violates naming convention`);
269
- violations += 1;
270
- }
271
- }
272
- // Scan recursive roots
273
- for (const rootName of scanPlan.recursiveRoots) {
274
- const scanDir = join(workspaceRoot, rootName);
275
- const files = await collectAllFilesForNaming(scanDir, ignorePatterns);
276
- for (const filePath of files) {
277
- const fileName = basename(filePath);
278
- const relPath = relative(workspaceRoot, filePath).replace(/\\/g, "/");
279
- if (isNamingExempt(fileName, relPath))
280
- continue;
281
- if (isSegmentIgnored(relPath, ignorePatterns))
282
- continue;
283
- checkedFiles += 1;
284
- if (hasNamingViolation(fileName)) {
285
- context.logger.error(`${relPath}: "${fileName}" violates kebab-case — use only lowercase letters, digits, and hyphens`);
286
- violations += 1;
287
- }
288
- }
289
- }
290
- // Scan ephemeral root contents only when --include-ignored is passed
291
- if (includeIgnored) {
292
- for (const rootName of scanPlan.ephemeralRoots) {
293
- const scanDir = join(workspaceRoot, rootName);
294
- const files = await collectAllFilesForNaming(scanDir, ignorePatterns);
295
- for (const filePath of files) {
296
- const fileName = basename(filePath);
297
- const relPath = relative(workspaceRoot, filePath).replace(/\\/g, "/");
298
- if (isNamingExempt(fileName, relPath))
299
- continue;
300
- if (isSegmentIgnored(relPath, ignorePatterns))
301
- continue;
302
- checkedFiles += 1;
303
- if (hasNamingViolation(fileName)) {
304
- context.logger.error(`${relPath}: "${fileName}" violates kebab-case — use only lowercase letters, digits, and hyphens`);
305
- violations += 1;
306
- }
307
- }
308
- }
309
- }
310
- return {
311
- data: {
312
- violations,
313
- checkedFiles,
314
- scannedRoots: scanPlan.recursiveRoots,
315
- ephemeralRootsSkipped: includeIgnored ? [] : scanPlan.ephemeralRoots,
316
- unknownTopLevelDirs: scanPlan.unknown,
317
- },
318
- exitCode: violations > 0 ? 1 : 0,
319
- summary: violations > 0
320
- ? undefined
321
- : `[naming.convention] OK (${checkedFiles} non-exempt files checked)`,
322
- };
323
- }
324
- //# sourceMappingURL=naming-convention.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"naming-convention.js","sourceRoot":"","sources":["../../../os/naming/naming-convention.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { ForgeModule } from "../../src/forge-module.ts";
2
- export declare const forgeNamingModule: ForgeModule;
3
- //# sourceMappingURL=naming.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"naming.module.d.ts","sourceRoot":"","sources":["../../../os/naming/naming.module.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,eAAO,MAAM,iBAAiB,EAAE,WAqB/B,CAAC"}
@@ -1,33 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>Register the forge naming convention lint command with the Site OS kernel registry.</purpose>
4
- <non-goals>
5
- <item>Do not register project-specific naming commands (naming.pages.lint, etc.) — those stay in site-kernel-checks.</item>
6
- </non-goals>
7
- </MODULE_CONTRACT>
8
- <CHANGE_SUMMARY>
9
- <item>RFC-0374: initial forgeNamingModule registering naming.convention.lint.</item>
10
- </CHANGE_SUMMARY>
11
- */
12
- export const forgeNamingModule = {
13
- name: "forge-naming",
14
- version: "0.1.0",
15
- async register(registry) {
16
- const { runNamingConventionLint } = await import("./naming-convention.js");
17
- registry.registerCommand({
18
- name: "naming.convention.lint",
19
- description: "Validate all filenames use kebab-case (no underscores) across registered workspace roots.",
20
- scope: "workspace",
21
- supportsAllSites: true,
22
- flags: {
23
- "include-ignored": {
24
- kind: "boolean",
25
- description: "Also scan files ignored by .gitignore or .windsurfignore.",
26
- },
27
- },
28
- reads: ["packages/**/*.{ts,tsx}", "apps/**/*.{ts,tsx}", "services/**/*.{ts,tsx}"],
29
- execute: runNamingConventionLint,
30
- });
31
- },
32
- };
33
- //# sourceMappingURL=naming.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"naming.module.js","sourceRoot":"","sources":["../../../os/naming/naming.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAIF,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;IAChB,KAAK,CAAC,QAAQ,CAAC,QAAQ;QACrB,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAC3E,QAAQ,CAAC,eAAe,CAAC;YACvB,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EACT,2FAA2F;YAC7F,KAAK,EAAE,WAAW;YAClB,gBAAgB,EAAE,IAAI;YACtB,KAAK,EAAE;gBACL,iBAAiB,EAAE;oBACjB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,2DAA2D;iBACzE;aACF;YACD,KAAK,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,wBAAwB,CAAC;YACjF,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,2 +0,0 @@
1
- export { forgeNotesModule } from "./notes.module.ts";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../os/notes/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,10 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>Re-export forgeNotesModule and note validator handlers.</purpose>
4
- </MODULE_CONTRACT>
5
- <CHANGE_SUMMARY>
6
- <item>RFC-0808: initial notes module index.</item>
7
- </CHANGE_SUMMARY>
8
- */
9
- export { forgeNotesModule } from "./notes.module.js";
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../os/notes/index.ts"],"names":[],"mappings":"AAAA;;;;;;;EAOE;AAEF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { ForgeModule } from "../../src/forge-module.ts";
2
- export declare const forgeNotesModule: ForgeModule;
3
- //# sourceMappingURL=notes.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notes.module.d.ts","sourceRoot":"","sources":["../../../os/notes/notes.module.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO7D,eAAO,MAAM,gBAAgB,EAAE,WA0F9B,CAAC"}
@@ -1,83 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>Register note validation commands (note.link.validate, note.frontmatter.validate, note.orphan.detect) with the forge kernel registry.</purpose>
4
- <non-goals>
5
- <item>Do not implement handler logic here — delegate to src/validators/.</item>
6
- </non-goals>
7
- </MODULE_CONTRACT>
8
- <CHANGE_SUMMARY>
9
- <item>RFC-0808: initial forgeNotesModule registering 3 note validation commands.</item>
10
- </CHANGE_SUMMARY>
11
- */
12
- export const forgeNotesModule = {
13
- name: "forge-notes",
14
- version: "0.1.0",
15
- async register(registry) {
16
- const { runNoteLinkValidate } = await import("../../src/validators/note-link-validate.js");
17
- const { runNoteFrontmatterValidate } = await import("../../src/validators/note-frontmatter-validate.js");
18
- const { runNoteOrphanDetect } = await import("../../src/validators/note-orphan-detect.js");
19
- const noteLinkValidateWrapper = async (input, context) => {
20
- return runNoteLinkValidate(input, context);
21
- };
22
- const noteFrontmatterValidateWrapper = async (input, context) => {
23
- return runNoteFrontmatterValidate(input, context);
24
- };
25
- const noteOrphanDetectWrapper = async (input, context) => {
26
- return runNoteOrphanDetect(input, context);
27
- };
28
- registry.registerCommand({
29
- name: "note.link.validate",
30
- description: "Validate wikilink integrity across an Obsidian vault. Scans [[wikilinks]] and resolves each against the note graph.",
31
- scope: "workspace",
32
- supportsAllSites: false,
33
- flags: {
34
- "vault-dir": {
35
- kind: "string",
36
- description: "Vault directory relative to workspace root (default: vault).",
37
- },
38
- path: {
39
- kind: "string",
40
- description: "Subdirectory within the vault to scope the scan to.",
41
- },
42
- },
43
- reads: ["vault/**/*.md"],
44
- cacheable: false,
45
- execute: noteLinkValidateWrapper,
46
- });
47
- registry.registerCommand({
48
- name: "note.frontmatter.validate",
49
- description: "Validate frontmatter consistency across an Obsidian vault. Checks for required fields in YAML frontmatter.",
50
- scope: "workspace",
51
- supportsAllSites: false,
52
- flags: {
53
- "vault-dir": {
54
- kind: "string",
55
- description: "Vault directory relative to workspace root (default: vault).",
56
- },
57
- fields: {
58
- kind: "string",
59
- description: "Comma-separated list of required fields (default: title).",
60
- },
61
- },
62
- reads: ["vault/**/*.md"],
63
- cacheable: false,
64
- execute: noteFrontmatterValidateWrapper,
65
- });
66
- registry.registerCommand({
67
- name: "note.orphan.detect",
68
- description: "Detect orphan notes in an Obsidian vault — notes with zero inbound wikilinks. Always exits zero (warnings, not errors).",
69
- scope: "workspace",
70
- supportsAllSites: false,
71
- flags: {
72
- "vault-dir": {
73
- kind: "string",
74
- description: "Vault directory relative to workspace root (default: vault).",
75
- },
76
- },
77
- reads: ["vault/**/*.md"],
78
- cacheable: false,
79
- execute: noteOrphanDetectWrapper,
80
- });
81
- },
82
- };
83
- //# sourceMappingURL=notes.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notes.module.js","sourceRoot":"","sources":["../../../os/notes/notes.module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AASF,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;IAChB,KAAK,CAAC,QAAQ,CAAC,QAAQ;QACrB,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;QAC3F,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CACjD,mDAAmD,CACpD,CAAC;QACF,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,4CAA4C,CAAC,CAAC;QAE3F,MAAM,uBAAuB,GAAG,KAAK,EACnC,KAAwB,EACxB,OAA4B,EACC,EAAE;YAC/B,OAAO,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,MAAM,8BAA8B,GAAG,KAAK,EAC1C,KAAwB,EACxB,OAA4B,EACC,EAAE;YAC/B,OAAO,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC;QAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,KAAwB,EACxB,OAA4B,EACC,EAAE;YAC/B,OAAO,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC;QAEF,QAAQ,CAAC,eAAe,CAAC;YACvB,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EACT,qHAAqH;YACvH,KAAK,EAAE,WAAW;YAClB,gBAAgB,EAAE,KAAK;YACvB,KAAK,EAAE;gBACL,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8DAA8D;iBAC5E;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qDAAqD;iBACnE;aACF;YACD,KAAK,EAAE,CAAC,eAAe,CAAC;YACxB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACvB,IAAI,EAAE,2BAA2B;YACjC,WAAW,EACT,4GAA4G;YAC9G,KAAK,EAAE,WAAW;YAClB,gBAAgB,EAAE,KAAK;YACvB,KAAK,EAAE;gBACL,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8DAA8D;iBAC5E;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2DAA2D;iBACzE;aACF;YACD,KAAK,EAAE,CAAC,eAAe,CAAC;YACxB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,8BAA8B;SACxC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACvB,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EACT,yHAAyH;YAC3H,KAAK,EAAE,WAAW;YAClB,gBAAgB,EAAE,KAAK;YACvB,KAAK,EAAE;gBACL,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8DAA8D;iBAC5E;aACF;YACD,KAAK,EAAE,CAAC,eAAe,CAAC;YACxB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,12 +0,0 @@
1
- export interface ParsedPlan {
2
- frontmatter: Record<string, unknown>;
3
- body: string;
4
- }
5
- export declare function parsePlanFile(source: string): ParsedPlan;
6
- export declare function listPlanFiles(planDirPath: string): Promise<string[]>;
7
- export declare function readAndParsePlan(planDirPath: string, fileName: string): Promise<{
8
- fileName: string;
9
- parsed: ParsedPlan;
10
- } | undefined>;
11
- export declare function extractRfcIdFromPlanFile(fileName: string): string | undefined;
12
- //# sourceMappingURL=frontmatter-io.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frontmatter-io.d.ts","sourceRoot":"","sources":["../../../os/plan/frontmatter-io.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CASxD;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2B1E;AAED,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,SAAS,CAAC,CAQ/D;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG7E"}
@@ -1,69 +0,0 @@
1
- /*
2
- <MODULE_CONTRACT>
3
- <purpose>
4
- Plan frontmatter file I/O — recursive file discovery and YAML frontmatter
5
- parsing for plan files under docs/plans/.
6
- </purpose>
7
- <non-goals>
8
- <item>Do not validate plan content — that is a future concern.</item>
9
- </non-goals>
10
- </MODULE_CONTRACT>
11
- <CHANGE_SUMMARY>
12
- <item>RFC-0521: initial plan frontmatter I/O.</item>
13
- </CHANGE_SUMMARY>
14
- */
15
- import fs from "node:fs/promises";
16
- import path from "node:path";
17
- import YAML from "yaml";
18
- import { PLAN_FILE_PATTERN } from "./types.js";
19
- export function parsePlanFile(source) {
20
- const match = source.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);
21
- if (!match) {
22
- return { frontmatter: {}, body: source };
23
- }
24
- return {
25
- frontmatter: (YAML.parse(match[1]) ?? {}),
26
- body: match[2] ?? "",
27
- };
28
- }
29
- export async function listPlanFiles(planDirPath) {
30
- const results = [];
31
- async function scanDir(dirPath, relativePrefix) {
32
- try {
33
- const entries = await fs.readdir(dirPath, { withFileTypes: true });
34
- for (const entry of entries) {
35
- const relativePath = relativePrefix ? `${relativePrefix}/${entry.name}` : entry.name;
36
- if (entry.isDirectory()) {
37
- await scanDir(path.join(dirPath, entry.name), relativePath);
38
- }
39
- else if (entry.isFile() &&
40
- entry.name.endsWith(".md") &&
41
- !entry.name.startsWith("plan-0000") &&
42
- entry.name !== "README.md" &&
43
- PLAN_FILE_PATTERN.test(entry.name)) {
44
- results.push(relativePath);
45
- }
46
- }
47
- }
48
- catch {
49
- // Directory doesn't exist or is unreadable — return empty
50
- }
51
- }
52
- await scanDir(planDirPath, "");
53
- return results.sort();
54
- }
55
- export async function readAndParsePlan(planDirPath, fileName) {
56
- try {
57
- const filePath = path.join(planDirPath, fileName);
58
- const content = await fs.readFile(filePath, "utf-8");
59
- return { fileName, parsed: parsePlanFile(content) };
60
- }
61
- catch {
62
- return undefined;
63
- }
64
- }
65
- export function extractRfcIdFromPlanFile(fileName) {
66
- const match = path.basename(fileName).match(/^plan-(rfc-\d{4})-/i);
67
- return match ? match[1].toUpperCase() : undefined;
68
- }
69
- //# sourceMappingURL=frontmatter-io.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"frontmatter-io.js","sourceRoot":"","sources":["../../../os/plan/frontmatter-io.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { ForgeCommandInput, ForgeCommandResult, ForgeRuntimeContext } from "../../../src/types.ts";
2
- import type { PlanArchiveResult } from "../types.ts";
3
- export declare function runPlanArchive(input: ForgeCommandInput, context: ForgeRuntimeContext): Promise<ForgeCommandResult<PlanArchiveResult>>;
4
- //# sourceMappingURL=archive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../../../os/plan/handlers/archive.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrD,wBAAsB,cAAc,CAClC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAwMhD"}