@amsterdamdatalabs/enact-extensions 0.1.42 → 0.1.48

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 (596) hide show
  1. package/README.md +67 -108
  2. package/bundled-extensions.json +3 -0
  3. package/dist/create/claude.d.ts.map +1 -1
  4. package/dist/create/claude.js +1 -1
  5. package/dist/create/claude.js.map +1 -1
  6. package/dist/create/codex.d.ts.map +1 -1
  7. package/dist/create/codex.js +2 -3
  8. package/dist/create/codex.js.map +1 -1
  9. package/dist/create/cursor.d.ts.map +1 -1
  10. package/dist/create/cursor.js +3 -7
  11. package/dist/create/cursor.js.map +1 -1
  12. package/dist/create/enact.d.ts.map +1 -1
  13. package/dist/create/enact.js +2 -0
  14. package/dist/create/enact.js.map +1 -1
  15. package/dist/create/index.d.ts +4 -1
  16. package/dist/create/index.d.ts.map +1 -1
  17. package/dist/create/index.js +9 -3
  18. package/dist/create/index.js.map +1 -1
  19. package/dist/create/kimi.d.ts +16 -0
  20. package/dist/create/kimi.d.ts.map +1 -0
  21. package/dist/create/kimi.js +86 -0
  22. package/dist/create/kimi.js.map +1 -0
  23. package/dist/create/opencode.d.ts +129 -0
  24. package/dist/create/opencode.d.ts.map +1 -0
  25. package/dist/create/opencode.js +689 -0
  26. package/dist/create/opencode.js.map +1 -0
  27. package/dist/index.d.ts +14 -19
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +11 -11
  30. package/dist/index.js.map +1 -1
  31. package/dist/internal/agents.d.ts +11 -1
  32. package/dist/internal/agents.d.ts.map +1 -1
  33. package/dist/internal/agents.js +120 -4
  34. package/dist/internal/agents.js.map +1 -1
  35. package/dist/internal/extensions-table.d.ts +87 -0
  36. package/dist/internal/extensions-table.d.ts.map +1 -0
  37. package/dist/internal/extensions-table.js +195 -0
  38. package/dist/internal/extensions-table.js.map +1 -0
  39. package/dist/internal/file-ops.d.ts +36 -0
  40. package/dist/internal/file-ops.d.ts.map +1 -0
  41. package/dist/internal/file-ops.js +89 -0
  42. package/dist/internal/file-ops.js.map +1 -0
  43. package/dist/internal/hooks.d.ts +56 -0
  44. package/dist/internal/hooks.d.ts.map +1 -0
  45. package/dist/internal/hooks.js +128 -0
  46. package/dist/internal/hooks.js.map +1 -0
  47. package/dist/internal/io.d.ts.map +1 -1
  48. package/dist/internal/io.js.map +1 -1
  49. package/dist/internal/json-merge.d.ts +63 -0
  50. package/dist/internal/json-merge.d.ts.map +1 -0
  51. package/dist/internal/json-merge.js +124 -0
  52. package/dist/internal/json-merge.js.map +1 -0
  53. package/dist/internal/lock-ownership.d.ts +41 -0
  54. package/dist/internal/lock-ownership.d.ts.map +1 -0
  55. package/dist/internal/lock-ownership.js +24 -0
  56. package/dist/internal/lock-ownership.js.map +1 -0
  57. package/dist/internal/pick.d.ts.map +1 -1
  58. package/dist/internal/pick.js.map +1 -1
  59. package/dist/internal/platform.d.ts.map +1 -1
  60. package/dist/internal/platform.js +82 -42
  61. package/dist/internal/platform.js.map +1 -1
  62. package/dist/internal/schema.d.ts.map +1 -1
  63. package/dist/internal/schema.js.map +1 -1
  64. package/dist/internal/toml-block.d.ts +59 -0
  65. package/dist/internal/toml-block.d.ts.map +1 -0
  66. package/dist/internal/toml-block.js +113 -0
  67. package/dist/internal/toml-block.js.map +1 -0
  68. package/dist/internal/types.d.ts +2 -1
  69. package/dist/internal/types.d.ts.map +1 -1
  70. package/dist/projection.d.ts +47 -0
  71. package/dist/projection.d.ts.map +1 -0
  72. package/dist/projection.js +180 -0
  73. package/dist/projection.js.map +1 -0
  74. package/dist/validate/index.d.ts +10 -5
  75. package/dist/validate/index.d.ts.map +1 -1
  76. package/dist/validate/index.js +59 -10
  77. package/dist/validate/index.js.map +1 -1
  78. package/dist/validate/kimi.d.ts +3 -0
  79. package/dist/validate/kimi.d.ts.map +1 -0
  80. package/dist/validate/kimi.js +11 -0
  81. package/dist/validate/kimi.js.map +1 -0
  82. package/dist/validate/opencode.d.ts +3 -0
  83. package/dist/validate/opencode.d.ts.map +1 -0
  84. package/dist/validate/opencode.js +11 -0
  85. package/dist/validate/opencode.js.map +1 -0
  86. package/dist/validate/run.d.ts +39 -0
  87. package/dist/validate/run.d.ts.map +1 -0
  88. package/dist/validate/run.js +60 -0
  89. package/dist/validate/run.js.map +1 -0
  90. package/extensions/enact-loop/.agents/plugin.json +12 -8
  91. package/extensions/enact-loop/scripts/validate.mjs +84 -2
  92. package/extensions/enact-loop/skills/enact-loop/SKILL.md +36 -466
  93. package/extensions/enact-loop/skills/enact-loop/references/loop-contract.md +114 -0
  94. package/extensions/enact-loop/skills/loop-budget/SKILL.md +43 -26
  95. package/extensions/enact-loop/skills/loop-intake/SKILL.md +44 -32
  96. package/extensions/enact-repo/.agents/plugin.json +55 -0
  97. package/extensions/enact-repo/.mcp.json +20 -0
  98. package/extensions/enact-repo/README.md +90 -0
  99. package/extensions/enact-repo/hooks/hooks.json +98 -0
  100. package/extensions/enact-repo/lean-ctx/config.toml +35 -0
  101. package/extensions/enact-repo/lean-ctx/layout.toml +5 -0
  102. package/extensions/enact-repo/skills/aca-sandboxes/SKILL.md +53 -0
  103. package/extensions/enact-repo/skills/aca-sandboxes/references/capabilities.md +52 -0
  104. package/extensions/enact-repo/skills/aca-sandboxes/references/install.md +87 -0
  105. package/extensions/enact-repo/skills/aca-sandboxes/references/prerequisites.md +52 -0
  106. package/extensions/enact-repo/skills/aca-sandboxes/references/quickstart.md +164 -0
  107. package/extensions/enact-repo/skills/aca-sandboxes/references/reference-advanced.md +251 -0
  108. package/extensions/enact-repo/skills/aca-sandboxes/references/reference.md +287 -0
  109. package/extensions/enact-repo/skills/aca-sandboxes/references/response-cues.md +71 -0
  110. package/extensions/enact-repo/skills/aca-sandboxes/references/scenarios.md +219 -0
  111. package/extensions/enact-repo/skills/aca-sandboxes/version.json +4 -0
  112. package/extensions/enact-repo/skills/backend-remove-deadcode/SKILL.md +96 -0
  113. package/extensions/enact-repo/skills/cmux-leader/SKILL.md +61 -0
  114. package/extensions/enact-repo/skills/cmux-send/SKILL.md +61 -0
  115. package/extensions/enact-repo/skills/code-review/SKILL.md +100 -0
  116. package/extensions/enact-repo/skills/codebase-design/SKILL.md +98 -0
  117. package/extensions/enact-repo/skills/codebase-design/references/DEEPENING.md +37 -0
  118. package/extensions/enact-repo/skills/codebase-design/references/DESIGN-IT-TWICE.md +44 -0
  119. package/extensions/enact-repo/skills/codebase-design/references/TESTABILITY.md +29 -0
  120. package/extensions/enact-repo/skills/computer-use/SKILL.md +76 -0
  121. package/extensions/enact-repo/skills/debug-issue/SKILL.md +40 -0
  122. package/extensions/enact-repo/skills/diagnosing-bugs/SKILL.md +100 -0
  123. package/extensions/enact-repo/skills/diagnosing-bugs/references/FEEDBACK-LOOP-TACTICS.md +34 -0
  124. package/extensions/enact-repo/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  125. package/extensions/enact-repo/skills/domain-modeling/SKILL.md +86 -0
  126. package/extensions/enact-repo/skills/domain-modeling/references/ADR-FORMAT.md +47 -0
  127. package/extensions/enact-repo/skills/domain-modeling/references/CONTEXT-FORMAT.md +60 -0
  128. package/extensions/enact-repo/skills/explore-codebase/SKILL.md +41 -0
  129. package/extensions/enact-repo/skills/frontend-design/LICENSE.txt +177 -0
  130. package/extensions/enact-repo/skills/frontend-design/SKILL.md +56 -0
  131. package/extensions/enact-repo/skills/grill-me/SKILL.md +20 -0
  132. package/extensions/enact-repo/skills/grill-with-docs/SKILL.md +20 -0
  133. package/extensions/enact-repo/skills/handoff/SKILL.md +28 -0
  134. package/extensions/enact-repo/skills/http-contract-migration/SKILL.md +74 -0
  135. package/extensions/enact-repo/skills/http-contract-migration/references/compatibility-and-gates.md +26 -0
  136. package/extensions/enact-repo/skills/http-contract-migration/references/hexagonal-boundary.md +16 -0
  137. package/extensions/enact-repo/skills/http-contract-migration/references/publication-and-adoption.md +31 -0
  138. package/extensions/enact-repo/skills/http-contract-migration/references/wire-fidelity-and-dto.md +31 -0
  139. package/extensions/enact-repo/skills/implement/SKILL.md +28 -0
  140. package/extensions/enact-repo/skills/improve-codebase-architecture/SKILL.md +80 -0
  141. package/extensions/enact-repo/skills/improve-codebase-architecture/references/HTML-REPORT.md +123 -0
  142. package/extensions/enact-repo/skills/interaction-design/SKILL.md +30 -0
  143. package/extensions/enact-repo/skills/interaction-design/references/Workflow.md +146 -0
  144. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-gsap.md +219 -0
  145. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-native.md +110 -0
  146. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries.md +177 -0
  147. package/extensions/enact-repo/skills/interaction-design/references/interaction-patterns.md +166 -0
  148. package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns-advanced.md +285 -0
  149. package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns.md +254 -0
  150. package/extensions/enact-repo/skills/interaction-design/references/scroll-animations-reveals.md +213 -0
  151. package/extensions/enact-repo/skills/interaction-design/references/scroll-animations.md +208 -0
  152. package/extensions/enact-repo/skills/lean-ctx/SKILL.md +81 -0
  153. package/extensions/enact-repo/skills/orca-cli/SKILL.md +88 -0
  154. package/extensions/enact-repo/skills/orchestration/SKILL.md +80 -0
  155. package/extensions/enact-repo/skills/prototype/SKILL.md +37 -0
  156. package/extensions/enact-repo/skills/prototype/references/LOGIC.md +79 -0
  157. package/extensions/enact-repo/skills/prototype/references/UI.md +112 -0
  158. package/extensions/enact-repo/skills/refactor-safely/SKILL.md +44 -0
  159. package/extensions/enact-repo/skills/remove-deadcode/SKILL.md +54 -0
  160. package/extensions/enact-repo/skills/research/SKILL.md +27 -0
  161. package/extensions/enact-repo/skills/resolving-merge-conflicts/SKILL.md +28 -0
  162. package/extensions/enact-repo/skills/review-changes/SKILL.md +45 -0
  163. package/extensions/enact-repo/skills/tailwind-4-docs/SKILL.md +88 -0
  164. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/accent-color.mdx +149 -0
  165. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/adding-custom-styles.mdx +635 -0
  166. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-content.mdx +300 -0
  167. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-items.mdx +241 -0
  168. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-self.mdx +294 -0
  169. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/animation.mdx +286 -0
  170. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/appearance.mdx +180 -0
  171. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/aspect-ratio.mdx +98 -0
  172. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-blur.mdx +109 -0
  173. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-brightness.mdx +82 -0
  174. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-contrast.mdx +82 -0
  175. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-grayscale.mdx +99 -0
  176. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-hue-rotate.mdx +173 -0
  177. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-invert.mdx +99 -0
  178. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-opacity.mdx +103 -0
  179. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-saturate.mdx +98 -0
  180. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-sepia.mdx +95 -0
  181. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter.mdx +113 -0
  182. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backface-visibility.mdx +110 -0
  183. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-attachment.mdx +126 -0
  184. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-blend-mode.mdx +79 -0
  185. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-clip.mdx +85 -0
  186. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-color.mdx +176 -0
  187. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-image.mdx +349 -0
  188. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-origin.mdx +64 -0
  189. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-position.mdx +171 -0
  190. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-repeat.mdx +127 -0
  191. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-size.mdx +100 -0
  192. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/block-size.mdx +190 -0
  193. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-collapse.mdx +181 -0
  194. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-color.mdx +316 -0
  195. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-radius.mdx +347 -0
  196. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-spacing.mdx +117 -0
  197. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-style.mdx +129 -0
  198. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-width.mdx +344 -0
  199. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-decoration-break.mdx +71 -0
  200. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-shadow.mdx +497 -0
  201. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-sizing.mdx +175 -0
  202. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-after.mdx +38 -0
  203. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-before.mdx +38 -0
  204. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-inside.mdx +34 -0
  205. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caption-side.mdx +190 -0
  206. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caret-color.mdx +66 -0
  207. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/clear.mdx +224 -0
  208. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color-scheme.mdx +81 -0
  209. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color.mdx +125 -0
  210. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/colors.mdx +927 -0
  211. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/columns.mdx +310 -0
  212. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/compatibility.mdx +193 -0
  213. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/content.mdx +129 -0
  214. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/cursor.mdx +104 -0
  215. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/dark-mode.mdx +191 -0
  216. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/detecting-classes-in-source-files.mdx +315 -0
  217. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/display.mdx +523 -0
  218. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/editor-setup.mdx +90 -0
  219. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/field-sizing.mdx +75 -0
  220. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/fill.mdx +100 -0
  221. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-blur.mdx +114 -0
  222. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-brightness.mdx +102 -0
  223. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-contrast.mdx +102 -0
  224. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-drop-shadow.mdx +230 -0
  225. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-grayscale.mdx +101 -0
  226. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-hue-rotate.mdx +171 -0
  227. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-invert.mdx +93 -0
  228. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-saturate.mdx +109 -0
  229. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-sepia.mdx +92 -0
  230. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter.mdx +113 -0
  231. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-basis.mdx +144 -0
  232. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-direction.mdx +130 -0
  233. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-grow.mdx +129 -0
  234. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-shrink.mdx +95 -0
  235. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-wrap.mdx +118 -0
  236. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex.mdx +164 -0
  237. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/float.mdx +197 -0
  238. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-family.mdx +119 -0
  239. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-feature-settings.mdx +52 -0
  240. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-size.mdx +184 -0
  241. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-smoothing.mdx +67 -0
  242. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-stretch.mdx +138 -0
  243. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-style.mdx +62 -0
  244. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-variant-numeric.mdx +228 -0
  245. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-weight.mdx +105 -0
  246. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/forced-color-adjust.mdx +152 -0
  247. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/functions-and-directives.mdx +322 -0
  248. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/gap.mdx +100 -0
  249. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-columns.mdx +43 -0
  250. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-flow.mdx +58 -0
  251. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-rows.mdx +43 -0
  252. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-column.mdx +124 -0
  253. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-row.mdx +115 -0
  254. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-columns.mdx +101 -0
  255. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-rows.mdx +108 -0
  256. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/height.mdx +260 -0
  257. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hover-focus-and-other-states.mdx +4935 -0
  258. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hyphens.mdx +112 -0
  259. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/inline-size.mdx +191 -0
  260. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/isolation.mdx +30 -0
  261. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-content.mdx +348 -0
  262. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-items.mdx +286 -0
  263. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-self.mdx +282 -0
  264. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/letter-spacing.mdx +100 -0
  265. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-clamp.mdx +110 -0
  266. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-height.mdx +147 -0
  267. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-image.mdx +80 -0
  268. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-position.mdx +67 -0
  269. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-type.mdx +86 -0
  270. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/margin.mdx +397 -0
  271. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-clip.mdx +66 -0
  272. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-composite.mdx +70 -0
  273. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-image.mdx +933 -0
  274. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-mode.mdx +114 -0
  275. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-origin.mdx +66 -0
  276. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-position.mdx +117 -0
  277. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-repeat.mdx +169 -0
  278. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-size.mdx +104 -0
  279. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-type.mdx +98 -0
  280. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-block-size.mdx +153 -0
  281. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-height.mdx +164 -0
  282. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-inline-size.mdx +185 -0
  283. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-width.mdx +214 -0
  284. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-block-size.mdx +146 -0
  285. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-height.mdx +150 -0
  286. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-inline-size.mdx +153 -0
  287. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-width.mdx +153 -0
  288. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mix-blend-mode.mdx +103 -0
  289. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-fit.mdx +147 -0
  290. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-position.mdx +182 -0
  291. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/opacity.mdx +84 -0
  292. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/order.mdx +94 -0
  293. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-color.mdx +130 -0
  294. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-offset.mdx +72 -0
  295. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-style.mdx +134 -0
  296. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-width.mdx +91 -0
  297. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow-wrap.mdx +130 -0
  298. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow.mdx +665 -0
  299. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overscroll-behavior.mdx +151 -0
  300. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/padding.mdx +232 -0
  301. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective-origin.mdx +127 -0
  302. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective.mdx +137 -0
  303. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-content.mdx +257 -0
  304. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-items.mdx +269 -0
  305. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-self.mdx +257 -0
  306. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/pointer-events.mdx +101 -0
  307. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/position.mdx +399 -0
  308. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/preflight.mdx +291 -0
  309. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/resize.mdx +110 -0
  310. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/responsive-design.mdx +666 -0
  311. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/rotate.mdx +291 -0
  312. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scale.mdx +360 -0
  313. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-behavior.mdx +39 -0
  314. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-margin.mdx +268 -0
  315. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-padding.mdx +255 -0
  316. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-align.mdx +281 -0
  317. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-stop.mdx +198 -0
  318. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-type.mdx +284 -0
  319. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/skew.mdx +352 -0
  320. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke-width.mdx +74 -0
  321. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke.mdx +103 -0
  322. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/styling-with-utility-classes.mdx +1020 -0
  323. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/table-layout.mdx +212 -0
  324. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-align.mdx +162 -0
  325. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-color.mdx +155 -0
  326. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-line.mdx +143 -0
  327. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-style.mdx +75 -0
  328. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-thickness.mdx +75 -0
  329. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-indent.mdx +74 -0
  330. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-overflow.mdx +103 -0
  331. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-shadow.mdx +177 -0
  332. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-transform.mdx +106 -0
  333. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-underline-offset.mdx +74 -0
  334. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-wrap.mdx +144 -0
  335. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/theme.mdx +1142 -0
  336. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/top-right-bottom-left.mdx +296 -0
  337. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/touch-action.mdx +95 -0
  338. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-origin.mdx +130 -0
  339. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-style.mdx +110 -0
  340. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform.mdx +51 -0
  341. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-behavior.mdx +76 -0
  342. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-delay.mdx +76 -0
  343. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-duration.mdx +82 -0
  344. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-property.mdx +137 -0
  345. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-timing-function.mdx +89 -0
  346. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/translate.mdx +487 -0
  347. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/upgrade-guide.mdx +910 -0
  348. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/user-select.mdx +114 -0
  349. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/vertical-align.mdx +194 -0
  350. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/visibility.mdx +287 -0
  351. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/white-space.mdx +211 -0
  352. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/width.mdx +264 -0
  353. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/will-change.mdx +47 -0
  354. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/word-break.mdx +94 -0
  355. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/z-index.mdx +104 -0
  356. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-catalog.md +251 -0
  357. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-index.tsx +237 -0
  358. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-source.txt +6 -0
  359. package/extensions/enact-repo/skills/tailwind-4-docs/references/gotchas.md +18 -0
  360. package/extensions/enact-repo/skills/tailwind-4-docs/scripts/sync_tailwind_docs.py +183 -0
  361. package/extensions/enact-repo/skills/tdd/SKILL.md +49 -0
  362. package/extensions/enact-repo/skills/tdd/references/mocking.md +59 -0
  363. package/extensions/enact-repo/skills/tdd/references/tests.md +77 -0
  364. package/extensions/enact-repo/skills/teach/SKILL.md +88 -0
  365. package/extensions/enact-repo/skills/teach/references/GLOSSARY-FORMAT.md +35 -0
  366. package/extensions/enact-repo/skills/teach/references/LEARNING-RECORD-FORMAT.md +46 -0
  367. package/extensions/enact-repo/skills/teach/references/MISSION-FORMAT.md +31 -0
  368. package/extensions/enact-repo/skills/teach/references/PHILOSOPHY.md +65 -0
  369. package/extensions/enact-repo/skills/teach/references/RESOURCES-FORMAT.md +32 -0
  370. package/extensions/enact-repo/skills/testing/SKILL.md +54 -0
  371. package/extensions/enact-repo/skills/to-spec/SKILL.md +85 -0
  372. package/extensions/enact-repo/skills/to-tickets/SKILL.md +75 -0
  373. package/extensions/enact-repo/skills/to-tickets/references/TICKET-TEMPLATES.md +39 -0
  374. package/extensions/enact-repo/skills/triage/SKILL.md +99 -0
  375. package/extensions/enact-repo/skills/triage/references/AGENT-BRIEF.md +207 -0
  376. package/extensions/enact-repo/skills/triage/references/NEEDS-INFO-TEMPLATE.md +17 -0
  377. package/extensions/enact-repo/skills/triage/references/OUT-OF-SCOPE.md +105 -0
  378. package/extensions/enact-repo/skills/ui-ux-pro-max/SKILL.md +32 -0
  379. package/extensions/enact-repo/skills/ui-ux-pro-max/references/Workflow.md +207 -0
  380. package/extensions/enact-repo/skills/ui-ux-pro-max/references/workflow-reference.md +175 -0
  381. package/extensions/enact-repo/skills/wayfinder/SKILL.md +100 -0
  382. package/extensions/enact-repo/skills/wayfinder/references/TEMPLATES.md +35 -0
  383. package/extensions/enact-repo/skills/wayfinder/references/TICKET-TYPES.md +8 -0
  384. package/extensions/enact-repo/skills/writing-great-skills/SKILL.md +93 -0
  385. package/extensions/enact-repo/skills/writing-great-skills/references/GLOSSARY.md +201 -0
  386. package/package.json +22 -17
  387. package/scripts/enact-extensions.mjs +411 -1006
  388. package/scripts/lib/allowed-plugins.mjs +52 -0
  389. package/scripts/lib/build-index.mjs +1 -3
  390. package/scripts/lib/resolve-bundle.mjs +1 -3
  391. package/scripts/lib/run-repo-doctor.mjs +604 -0
  392. package/scripts/lib/run-repo-install.mjs +1651 -0
  393. package/scripts/lib/run-sync.mjs +4 -10
  394. package/scripts/lib/run-validate.mjs +23 -39
  395. package/scripts/lib/skill-validator.mjs +1096 -0
  396. package/spec/enact.json +21 -3
  397. package/spec/enact.md +13 -12
  398. package/spec/kimi.json +100 -0
  399. package/spec/opencode.json +64 -0
  400. package/dist/install.d.ts +0 -235
  401. package/dist/install.d.ts.map +0 -1
  402. package/dist/install.js +0 -697
  403. package/dist/install.js.map +0 -1
  404. package/dist/internal/claude.d.ts +0 -65
  405. package/dist/internal/claude.d.ts.map +0 -1
  406. package/dist/internal/claude.js +0 -200
  407. package/dist/internal/claude.js.map +0 -1
  408. package/dist/internal/codex.d.ts +0 -43
  409. package/dist/internal/codex.d.ts.map +0 -1
  410. package/dist/internal/codex.js +0 -211
  411. package/dist/internal/codex.js.map +0 -1
  412. package/dist/internal/cursor.d.ts +0 -2
  413. package/dist/internal/cursor.d.ts.map +0 -1
  414. package/dist/internal/cursor.js +0 -6
  415. package/dist/internal/cursor.js.map +0 -1
  416. package/dist/principles.d.ts +0 -28
  417. package/dist/principles.d.ts.map +0 -1
  418. package/dist/principles.js +0 -159
  419. package/dist/principles.js.map +0 -1
  420. package/dist/provision.d.ts +0 -30
  421. package/dist/provision.d.ts.map +0 -1
  422. package/dist/provision.js +0 -202
  423. package/dist/provision.js.map +0 -1
  424. package/extensions/dev-state/.agents/plugin.json +0 -36
  425. package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +0 -194
  426. package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +0 -4
  427. package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +0 -130
  428. package/extensions/enact-context/.agents/plugin.json +0 -41
  429. package/extensions/enact-context/.mcp.json +0 -8
  430. package/extensions/enact-context/README.md +0 -25
  431. package/extensions/enact-context/assets/icon.png +0 -0
  432. package/extensions/enact-context/assets/logo.png +0 -0
  433. package/extensions/enact-context/hooks/hooks.json +0 -115
  434. package/extensions/enact-context/skills/enact-context/SKILL.md +0 -151
  435. package/extensions/enact-context/skills/enact-context/scripts/install.sh +0 -69
  436. package/extensions/enact-core/.agents/plugin.json +0 -40
  437. package/extensions/enact-core/OPERATING-PRINCIPLES.md +0 -7
  438. package/extensions/enact-core/hooks/hooks.json +0 -26
  439. package/extensions/enact-evolve/.agents/plugin.json +0 -47
  440. package/extensions/enact-evolve/agents/evolve-session-analyst.toml +0 -37
  441. package/extensions/enact-evolve/assets/icon.png +0 -0
  442. package/extensions/enact-evolve/assets/logo.png +0 -0
  443. package/extensions/enact-evolve/skills/mined-investigate-loop/SKILL.md +0 -68
  444. package/extensions/enact-evolve/skills/session-analysis/SKILL.md +0 -98
  445. package/extensions/enact-evolve/skills/session-analysis/scripts/run-evolve-analysis.sh +0 -343
  446. package/extensions/enact-factory/.agents/plugin.json +0 -49
  447. package/extensions/enact-factory/.mcp.json +0 -8
  448. package/extensions/enact-factory/agents/architect.toml +0 -34
  449. package/extensions/enact-factory/agents/code-reviewer.toml +0 -33
  450. package/extensions/enact-factory/agents/critic.toml +0 -39
  451. package/extensions/enact-factory/agents/executor.toml +0 -26
  452. package/extensions/enact-factory/agents/explore.toml +0 -25
  453. package/extensions/enact-factory/agents/planner.toml +0 -26
  454. package/extensions/enact-factory/agents/verifier.toml +0 -33
  455. package/extensions/enact-factory/assets/icon.png +0 -0
  456. package/extensions/enact-factory/assets/logo.png +0 -0
  457. package/extensions/enact-factory/skills/advisor/SKILL.md +0 -82
  458. package/extensions/enact-factory/skills/ai-slop-cleaner/SKILL.md +0 -57
  459. package/extensions/enact-factory/skills/autonomous-runner/SKILL.md +0 -353
  460. package/extensions/enact-factory/skills/azdo-ci-strategy/SKILL.md +0 -309
  461. package/extensions/enact-factory/skills/azdo-ci-strategy/references/build-failures.md +0 -60
  462. package/extensions/enact-factory/skills/azdo-ci-strategy/references/cli-reference.md +0 -87
  463. package/extensions/enact-factory/skills/azdo-ci-strategy/references/policies-and-pipelines.md +0 -132
  464. package/extensions/enact-factory/skills/azdo-ci-strategy/references/troubleshooting.md +0 -53
  465. package/extensions/enact-factory/skills/cmux-leader/SKILL.md +0 -74
  466. package/extensions/enact-factory/skills/cmux-send/SKILL.md +0 -50
  467. package/extensions/enact-factory/skills/committee/SKILL.md +0 -80
  468. package/extensions/enact-factory/skills/deep-interview/SKILL.md +0 -68
  469. package/extensions/enact-factory/skills/deslop-handover/SKILL.md +0 -97
  470. package/extensions/enact-factory/skills/deslop-handover/deslop.py +0 -181
  471. package/extensions/enact-factory/skills/drive-loop/SKILL.md +0 -394
  472. package/extensions/enact-factory/skills/drive-loop/references/contract-schema.md +0 -127
  473. package/extensions/enact-factory/skills/handoff/SKILL.md +0 -75
  474. package/extensions/enact-factory/skills/hyperplan/SKILL.md +0 -59
  475. package/extensions/enact-factory/skills/looplan/SKILL.md +0 -120
  476. package/extensions/enact-factory/skills/paseo-dispatch/SKILL.md +0 -141
  477. package/extensions/enact-factory/skills/plan/SKILL.md +0 -103
  478. package/extensions/enact-factory/skills/remove-deadcode/SKILL.md +0 -46
  479. package/extensions/enact-factory/skills/research/SKILL.md +0 -83
  480. package/extensions/enact-factory/skills/review/SKILL.md +0 -67
  481. package/extensions/enact-factory/skills/security-research/SKILL.md +0 -57
  482. package/extensions/enact-factory/skills/tdd/SKILL.md +0 -62
  483. package/extensions/enact-factory/skills/testing-strategy/SKILL.md +0 -172
  484. package/extensions/enact-factory/skills/trace/SKILL.md +0 -42
  485. package/extensions/enact-factory/skills/ultraqa/SKILL.md +0 -85
  486. package/extensions/enact-factory/skills/work-with-workitem/SKILL.md +0 -56
  487. package/extensions/enact-factory/skills/workitem-triage/SKILL.md +0 -42
  488. package/extensions/enact-wiki/.agents/plugin.json +0 -43
  489. package/extensions/enact-wiki/.mcp.json +0 -15
  490. package/extensions/enact-wiki/README.md +0 -44
  491. package/extensions/enact-wiki/assets/icon.png +0 -0
  492. package/extensions/enact-wiki/assets/logo.png +0 -0
  493. package/extensions/enact-wiki/skills/document-parser/SKILL.md +0 -17
  494. package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +0 -60
  495. package/extensions/enact-wiki/skills/document-parser/skill.json +0 -9
  496. package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +0 -30
  497. package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +0 -62
  498. package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +0 -34
  499. package/extensions/enact-wiki/skills/enact-wiki/references/query.md +0 -59
  500. package/extensions/enact-wiki/skills/search-lab/SKILL.md +0 -57
  501. package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +0 -23
  502. package/extensions/enact-wiki/skills/wiki/SKILL.md +0 -42
  503. package/extensions/net-revenue-management/.agents/plugin.json +0 -40
  504. package/extensions/net-revenue-management/.mcp.json +0 -9
  505. package/extensions/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -30
  506. package/extensions/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -31
  507. package/extensions/plugin-dev/.agents/plugin.json +0 -41
  508. package/extensions/plugin-dev/agents/agent-creator.md +0 -199
  509. package/extensions/plugin-dev/agents/plugin-validator.md +0 -91
  510. package/extensions/plugin-dev/agents/skill-reviewer.md +0 -212
  511. package/extensions/plugin-dev/skills/agent-development/SKILL.md +0 -641
  512. package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +0 -250
  513. package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +0 -461
  514. package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +0 -246
  515. package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +0 -216
  516. package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +0 -226
  517. package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +0 -464
  518. package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +0 -474
  519. package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +0 -176
  520. package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +0 -227
  521. package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +0 -227
  522. package/extensions/plugin-dev/skills/create-plugin/SKILL.md +0 -505
  523. package/extensions/plugin-dev/skills/hook-development/SKILL.md +0 -861
  524. package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +0 -55
  525. package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +0 -57
  526. package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +0 -48
  527. package/extensions/plugin-dev/skills/hook-development/references/advanced.md +0 -871
  528. package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +0 -145
  529. package/extensions/plugin-dev/skills/hook-development/references/migration.md +0 -392
  530. package/extensions/plugin-dev/skills/hook-development/references/patterns.md +0 -430
  531. package/extensions/plugin-dev/skills/hook-development/scripts/README.md +0 -181
  532. package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +0 -153
  533. package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +0 -276
  534. package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
  535. package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +0 -775
  536. package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +0 -20
  537. package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +0 -19
  538. package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +0 -38
  539. package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +0 -26
  540. package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +0 -601
  541. package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +0 -190
  542. package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +0 -572
  543. package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +0 -623
  544. package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +0 -221
  545. package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +0 -705
  546. package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +0 -774
  547. package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +0 -83
  548. package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +0 -611
  549. package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +0 -289
  550. package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +0 -592
  551. package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +0 -233
  552. package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +0 -193
  553. package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +0 -625
  554. package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +0 -116
  555. package/extensions/plugin-dev/skills/skill-development/SKILL.md +0 -562
  556. package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +0 -465
  557. package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +0 -167
  558. package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +0 -111
  559. package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +0 -225
  560. package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +0 -39
  561. package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +0 -379
  562. package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +0 -210
  563. package/extensions/plugin-dev/skills/start/SKILL.md +0 -82
  564. package/scripts/check-hooks.mjs +0 -174
  565. package/scripts/check-principles.mjs +0 -116
  566. package/scripts/hooks/session-start-drift-check.mjs +0 -49
  567. package/scripts/install.sh +0 -70
  568. package/scripts/lib/auto-update.mjs +0 -88
  569. package/scripts/lib/bundle-hash.mjs +0 -137
  570. package/scripts/lib/hooks.mjs +0 -585
  571. package/scripts/lib/ledger.mjs +0 -163
  572. package/scripts/lib/migrate-artifacts.mjs +0 -144
  573. package/scripts/lib/outdated.mjs +0 -144
  574. package/scripts/lib/postinstall-offer.mjs +0 -83
  575. package/scripts/lib/principles.mjs +0 -109
  576. package/scripts/lib/provision-mcp.mjs +0 -16
  577. package/scripts/lib/resolve-plugin-root.mjs +0 -9
  578. package/scripts/lib/run-install.mjs +0 -507
  579. package/scripts/lib/run-prune.mjs +0 -94
  580. package/scripts/lib/run-uninstall.mjs +0 -244
  581. package/scripts/lib/run-update.mjs +0 -165
  582. package/scripts/lib/serve.mjs +0 -472
  583. package/scripts/lib/ups-router.mjs +0 -392
  584. package/scripts/postinstall.mjs +0 -101
  585. package/scripts/setup-enact-context.sh +0 -28
  586. package/scripts/version-bump.sh +0 -484
  587. package/web/assets/README.md +0 -111
  588. package/web/assets/logo-full.png +0 -0
  589. package/web/assets/logo-slim.png +0 -0
  590. package/web/assets/tokens/base.css +0 -45
  591. package/web/assets/tokens/colors.css +0 -248
  592. package/web/assets/tokens/effects.css +0 -24
  593. package/web/assets/tokens/fonts.css +0 -8
  594. package/web/assets/tokens/index.css +0 -18
  595. package/web/assets/tokens/spacing.css +0 -50
  596. package/web/index.html +0 -1188
@@ -1,163 +0,0 @@
1
- import { appendFileSync, existsSync, mkdirSync, readFileSync } from "node:fs";
2
- import { homedir } from "node:os";
3
- import { dirname, join } from "node:path";
4
-
5
- /**
6
- * Install ledger — a JSONL record of install/uninstall events.
7
- *
8
- * There is exactly ONE ledger location — the GLOBAL file:
9
- * <home>/.enact/extensions/ledger.jsonl (home defaults to os.homedir())
10
- *
11
- * The local-vs-global install distinction is tracked PURELY as the `scope`
12
- * FIELD inside each entry (scope:"local" | scope:"global"); BOTH scopes write
13
- * to this single global ledger. The `home` override exists so tests never touch
14
- * the real ~/.enact.
15
- *
16
- * Entry shape: { ts, action, name, version, platform, scope, home, path, marketplaceName }
17
- *
18
- * All file I/O is best-effort: failures throw a catchable error so callers
19
- * (the install path) can swallow + warn rather than aborting an install.
20
- */
21
-
22
- /**
23
- * Resolve the on-disk ledger path. Always the single global file.
24
- * @param {object} [opts]
25
- * @param {string} [opts.home] - home dir. Defaults to os.homedir().
26
- * @returns {string}
27
- */
28
- export function ledgerPath({ home } = {}) {
29
- return join(home ?? homedir(), ".enact", "extensions", "ledger.jsonl");
30
- }
31
-
32
- /**
33
- * Append a single entry as one JSON line. Creates the parent dir if missing.
34
- * `ts` defaults to new Date().toISOString() when absent (an injected ts is kept).
35
- * Best-effort: throws a catchable error on I/O failure.
36
- *
37
- * @param {object} entry
38
- * @param {object} [opts] - { home }
39
- */
40
- export function appendEntry(entry, { home } = {}) {
41
- const record = { ts: entry.ts ?? new Date().toISOString(), ...entry };
42
- // Ensure ts wins even if entry has an explicit undefined.
43
- if (!record.ts) record.ts = new Date().toISOString();
44
- const path = ledgerPath({ home });
45
- mkdirSync(dirname(path), { recursive: true });
46
- appendFileSync(path, `${JSON.stringify(record)}\n`, "utf8");
47
- }
48
-
49
- /**
50
- * Read and parse all entries from the single global ledger.
51
- * Missing file → []. Malformed lines are skipped with a stderr warning.
52
- *
53
- * @param {object} [opts] - { home }
54
- * @returns {object[]}
55
- */
56
- export function readLedger({ home } = {}) {
57
- const path = ledgerPath({ home });
58
- if (!existsSync(path)) return [];
59
- let raw;
60
- try {
61
- raw = readFileSync(path, "utf8");
62
- } catch (err) {
63
- process.stderr.write(
64
- `[enact-extensions log] Warning: cannot read ledger ${path}: ${err instanceof Error ? err.message : String(err)}\n`,
65
- );
66
- return [];
67
- }
68
- const entries = [];
69
- for (const line of raw.split("\n")) {
70
- const trimmed = line.trim();
71
- if (!trimmed) continue;
72
- try {
73
- entries.push(JSON.parse(trimmed));
74
- } catch {
75
- process.stderr.write(
76
- `[enact-extensions log] Warning: skipping malformed ledger line in ${path}\n`,
77
- );
78
- }
79
- }
80
- return entries;
81
- }
82
-
83
- /**
84
- * Thin alias of {@link readLedger}, retained so existing callers keep working.
85
- * With the single-global ledger there is no merge to perform: global- and
86
- * local-scope entries are co-located in the one file.
87
- *
88
- * @param {object} [opts] - { home }
89
- * @returns {object[]}
90
- */
91
- export function readMerged({ home } = {}) {
92
- return readLedger({ home });
93
- }
94
-
95
- /**
96
- * Compute the current install state for `name` by replaying install/uninstall
97
- * events in ts order across the single global ledger. Returns the set of
98
- * still-installed targets as { platform, scope, home, path }.
99
- *
100
- * A target is keyed by platform+scope+home+path so the same plugin installed to
101
- * multiple platforms/homes is tracked independently.
102
- *
103
- * @param {string} name
104
- * @param {object} [opts] - { home }
105
- * @returns {{ platform: string, scope: string, home: string, path: string }[]}
106
- */
107
- export function findInstalled(name, { home } = {}) {
108
- const merged = readLedger({ home }).filter((e) => e && e.name === name);
109
- // Stable sort by ts (string ISO compares chronologically).
110
- merged.sort((a, b) => String(a.ts ?? "").localeCompare(String(b.ts ?? "")));
111
-
112
- const state = new Map();
113
- for (const e of merged) {
114
- const key = `${e.platform} ${e.scope} ${e.home ?? ""} ${e.path ?? ""}`;
115
- if (e.action === "install") {
116
- state.set(key, { platform: e.platform, scope: e.scope, home: e.home, path: e.path });
117
- } else if (e.action === "uninstall") {
118
- state.delete(key);
119
- }
120
- }
121
- return [...state.values()];
122
- }
123
-
124
- /**
125
- * Compute the current install state for ALL plugins by replaying install/uninstall
126
- * events in ts order across the single global ledger. Returns the set of
127
- * still-installed targets across all plugin names.
128
- *
129
- * Each returned entry carries the full ledger fields for the installed surface:
130
- * { name, version, platform, scope, home, path, hash, marketplaceName }
131
- *
132
- * A target is keyed by name+platform+scope+home+path so the same plugin installed
133
- * to multiple platforms/homes/names is tracked independently.
134
- *
135
- * @param {object} [opts] - { home }
136
- * @returns {{ name: string, version: string, platform: string, scope: string, home: string, path: string, hash: string|null, marketplaceName: string|null }[]}
137
- */
138
- export function listInstalled({ home } = {}) {
139
- const all = readLedger({ home });
140
- // Stable sort by ts (string ISO compares chronologically).
141
- all.sort((a, b) => String(a.ts ?? "").localeCompare(String(b.ts ?? "")));
142
-
143
- const state = new Map();
144
- for (const e of all) {
145
- if (!e || !e.name) continue;
146
- const key = `${e.name} ${e.platform ?? ""} ${e.scope ?? ""} ${e.home ?? ""} ${e.path ?? ""}`;
147
- if (e.action === "install") {
148
- state.set(key, {
149
- name: e.name,
150
- version: e.version ?? null,
151
- platform: e.platform,
152
- scope: e.scope,
153
- home: e.home,
154
- path: e.path,
155
- hash: e.hash ?? null,
156
- marketplaceName: e.marketplaceName ?? null,
157
- });
158
- } else if (e.action === "uninstall") {
159
- state.delete(key);
160
- }
161
- }
162
- return [...state.values()];
163
- }
@@ -1,144 +0,0 @@
1
- /**
2
- * Idempotent migration for global factory/loop markdown artifacts to YYMMDDHH-<slug>.md.
3
- */
4
-
5
- import { existsSync, readdirSync, renameSync, statSync } from "node:fs";
6
- import { join } from "node:path";
7
- import { homedir } from "node:os";
8
-
9
- const TIMESTAMPED_RE = /^(\d{8})-(.+\.md)$/;
10
- const ISO_DATE_RE = /^(20\d{2})-(\d{2})-(\d{2})-(.+)$/;
11
-
12
- export function timestampPrefixFromDate(date) {
13
- const yy = String(date.getFullYear()).slice(2);
14
- const mm = String(date.getMonth() + 1).padStart(2, "0");
15
- const dd = String(date.getDate()).padStart(2, "0");
16
- const hh = String(date.getHours()).padStart(2, "0");
17
- return `${yy}${mm}${dd}${hh}`;
18
- }
19
-
20
- export function targetNameForLegacy(fileName, mtimeMs, fallbackHour = "00") {
21
- if (TIMESTAMPED_RE.test(fileName)) return null;
22
-
23
- const iso = ISO_DATE_RE.exec(fileName);
24
- if (iso) {
25
- const [, yyyy, mm, dd, rest] = iso;
26
- return `${yyyy.slice(2)}${mm}${dd}${fallbackHour}-${rest}`;
27
- }
28
-
29
- const mtime = new Date(mtimeMs);
30
- return `${timestampPrefixFromDate(mtime)}-${fileName}`;
31
- }
32
-
33
- /**
34
- * @param {string} dir
35
- * @param {{ dryRun?: boolean, fallbackHour?: string }} [opts]
36
- */
37
- export function migrateMarkdownDir(dir, opts = {}) {
38
- const dryRun = Boolean(opts.dryRun);
39
- const fallbackHour = opts.fallbackHour ?? "00";
40
- const renamed = [];
41
- const skipped = [];
42
- const fallbacks = [];
43
-
44
- if (!existsSync(dir)) return { renamed, skipped, fallbacks };
45
-
46
- for (const name of readdirSync(dir)) {
47
- if (!name.endsWith(".md")) continue;
48
- if (TIMESTAMPED_RE.test(name)) {
49
- skipped.push(name);
50
- continue;
51
- }
52
-
53
- const target = targetNameForLegacy(name, statSync(join(dir, name)).mtimeMs, fallbackHour);
54
- if (!target || target === name) {
55
- skipped.push(name);
56
- continue;
57
- }
58
-
59
- const targetPath = join(dir, target);
60
- if (existsSync(targetPath)) {
61
- skipped.push(name);
62
- continue;
63
- }
64
-
65
- if (ISO_DATE_RE.test(name)) {
66
- fallbacks.push({ from: name, to: target, reason: "iso-date-hour-fallback" });
67
- }
68
-
69
- if (!dryRun) {
70
- renameSync(join(dir, name), targetPath);
71
- }
72
- renamed.push({ from: name, to: target });
73
- }
74
-
75
- return { renamed, skipped, fallbacks };
76
- }
77
-
78
- /**
79
- * @param {{ dryRun?: boolean, factoryRoot?: string, loopRoot?: string }} [opts]
80
- */
81
- export function migrateGlobalArtifacts(opts = {}) {
82
- const dryRun = Boolean(opts.dryRun);
83
- const factoryRoot = opts.factoryRoot ?? join(homedir(), ".enact", "factory", "projects");
84
- const loopRoot = opts.loopRoot ?? join(homedir(), ".enact", "loop", "projects");
85
- const report = {
86
- dryRun,
87
- factory: [],
88
- loop: [],
89
- fallbacks: [],
90
- };
91
-
92
- if (existsSync(factoryRoot)) {
93
- for (const project of readdirSync(factoryRoot, { withFileTypes: true })) {
94
- if (!project.isDirectory()) continue;
95
- const plansDir = join(factoryRoot, project.name, "plans");
96
- const researchDir = join(factoryRoot, project.name, "research");
97
- for (const dir of [plansDir, researchDir]) {
98
- const result = migrateMarkdownDir(dir, { dryRun });
99
- if (result.renamed.length || result.skipped.length) {
100
- report.factory.push({ project: project.name, dir, ...result });
101
- }
102
- report.fallbacks.push(...result.fallbacks.map((f) => ({ ...f, project: project.name, dir })));
103
- }
104
- }
105
- }
106
-
107
- if (existsSync(loopRoot)) {
108
- for (const project of readdirSync(loopRoot, { withFileTypes: true })) {
109
- if (!project.isDirectory()) continue;
110
- const stateDir = join(loopRoot, project.name, "state");
111
- const legacy = join(stateDir, "summary.md");
112
- if (!existsSync(legacy)) continue;
113
-
114
- const hasTimestamped = readdirSync(stateDir).some((name) =>
115
- /^\d{8}-loop-summary\.md$/.test(name),
116
- );
117
- if (hasTimestamped) {
118
- report.loop.push({
119
- project: project.name,
120
- dir: stateDir,
121
- renamed: [],
122
- skipped: ["summary.md"],
123
- fallbacks: [],
124
- });
125
- continue;
126
- }
127
-
128
- const mtime = statSync(legacy).mtimeMs;
129
- const target = `${timestampPrefixFromDate(new Date(mtime))}-loop-summary.md`;
130
- if (!dryRun) {
131
- renameSync(legacy, join(stateDir, target));
132
- }
133
- report.loop.push({
134
- project: project.name,
135
- dir: stateDir,
136
- renamed: [{ from: "summary.md", to: target }],
137
- skipped: [],
138
- fallbacks: [],
139
- });
140
- }
141
- }
142
-
143
- return report;
144
- }
@@ -1,144 +0,0 @@
1
- /**
2
- * outdated.mjs — compute freshness drift between installed plugins and their
3
- * canonical source bundles.
4
- *
5
- * computeOutdated({ home?, cwd? }) → OutdatedEntry[]
6
- *
7
- * For each currently-installed (plugin, platform, scope, home) surface from the
8
- * ledger, resolves the canonical source bundle (extensions/<name>) and classifies:
9
- *
10
- * fresh — canonical source exists and its hash matches the ledger's recorded hash.
11
- * outdated — canonical source exists but hash differs (or ledger hash is null/missing),
12
- * or the recorded version differs (future: not currently used for the flag,
13
- * but hash comparison is the primary signal).
14
- * orphaned — canonical source does NOT exist on disk; cannot refresh.
15
- *
16
- * Returns a sorted array of OutdatedEntry objects:
17
- * { name, platform, scope, home, status, installedHash, currentHash, version }
18
- *
19
- * Pure-ish: reads ledger + canonical bundle; no writes.
20
- */
21
-
22
- import { homedir } from "node:os";
23
- import { cwd as processCwd } from "node:process";
24
- import { bundleHash } from "./bundle-hash.mjs";
25
- import { listInstalled } from "./ledger.mjs";
26
- import { resolveBundlePath } from "./resolve-bundle.mjs";
27
-
28
- /**
29
- * @typedef {object} OutdatedEntry
30
- * @property {string} name
31
- * @property {string} platform
32
- * @property {string} scope
33
- * @property {string} home
34
- * @property {"fresh"|"outdated"|"orphaned"} status
35
- * @property {string|null} installedHash — hash recorded at install time (may be null)
36
- * @property {string|null} currentHash — hash of canonical source now (null if orphaned)
37
- * @property {string|null} version — version recorded in the ledger
38
- */
39
-
40
- /**
41
- * Safely compute the canonical bundle hash for a given bundle root.
42
- * Returns null on any error (missing manifest, I/O error, etc.).
43
- *
44
- * @param {string} bundleRoot
45
- * @returns {string|null}
46
- */
47
- function safeHash(bundleRoot) {
48
- try {
49
- return bundleHash(bundleRoot);
50
- } catch {
51
- return null;
52
- }
53
- }
54
-
55
- /**
56
- * Resolve the canonical bundle path for a plugin name.
57
- * Returns null when the canonical source cannot be found (so caller can
58
- * classify as orphaned rather than crashing).
59
- *
60
- * @param {string} name
61
- * @param {string} cwd
62
- * @returns {string|null}
63
- */
64
- function safeResolveBundlePath(name, cwd) {
65
- try {
66
- return resolveBundlePath(name, { cwd });
67
- } catch {
68
- return null;
69
- }
70
- }
71
-
72
- /**
73
- * Compute freshness status for all currently-installed plugin surfaces.
74
- *
75
- * @param {object} [opts]
76
- * @param {string} [opts.home] — ledger home override (defaults to os.homedir())
77
- * @param {string} [opts.cwd] — working directory for bundle resolution (defaults to process.cwd())
78
- * @returns {OutdatedEntry[]} sorted by name, then platform, then scope
79
- */
80
- export function computeOutdated({ home, cwd } = {}) {
81
- const resolvedHome = home ?? homedir();
82
- const resolvedCwd = cwd ?? processCwd();
83
-
84
- // Get all currently-installed entries (install replayed over uninstall).
85
- const installed = listInstalled({ home: resolvedHome });
86
-
87
- /** @type {OutdatedEntry[]} */
88
- const results = [];
89
-
90
- for (const entry of installed) {
91
- const { name, platform, scope, home: entryHome, version, hash: installedHash } = entry;
92
-
93
- // Resolve canonical source bundle for this plugin name.
94
- const canonicalPath = safeResolveBundlePath(name, resolvedCwd);
95
-
96
- if (!canonicalPath) {
97
- // Canonical source does not exist → orphaned.
98
- results.push({
99
- name,
100
- platform,
101
- scope,
102
- home: entryHome,
103
- status: "orphaned",
104
- installedHash: installedHash ?? null,
105
- currentHash: null,
106
- version: version ?? null,
107
- });
108
- continue;
109
- }
110
-
111
- // Canonical source exists — compute its current hash.
112
- const currentHash = safeHash(canonicalPath);
113
-
114
- let status;
115
- if (installedHash == null || currentHash == null || installedHash !== currentHash) {
116
- // No recorded hash, or canonical hash is uncomputable, or hashes differ.
117
- status = "outdated";
118
- } else {
119
- status = "fresh";
120
- }
121
-
122
- results.push({
123
- name,
124
- platform,
125
- scope,
126
- home: entryHome,
127
- status,
128
- installedHash: installedHash ?? null,
129
- currentHash,
130
- version: version ?? null,
131
- });
132
- }
133
-
134
- // Deterministic sort: name → platform → scope
135
- results.sort((a, b) => {
136
- const n = String(a.name ?? "").localeCompare(String(b.name ?? ""));
137
- if (n !== 0) return n;
138
- const p = String(a.platform ?? "").localeCompare(String(b.platform ?? ""));
139
- if (p !== 0) return p;
140
- return String(a.scope ?? "").localeCompare(String(b.scope ?? ""));
141
- });
142
-
143
- return results;
144
- }
@@ -1,83 +0,0 @@
1
- /**
2
- * postinstall-offer.mjs — interactive drift-refresh offer shown at postinstall.
3
- *
4
- * Exports ONE function:
5
- * offerDriftRefresh({ isTTY, computeOutdatedFn, promptYesNo, runUpdateFn, write })
6
- *
7
- * Contract:
8
- * - non-TTY → silent; return { offered: false, updated: false }
9
- * - TTY + zero outdated → silent; return { offered: false, updated: false }
10
- * - TTY + outdated entries → write summary, then:
11
- * - autoYes set → apply WITHOUT prompting; return { offered: true, updated: true }
12
- * - else prompt:
13
- * - user yes → runUpdateFn({ all: true }); return { offered: true, updated: true }
14
- * - user no → write manual command hint; return { offered: true, updated: false }
15
- * - Any error → fail-silent; return { offered: false, updated: false }
16
- * (except: if runUpdateFn throws after a yes answer,
17
- * return { offered: true, updated: false })
18
- *
19
- * `autoYes` is the USER's opt-in (callers derive it from
20
- * process.env.ENACT_EXTENSIONS_AUTO_UPDATE); this module never reads env itself.
21
- */
22
-
23
- /**
24
- * Offer the user a drift refresh if any installed plugins are outdated.
25
- *
26
- * @param {object} opts
27
- * @param {boolean} opts.isTTY - whether the terminal is interactive
28
- * @param {boolean} [opts.autoYes] - when true, apply without prompting (user opt-in)
29
- * @param {() => Promise<import("./outdated.mjs").OutdatedEntry[]>} opts.computeOutdatedFn
30
- * @param {(question: string) => Promise<boolean>} opts.promptYesNo
31
- * @param {(opts: { all: boolean }) => void | Promise<void>} opts.runUpdateFn
32
- * @param {(msg: string) => void} opts.write
33
- * @returns {Promise<{ offered: boolean, updated: boolean }>}
34
- */
35
- export async function offerDriftRefresh({ isTTY, autoYes, computeOutdatedFn, promptYesNo, runUpdateFn, write }) {
36
- try {
37
- // Non-interactive: exit immediately without any work.
38
- if (!isTTY) {
39
- return { offered: false, updated: false };
40
- }
41
-
42
- // Compute outdated entries and filter to status === "outdated" only.
43
- const entries = await computeOutdatedFn();
44
- const outdated = entries.filter((e) => e.status === "outdated");
45
-
46
- // Nothing to do.
47
- if (outdated.length === 0) {
48
- return { offered: false, updated: false };
49
- }
50
-
51
- // Write summary line listing the outdated name/platform pairs.
52
- const pairs = outdated.map((e) => `${e.name}/${e.platform}`).join(", ");
53
- write(`\nenact-extensions: ${outdated.length} plugin(s) have drifted from their source: ${pairs}\n`);
54
-
55
- // Opt-in auto-apply: skip the prompt and refresh directly.
56
- if (autoYes) {
57
- try {
58
- await runUpdateFn({ all: true });
59
- return { offered: true, updated: true };
60
- } catch {
61
- return { offered: true, updated: false };
62
- }
63
- }
64
-
65
- // Prompt user.
66
- const yes = await promptYesNo("Update all now? [Y/n] ");
67
-
68
- if (yes) {
69
- try {
70
- await runUpdateFn({ all: true });
71
- return { offered: true, updated: true };
72
- } catch {
73
- return { offered: true, updated: false };
74
- }
75
- } else {
76
- write(`Run \`enact-extensions update --all\` to update manually.\n`);
77
- return { offered: true, updated: false };
78
- }
79
- } catch {
80
- // Fail-silent: never throw from postinstall-related code.
81
- return { offered: false, updated: false };
82
- }
83
- }
@@ -1,109 +0,0 @@
1
- /**
2
- * principles.mjs — Operating-principles block injection for host agent files.
3
- *
4
- * Surfaces: claude, codex, cursor, enact
5
- * Writes managed blocks into CLAUDE.md / AGENTS.md (not settings.json).
6
- */
7
-
8
- import {
9
- applyBlock,
10
- checkBlock,
11
- removeBlock,
12
- renderBlock,
13
- resolveHostFile,
14
- SUPPORTED_PRINCIPLES_SURFACES,
15
- } from "../../dist/index.js";
16
-
17
- export { SUPPORTED_PRINCIPLES_SURFACES };
18
-
19
- /**
20
- * @param {string} surface
21
- * @param {object} [opts]
22
- * @returns {{ surface: string, path: string, result: string, action?: string }}
23
- */
24
- export function setupPrinciples(surface, opts = {}) {
25
- const hostFile = resolveHostFile(surface, opts);
26
- const block = renderBlock(opts.doctrinePath);
27
- const { action } = applyBlock(hostFile, block);
28
- return {
29
- surface,
30
- path: hostFile,
31
- result: action === "noop" ? "already_present" : "applied",
32
- action,
33
- };
34
- }
35
-
36
- /**
37
- * @param {string} surface
38
- * @param {object} [opts]
39
- * @returns {{ surface: string, path: string, result: string }}
40
- */
41
- export function removePrinciples(surface, opts = {}) {
42
- const hostFile = resolveHostFile(surface, opts);
43
- const { removed } = removeBlock(hostFile);
44
- return {
45
- surface,
46
- path: hostFile,
47
- result: removed ? "removed" : "not_found",
48
- };
49
- }
50
-
51
- /**
52
- * @param {string} surface
53
- * @param {object} [opts]
54
- * @returns {{ surface: string, path: string, status: string }}
55
- */
56
- export function checkPrinciples(surface, opts = {}) {
57
- const hostFile = resolveHostFile(surface, opts);
58
- const block = renderBlock(opts.doctrinePath);
59
- const status = checkBlock(hostFile, block);
60
- return { surface, path: hostFile, status };
61
- }
62
-
63
- /**
64
- * @param {string} surface
65
- * @param {object} [opts]
66
- * @returns {{ surface: string, path: string, status: string, action?: string, result?: string }}
67
- */
68
- export function fixPrinciples(surface, opts = {}) {
69
- const check = checkPrinciples(surface, opts);
70
- if (check.status === "present") {
71
- return { ...check, result: "already_present", action: "noop" };
72
- }
73
- const setup = setupPrinciples(surface, opts);
74
- const after = checkPrinciples(surface, opts);
75
- return {
76
- surface,
77
- path: setup.path,
78
- status: after.status,
79
- action: setup.action,
80
- result: setup.result,
81
- };
82
- }
83
-
84
- /**
85
- * @param {string[]} surfaces
86
- * @param {object} [opts]
87
- * @param {boolean} [opts.fix]
88
- * @returns {{ rows: object[], drift: boolean, exitCode: number }}
89
- */
90
- export function runDoctor(surfaces, opts = {}) {
91
- const rows = [];
92
- let exitCode = 0;
93
-
94
- for (const surface of surfaces) {
95
- try {
96
- const row = opts.fix ? fixPrinciples(surface, opts) : checkPrinciples(surface, opts);
97
- rows.push(row);
98
- if (row.status !== "present") {
99
- exitCode = 1;
100
- }
101
- } catch (err) {
102
- const message = err instanceof Error ? err.message : String(err);
103
- rows.push({ surface, path: "", status: "error", error: message });
104
- exitCode = 1;
105
- }
106
- }
107
-
108
- return { rows, drift: exitCode !== 0, exitCode };
109
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * CLI/runtime wrapper over the typed library provisioning API.
3
- *
4
- * The script-layer helpers remain for backwards compatibility with tests and
5
- * the CLI wrapper, but the source of truth now lives in src/provision.ts and is
6
- * exported from dist/index.js for in-process consumers.
7
- */
8
- import {
9
- provisionMcp as provisionMcpCore,
10
- readMcpServers as readMcpServersCore,
11
- summarizeProvision as summarizeProvisionCore,
12
- } from "../../dist/index.js";
13
-
14
- export const readMcpServers = readMcpServersCore;
15
- export const provisionMcp = provisionMcpCore;
16
- export const summarizeProvision = summarizeProvisionCore;
@@ -1,9 +0,0 @@
1
- import { resolve } from "node:path";
2
- import { cwd } from "node:process";
3
-
4
- /**
5
- * Resolve plugin root: explicit path arg or current working directory.
6
- */
7
- export function resolvePluginRoot(pathArg) {
8
- return resolve(pathArg ?? cwd());
9
- }