@amsterdamdatalabs/enact-extensions 0.1.42 → 0.1.47

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 (580) hide show
  1. package/README.md +67 -108
  2. package/bundled-extensions.json +6 -0
  3. package/dist/create/enact.d.ts.map +1 -1
  4. package/dist/create/enact.js +2 -0
  5. package/dist/create/enact.js.map +1 -1
  6. package/dist/create/index.d.ts +3 -0
  7. package/dist/create/index.d.ts.map +1 -1
  8. package/dist/create/index.js +6 -0
  9. package/dist/create/index.js.map +1 -1
  10. package/dist/create/kimi.d.ts +16 -0
  11. package/dist/create/kimi.d.ts.map +1 -0
  12. package/dist/create/kimi.js +87 -0
  13. package/dist/create/kimi.js.map +1 -0
  14. package/dist/create/opencode.d.ts +129 -0
  15. package/dist/create/opencode.d.ts.map +1 -0
  16. package/dist/create/opencode.js +696 -0
  17. package/dist/create/opencode.js.map +1 -0
  18. package/dist/index.d.ts +12 -16
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +10 -10
  21. package/dist/index.js.map +1 -1
  22. package/dist/internal/agents.d.ts +11 -1
  23. package/dist/internal/agents.d.ts.map +1 -1
  24. package/dist/internal/agents.js +119 -3
  25. package/dist/internal/agents.js.map +1 -1
  26. package/dist/internal/extensions-table.d.ts +58 -0
  27. package/dist/internal/extensions-table.d.ts.map +1 -0
  28. package/dist/internal/extensions-table.js +134 -0
  29. package/dist/internal/extensions-table.js.map +1 -0
  30. package/dist/internal/file-ops.d.ts +36 -0
  31. package/dist/internal/file-ops.d.ts.map +1 -0
  32. package/dist/internal/file-ops.js +89 -0
  33. package/dist/internal/file-ops.js.map +1 -0
  34. package/dist/internal/hooks.d.ts +56 -0
  35. package/dist/internal/hooks.d.ts.map +1 -0
  36. package/dist/internal/hooks.js +128 -0
  37. package/dist/internal/hooks.js.map +1 -0
  38. package/dist/internal/json-merge.d.ts +63 -0
  39. package/dist/internal/json-merge.d.ts.map +1 -0
  40. package/dist/internal/json-merge.js +122 -0
  41. package/dist/internal/json-merge.js.map +1 -0
  42. package/dist/internal/lock-ownership.d.ts +41 -0
  43. package/dist/internal/lock-ownership.d.ts.map +1 -0
  44. package/dist/internal/lock-ownership.js +24 -0
  45. package/dist/internal/lock-ownership.js.map +1 -0
  46. package/dist/internal/platform.d.ts.map +1 -1
  47. package/dist/internal/platform.js +90 -4
  48. package/dist/internal/platform.js.map +1 -1
  49. package/dist/internal/schema.js.map +1 -1
  50. package/dist/internal/toml-block.d.ts +59 -0
  51. package/dist/internal/toml-block.d.ts.map +1 -0
  52. package/dist/internal/toml-block.js +113 -0
  53. package/dist/internal/toml-block.js.map +1 -0
  54. package/dist/internal/types.d.ts +2 -1
  55. package/dist/internal/types.d.ts.map +1 -1
  56. package/dist/projection.d.ts +47 -0
  57. package/dist/projection.d.ts.map +1 -0
  58. package/dist/projection.js +180 -0
  59. package/dist/projection.js.map +1 -0
  60. package/dist/validate/index.d.ts +9 -4
  61. package/dist/validate/index.d.ts.map +1 -1
  62. package/dist/validate/index.js +56 -7
  63. package/dist/validate/index.js.map +1 -1
  64. package/dist/validate/kimi.d.ts +3 -0
  65. package/dist/validate/kimi.d.ts.map +1 -0
  66. package/dist/validate/kimi.js +11 -0
  67. package/dist/validate/kimi.js.map +1 -0
  68. package/dist/validate/opencode.d.ts +3 -0
  69. package/dist/validate/opencode.d.ts.map +1 -0
  70. package/dist/validate/opencode.js +11 -0
  71. package/dist/validate/opencode.js.map +1 -0
  72. package/dist/validate/run.d.ts +39 -0
  73. package/dist/validate/run.d.ts.map +1 -0
  74. package/dist/validate/run.js +63 -0
  75. package/dist/validate/run.js.map +1 -0
  76. package/extensions/enact-loop/.agents/plugin.json +12 -8
  77. package/extensions/enact-loop/scripts/validate.mjs +84 -2
  78. package/extensions/enact-loop/skills/enact-loop/SKILL.md +36 -466
  79. package/extensions/enact-loop/skills/enact-loop/references/loop-contract.md +114 -0
  80. package/extensions/enact-loop/skills/loop-budget/SKILL.md +43 -26
  81. package/extensions/enact-loop/skills/loop-intake/SKILL.md +44 -32
  82. package/extensions/enact-repo/.agents/plugin.json +55 -0
  83. package/extensions/enact-repo/.mcp.json +20 -0
  84. package/extensions/enact-repo/README.md +90 -0
  85. package/extensions/enact-repo/hooks/hooks.json +98 -0
  86. package/extensions/enact-repo/lean-ctx/config.toml +35 -0
  87. package/extensions/enact-repo/lean-ctx/layout.toml +5 -0
  88. package/extensions/enact-repo/skills/aca-sandboxes/SKILL.md +53 -0
  89. package/extensions/enact-repo/skills/aca-sandboxes/references/capabilities.md +52 -0
  90. package/extensions/enact-repo/skills/aca-sandboxes/references/install.md +87 -0
  91. package/extensions/enact-repo/skills/aca-sandboxes/references/prerequisites.md +52 -0
  92. package/extensions/enact-repo/skills/aca-sandboxes/references/quickstart.md +164 -0
  93. package/extensions/enact-repo/skills/aca-sandboxes/references/reference-advanced.md +251 -0
  94. package/extensions/enact-repo/skills/aca-sandboxes/references/reference.md +287 -0
  95. package/extensions/enact-repo/skills/aca-sandboxes/references/response-cues.md +71 -0
  96. package/extensions/enact-repo/skills/aca-sandboxes/references/scenarios.md +219 -0
  97. package/extensions/enact-repo/skills/aca-sandboxes/version.json +4 -0
  98. package/extensions/enact-repo/skills/backend-remove-deadcode/SKILL.md +96 -0
  99. package/extensions/enact-repo/skills/cmux-leader/SKILL.md +61 -0
  100. package/extensions/enact-repo/skills/cmux-send/SKILL.md +61 -0
  101. package/extensions/enact-repo/skills/code-review/SKILL.md +100 -0
  102. package/extensions/enact-repo/skills/codebase-design/SKILL.md +98 -0
  103. package/extensions/enact-repo/skills/codebase-design/references/DEEPENING.md +37 -0
  104. package/extensions/enact-repo/skills/codebase-design/references/DESIGN-IT-TWICE.md +44 -0
  105. package/extensions/enact-repo/skills/codebase-design/references/TESTABILITY.md +29 -0
  106. package/extensions/enact-repo/skills/computer-use/SKILL.md +76 -0
  107. package/extensions/enact-repo/skills/debug-issue/SKILL.md +40 -0
  108. package/extensions/enact-repo/skills/diagnosing-bugs/SKILL.md +100 -0
  109. package/extensions/enact-repo/skills/diagnosing-bugs/references/FEEDBACK-LOOP-TACTICS.md +34 -0
  110. package/extensions/enact-repo/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  111. package/extensions/enact-repo/skills/domain-modeling/SKILL.md +86 -0
  112. package/extensions/enact-repo/skills/domain-modeling/references/ADR-FORMAT.md +47 -0
  113. package/extensions/enact-repo/skills/domain-modeling/references/CONTEXT-FORMAT.md +60 -0
  114. package/extensions/enact-repo/skills/explore-codebase/SKILL.md +41 -0
  115. package/extensions/enact-repo/skills/frontend-design/LICENSE.txt +177 -0
  116. package/extensions/enact-repo/skills/frontend-design/SKILL.md +56 -0
  117. package/extensions/enact-repo/skills/grill-me/SKILL.md +20 -0
  118. package/extensions/enact-repo/skills/grill-with-docs/SKILL.md +20 -0
  119. package/extensions/enact-repo/skills/handoff/SKILL.md +28 -0
  120. package/extensions/enact-repo/skills/http-contract-migration/SKILL.md +74 -0
  121. package/extensions/enact-repo/skills/http-contract-migration/references/compatibility-and-gates.md +26 -0
  122. package/extensions/enact-repo/skills/http-contract-migration/references/hexagonal-boundary.md +16 -0
  123. package/extensions/enact-repo/skills/http-contract-migration/references/publication-and-adoption.md +31 -0
  124. package/extensions/enact-repo/skills/http-contract-migration/references/wire-fidelity-and-dto.md +31 -0
  125. package/extensions/enact-repo/skills/implement/SKILL.md +28 -0
  126. package/extensions/enact-repo/skills/improve-codebase-architecture/SKILL.md +80 -0
  127. package/extensions/enact-repo/skills/improve-codebase-architecture/references/HTML-REPORT.md +123 -0
  128. package/extensions/enact-repo/skills/interaction-design/SKILL.md +30 -0
  129. package/extensions/enact-repo/skills/interaction-design/references/Workflow.md +146 -0
  130. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-gsap.md +220 -0
  131. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-native.md +110 -0
  132. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries.md +178 -0
  133. package/extensions/enact-repo/skills/interaction-design/references/interaction-patterns.md +166 -0
  134. package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns-advanced.md +285 -0
  135. package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns.md +254 -0
  136. package/extensions/enact-repo/skills/interaction-design/references/scroll-animations-reveals.md +213 -0
  137. package/extensions/enact-repo/skills/interaction-design/references/scroll-animations.md +209 -0
  138. package/extensions/enact-repo/skills/lean-ctx/SKILL.md +81 -0
  139. package/extensions/enact-repo/skills/orca-cli/SKILL.md +88 -0
  140. package/extensions/enact-repo/skills/orchestration/SKILL.md +80 -0
  141. package/extensions/enact-repo/skills/prototype/SKILL.md +37 -0
  142. package/extensions/enact-repo/skills/prototype/references/LOGIC.md +79 -0
  143. package/extensions/enact-repo/skills/prototype/references/UI.md +112 -0
  144. package/extensions/enact-repo/skills/refactor-safely/SKILL.md +44 -0
  145. package/extensions/enact-repo/skills/remove-deadcode/SKILL.md +54 -0
  146. package/extensions/enact-repo/skills/research/SKILL.md +27 -0
  147. package/extensions/enact-repo/skills/resolving-merge-conflicts/SKILL.md +28 -0
  148. package/extensions/enact-repo/skills/review-changes/SKILL.md +45 -0
  149. package/extensions/enact-repo/skills/tailwind-4-docs/SKILL.md +88 -0
  150. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/accent-color.mdx +149 -0
  151. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/adding-custom-styles.mdx +635 -0
  152. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-content.mdx +300 -0
  153. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-items.mdx +241 -0
  154. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-self.mdx +294 -0
  155. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/animation.mdx +286 -0
  156. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/appearance.mdx +180 -0
  157. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/aspect-ratio.mdx +98 -0
  158. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-blur.mdx +109 -0
  159. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-brightness.mdx +82 -0
  160. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-contrast.mdx +82 -0
  161. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-grayscale.mdx +99 -0
  162. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-hue-rotate.mdx +173 -0
  163. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-invert.mdx +99 -0
  164. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-opacity.mdx +103 -0
  165. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-saturate.mdx +98 -0
  166. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-sepia.mdx +95 -0
  167. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter.mdx +113 -0
  168. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backface-visibility.mdx +110 -0
  169. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-attachment.mdx +126 -0
  170. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-blend-mode.mdx +79 -0
  171. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-clip.mdx +85 -0
  172. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-color.mdx +176 -0
  173. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-image.mdx +349 -0
  174. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-origin.mdx +64 -0
  175. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-position.mdx +171 -0
  176. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-repeat.mdx +127 -0
  177. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-size.mdx +100 -0
  178. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/block-size.mdx +190 -0
  179. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-collapse.mdx +181 -0
  180. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-color.mdx +316 -0
  181. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-radius.mdx +347 -0
  182. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-spacing.mdx +117 -0
  183. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-style.mdx +129 -0
  184. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-width.mdx +344 -0
  185. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-decoration-break.mdx +71 -0
  186. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-shadow.mdx +497 -0
  187. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-sizing.mdx +175 -0
  188. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-after.mdx +38 -0
  189. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-before.mdx +38 -0
  190. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-inside.mdx +34 -0
  191. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caption-side.mdx +190 -0
  192. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caret-color.mdx +66 -0
  193. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/clear.mdx +224 -0
  194. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color-scheme.mdx +81 -0
  195. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color.mdx +125 -0
  196. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/colors.mdx +927 -0
  197. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/columns.mdx +310 -0
  198. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/compatibility.mdx +193 -0
  199. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/content.mdx +129 -0
  200. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/cursor.mdx +104 -0
  201. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/dark-mode.mdx +191 -0
  202. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/detecting-classes-in-source-files.mdx +315 -0
  203. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/display.mdx +523 -0
  204. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/editor-setup.mdx +90 -0
  205. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/field-sizing.mdx +75 -0
  206. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/fill.mdx +100 -0
  207. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-blur.mdx +114 -0
  208. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-brightness.mdx +102 -0
  209. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-contrast.mdx +102 -0
  210. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-drop-shadow.mdx +230 -0
  211. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-grayscale.mdx +101 -0
  212. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-hue-rotate.mdx +171 -0
  213. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-invert.mdx +93 -0
  214. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-saturate.mdx +109 -0
  215. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-sepia.mdx +92 -0
  216. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter.mdx +113 -0
  217. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-basis.mdx +144 -0
  218. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-direction.mdx +130 -0
  219. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-grow.mdx +129 -0
  220. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-shrink.mdx +95 -0
  221. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-wrap.mdx +118 -0
  222. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex.mdx +164 -0
  223. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/float.mdx +197 -0
  224. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-family.mdx +119 -0
  225. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-feature-settings.mdx +52 -0
  226. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-size.mdx +184 -0
  227. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-smoothing.mdx +67 -0
  228. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-stretch.mdx +138 -0
  229. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-style.mdx +62 -0
  230. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-variant-numeric.mdx +228 -0
  231. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-weight.mdx +105 -0
  232. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/forced-color-adjust.mdx +152 -0
  233. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/functions-and-directives.mdx +322 -0
  234. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/gap.mdx +100 -0
  235. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-columns.mdx +43 -0
  236. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-flow.mdx +58 -0
  237. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-rows.mdx +43 -0
  238. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-column.mdx +124 -0
  239. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-row.mdx +115 -0
  240. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-columns.mdx +101 -0
  241. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-rows.mdx +108 -0
  242. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/height.mdx +260 -0
  243. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hover-focus-and-other-states.mdx +4935 -0
  244. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hyphens.mdx +112 -0
  245. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/inline-size.mdx +191 -0
  246. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/isolation.mdx +30 -0
  247. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-content.mdx +348 -0
  248. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-items.mdx +286 -0
  249. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-self.mdx +282 -0
  250. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/letter-spacing.mdx +100 -0
  251. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-clamp.mdx +110 -0
  252. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-height.mdx +147 -0
  253. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-image.mdx +80 -0
  254. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-position.mdx +67 -0
  255. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-type.mdx +86 -0
  256. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/margin.mdx +397 -0
  257. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-clip.mdx +66 -0
  258. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-composite.mdx +70 -0
  259. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-image.mdx +933 -0
  260. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-mode.mdx +114 -0
  261. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-origin.mdx +66 -0
  262. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-position.mdx +117 -0
  263. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-repeat.mdx +169 -0
  264. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-size.mdx +104 -0
  265. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-type.mdx +98 -0
  266. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-block-size.mdx +153 -0
  267. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-height.mdx +164 -0
  268. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-inline-size.mdx +185 -0
  269. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-width.mdx +214 -0
  270. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-block-size.mdx +146 -0
  271. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-height.mdx +150 -0
  272. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-inline-size.mdx +153 -0
  273. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-width.mdx +153 -0
  274. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mix-blend-mode.mdx +103 -0
  275. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-fit.mdx +147 -0
  276. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-position.mdx +182 -0
  277. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/opacity.mdx +84 -0
  278. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/order.mdx +94 -0
  279. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-color.mdx +130 -0
  280. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-offset.mdx +72 -0
  281. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-style.mdx +134 -0
  282. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-width.mdx +91 -0
  283. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow-wrap.mdx +130 -0
  284. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow.mdx +665 -0
  285. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overscroll-behavior.mdx +151 -0
  286. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/padding.mdx +232 -0
  287. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective-origin.mdx +127 -0
  288. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective.mdx +137 -0
  289. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-content.mdx +257 -0
  290. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-items.mdx +269 -0
  291. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-self.mdx +257 -0
  292. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/pointer-events.mdx +101 -0
  293. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/position.mdx +399 -0
  294. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/preflight.mdx +291 -0
  295. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/resize.mdx +110 -0
  296. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/responsive-design.mdx +666 -0
  297. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/rotate.mdx +291 -0
  298. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scale.mdx +360 -0
  299. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-behavior.mdx +39 -0
  300. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-margin.mdx +268 -0
  301. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-padding.mdx +255 -0
  302. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-align.mdx +281 -0
  303. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-stop.mdx +198 -0
  304. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-type.mdx +284 -0
  305. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/skew.mdx +352 -0
  306. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke-width.mdx +74 -0
  307. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke.mdx +103 -0
  308. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/styling-with-utility-classes.mdx +1020 -0
  309. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/table-layout.mdx +212 -0
  310. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-align.mdx +162 -0
  311. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-color.mdx +155 -0
  312. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-line.mdx +143 -0
  313. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-style.mdx +75 -0
  314. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-thickness.mdx +75 -0
  315. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-indent.mdx +74 -0
  316. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-overflow.mdx +103 -0
  317. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-shadow.mdx +177 -0
  318. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-transform.mdx +106 -0
  319. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-underline-offset.mdx +74 -0
  320. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-wrap.mdx +144 -0
  321. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/theme.mdx +1142 -0
  322. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/top-right-bottom-left.mdx +296 -0
  323. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/touch-action.mdx +95 -0
  324. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-origin.mdx +130 -0
  325. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-style.mdx +110 -0
  326. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform.mdx +51 -0
  327. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-behavior.mdx +76 -0
  328. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-delay.mdx +76 -0
  329. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-duration.mdx +82 -0
  330. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-property.mdx +137 -0
  331. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-timing-function.mdx +89 -0
  332. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/translate.mdx +487 -0
  333. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/upgrade-guide.mdx +910 -0
  334. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/user-select.mdx +114 -0
  335. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/vertical-align.mdx +194 -0
  336. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/visibility.mdx +287 -0
  337. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/white-space.mdx +211 -0
  338. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/width.mdx +264 -0
  339. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/will-change.mdx +47 -0
  340. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/word-break.mdx +94 -0
  341. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/z-index.mdx +104 -0
  342. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-catalog.md +251 -0
  343. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-index.tsx +237 -0
  344. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-source.txt +6 -0
  345. package/extensions/enact-repo/skills/tailwind-4-docs/references/gotchas.md +18 -0
  346. package/extensions/enact-repo/skills/tailwind-4-docs/scripts/sync_tailwind_docs.py +183 -0
  347. package/extensions/enact-repo/skills/tdd/SKILL.md +49 -0
  348. package/extensions/enact-repo/skills/tdd/references/mocking.md +59 -0
  349. package/extensions/enact-repo/skills/tdd/references/tests.md +77 -0
  350. package/extensions/enact-repo/skills/teach/SKILL.md +88 -0
  351. package/extensions/enact-repo/skills/teach/references/GLOSSARY-FORMAT.md +35 -0
  352. package/extensions/enact-repo/skills/teach/references/LEARNING-RECORD-FORMAT.md +46 -0
  353. package/extensions/enact-repo/skills/teach/references/MISSION-FORMAT.md +31 -0
  354. package/extensions/enact-repo/skills/teach/references/PHILOSOPHY.md +65 -0
  355. package/extensions/enact-repo/skills/teach/references/RESOURCES-FORMAT.md +32 -0
  356. package/extensions/enact-repo/skills/testing/SKILL.md +54 -0
  357. package/extensions/enact-repo/skills/to-spec/SKILL.md +85 -0
  358. package/extensions/enact-repo/skills/to-tickets/SKILL.md +75 -0
  359. package/extensions/enact-repo/skills/to-tickets/references/TICKET-TEMPLATES.md +39 -0
  360. package/extensions/enact-repo/skills/triage/SKILL.md +99 -0
  361. package/extensions/enact-repo/skills/triage/references/AGENT-BRIEF.md +207 -0
  362. package/extensions/enact-repo/skills/triage/references/NEEDS-INFO-TEMPLATE.md +17 -0
  363. package/extensions/enact-repo/skills/triage/references/OUT-OF-SCOPE.md +105 -0
  364. package/extensions/enact-repo/skills/ui-ux-pro-max/SKILL.md +32 -0
  365. package/extensions/enact-repo/skills/ui-ux-pro-max/references/Workflow.md +207 -0
  366. package/extensions/enact-repo/skills/ui-ux-pro-max/references/workflow-reference.md +175 -0
  367. package/extensions/enact-repo/skills/wayfinder/SKILL.md +100 -0
  368. package/extensions/enact-repo/skills/wayfinder/references/TEMPLATES.md +35 -0
  369. package/extensions/enact-repo/skills/wayfinder/references/TICKET-TYPES.md +8 -0
  370. package/extensions/enact-repo/skills/writing-great-skills/SKILL.md +93 -0
  371. package/extensions/enact-repo/skills/writing-great-skills/references/GLOSSARY.md +201 -0
  372. package/package.json +18 -14
  373. package/scripts/enact-extensions.mjs +255 -878
  374. package/scripts/lib/allowed-plugins.mjs +52 -0
  375. package/scripts/lib/run-repo-doctor.mjs +571 -0
  376. package/scripts/lib/run-repo-install.mjs +1579 -0
  377. package/scripts/lib/run-sync.mjs +1 -1
  378. package/scripts/lib/run-validate.mjs +23 -37
  379. package/scripts/lib/skill-validator.mjs +872 -0
  380. package/spec/enact.json +21 -3
  381. package/spec/enact.md +13 -12
  382. package/spec/kimi.json +100 -0
  383. package/spec/opencode.json +64 -0
  384. package/dist/install.d.ts +0 -235
  385. package/dist/install.d.ts.map +0 -1
  386. package/dist/install.js +0 -697
  387. package/dist/install.js.map +0 -1
  388. package/dist/internal/claude.d.ts +0 -65
  389. package/dist/internal/claude.d.ts.map +0 -1
  390. package/dist/internal/claude.js +0 -200
  391. package/dist/internal/claude.js.map +0 -1
  392. package/dist/internal/codex.d.ts +0 -43
  393. package/dist/internal/codex.d.ts.map +0 -1
  394. package/dist/internal/codex.js +0 -211
  395. package/dist/internal/codex.js.map +0 -1
  396. package/dist/internal/cursor.d.ts +0 -2
  397. package/dist/internal/cursor.d.ts.map +0 -1
  398. package/dist/internal/cursor.js +0 -6
  399. package/dist/internal/cursor.js.map +0 -1
  400. package/dist/principles.d.ts +0 -28
  401. package/dist/principles.d.ts.map +0 -1
  402. package/dist/principles.js +0 -159
  403. package/dist/principles.js.map +0 -1
  404. package/dist/provision.d.ts +0 -30
  405. package/dist/provision.d.ts.map +0 -1
  406. package/dist/provision.js +0 -202
  407. package/dist/provision.js.map +0 -1
  408. package/extensions/dev-state/.agents/plugin.json +0 -36
  409. package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +0 -194
  410. package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +0 -4
  411. package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +0 -130
  412. package/extensions/enact-context/.agents/plugin.json +0 -41
  413. package/extensions/enact-context/.mcp.json +0 -8
  414. package/extensions/enact-context/README.md +0 -25
  415. package/extensions/enact-context/assets/icon.png +0 -0
  416. package/extensions/enact-context/assets/logo.png +0 -0
  417. package/extensions/enact-context/hooks/hooks.json +0 -115
  418. package/extensions/enact-context/skills/enact-context/SKILL.md +0 -151
  419. package/extensions/enact-context/skills/enact-context/scripts/install.sh +0 -69
  420. package/extensions/enact-core/.agents/plugin.json +0 -40
  421. package/extensions/enact-core/OPERATING-PRINCIPLES.md +0 -7
  422. package/extensions/enact-core/hooks/hooks.json +0 -26
  423. package/extensions/enact-evolve/.agents/plugin.json +0 -47
  424. package/extensions/enact-evolve/agents/evolve-session-analyst.toml +0 -37
  425. package/extensions/enact-evolve/assets/icon.png +0 -0
  426. package/extensions/enact-evolve/assets/logo.png +0 -0
  427. package/extensions/enact-evolve/skills/mined-investigate-loop/SKILL.md +0 -68
  428. package/extensions/enact-evolve/skills/session-analysis/SKILL.md +0 -98
  429. package/extensions/enact-evolve/skills/session-analysis/scripts/run-evolve-analysis.sh +0 -343
  430. package/extensions/enact-factory/.agents/plugin.json +0 -49
  431. package/extensions/enact-factory/.mcp.json +0 -8
  432. package/extensions/enact-factory/agents/architect.toml +0 -34
  433. package/extensions/enact-factory/agents/code-reviewer.toml +0 -33
  434. package/extensions/enact-factory/agents/critic.toml +0 -39
  435. package/extensions/enact-factory/agents/executor.toml +0 -26
  436. package/extensions/enact-factory/agents/explore.toml +0 -25
  437. package/extensions/enact-factory/agents/planner.toml +0 -26
  438. package/extensions/enact-factory/agents/verifier.toml +0 -33
  439. package/extensions/enact-factory/assets/icon.png +0 -0
  440. package/extensions/enact-factory/assets/logo.png +0 -0
  441. package/extensions/enact-factory/skills/advisor/SKILL.md +0 -82
  442. package/extensions/enact-factory/skills/ai-slop-cleaner/SKILL.md +0 -57
  443. package/extensions/enact-factory/skills/autonomous-runner/SKILL.md +0 -353
  444. package/extensions/enact-factory/skills/azdo-ci-strategy/SKILL.md +0 -309
  445. package/extensions/enact-factory/skills/azdo-ci-strategy/references/build-failures.md +0 -60
  446. package/extensions/enact-factory/skills/azdo-ci-strategy/references/cli-reference.md +0 -87
  447. package/extensions/enact-factory/skills/azdo-ci-strategy/references/policies-and-pipelines.md +0 -132
  448. package/extensions/enact-factory/skills/azdo-ci-strategy/references/troubleshooting.md +0 -53
  449. package/extensions/enact-factory/skills/cmux-leader/SKILL.md +0 -74
  450. package/extensions/enact-factory/skills/cmux-send/SKILL.md +0 -50
  451. package/extensions/enact-factory/skills/committee/SKILL.md +0 -80
  452. package/extensions/enact-factory/skills/deep-interview/SKILL.md +0 -68
  453. package/extensions/enact-factory/skills/deslop-handover/SKILL.md +0 -97
  454. package/extensions/enact-factory/skills/deslop-handover/deslop.py +0 -181
  455. package/extensions/enact-factory/skills/drive-loop/SKILL.md +0 -394
  456. package/extensions/enact-factory/skills/drive-loop/references/contract-schema.md +0 -127
  457. package/extensions/enact-factory/skills/handoff/SKILL.md +0 -75
  458. package/extensions/enact-factory/skills/hyperplan/SKILL.md +0 -59
  459. package/extensions/enact-factory/skills/looplan/SKILL.md +0 -120
  460. package/extensions/enact-factory/skills/paseo-dispatch/SKILL.md +0 -141
  461. package/extensions/enact-factory/skills/plan/SKILL.md +0 -103
  462. package/extensions/enact-factory/skills/remove-deadcode/SKILL.md +0 -46
  463. package/extensions/enact-factory/skills/research/SKILL.md +0 -83
  464. package/extensions/enact-factory/skills/review/SKILL.md +0 -67
  465. package/extensions/enact-factory/skills/security-research/SKILL.md +0 -57
  466. package/extensions/enact-factory/skills/tdd/SKILL.md +0 -62
  467. package/extensions/enact-factory/skills/testing-strategy/SKILL.md +0 -172
  468. package/extensions/enact-factory/skills/trace/SKILL.md +0 -42
  469. package/extensions/enact-factory/skills/ultraqa/SKILL.md +0 -85
  470. package/extensions/enact-factory/skills/work-with-workitem/SKILL.md +0 -56
  471. package/extensions/enact-factory/skills/workitem-triage/SKILL.md +0 -42
  472. package/extensions/enact-wiki/.agents/plugin.json +0 -43
  473. package/extensions/enact-wiki/.mcp.json +0 -15
  474. package/extensions/enact-wiki/README.md +0 -44
  475. package/extensions/enact-wiki/assets/icon.png +0 -0
  476. package/extensions/enact-wiki/assets/logo.png +0 -0
  477. package/extensions/enact-wiki/skills/document-parser/SKILL.md +0 -17
  478. package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +0 -60
  479. package/extensions/enact-wiki/skills/document-parser/skill.json +0 -9
  480. package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +0 -30
  481. package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +0 -62
  482. package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +0 -34
  483. package/extensions/enact-wiki/skills/enact-wiki/references/query.md +0 -59
  484. package/extensions/enact-wiki/skills/search-lab/SKILL.md +0 -57
  485. package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +0 -23
  486. package/extensions/enact-wiki/skills/wiki/SKILL.md +0 -42
  487. package/extensions/net-revenue-management/.agents/plugin.json +0 -40
  488. package/extensions/net-revenue-management/.mcp.json +0 -9
  489. package/extensions/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -30
  490. package/extensions/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -31
  491. package/extensions/plugin-dev/.agents/plugin.json +0 -41
  492. package/extensions/plugin-dev/agents/agent-creator.md +0 -199
  493. package/extensions/plugin-dev/agents/plugin-validator.md +0 -91
  494. package/extensions/plugin-dev/agents/skill-reviewer.md +0 -212
  495. package/extensions/plugin-dev/skills/agent-development/SKILL.md +0 -641
  496. package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +0 -250
  497. package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +0 -461
  498. package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +0 -246
  499. package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +0 -216
  500. package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +0 -226
  501. package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +0 -464
  502. package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +0 -474
  503. package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +0 -176
  504. package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +0 -227
  505. package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +0 -227
  506. package/extensions/plugin-dev/skills/create-plugin/SKILL.md +0 -505
  507. package/extensions/plugin-dev/skills/hook-development/SKILL.md +0 -861
  508. package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +0 -55
  509. package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +0 -57
  510. package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +0 -48
  511. package/extensions/plugin-dev/skills/hook-development/references/advanced.md +0 -871
  512. package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +0 -145
  513. package/extensions/plugin-dev/skills/hook-development/references/migration.md +0 -392
  514. package/extensions/plugin-dev/skills/hook-development/references/patterns.md +0 -430
  515. package/extensions/plugin-dev/skills/hook-development/scripts/README.md +0 -181
  516. package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +0 -153
  517. package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +0 -276
  518. package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
  519. package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +0 -775
  520. package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +0 -20
  521. package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +0 -19
  522. package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +0 -38
  523. package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +0 -26
  524. package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +0 -601
  525. package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +0 -190
  526. package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +0 -572
  527. package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +0 -623
  528. package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +0 -221
  529. package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +0 -705
  530. package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +0 -774
  531. package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +0 -83
  532. package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +0 -611
  533. package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +0 -289
  534. package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +0 -592
  535. package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +0 -233
  536. package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +0 -193
  537. package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +0 -625
  538. package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +0 -116
  539. package/extensions/plugin-dev/skills/skill-development/SKILL.md +0 -562
  540. package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +0 -465
  541. package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +0 -167
  542. package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +0 -111
  543. package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +0 -225
  544. package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +0 -39
  545. package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +0 -379
  546. package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +0 -210
  547. package/extensions/plugin-dev/skills/start/SKILL.md +0 -82
  548. package/scripts/check-hooks.mjs +0 -174
  549. package/scripts/check-principles.mjs +0 -116
  550. package/scripts/hooks/session-start-drift-check.mjs +0 -49
  551. package/scripts/install.sh +0 -70
  552. package/scripts/lib/auto-update.mjs +0 -88
  553. package/scripts/lib/bundle-hash.mjs +0 -137
  554. package/scripts/lib/hooks.mjs +0 -585
  555. package/scripts/lib/ledger.mjs +0 -163
  556. package/scripts/lib/migrate-artifacts.mjs +0 -144
  557. package/scripts/lib/outdated.mjs +0 -144
  558. package/scripts/lib/postinstall-offer.mjs +0 -83
  559. package/scripts/lib/principles.mjs +0 -109
  560. package/scripts/lib/provision-mcp.mjs +0 -16
  561. package/scripts/lib/resolve-plugin-root.mjs +0 -9
  562. package/scripts/lib/run-install.mjs +0 -507
  563. package/scripts/lib/run-prune.mjs +0 -94
  564. package/scripts/lib/run-uninstall.mjs +0 -244
  565. package/scripts/lib/run-update.mjs +0 -165
  566. package/scripts/lib/serve.mjs +0 -472
  567. package/scripts/lib/ups-router.mjs +0 -392
  568. package/scripts/postinstall.mjs +0 -101
  569. package/scripts/setup-enact-context.sh +0 -28
  570. package/scripts/version-bump.sh +0 -484
  571. package/web/assets/README.md +0 -111
  572. package/web/assets/logo-full.png +0 -0
  573. package/web/assets/logo-slim.png +0 -0
  574. package/web/assets/tokens/base.css +0 -45
  575. package/web/assets/tokens/colors.css +0 -248
  576. package/web/assets/tokens/effects.css +0 -24
  577. package/web/assets/tokens/fonts.css +0 -8
  578. package/web/assets/tokens/index.css +0 -18
  579. package/web/assets/tokens/spacing.css +0 -50
  580. package/web/index.html +0 -1188
package/README.md CHANGED
@@ -2,161 +2,120 @@
2
2
 
3
3
  Multi-surface **plugin manifest** tooling for Enact: schemas, validation, sync, and the plugin-dev toolkit for ENACT-native bundles plus derived Claude Code, Codex, and Cursor projections.
4
4
 
5
- **Repository:** https://dev.azure.com/amsterdamdatalabs/Enact/_git/enact-extensions
6
- **Package:** `@amsterdamdatalabs/enact-extensions`
7
- **CLI:** `enact-extensions`
5
+ - **Repository:** https://dev.azure.com/amsterdamdatalabs/Enact/_git/enact-extensions
6
+ - **Package:** `@amsterdamdatalabs/enact-extensions`
7
+ - **CLI:** `enact-extensions`
8
8
 
9
- ## Scope
9
+ ## What this repo is
10
10
 
11
- This repo is the manifest tooling package (`@amsterdamdatalabs/enact-extensions`) plus a set of self-contained plugin bundles under `extensions/`. It owns:
11
+ This package owns the manifest tooling and a set of self-contained plugin bundles under `extensions/`:
12
12
 
13
- - `spec/` — JSON schemas (canonical: `enact.json`) + per-host schemas (`claude-plugin.json`, `codex-plugin.json`, `cursor-plugin.json`) + `index.json` (discovery index schema)
14
- - `src/` — `create/*`, `validate/*`, and `install` TypeScript library
15
- - `scripts/` — CLI: `enact-extensions` (`validate` | `sync` | `install` | `uninstall` | `list` | `index` | `log` | `outdated` | `update` | `serve`, path defaults to cwd)
16
- - `extensions/<plugin>/` — one self-contained bundle per plugin (e.g. `plugin-dev`, `cmux`, `devops`, `dev-state`, `net-revenue-management`), each with a canonical `.agents/plugin.json` + skills/agents/hooks
17
- - `web/` — vendored ADL design assets (`web/assets/tokens/*.css`, `web/assets/logo-*.png`) + `web/index.html` (the management UI served by `serve`)
13
+ - `spec/` — JSON schemas (`enact.json` canonical; per-host schemas for claude/codex/cursor)
14
+ - `src/` — TypeScript library for manifest derivation (`create/`), validation (`validate/`), and repo-local projection (`projection.ts`)
15
+ - `scripts/` — CLI: `enact-extensions` (`validate` | `sync` | `list` | `index` | `install --repo` | `uninstall --repo` | `doctor enact-repo --repo`)
16
+ - `extensions/<plugin>/` — one bundle per plugin (e.g. `plugin-dev`, `enact-core`, `enact-factory`, `net-revenue-management`), each with a canonical `.agents/plugin.json`
18
17
 
19
- Distribution is **install-only**: there is no pre-built marketplace artifact and no central registry. `enact-extensions install <bundle>` projects the per-surface manifest from `.agents/plugin.json` on the fly, copies the bundle into the target home, and enables it.
18
+ **Scope: repo-local agent setup only.** `enact-extensions install <bundle> --repo <path>` projects host files from `.agents/plugin.json` into a git repository as committed, relative files. This package never installs into host global homes (`~/.claude`, `~/.codex`, `~/.cursor`, `~/.kimi-code`, `~/.enact`), keeps no global install ledger, and never rewrites global agent files (`CLAUDE.md` / `AGENTS.md`); everything global belongs to `enact-vps`, whose global surface sweep also removes legacy global installs made by older versions of this CLI. There is no npm `postinstall`.
20
19
 
21
- ## Surface Contract
20
+ ## Surface contract
22
21
 
23
- Each `extensions/<plugin>/.agents/plugin.json` is the canonical source manifest. `enact-extensions sync` (and `install`) derive `.claude-plugin/`, `.codex-plugin/`, and `.cursor-plugin/` from that source those projections are generated, never committed.
22
+ Each `extensions/<plugin>/.agents/plugin.json` is the canonical source. `sync` and `install --repo` derive `.claude-plugin/`, `.codex-plugin/`, `.cursor-plugin/`, and `.kimi-plugin/` from itthese projections are generated and never committed.
24
23
 
25
- Author skills, commands, and hooks so they are valid on **all projected surfaces by default**:
24
+ Author skills so they are valid on **all projected surfaces by default**. Use surface-neutral workflow language, treat `.agents/plugin.json` as the source of truth, and isolate host-specific details only when required.
26
25
 
27
- - Prefer surface-neutral workflow language in `SKILL.md` and hook prompts.
28
- - Treat ENACT-native `.agents/plugin.json` as the source of truth, not a sidecar.
29
- - Only use host-specific details when they are truly required, and isolate them clearly in references or host-specific examples.
30
- - Do not assume a Claude-only tool, env var, or lifecycle quirk unless the same contract exists on Codex and ENACT, or the skill explicitly scopes that instruction.
31
-
32
- Do not add ad-hoc sibling packages here (for example legacy `enact-feed-*` MCP prototypes).
33
-
34
- ## Clone
26
+ ## Install / build
35
27
 
36
28
  ```bash
37
29
  git clone https://amsterdamdatalabs@dev.azure.com/amsterdamdatalabs/Enact/_git/enact-extensions
38
- ```
39
-
40
- This repo has no submodules of its own. Sibling product packages are submoduled by `enact-os/`, not by `enact-extensions/`.
41
-
42
- ## Workspace commands
43
-
44
- ```bash
30
+ cd enact-extensions
45
31
  npm install
46
32
  npm run build
47
- npm run validate # validate the plugin-dev bundle
48
- npm run sync # regenerate host manifests for plugin-dev from .agents/plugin.json
49
33
  ```
50
34
 
51
- To validate, install, list, or index any bundle:
35
+ ## Tests
52
36
 
53
37
  ```bash
54
- npm run build
55
- node scripts/enact-extensions.mjs validate extensions/net-revenue-management
56
- node scripts/enact-extensions.mjs install extensions/net-revenue-management --platform enact --global
57
- node scripts/enact-extensions.mjs install extensions/net-revenue-management --platform enact --local
58
-
59
- # Install by bare name (resolves from extensions/ tree)
60
- node scripts/enact-extensions.mjs install net-revenue-management --platform enact --global
61
-
62
- # Install to multiple platforms at once
63
- node scripts/enact-extensions.mjs install net-revenue-management --platform all
64
- node scripts/enact-extensions.mjs install net-revenue-management --platform claude,cursor
65
-
66
- # List available bundles
67
- node scripts/enact-extensions.mjs list
68
- node scripts/enact-extensions.mjs list --json
69
-
70
- # Generate local discovery index (gitignored artifact; spec/index.json is the committed schema)
71
- node scripts/enact-extensions.mjs index
72
- node scripts/enact-extensions.mjs index --stdout
38
+ npm test
39
+ ```
73
40
 
74
- # Uninstall a plugin (full remove: files + marketplace entry + config.toml entry)
75
- node scripts/enact-extensions.mjs uninstall net-revenue-management --platform enact
76
- node scripts/enact-extensions.mjs uninstall net-revenue-management --platform all
41
+ This runs the full validation suite: principle checks, hook checks, TypeScript build, skill standard validation, and the Node test suite.
77
42
 
78
- # View the install ledger (most recent first)
79
- node scripts/enact-extensions.mjs log
80
- node scripts/enact-extensions.mjs log --json
43
+ ## Usage
81
44
 
82
- # Check freshness drift (installed vs canonical source, per plugin+surface)
83
- node scripts/enact-extensions.mjs outdated
84
- node scripts/enact-extensions.mjs outdated --json
45
+ Validate, sync, or list bundles:
85
46
 
86
- # Refresh outdated plugins (ledger-driven, per-surface)
87
- node scripts/enact-extensions.mjs update --all
88
- node scripts/enact-extensions.mjs update net-revenue-management
89
- node scripts/enact-extensions.mjs update --all --dry-run
47
+ ```bash
48
+ npm run build
90
49
 
91
- # Install/update enact-core so the drift-check hook is bundle-owned
92
- node scripts/enact-extensions.mjs install enact-core --platform all
93
- node scripts/enact-extensions.mjs install enact-core --platform claude,codex
50
+ node scripts/enact-extensions.mjs validate extensions/net-revenue-management
51
+ node scripts/enact-extensions.mjs sync extensions/plugin-dev
94
52
 
95
- # Start the localhost management UI + API
96
- node scripts/enact-extensions.mjs serve
97
- node scripts/enact-extensions.mjs serve --port 43217 --open
53
+ node scripts/enact-extensions.mjs list
98
54
  ```
99
55
 
100
- ## CLI (`enact-extensions`)
56
+ `install` / `uninstall` / `doctor` only accept plugin names listed in
57
+ [`bundled-extensions.json`](bundled-extensions.json) — today that is **`enact-repo`**
58
+ only — and only in repo-local `--repo <path>` form. Any other name is refused with a
59
+ clear error before anything is touched. `scripts/lib/allowed-plugins.mjs` is the CLI's
60
+ allow-list gate; the repo-local install library stays name-agnostic.
101
61
 
102
- Published from `@amsterdamdatalabs/enact-extensions`. Path defaults to **cwd**:
62
+ ### Repo-local install (`--repo`)
103
63
 
104
- ```bash
105
- cd extensions/enact-factory
106
- enact-extensions validate
107
- enact-extensions sync
108
- ```
109
-
110
- Subcommands: `validate` | `sync` | `install` | `uninstall` | `list` | `index` | `log` | `outdated` | `update` | `serve`.
111
-
112
- Link locally:
64
+ Install a bundle **into a git repository** as committed, relative files, following each host's documented project-scope standard. Nothing is written under `$HOME`, and no absolute path is written into any file. (This replaces the removed `--local` fake-home scope.)
113
65
 
114
66
  ```bash
115
- npm run build && npm link
67
+ enact-extensions install enact-repo --repo <path> [--host claude,codex,cursor,kimi,opencode] [--force]
68
+ enact-extensions install enact-repo --repo <path> --dry-run # preview; writes nothing
69
+ enact-extensions uninstall enact-repo --repo <path> [--purge] [--force]
70
+ enact-extensions uninstall enact-repo --repo <path> --dry-run [--purge] # preview; writes nothing
71
+ enact-extensions doctor enact-repo --repo <path> [--json] # read-only health check
116
72
  ```
117
73
 
118
- ## Freshness
74
+ `<path>` must be the git repository root (not a subdirectory, not `$HOME`). `--host` defaults to every repo host the bundle targets.
119
75
 
120
- The freshness loop keeps installed plugins in sync with their canonical source without requiring manual tracking:
76
+ `--dry-run` prints exactly what would be written, merged, removed, or restored — one line per file, naming the action and the reason (including a drift/conflict refusal, if the real run would refuse) — and exits with the same success/failure a real run would, without touching the filesystem.
121
77
 
122
- 1. **Install records a content hash** — `enact-extensions install` writes a sha256 hash of the canonical bundle into the ledger entry alongside the version.
123
- 2. **`outdated` detects drift per surface** — compares the recorded hash against the current canonical source hash for each `(plugin, surface)` pair. Status values: `fresh` / `outdated` / `orphaned`. Exit 0 always (report only).
124
- 3. **`update` refreshes the installed surfaces** — driven by the ledger; only the surfaces a plugin is actually installed on are updated. `--all` refreshes every outdated surface; `<name>` refreshes that plugin's outdated surfaces; `--dry-run` shows what would change without touching anything.
125
- 4. **Session-start hook (optional)** — `enact-core` owns the advisory `SessionStart` hook (`enact-extensions hook session-start`). Installing `enact-core` on a surface makes the drift check bundle-owned and removes stale pre-bundle standalone drift-hook entries there.
78
+ `doctor enact-repo --repo <path>` is a read-only report: installed?; installed version vs. the current bundle version (outdated?), plus any managed file whose content has drifted from what the current bundle would generate; lock integrity (every managed file present and hash-matching; missing/drifted files listed); per-host status Claude (marketplace + settings present, with the trust / "start a new session" note above), Codex (files present, plus a read-only check of `~/.codex/config.toml`'s `projects."<path>".trust_level` for this exact repo), Cursor (files present, with an MCP-approval note), Kimi (`.kimi-code/mcp.json` present; whether `~/.kimi-code/config.toml` has the global `# BEGIN ENACT KIMI HOOKS` block installed by enact-vps; and a **Kimi Code workspace-trust** check — Kimi only loads project MCP servers, `.kimi-code/mcp.json` included, once you've opened the repo in Kimi Code and accepted "Trust this folder", so doctor reports trusted/NOT trusted by reading `${KIMI_CODE_HOME:-~/.kimi-code}/workspace-trust/wd_<slug>_<hash>` never writes it), OpenCode (plugin file present and generated from the current bundle); the required global binaries on `PATH` (`enact-hook`, `lean-ctx`, `crg`/`code-review-graph`, `azure-devops-mcp`) with versions; the root `enact-config.toml` marker (present, parses as TOML, has a `[skills]` table; other tools' tables are never inspected), plus a stale leftover `.agents/enact-repo.toml` reported for information only (never read); an `enact-hook doctor --repo` passthrough when that sub-command is available; and the `enact-hook` per-repo logs — `.agents/hooks/hooks.log` (deny log CSV: `timestamp,surface,reason_id,command,agent_message`) and `.agents/hooks/hooks-activity.log` (activity log CSV: those columns plus `host,kind,event,tool,session,downstream,duration_ms`) — reporting each log's path, whether it exists, its row count, and (deny log only) the last 5 rows, parsed with a CSV reader that handles quoted commas and already-flattened fields. It never writes anything and exits non-zero only when a hard requirement fails (not installed, lock integrity failure, a missing required binary, or a missing, unparseable or `[skills]`-less `enact-config.toml`) — an outdated version, a host trust/approval note, a stale `.agents/enact-repo.toml`, or the hook-log summary is informational only.
126
79
 
127
- **npm postinstall:** when you `npm install @amsterdamdatalabs/enact-extensions` in an interactive terminal, a TTY-aware postinstall script installs `enact-core` on all host surfaces. In non-interactive terminals and CI environments it prints a one-line notice (`Run enact-extensions install enact-core --platform all …`) and exits immediately — it never blocks installs or hangs pipelines.
80
+ | Host | Files written in the repo |
81
+ | --- | --- |
82
+ | Claude Code | `.claude-plugin/enact-repo/` (plugin root: `.claude-plugin/plugin.json`, `skills/`, `hooks/hooks.json` with `--host=claude`, `.mcp.json`); `.claude-plugin/marketplace.json` (marketplace `enact-repo-local`, plugin `"source": "./.claude-plugin/enact-repo"`); `.claude/settings.json` merged with `extraKnownMarketplaces.enact-repo-local = {"source": {"source": "directory", "path": "./"}}` and `enabledPlugins["enact-repo@enact-repo-local"] = true`. Loads only after you trust the folder — **and, per live testing, not necessarily in that very first trusted session**: the marketplace registers on first launch but hooks/skills may not finish activating until the *second* Claude Code session in the folder. If hooks/skills seem missing right after install, start a new Claude Code session in this folder before assuming the install failed. |
83
+ | Codex | `.codex/config.toml` `[mcp_servers.<name>]` tables in a marker-delimited block (your TOML and comments are untouched); `.codex/hooks.json` (nested schema, `--host=codex`). Loads only after you trust the project (exact path, no parent inheritance) and review hooks with `/hooks`. No repo marketplace (Codex does not auto-discover one). |
84
+ | Cursor | `.cursor/hooks.json` (`version: 1`, Cursor event names, `--host=cursor`); `.cursor/mcp.json` (`type: "stdio"`). |
85
+ | Kimi Code | `.kimi-code/mcp.json`. Kimi hooks are global-only and are installed by enact-vps, not here. |
86
+ | OpenCode | `.opencode/plugins/enact-repo.ts` (hooks with `--host=opencode`, MCP servers via the `config` hook; no skills path, because OpenCode reads `.agents/skills/` natively). |
128
87
 
129
- ## Web UI (`serve`)
88
+ Skills: Codex, Cursor, Kimi, and OpenCode share one copy in `.agents/skills/<skill>/`. Claude uses the copy bundled in its plugin. An existing skill dir with the same name that the bundle does not manage is never overwritten, even with `--force`.
130
89
 
131
- `enact-extensions serve` starts a dependency-free localhost management UI at `http://127.0.0.1:43217` (default port). From the UI you can browse all available extensions and one-click install or uninstall them to any platform surface. Pass `--open` to launch the browser automatically.
90
+ `lean-ctx` config: regardless of `--host`, the bundle's baseline `lean-ctx/config.toml` and `lean-ctx/layout.toml` are installed as managed whole files at `.agents/lean-ctx/config/lean-ctx/` every host's `.mcp.json`/hooks equivalent runs `enact-hook lean-ctx ...`, which resolves its config from this repo-local path. Managed like any other whole file: drift is detected, `--force` takes over and records a pre-existing user `config.toml`/`layout.toml` for byte-exact restore on uninstall.
132
91
 
133
- The server binds to `127.0.0.1` only it is never reachable from other machines. API routes: `GET /` (UI), `GET /assets/*` (static assets), `GET /api/index` (discovery index), `GET /api/installed` (current installs), `POST /api/install`, `POST /api/uninstall`.
92
+ Always written: the `[skills]` table of root `enact-config.toml` (the managed-repo marker the `enact-hook` runtime checks; the file is shared, and each root table has one owner — `version`/`[hooks]`/`[rules]`/`[repo]` enact-hook, `[skills]` enact-extensions, `[controls]` enact-repo-controls). If the file is missing, install creates it with `version = 1` plus `[skills]`. If it lacks `[skills]`, install appends a `[skills]` block (`version = 1`) as text, leaving every other byte intact. If `[skills]` already exists, install leaves it alone. Install never writes `[hooks]`, refuses to append to a file that is not valid TOML, and no longer creates `.agents/enact-repo.toml`; the baseline `lean-ctx` config (`config.toml`, `layout.toml`) as managed whole files at `.agents/lean-ctx/config/lean-ctx/`; six managed lines in `.agents/.gitignore` — `/lean-ctx/data/`, `/lean-ctx/cache/`, `/lean-ctx/state/`, `/lean-ctx/bin/` (lean-ctx's runtime-generated dirs stay out of git; `config/` itself is committed), plus `/hooks/hooks.log` and `/hooks/hooks-activity.log` (the `enact-hook` runtime's own deny/activity logs under `.agents/hooks/`, same treatment: a plain uninstall keeps these two lines while either log file still exists on disk, `--purge` removes the log files themselves first); and `.agents/enact-repo.lock.json`. Commit all of it except what `.gitignore` excludes.
134
93
 
135
- ## Install ledger
94
+ The lock records every managed file (sha256), every entry merged into a user file, and the plugin version, all as relative paths:
136
95
 
137
- Every install and uninstall is appended to a single global JSONL file at `~/.enact/extensions/ledger.jsonl`. Each record contains `{ts, action, name, version, platform, scope, home, path, hash}`. The `hash` field is a sha256 content hash of the canonical bundle at install time — this is the drift detector used by `outdated` to catch content changes even without a version bump. The ledger is best-effort: a write failure never fails the install/uninstall operation. View it with:
96
+ - **Re-runs are idempotent.** An unchanged bundle produces no diff. Narrowing `--host` removes the dropped hosts' managed content.
97
+ - **Merged user files are edited surgically.** `.claude/settings.json`, `.cursor/hooks.json`, `.cursor/mcp.json`, `.kimi-code/mcp.json`, `.codex/hooks.json`, and `.codex/config.toml` only gain or lose the bundle's own entries. Key order and indentation are preserved.
98
+ - **Refusals (override with `--force`).** Install stops if a managed file or entry was edited since the last install, or if a same-named MCP server or marketplace entry exists that the bundle does not own. The error names each file.
99
+ - **Uninstall removes exactly what the lock records.** It deletes a merged file only if install created it and it is now empty, then deletes the lock. `enact-config.toml` stays unless you pass `--purge`. `--purge` cuts only the `[skills]` block install wrote, at text level; it refuses if that block was edited (with `--force`, it keeps the block). It deletes the file only if install created it and nothing but `version = 1` remains.
100
+
101
+ Install the CLI itself globally (the CLI binary only — no plugins, no host config):
138
102
 
139
103
  ```bash
140
- enact-extensions log # human-readable, newest first
141
- enact-extensions log --json # raw JSON array
104
+ bash dev-install-and-run.sh # npm install, build, npm pack + npm install -g, verify
105
+ enact-extensions doctor enact-repo --repo <path>
142
106
  ```
143
107
 
108
+ The published package ships `bundled-extensions.json`, `dist/`, `spec/`, the CLI scripts, and `extensions/enact-repo` only (`tests/package-contents.test.mjs` pins this and installs the packed tarball into a temp prefix).
109
+
144
110
  ## Layout
145
111
 
146
112
  ```text
147
- enact-extensions/ # @amsterdamdatalabs/enact-extensions package root
148
- ├── src/ spec/ scripts/ # manifest library + CLI (validate | sync | install | uninstall | list | index | log | outdated | update | serve)
149
- ├── web/ # management UI — web/index.html + web/assets/tokens/*.css + web/assets/logo-*.png
150
- ├── generated/ # gitignored local discovery artifacts (e.g. index.json)
151
- └── extensions/ # self-contained plugin bundles
152
- ├── plugin-dev/ # plugin authoring toolkit
153
- ├── cmux/ devops/ dev-state/ # first-party skill bundles
154
- ├── enact-context/ enact-factory/ enact-loop/ enact-wiki/
155
- └── net-revenue-management/ # product and platform bundles
113
+ enact-extensions/
114
+ ├── src/ spec/ scripts/ # manifest library + CLI
115
+ ├── generated/ # gitignored discovery artifacts
116
+ └── extensions/ # self-contained plugin bundles
156
117
  ```
157
118
 
158
119
  ## enact-os integration
159
120
 
160
- `enact-os` submodules **this** repo at `enact-extensions/` for manifest tooling, and separately submodules the product packages (`enact-context`, `enact-factory`, `enact-wiki`) at top level. Factory and config paths in `enact-os/config.toml` target each product package by its top-level path.
161
-
162
- Host plugin delivery now lives in this repo for the shipped bundles under `extensions/`, including `enact-context`, `enact-factory`, `enact-loop`, and `enact-wiki`. **enact-loop is the default/recommended loop and contract-runner product.** Product runtimes still live in their own repos; use `enact-extensions install <name> --platform <surface>` for host registration, while repo-local commands such as `enact-factory setup` or `enact-factory plugins delivery` persist local runtime state.
121
+ `enact-os` submodules this repo at `enact-extensions/` for manifest tooling and separately submodules product packages at top level. This package is repo-local agent setup only (`enact-repo` see [`bundled-extensions.json`](bundled-extensions.json)); anything global belongs to `enact-vps`. Repo-local commands such as `enact-factory setup` manage runtime state.
@@ -0,0 +1,6 @@
1
+ {
2
+ "bundled": [
3
+ "enact-repo",
4
+ "enact-loop"
5
+ ]
6
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"enact.d.ts","sourceRoot":"","sources":["../../src/create/enact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG7E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,cAAc,CA6B3E"}
1
+ {"version":3,"file":"enact.d.ts","sourceRoot":"","sources":["../../src/create/enact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG7E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,cAAc,CA8B3E"}
@@ -27,6 +27,8 @@ export function createEnactManifest(input) {
27
27
  manifest.factory = input.factory;
28
28
  if (input.operator)
29
29
  manifest.operator = input.operator;
30
+ if (input.principles)
31
+ manifest.principles = input.principles;
30
32
  return manifest;
31
33
  }
32
34
  //# sourceMappingURL=enact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enact.js","sourceRoot":"","sources":["../../src/create/enact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,KAAuB;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,2DAA2D,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAmB;QAC/B,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO;QACjC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG,IAAI,2BAA2B;QACpE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACrD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,YAAY;QACtC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,eAAe,CAAC;QAC9C,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;KAC5C,CAAC;IAEF,IAAI,KAAK,CAAC,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACvD,IAAI,KAAK,CAAC,UAAU;QAAE,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7D,IAAI,KAAK,CAAC,SAAS;QAAE,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC1D,IAAI,KAAK,CAAC,OAAO;QAAE,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACpD,IAAI,KAAK,CAAC,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEvD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"enact.js","sourceRoot":"","sources":["../../src/create/enact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEzE,MAAM,UAAU,mBAAmB,CAAC,KAAuB;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,2DAA2D,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAmB;QAC/B,IAAI;QACJ,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO;QACjC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,GAAG,IAAI,2BAA2B;QACpE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE;QACrD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,YAAY;QACtC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,GAAG,eAAe,CAAC;QAC9C,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;KAC5C,CAAC;IAEF,IAAI,KAAK,CAAC,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACvD,IAAI,KAAK,CAAC,UAAU;QAAE,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7D,IAAI,KAAK,CAAC,SAAS;QAAE,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC1D,IAAI,KAAK,CAAC,OAAO;QAAE,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACpD,IAAI,KAAK,CAAC,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACvD,IAAI,KAAK,CAAC,UAAU;QAAE,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAE7D,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -3,6 +3,9 @@ export { createEnactManifest } from "./enact.js";
3
3
  export { deriveClaudeManifest } from "./claude.js";
4
4
  export { deriveCodexManifest } from "./codex.js";
5
5
  export { deriveCursorManifest } from "./cursor.js";
6
+ export { deriveKimiManifest } from "./kimi.js";
7
+ export { deriveOpenCodeManifest, deriveOpenCodeMcp, deriveOpenCodePlugin, unmappedOpenCodeHookEvents, fallbackOpenCodeHookEvents, } from "./opencode.js";
8
+ export type { OpenCodeLocalMcpServer, OpenCodeHookFallback, OpenCodePluginSource } from "./opencode.js";
6
9
  export declare function deriveManifest(platform: ProjectionPlatform, enact: PluginManifest): PluginManifest;
7
10
  export declare function resolveTargets(enact: PluginManifest): TargetPlatform[];
8
11
  export declare function resolveProjectionTargets(enact: PluginManifest): ProjectionPlatform[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,cAAc,EACf,MAAM,sBAAsB,CAAC;AAa9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAWnD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,cAAc,GACpB,cAAc,CAEhB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,EAAE,CAMtE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,kBAAkB,EAAE,CAMpF;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAIF,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG;IACxD,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB,CASA;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,kBAAkB,EAAE,GAC7B,UAAU,EAAE,CASd;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,GACpB,cAAc,CAKhB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,cAAc,EACf,MAAM,sBAAsB,CAAC;AAe9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAaxG,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,cAAc,GACpB,cAAc,CAEhB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,EAAE,CAMtE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,kBAAkB,EAAE,CAMpF;AAED,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAIF,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG;IACxD,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB,CASA;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,kBAAkB,EAAE,GAC7B,UAAU,EAAE,CASd;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,cAAc,GACpB,cAAc,CAKhB"}
@@ -6,14 +6,20 @@ import { createEnactManifest } from "./enact.js";
6
6
  import { deriveClaudeManifest } from "./claude.js";
7
7
  import { deriveCodexManifest } from "./codex.js";
8
8
  import { deriveCursorManifest } from "./cursor.js";
9
+ import { deriveKimiManifest } from "./kimi.js";
10
+ import { deriveOpenCodeManifest } from "./opencode.js";
9
11
  export { createEnactManifest } from "./enact.js";
10
12
  export { deriveClaudeManifest } from "./claude.js";
11
13
  export { deriveCodexManifest } from "./codex.js";
12
14
  export { deriveCursorManifest } from "./cursor.js";
15
+ export { deriveKimiManifest } from "./kimi.js";
16
+ export { deriveOpenCodeManifest, deriveOpenCodeMcp, deriveOpenCodePlugin, unmappedOpenCodeHookEvents, fallbackOpenCodeHookEvents, } from "./opencode.js";
13
17
  const DERIVERS = {
14
18
  claude: deriveClaudeManifest,
15
19
  codex: deriveCodexManifest,
16
20
  cursor: deriveCursorManifest,
21
+ kimi: deriveKimiManifest,
22
+ opencode: deriveOpenCodeManifest,
17
23
  };
18
24
  export function deriveManifest(platform, enact) {
19
25
  return DERIVERS[platform](enact);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/create/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { PluginManifest } from "../internal/types.js";
2
+ /**
3
+ * Derive the Kimi manifest (`.kimi-plugin/plugin.json`) from the canonical
4
+ * Enact manifest.
5
+ *
6
+ * v2 scope is project metadata + skills + commands. `hooks` and `mcpServers`
7
+ * are NOT inlined here — they need file reads from the plugin root (canonical
8
+ * `hooks` is a nested wrapper, `mcpServers` is a path). `installKimiPluginBundle`
9
+ * finalizes the manifest by inlining them after projecting the bundle onto disk.
10
+ * `agents` is still omitted because Kimi has no such field.
11
+ *
12
+ * Unlike Claude and Cursor, the default `skills` path is NOT stripped: Kimi has
13
+ * no skills auto-discovery, so an omitted `skills` field means zero skills.
14
+ */
15
+ export declare function deriveKimiManifest(enact: PluginManifest): PluginManifest;
16
+ //# sourceMappingURL=kimi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi.d.ts","sourceRoot":"","sources":["../../src/create/kimi.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAiC3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAiCxE"}
@@ -0,0 +1,87 @@
1
+ import { DEFAULT_PATHS, MANIFEST_FIELDS } from "../internal/platform.js";
2
+ import { pickManifestFields, withPlatformKeyword } from "../internal/pick.js";
3
+ /** The only `interface` keys Kimi's manifest parser reads (readInterface). */
4
+ const KIMI_INTERFACE_FIELDS = [
5
+ "displayName",
6
+ "shortDescription",
7
+ "longDescription",
8
+ "developerName",
9
+ "websiteURL",
10
+ ];
11
+ /**
12
+ * Project the canonical Enact `interface` block onto the five keys Kimi reads.
13
+ * Enact-only keys (category, capabilities, composerIcon, logo) are dropped —
14
+ * Kimi ignores them, and the derived manifest schema is closed.
15
+ * Returns undefined when nothing survives, so the field is omitted entirely.
16
+ */
17
+ function kimiInterface(raw, homepage) {
18
+ const source = raw && typeof raw === "object" && !Array.isArray(raw) ? raw : {};
19
+ const out = {};
20
+ for (const key of KIMI_INTERFACE_FIELDS) {
21
+ const value = source[key];
22
+ if (typeof value === "string" && value.trim())
23
+ out[key] = value;
24
+ }
25
+ // Enact has no `websiteURL`; Kimi shows it as the plugin's link, so fall back
26
+ // to the manifest's homepage.
27
+ if (out.websiteURL === undefined && typeof homepage === "string" && homepage.trim()) {
28
+ out.websiteURL = homepage;
29
+ }
30
+ return Object.keys(out).length > 0 ? out : undefined;
31
+ }
32
+ /**
33
+ * Derive the Kimi manifest (`.kimi-plugin/plugin.json`) from the canonical
34
+ * Enact manifest.
35
+ *
36
+ * v2 scope is project metadata + skills + commands. `hooks` and `mcpServers`
37
+ * are NOT inlined here — they need file reads from the plugin root (canonical
38
+ * `hooks` is a nested wrapper, `mcpServers` is a path). `installKimiPluginBundle`
39
+ * finalizes the manifest by inlining them after projecting the bundle onto disk.
40
+ * `agents` is still omitted because Kimi has no such field.
41
+ *
42
+ * Unlike Claude and Cursor, the default `skills` path is NOT stripped: Kimi has
43
+ * no skills auto-discovery, so an omitted `skills` field means zero skills.
44
+ */
45
+ export function deriveKimiManifest(enact) {
46
+ const picked = pickManifestFields(enact, MANIFEST_FIELDS.kimi);
47
+ const iface = kimiInterface(enact.interface, enact.homepage);
48
+ const manifest = {
49
+ ...picked,
50
+ description: (typeof picked.description === "string" ? picked.description : undefined) ??
51
+ `${enact.name} plugin for Kimi.`,
52
+ keywords: withPlatformKeyword(Array.isArray(picked.keywords) ? picked.keywords : undefined, "kimi"),
53
+ // Kimi requires component paths to start with "./" and to resolve inside the
54
+ // plugin root; anything else is an error diagnostic.
55
+ skills: normalizeKimiPath(picked.skills) ?? DEFAULT_PATHS.skills,
56
+ };
57
+ const commands = normalizeKimiPath(picked.commands);
58
+ if (commands)
59
+ manifest.commands = commands;
60
+ else
61
+ delete manifest.commands;
62
+ // Hooks and MCP servers are finalized at install time (see
63
+ // installKimiPluginBundle). Strip any raw canonical values so the derived
64
+ // manifest is valid for `validateKimiManifest` and sync projections.
65
+ delete manifest.hooks;
66
+ delete manifest.mcpServers;
67
+ delete manifest.skillInstructions;
68
+ if (iface)
69
+ manifest.interface = iface;
70
+ else
71
+ delete manifest.interface;
72
+ return manifest;
73
+ }
74
+ /** Coerce a manifest path to Kimi's required leading-"./" form. */
75
+ function normalizeKimiPath(value) {
76
+ if (typeof value !== "string")
77
+ return undefined;
78
+ const trimmed = value.trim();
79
+ if (!trimmed)
80
+ return undefined;
81
+ if (trimmed.startsWith("./"))
82
+ return trimmed;
83
+ if (trimmed.startsWith("../") || trimmed.startsWith("/"))
84
+ return undefined;
85
+ return `./${trimmed}`;
86
+ }
87
+ //# sourceMappingURL=kimi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi.js","sourceRoot":"","sources":["../../src/create/kimi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG9E,8EAA8E;AAC9E,MAAM,qBAAqB,GAAG;IAC5B,aAAa;IACb,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,YAAY;CACJ,CAAC;AAEX;;;;;GAKG;AACH,SAAS,aAAa,CAAC,GAAY,EAAE,QAAiB;IACpD,MAAM,MAAM,GACV,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC;IACD,8EAA8E;IAC9E,8BAA8B;IAC9B,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACpF,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAqB;IACtD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAE7D,MAAM,QAAQ,GAAmB;QAC/B,GAAG,MAAM;QACT,WAAW,EACT,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,GAAG,KAAK,CAAC,IAAI,mBAAmB;QAClC,QAAQ,EAAE,mBAAmB,CAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,QAAqB,CAAC,CAAC,CAAC,SAAS,EAC1E,MAAM,CACP;QACD,6EAA6E;QAC7E,qDAAqD;QACrD,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM;KACjE,CAAC;IAEF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;;QACtC,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAE9B,2DAA2D;IAC3D,0EAA0E;IAC1E,qEAAqE;IACrE,OAAO,QAAQ,CAAC,KAAK,CAAC;IACtB,OAAO,QAAQ,CAAC,UAAU,CAAC;IAC3B,OAAO,QAAQ,CAAC,iBAAiB,CAAC;IAElC,IAAI,KAAK;QAAE,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC;;QACjC,OAAO,QAAQ,CAAC,SAAS,CAAC;IAE/B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,mEAAmE;AACnE,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC7C,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3E,OAAO,KAAK,OAAO,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,129 @@
1
+ import type { PluginManifest } from "../internal/types.js";
2
+ /**
3
+ * Derive the OpenCode descriptor (`.opencode-plugin/plugin.json`) from the
4
+ * canonical Enact manifest. OpenCode has no documented plugin manifest file of
5
+ * its own — this descriptor is Enact-internal bookkeeping (validated by
6
+ * spec/opencode.json) that records project metadata plus the canonical
7
+ * `hooks`/`mcpServers` SOURCE PATHS (not their resolved content). A future
8
+ * installer reads those paths, loads the referenced JSON, and calls
9
+ * {@link deriveOpenCodeMcp} / {@link deriveOpenCodePlugin} to generate the
10
+ * real OpenCode artifacts: a root `opencode.json` MCP fragment and a
11
+ * `.opencode/plugins/<name>.ts` file.
12
+ */
13
+ export declare function deriveOpenCodeManifest(enact: PluginManifest): PluginManifest;
14
+ export interface OpenCodeLocalMcpServer {
15
+ type: "local";
16
+ command: string[];
17
+ environment?: Record<string, string>;
18
+ cwd?: string;
19
+ enabled: true;
20
+ }
21
+ /**
22
+ * Project a canonical `.mcp.json` document
23
+ * (`{mcpServers:{name:{command,args,env,cwd?}}}`) into OpenCode's root
24
+ * `opencode.json` MCP fragment.
25
+ *
26
+ * Source (verified 2026-09-14, this session): https://opencode.ai/docs —
27
+ * OpenCode MCP servers are declared directly under `"mcp"` in `opencode.json`
28
+ * as `{"<name>": {"type":"local", "command":["cmd", ...args],
29
+ * "environment": {...}, "cwd": "...", "enabled": true}}`. There is no
30
+ * `servers` wrapper (unlike the canonical `mcpServers` key) and no `disabled`
31
+ * key — OpenCode uses `enabled` and we always emit `enabled: true` for a
32
+ * server the canonical manifest declares (a disabled server simply would not
33
+ * be declared).
34
+ *
35
+ * Servers without a `command` (e.g. a remote/HTTP-only definition) have no
36
+ * documented OpenCode "local" equivalent here and are skipped rather than
37
+ * guessed at.
38
+ */
39
+ export declare function deriveOpenCodeMcp(canonicalMcp: unknown): {
40
+ mcp: Record<string, OpenCodeLocalMcpServer>;
41
+ };
42
+ /**
43
+ * Project a canonical matcher (e.g. `"Bash"`, or
44
+ * `"Write|Edit|MultiEdit|StrReplace|str_replace_editor|..."`) into an
45
+ * OpenCode-tool-id alternation (e.g. `"bash"`, `"write|edit"`), deduping
46
+ * repeated targets. A token with no known canonical mapping is kept
47
+ * (lowercased) as a passthrough rather than dropped -- combined with the
48
+ * case-insensitive ANCHORED matching {@link emitToolMethod} generates, this
49
+ * is a safety net that still matches an already-OpenCode-shaped or unknown
50
+ * matcher instead of silently never firing.
51
+ */
52
+ export declare function projectMatcherToOpenCode(matcher: string): string;
53
+ /**
54
+ * Return canonical hook events that declare active commands but have no
55
+ * documented OpenCode equivalent in {@link OPENCODE_HOOK_EVENT_MAP} AND no
56
+ * entry in {@link OPENCODE_HOOK_EVENT_FALLBACK} (a fallback-projected event
57
+ * is not "unmapped" — see {@link fallbackOpenCodeHookEvents}).
58
+ */
59
+ export declare function unmappedOpenCodeHookEvents(canonicalHooks: unknown): string[];
60
+ /** One canonical event projected via {@link OPENCODE_HOOK_EVENT_FALLBACK}. */
61
+ export interface OpenCodeHookFallback {
62
+ /** The canonical event with no direct OpenCode equivalent (e.g. "SessionEnd"). */
63
+ from: string;
64
+ /** The canonical event whose OpenCode handler it was folded into (e.g. "SessionIdle"). */
65
+ to: string;
66
+ }
67
+ /**
68
+ * Return the canonical hook events projected via
69
+ * {@link OPENCODE_HOOK_EVENT_FALLBACK} that declare active commands — e.g.
70
+ * `[{from:"SessionEnd", to:"SessionIdle"}]`. These are NOT reported by
71
+ * {@link unmappedOpenCodeHookEvents}: they run, just on a substitute event.
72
+ */
73
+ export declare function fallbackOpenCodeHookEvents(canonicalHooks: unknown): OpenCodeHookFallback[];
74
+ /** Input to {@link deriveOpenCodePlugin}: the three canonical bundle sources a generated OpenCode plugin carries. */
75
+ export interface OpenCodePluginSource {
76
+ /** Canonical hooks.json document, i.e. `{hooks:{EventName:[...]}}`. */
77
+ hooks?: unknown;
78
+ /** Canonical .mcp.json document, i.e. `{mcpServers:{name:{command,args,env,cwd?}}}`. */
79
+ mcpServers?: unknown;
80
+ /**
81
+ * Plugin-relative path to the bundle's skills directory (e.g. `"./skills"`),
82
+ * if the bundle has one. Resolved at runtime as `join(directory, skillsDir)`
83
+ * — `directory` is the OpenCode-supplied project root, never
84
+ * `${CLAUDE_PLUGIN_ROOT}` (OpenCode does not set that env var).
85
+ */
86
+ skillsDir?: string;
87
+ }
88
+ /**
89
+ * Generate the TypeScript source for a SINGLE OpenCode project plugin
90
+ * (`.opencode/plugins/<pluginName>.ts`) that carries a bundle's hooks, MCP
91
+ * servers AND skills together — see the module-level owner-decision comment
92
+ * above for the live-evidence basis of every mapping choice below.
93
+ *
94
+ * Runtime choice: OpenCode plugins run on Bun. This generated file uses
95
+ * `Bun.spawn` rather than the Bun Shell `$` helper because `Bun.spawn` has a
96
+ * documented `timeout` + `killSignal` option
97
+ * (https://bun.com/docs/api/spawn, verified 2026-09-14) needed to honor each
98
+ * canonical hook command's `timeout` (seconds), and gives direct access to
99
+ * `stdin`, `exitCode`, `stdout`/`stderr` text.
100
+ *
101
+ * Truthful failures: a hook command that crashes (e.g. `Bun.spawn` itself
102
+ * throws) or exits non-zero for a reason other than a PreToolUse deny is
103
+ * logged to stderr with the plugin's name — never silently swallowed, and
104
+ * never treated as a block (fail open). The PreToolUse deny throw itself
105
+ * happens OUTSIDE any try/catch in the generated code, so it can never be
106
+ * caught and swallowed by error handling elsewhere in the same method.
107
+ *
108
+ * PreToolUse (`tool.execute.before`) deny contract: the configured command
109
+ * receives `{hook_event_name, tool_name, tool_input, cwd, session_id}` as
110
+ * JSON on stdin. The call is blocked (the generated hook throws) when the
111
+ * command exits with code 2, or its stdout parses as JSON with
112
+ * `hookSpecificOutput.permissionDecision === "deny"`.
113
+ *
114
+ * UserPromptSubmit (`chat.message` + `experimental.chat.system.transform`):
115
+ * the configured command receives `{hook_event_name:"UserPromptSubmit",
116
+ * prompt, cwd, session_id}` as JSON on stdin. Its `hookSpecificOutput.additionalContext`
117
+ * (or, failing that, its raw stdout) is stored keyed by session id and
118
+ * injected into `output.system` the next time `experimental.chat.system.transform`
119
+ * fires for that same session — see the module comment for why this replaced
120
+ * a direct `output.parts` push.
121
+ *
122
+ * Canonical events with no documented OpenCode equivalent and no fallback are
123
+ * NOT wired into any hook; call {@link unmappedOpenCodeHookEvents} to get
124
+ * that list. Events projected via {@link OPENCODE_HOOK_EVENT_FALLBACK} (e.g.
125
+ * SessionEnd -> SessionIdle) ARE wired in, under their fallback target's
126
+ * bucket; call {@link fallbackOpenCodeHookEvents} to get that list.
127
+ */
128
+ export declare function deriveOpenCodePlugin(source: OpenCodePluginSource, pluginName: string): string;
129
+ //# sourceMappingURL=opencode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/create/opencode.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAY5E;AAMD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,IAAI,CAAC;CACf;AAeD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,OAAO,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;CAAE,CAmCxG;AAmJD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYhE;AA2DD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,EAAE,CAS5E;AAED,8EAA8E;AAC9E,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAO1F;AA8JD,qHAAqH;AACrH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAsO7F"}