@amsterdamdatalabs/enact-extensions 0.1.42 → 0.1.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. package/README.md +67 -108
  2. package/bundled-extensions.json +3 -0
  3. package/dist/create/claude.d.ts.map +1 -1
  4. package/dist/create/claude.js +1 -1
  5. package/dist/create/claude.js.map +1 -1
  6. package/dist/create/codex.d.ts.map +1 -1
  7. package/dist/create/codex.js +2 -3
  8. package/dist/create/codex.js.map +1 -1
  9. package/dist/create/cursor.d.ts.map +1 -1
  10. package/dist/create/cursor.js +3 -7
  11. package/dist/create/cursor.js.map +1 -1
  12. package/dist/create/enact.d.ts.map +1 -1
  13. package/dist/create/enact.js +2 -0
  14. package/dist/create/enact.js.map +1 -1
  15. package/dist/create/index.d.ts +4 -1
  16. package/dist/create/index.d.ts.map +1 -1
  17. package/dist/create/index.js +9 -3
  18. package/dist/create/index.js.map +1 -1
  19. package/dist/create/kimi.d.ts +16 -0
  20. package/dist/create/kimi.d.ts.map +1 -0
  21. package/dist/create/kimi.js +86 -0
  22. package/dist/create/kimi.js.map +1 -0
  23. package/dist/create/opencode.d.ts +129 -0
  24. package/dist/create/opencode.d.ts.map +1 -0
  25. package/dist/create/opencode.js +689 -0
  26. package/dist/create/opencode.js.map +1 -0
  27. package/dist/index.d.ts +14 -19
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +11 -11
  30. package/dist/index.js.map +1 -1
  31. package/dist/internal/agents.d.ts +11 -1
  32. package/dist/internal/agents.d.ts.map +1 -1
  33. package/dist/internal/agents.js +120 -4
  34. package/dist/internal/agents.js.map +1 -1
  35. package/dist/internal/extensions-table.d.ts +87 -0
  36. package/dist/internal/extensions-table.d.ts.map +1 -0
  37. package/dist/internal/extensions-table.js +195 -0
  38. package/dist/internal/extensions-table.js.map +1 -0
  39. package/dist/internal/file-ops.d.ts +36 -0
  40. package/dist/internal/file-ops.d.ts.map +1 -0
  41. package/dist/internal/file-ops.js +89 -0
  42. package/dist/internal/file-ops.js.map +1 -0
  43. package/dist/internal/hooks.d.ts +56 -0
  44. package/dist/internal/hooks.d.ts.map +1 -0
  45. package/dist/internal/hooks.js +128 -0
  46. package/dist/internal/hooks.js.map +1 -0
  47. package/dist/internal/io.d.ts.map +1 -1
  48. package/dist/internal/io.js.map +1 -1
  49. package/dist/internal/json-merge.d.ts +63 -0
  50. package/dist/internal/json-merge.d.ts.map +1 -0
  51. package/dist/internal/json-merge.js +124 -0
  52. package/dist/internal/json-merge.js.map +1 -0
  53. package/dist/internal/lock-ownership.d.ts +41 -0
  54. package/dist/internal/lock-ownership.d.ts.map +1 -0
  55. package/dist/internal/lock-ownership.js +24 -0
  56. package/dist/internal/lock-ownership.js.map +1 -0
  57. package/dist/internal/pick.d.ts.map +1 -1
  58. package/dist/internal/pick.js.map +1 -1
  59. package/dist/internal/platform.d.ts.map +1 -1
  60. package/dist/internal/platform.js +82 -42
  61. package/dist/internal/platform.js.map +1 -1
  62. package/dist/internal/schema.d.ts.map +1 -1
  63. package/dist/internal/schema.js.map +1 -1
  64. package/dist/internal/toml-block.d.ts +59 -0
  65. package/dist/internal/toml-block.d.ts.map +1 -0
  66. package/dist/internal/toml-block.js +113 -0
  67. package/dist/internal/toml-block.js.map +1 -0
  68. package/dist/internal/types.d.ts +2 -1
  69. package/dist/internal/types.d.ts.map +1 -1
  70. package/dist/projection.d.ts +47 -0
  71. package/dist/projection.d.ts.map +1 -0
  72. package/dist/projection.js +180 -0
  73. package/dist/projection.js.map +1 -0
  74. package/dist/validate/index.d.ts +10 -5
  75. package/dist/validate/index.d.ts.map +1 -1
  76. package/dist/validate/index.js +59 -10
  77. package/dist/validate/index.js.map +1 -1
  78. package/dist/validate/kimi.d.ts +3 -0
  79. package/dist/validate/kimi.d.ts.map +1 -0
  80. package/dist/validate/kimi.js +11 -0
  81. package/dist/validate/kimi.js.map +1 -0
  82. package/dist/validate/opencode.d.ts +3 -0
  83. package/dist/validate/opencode.d.ts.map +1 -0
  84. package/dist/validate/opencode.js +11 -0
  85. package/dist/validate/opencode.js.map +1 -0
  86. package/dist/validate/run.d.ts +39 -0
  87. package/dist/validate/run.d.ts.map +1 -0
  88. package/dist/validate/run.js +60 -0
  89. package/dist/validate/run.js.map +1 -0
  90. package/extensions/enact-loop/.agents/plugin.json +12 -8
  91. package/extensions/enact-loop/scripts/validate.mjs +84 -2
  92. package/extensions/enact-loop/skills/enact-loop/SKILL.md +36 -466
  93. package/extensions/enact-loop/skills/enact-loop/references/loop-contract.md +114 -0
  94. package/extensions/enact-loop/skills/loop-budget/SKILL.md +43 -26
  95. package/extensions/enact-loop/skills/loop-intake/SKILL.md +44 -32
  96. package/extensions/enact-repo/.agents/plugin.json +55 -0
  97. package/extensions/enact-repo/.mcp.json +20 -0
  98. package/extensions/enact-repo/README.md +90 -0
  99. package/extensions/enact-repo/hooks/hooks.json +98 -0
  100. package/extensions/enact-repo/lean-ctx/config.toml +35 -0
  101. package/extensions/enact-repo/lean-ctx/layout.toml +5 -0
  102. package/extensions/enact-repo/skills/aca-sandboxes/SKILL.md +53 -0
  103. package/extensions/enact-repo/skills/aca-sandboxes/references/capabilities.md +52 -0
  104. package/extensions/enact-repo/skills/aca-sandboxes/references/install.md +87 -0
  105. package/extensions/enact-repo/skills/aca-sandboxes/references/prerequisites.md +52 -0
  106. package/extensions/enact-repo/skills/aca-sandboxes/references/quickstart.md +164 -0
  107. package/extensions/enact-repo/skills/aca-sandboxes/references/reference-advanced.md +251 -0
  108. package/extensions/enact-repo/skills/aca-sandboxes/references/reference.md +287 -0
  109. package/extensions/enact-repo/skills/aca-sandboxes/references/response-cues.md +71 -0
  110. package/extensions/enact-repo/skills/aca-sandboxes/references/scenarios.md +219 -0
  111. package/extensions/enact-repo/skills/aca-sandboxes/version.json +4 -0
  112. package/extensions/enact-repo/skills/backend-remove-deadcode/SKILL.md +96 -0
  113. package/extensions/enact-repo/skills/cmux-leader/SKILL.md +61 -0
  114. package/extensions/enact-repo/skills/cmux-send/SKILL.md +61 -0
  115. package/extensions/enact-repo/skills/code-review/SKILL.md +100 -0
  116. package/extensions/enact-repo/skills/codebase-design/SKILL.md +98 -0
  117. package/extensions/enact-repo/skills/codebase-design/references/DEEPENING.md +37 -0
  118. package/extensions/enact-repo/skills/codebase-design/references/DESIGN-IT-TWICE.md +44 -0
  119. package/extensions/enact-repo/skills/codebase-design/references/TESTABILITY.md +29 -0
  120. package/extensions/enact-repo/skills/computer-use/SKILL.md +76 -0
  121. package/extensions/enact-repo/skills/debug-issue/SKILL.md +40 -0
  122. package/extensions/enact-repo/skills/diagnosing-bugs/SKILL.md +100 -0
  123. package/extensions/enact-repo/skills/diagnosing-bugs/references/FEEDBACK-LOOP-TACTICS.md +34 -0
  124. package/extensions/enact-repo/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  125. package/extensions/enact-repo/skills/domain-modeling/SKILL.md +86 -0
  126. package/extensions/enact-repo/skills/domain-modeling/references/ADR-FORMAT.md +47 -0
  127. package/extensions/enact-repo/skills/domain-modeling/references/CONTEXT-FORMAT.md +60 -0
  128. package/extensions/enact-repo/skills/explore-codebase/SKILL.md +41 -0
  129. package/extensions/enact-repo/skills/frontend-design/LICENSE.txt +177 -0
  130. package/extensions/enact-repo/skills/frontend-design/SKILL.md +56 -0
  131. package/extensions/enact-repo/skills/grill-me/SKILL.md +20 -0
  132. package/extensions/enact-repo/skills/grill-with-docs/SKILL.md +20 -0
  133. package/extensions/enact-repo/skills/handoff/SKILL.md +28 -0
  134. package/extensions/enact-repo/skills/http-contract-migration/SKILL.md +74 -0
  135. package/extensions/enact-repo/skills/http-contract-migration/references/compatibility-and-gates.md +26 -0
  136. package/extensions/enact-repo/skills/http-contract-migration/references/hexagonal-boundary.md +16 -0
  137. package/extensions/enact-repo/skills/http-contract-migration/references/publication-and-adoption.md +31 -0
  138. package/extensions/enact-repo/skills/http-contract-migration/references/wire-fidelity-and-dto.md +31 -0
  139. package/extensions/enact-repo/skills/implement/SKILL.md +28 -0
  140. package/extensions/enact-repo/skills/improve-codebase-architecture/SKILL.md +80 -0
  141. package/extensions/enact-repo/skills/improve-codebase-architecture/references/HTML-REPORT.md +123 -0
  142. package/extensions/enact-repo/skills/interaction-design/SKILL.md +30 -0
  143. package/extensions/enact-repo/skills/interaction-design/references/Workflow.md +146 -0
  144. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-gsap.md +219 -0
  145. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-native.md +110 -0
  146. package/extensions/enact-repo/skills/interaction-design/references/animation-libraries.md +177 -0
  147. package/extensions/enact-repo/skills/interaction-design/references/interaction-patterns.md +166 -0
  148. package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns-advanced.md +285 -0
  149. package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns.md +254 -0
  150. package/extensions/enact-repo/skills/interaction-design/references/scroll-animations-reveals.md +213 -0
  151. package/extensions/enact-repo/skills/interaction-design/references/scroll-animations.md +208 -0
  152. package/extensions/enact-repo/skills/lean-ctx/SKILL.md +81 -0
  153. package/extensions/enact-repo/skills/orca-cli/SKILL.md +88 -0
  154. package/extensions/enact-repo/skills/orchestration/SKILL.md +80 -0
  155. package/extensions/enact-repo/skills/prototype/SKILL.md +37 -0
  156. package/extensions/enact-repo/skills/prototype/references/LOGIC.md +79 -0
  157. package/extensions/enact-repo/skills/prototype/references/UI.md +112 -0
  158. package/extensions/enact-repo/skills/refactor-safely/SKILL.md +44 -0
  159. package/extensions/enact-repo/skills/remove-deadcode/SKILL.md +54 -0
  160. package/extensions/enact-repo/skills/research/SKILL.md +27 -0
  161. package/extensions/enact-repo/skills/resolving-merge-conflicts/SKILL.md +28 -0
  162. package/extensions/enact-repo/skills/review-changes/SKILL.md +45 -0
  163. package/extensions/enact-repo/skills/tailwind-4-docs/SKILL.md +88 -0
  164. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/accent-color.mdx +149 -0
  165. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/adding-custom-styles.mdx +635 -0
  166. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-content.mdx +300 -0
  167. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-items.mdx +241 -0
  168. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-self.mdx +294 -0
  169. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/animation.mdx +286 -0
  170. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/appearance.mdx +180 -0
  171. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/aspect-ratio.mdx +98 -0
  172. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-blur.mdx +109 -0
  173. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-brightness.mdx +82 -0
  174. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-contrast.mdx +82 -0
  175. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-grayscale.mdx +99 -0
  176. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-hue-rotate.mdx +173 -0
  177. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-invert.mdx +99 -0
  178. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-opacity.mdx +103 -0
  179. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-saturate.mdx +98 -0
  180. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-sepia.mdx +95 -0
  181. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter.mdx +113 -0
  182. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backface-visibility.mdx +110 -0
  183. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-attachment.mdx +126 -0
  184. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-blend-mode.mdx +79 -0
  185. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-clip.mdx +85 -0
  186. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-color.mdx +176 -0
  187. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-image.mdx +349 -0
  188. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-origin.mdx +64 -0
  189. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-position.mdx +171 -0
  190. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-repeat.mdx +127 -0
  191. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-size.mdx +100 -0
  192. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/block-size.mdx +190 -0
  193. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-collapse.mdx +181 -0
  194. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-color.mdx +316 -0
  195. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-radius.mdx +347 -0
  196. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-spacing.mdx +117 -0
  197. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-style.mdx +129 -0
  198. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-width.mdx +344 -0
  199. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-decoration-break.mdx +71 -0
  200. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-shadow.mdx +497 -0
  201. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-sizing.mdx +175 -0
  202. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-after.mdx +38 -0
  203. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-before.mdx +38 -0
  204. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-inside.mdx +34 -0
  205. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caption-side.mdx +190 -0
  206. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caret-color.mdx +66 -0
  207. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/clear.mdx +224 -0
  208. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color-scheme.mdx +81 -0
  209. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color.mdx +125 -0
  210. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/colors.mdx +927 -0
  211. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/columns.mdx +310 -0
  212. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/compatibility.mdx +193 -0
  213. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/content.mdx +129 -0
  214. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/cursor.mdx +104 -0
  215. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/dark-mode.mdx +191 -0
  216. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/detecting-classes-in-source-files.mdx +315 -0
  217. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/display.mdx +523 -0
  218. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/editor-setup.mdx +90 -0
  219. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/field-sizing.mdx +75 -0
  220. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/fill.mdx +100 -0
  221. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-blur.mdx +114 -0
  222. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-brightness.mdx +102 -0
  223. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-contrast.mdx +102 -0
  224. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-drop-shadow.mdx +230 -0
  225. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-grayscale.mdx +101 -0
  226. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-hue-rotate.mdx +171 -0
  227. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-invert.mdx +93 -0
  228. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-saturate.mdx +109 -0
  229. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-sepia.mdx +92 -0
  230. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter.mdx +113 -0
  231. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-basis.mdx +144 -0
  232. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-direction.mdx +130 -0
  233. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-grow.mdx +129 -0
  234. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-shrink.mdx +95 -0
  235. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-wrap.mdx +118 -0
  236. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex.mdx +164 -0
  237. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/float.mdx +197 -0
  238. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-family.mdx +119 -0
  239. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-feature-settings.mdx +52 -0
  240. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-size.mdx +184 -0
  241. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-smoothing.mdx +67 -0
  242. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-stretch.mdx +138 -0
  243. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-style.mdx +62 -0
  244. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-variant-numeric.mdx +228 -0
  245. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-weight.mdx +105 -0
  246. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/forced-color-adjust.mdx +152 -0
  247. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/functions-and-directives.mdx +322 -0
  248. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/gap.mdx +100 -0
  249. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-columns.mdx +43 -0
  250. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-flow.mdx +58 -0
  251. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-rows.mdx +43 -0
  252. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-column.mdx +124 -0
  253. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-row.mdx +115 -0
  254. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-columns.mdx +101 -0
  255. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-rows.mdx +108 -0
  256. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/height.mdx +260 -0
  257. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hover-focus-and-other-states.mdx +4935 -0
  258. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hyphens.mdx +112 -0
  259. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/inline-size.mdx +191 -0
  260. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/isolation.mdx +30 -0
  261. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-content.mdx +348 -0
  262. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-items.mdx +286 -0
  263. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-self.mdx +282 -0
  264. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/letter-spacing.mdx +100 -0
  265. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-clamp.mdx +110 -0
  266. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-height.mdx +147 -0
  267. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-image.mdx +80 -0
  268. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-position.mdx +67 -0
  269. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-type.mdx +86 -0
  270. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/margin.mdx +397 -0
  271. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-clip.mdx +66 -0
  272. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-composite.mdx +70 -0
  273. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-image.mdx +933 -0
  274. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-mode.mdx +114 -0
  275. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-origin.mdx +66 -0
  276. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-position.mdx +117 -0
  277. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-repeat.mdx +169 -0
  278. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-size.mdx +104 -0
  279. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-type.mdx +98 -0
  280. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-block-size.mdx +153 -0
  281. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-height.mdx +164 -0
  282. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-inline-size.mdx +185 -0
  283. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-width.mdx +214 -0
  284. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-block-size.mdx +146 -0
  285. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-height.mdx +150 -0
  286. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-inline-size.mdx +153 -0
  287. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-width.mdx +153 -0
  288. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mix-blend-mode.mdx +103 -0
  289. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-fit.mdx +147 -0
  290. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-position.mdx +182 -0
  291. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/opacity.mdx +84 -0
  292. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/order.mdx +94 -0
  293. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-color.mdx +130 -0
  294. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-offset.mdx +72 -0
  295. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-style.mdx +134 -0
  296. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-width.mdx +91 -0
  297. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow-wrap.mdx +130 -0
  298. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow.mdx +665 -0
  299. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overscroll-behavior.mdx +151 -0
  300. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/padding.mdx +232 -0
  301. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective-origin.mdx +127 -0
  302. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective.mdx +137 -0
  303. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-content.mdx +257 -0
  304. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-items.mdx +269 -0
  305. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-self.mdx +257 -0
  306. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/pointer-events.mdx +101 -0
  307. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/position.mdx +399 -0
  308. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/preflight.mdx +291 -0
  309. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/resize.mdx +110 -0
  310. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/responsive-design.mdx +666 -0
  311. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/rotate.mdx +291 -0
  312. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scale.mdx +360 -0
  313. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-behavior.mdx +39 -0
  314. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-margin.mdx +268 -0
  315. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-padding.mdx +255 -0
  316. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-align.mdx +281 -0
  317. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-stop.mdx +198 -0
  318. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-type.mdx +284 -0
  319. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/skew.mdx +352 -0
  320. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke-width.mdx +74 -0
  321. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke.mdx +103 -0
  322. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/styling-with-utility-classes.mdx +1020 -0
  323. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/table-layout.mdx +212 -0
  324. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-align.mdx +162 -0
  325. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-color.mdx +155 -0
  326. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-line.mdx +143 -0
  327. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-style.mdx +75 -0
  328. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-thickness.mdx +75 -0
  329. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-indent.mdx +74 -0
  330. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-overflow.mdx +103 -0
  331. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-shadow.mdx +177 -0
  332. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-transform.mdx +106 -0
  333. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-underline-offset.mdx +74 -0
  334. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-wrap.mdx +144 -0
  335. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/theme.mdx +1142 -0
  336. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/top-right-bottom-left.mdx +296 -0
  337. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/touch-action.mdx +95 -0
  338. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-origin.mdx +130 -0
  339. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-style.mdx +110 -0
  340. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform.mdx +51 -0
  341. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-behavior.mdx +76 -0
  342. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-delay.mdx +76 -0
  343. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-duration.mdx +82 -0
  344. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-property.mdx +137 -0
  345. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-timing-function.mdx +89 -0
  346. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/translate.mdx +487 -0
  347. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/upgrade-guide.mdx +910 -0
  348. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/user-select.mdx +114 -0
  349. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/vertical-align.mdx +194 -0
  350. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/visibility.mdx +287 -0
  351. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/white-space.mdx +211 -0
  352. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/width.mdx +264 -0
  353. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/will-change.mdx +47 -0
  354. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/word-break.mdx +94 -0
  355. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/z-index.mdx +104 -0
  356. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-catalog.md +251 -0
  357. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-index.tsx +237 -0
  358. package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-source.txt +6 -0
  359. package/extensions/enact-repo/skills/tailwind-4-docs/references/gotchas.md +18 -0
  360. package/extensions/enact-repo/skills/tailwind-4-docs/scripts/sync_tailwind_docs.py +183 -0
  361. package/extensions/enact-repo/skills/tdd/SKILL.md +49 -0
  362. package/extensions/enact-repo/skills/tdd/references/mocking.md +59 -0
  363. package/extensions/enact-repo/skills/tdd/references/tests.md +77 -0
  364. package/extensions/enact-repo/skills/teach/SKILL.md +88 -0
  365. package/extensions/enact-repo/skills/teach/references/GLOSSARY-FORMAT.md +35 -0
  366. package/extensions/enact-repo/skills/teach/references/LEARNING-RECORD-FORMAT.md +46 -0
  367. package/extensions/enact-repo/skills/teach/references/MISSION-FORMAT.md +31 -0
  368. package/extensions/enact-repo/skills/teach/references/PHILOSOPHY.md +65 -0
  369. package/extensions/enact-repo/skills/teach/references/RESOURCES-FORMAT.md +32 -0
  370. package/extensions/enact-repo/skills/testing/SKILL.md +54 -0
  371. package/extensions/enact-repo/skills/to-spec/SKILL.md +85 -0
  372. package/extensions/enact-repo/skills/to-tickets/SKILL.md +75 -0
  373. package/extensions/enact-repo/skills/to-tickets/references/TICKET-TEMPLATES.md +39 -0
  374. package/extensions/enact-repo/skills/triage/SKILL.md +99 -0
  375. package/extensions/enact-repo/skills/triage/references/AGENT-BRIEF.md +207 -0
  376. package/extensions/enact-repo/skills/triage/references/NEEDS-INFO-TEMPLATE.md +17 -0
  377. package/extensions/enact-repo/skills/triage/references/OUT-OF-SCOPE.md +105 -0
  378. package/extensions/enact-repo/skills/ui-ux-pro-max/SKILL.md +32 -0
  379. package/extensions/enact-repo/skills/ui-ux-pro-max/references/Workflow.md +207 -0
  380. package/extensions/enact-repo/skills/ui-ux-pro-max/references/workflow-reference.md +175 -0
  381. package/extensions/enact-repo/skills/wayfinder/SKILL.md +100 -0
  382. package/extensions/enact-repo/skills/wayfinder/references/TEMPLATES.md +35 -0
  383. package/extensions/enact-repo/skills/wayfinder/references/TICKET-TYPES.md +8 -0
  384. package/extensions/enact-repo/skills/writing-great-skills/SKILL.md +93 -0
  385. package/extensions/enact-repo/skills/writing-great-skills/references/GLOSSARY.md +201 -0
  386. package/package.json +22 -17
  387. package/scripts/enact-extensions.mjs +411 -1006
  388. package/scripts/lib/allowed-plugins.mjs +52 -0
  389. package/scripts/lib/build-index.mjs +1 -3
  390. package/scripts/lib/resolve-bundle.mjs +1 -3
  391. package/scripts/lib/run-repo-doctor.mjs +604 -0
  392. package/scripts/lib/run-repo-install.mjs +1651 -0
  393. package/scripts/lib/run-sync.mjs +4 -10
  394. package/scripts/lib/run-validate.mjs +23 -39
  395. package/scripts/lib/skill-validator.mjs +1096 -0
  396. package/spec/enact.json +21 -3
  397. package/spec/enact.md +13 -12
  398. package/spec/kimi.json +100 -0
  399. package/spec/opencode.json +64 -0
  400. package/dist/install.d.ts +0 -235
  401. package/dist/install.d.ts.map +0 -1
  402. package/dist/install.js +0 -697
  403. package/dist/install.js.map +0 -1
  404. package/dist/internal/claude.d.ts +0 -65
  405. package/dist/internal/claude.d.ts.map +0 -1
  406. package/dist/internal/claude.js +0 -200
  407. package/dist/internal/claude.js.map +0 -1
  408. package/dist/internal/codex.d.ts +0 -43
  409. package/dist/internal/codex.d.ts.map +0 -1
  410. package/dist/internal/codex.js +0 -211
  411. package/dist/internal/codex.js.map +0 -1
  412. package/dist/internal/cursor.d.ts +0 -2
  413. package/dist/internal/cursor.d.ts.map +0 -1
  414. package/dist/internal/cursor.js +0 -6
  415. package/dist/internal/cursor.js.map +0 -1
  416. package/dist/principles.d.ts +0 -28
  417. package/dist/principles.d.ts.map +0 -1
  418. package/dist/principles.js +0 -159
  419. package/dist/principles.js.map +0 -1
  420. package/dist/provision.d.ts +0 -30
  421. package/dist/provision.d.ts.map +0 -1
  422. package/dist/provision.js +0 -202
  423. package/dist/provision.js.map +0 -1
  424. package/extensions/dev-state/.agents/plugin.json +0 -36
  425. package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +0 -194
  426. package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +0 -4
  427. package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +0 -130
  428. package/extensions/enact-context/.agents/plugin.json +0 -41
  429. package/extensions/enact-context/.mcp.json +0 -8
  430. package/extensions/enact-context/README.md +0 -25
  431. package/extensions/enact-context/assets/icon.png +0 -0
  432. package/extensions/enact-context/assets/logo.png +0 -0
  433. package/extensions/enact-context/hooks/hooks.json +0 -115
  434. package/extensions/enact-context/skills/enact-context/SKILL.md +0 -151
  435. package/extensions/enact-context/skills/enact-context/scripts/install.sh +0 -69
  436. package/extensions/enact-core/.agents/plugin.json +0 -40
  437. package/extensions/enact-core/OPERATING-PRINCIPLES.md +0 -7
  438. package/extensions/enact-core/hooks/hooks.json +0 -26
  439. package/extensions/enact-evolve/.agents/plugin.json +0 -47
  440. package/extensions/enact-evolve/agents/evolve-session-analyst.toml +0 -37
  441. package/extensions/enact-evolve/assets/icon.png +0 -0
  442. package/extensions/enact-evolve/assets/logo.png +0 -0
  443. package/extensions/enact-evolve/skills/mined-investigate-loop/SKILL.md +0 -68
  444. package/extensions/enact-evolve/skills/session-analysis/SKILL.md +0 -98
  445. package/extensions/enact-evolve/skills/session-analysis/scripts/run-evolve-analysis.sh +0 -343
  446. package/extensions/enact-factory/.agents/plugin.json +0 -49
  447. package/extensions/enact-factory/.mcp.json +0 -8
  448. package/extensions/enact-factory/agents/architect.toml +0 -34
  449. package/extensions/enact-factory/agents/code-reviewer.toml +0 -33
  450. package/extensions/enact-factory/agents/critic.toml +0 -39
  451. package/extensions/enact-factory/agents/executor.toml +0 -26
  452. package/extensions/enact-factory/agents/explore.toml +0 -25
  453. package/extensions/enact-factory/agents/planner.toml +0 -26
  454. package/extensions/enact-factory/agents/verifier.toml +0 -33
  455. package/extensions/enact-factory/assets/icon.png +0 -0
  456. package/extensions/enact-factory/assets/logo.png +0 -0
  457. package/extensions/enact-factory/skills/advisor/SKILL.md +0 -82
  458. package/extensions/enact-factory/skills/ai-slop-cleaner/SKILL.md +0 -57
  459. package/extensions/enact-factory/skills/autonomous-runner/SKILL.md +0 -353
  460. package/extensions/enact-factory/skills/azdo-ci-strategy/SKILL.md +0 -309
  461. package/extensions/enact-factory/skills/azdo-ci-strategy/references/build-failures.md +0 -60
  462. package/extensions/enact-factory/skills/azdo-ci-strategy/references/cli-reference.md +0 -87
  463. package/extensions/enact-factory/skills/azdo-ci-strategy/references/policies-and-pipelines.md +0 -132
  464. package/extensions/enact-factory/skills/azdo-ci-strategy/references/troubleshooting.md +0 -53
  465. package/extensions/enact-factory/skills/cmux-leader/SKILL.md +0 -74
  466. package/extensions/enact-factory/skills/cmux-send/SKILL.md +0 -50
  467. package/extensions/enact-factory/skills/committee/SKILL.md +0 -80
  468. package/extensions/enact-factory/skills/deep-interview/SKILL.md +0 -68
  469. package/extensions/enact-factory/skills/deslop-handover/SKILL.md +0 -97
  470. package/extensions/enact-factory/skills/deslop-handover/deslop.py +0 -181
  471. package/extensions/enact-factory/skills/drive-loop/SKILL.md +0 -394
  472. package/extensions/enact-factory/skills/drive-loop/references/contract-schema.md +0 -127
  473. package/extensions/enact-factory/skills/handoff/SKILL.md +0 -75
  474. package/extensions/enact-factory/skills/hyperplan/SKILL.md +0 -59
  475. package/extensions/enact-factory/skills/looplan/SKILL.md +0 -120
  476. package/extensions/enact-factory/skills/paseo-dispatch/SKILL.md +0 -141
  477. package/extensions/enact-factory/skills/plan/SKILL.md +0 -103
  478. package/extensions/enact-factory/skills/remove-deadcode/SKILL.md +0 -46
  479. package/extensions/enact-factory/skills/research/SKILL.md +0 -83
  480. package/extensions/enact-factory/skills/review/SKILL.md +0 -67
  481. package/extensions/enact-factory/skills/security-research/SKILL.md +0 -57
  482. package/extensions/enact-factory/skills/tdd/SKILL.md +0 -62
  483. package/extensions/enact-factory/skills/testing-strategy/SKILL.md +0 -172
  484. package/extensions/enact-factory/skills/trace/SKILL.md +0 -42
  485. package/extensions/enact-factory/skills/ultraqa/SKILL.md +0 -85
  486. package/extensions/enact-factory/skills/work-with-workitem/SKILL.md +0 -56
  487. package/extensions/enact-factory/skills/workitem-triage/SKILL.md +0 -42
  488. package/extensions/enact-wiki/.agents/plugin.json +0 -43
  489. package/extensions/enact-wiki/.mcp.json +0 -15
  490. package/extensions/enact-wiki/README.md +0 -44
  491. package/extensions/enact-wiki/assets/icon.png +0 -0
  492. package/extensions/enact-wiki/assets/logo.png +0 -0
  493. package/extensions/enact-wiki/skills/document-parser/SKILL.md +0 -17
  494. package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +0 -60
  495. package/extensions/enact-wiki/skills/document-parser/skill.json +0 -9
  496. package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +0 -30
  497. package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +0 -62
  498. package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +0 -34
  499. package/extensions/enact-wiki/skills/enact-wiki/references/query.md +0 -59
  500. package/extensions/enact-wiki/skills/search-lab/SKILL.md +0 -57
  501. package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +0 -23
  502. package/extensions/enact-wiki/skills/wiki/SKILL.md +0 -42
  503. package/extensions/net-revenue-management/.agents/plugin.json +0 -40
  504. package/extensions/net-revenue-management/.mcp.json +0 -9
  505. package/extensions/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -30
  506. package/extensions/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -31
  507. package/extensions/plugin-dev/.agents/plugin.json +0 -41
  508. package/extensions/plugin-dev/agents/agent-creator.md +0 -199
  509. package/extensions/plugin-dev/agents/plugin-validator.md +0 -91
  510. package/extensions/plugin-dev/agents/skill-reviewer.md +0 -212
  511. package/extensions/plugin-dev/skills/agent-development/SKILL.md +0 -641
  512. package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +0 -250
  513. package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +0 -461
  514. package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +0 -246
  515. package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +0 -216
  516. package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +0 -226
  517. package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +0 -464
  518. package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +0 -474
  519. package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +0 -176
  520. package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +0 -227
  521. package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +0 -227
  522. package/extensions/plugin-dev/skills/create-plugin/SKILL.md +0 -505
  523. package/extensions/plugin-dev/skills/hook-development/SKILL.md +0 -861
  524. package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +0 -55
  525. package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +0 -57
  526. package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +0 -48
  527. package/extensions/plugin-dev/skills/hook-development/references/advanced.md +0 -871
  528. package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +0 -145
  529. package/extensions/plugin-dev/skills/hook-development/references/migration.md +0 -392
  530. package/extensions/plugin-dev/skills/hook-development/references/patterns.md +0 -430
  531. package/extensions/plugin-dev/skills/hook-development/scripts/README.md +0 -181
  532. package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +0 -153
  533. package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +0 -276
  534. package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
  535. package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +0 -775
  536. package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +0 -20
  537. package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +0 -19
  538. package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +0 -38
  539. package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +0 -26
  540. package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +0 -601
  541. package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +0 -190
  542. package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +0 -572
  543. package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +0 -623
  544. package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +0 -221
  545. package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +0 -705
  546. package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +0 -774
  547. package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +0 -83
  548. package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +0 -611
  549. package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +0 -289
  550. package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +0 -592
  551. package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +0 -233
  552. package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +0 -193
  553. package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +0 -625
  554. package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +0 -116
  555. package/extensions/plugin-dev/skills/skill-development/SKILL.md +0 -562
  556. package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +0 -465
  557. package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +0 -167
  558. package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +0 -111
  559. package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +0 -225
  560. package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +0 -39
  561. package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +0 -379
  562. package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +0 -210
  563. package/extensions/plugin-dev/skills/start/SKILL.md +0 -82
  564. package/scripts/check-hooks.mjs +0 -174
  565. package/scripts/check-principles.mjs +0 -116
  566. package/scripts/hooks/session-start-drift-check.mjs +0 -49
  567. package/scripts/install.sh +0 -70
  568. package/scripts/lib/auto-update.mjs +0 -88
  569. package/scripts/lib/bundle-hash.mjs +0 -137
  570. package/scripts/lib/hooks.mjs +0 -585
  571. package/scripts/lib/ledger.mjs +0 -163
  572. package/scripts/lib/migrate-artifacts.mjs +0 -144
  573. package/scripts/lib/outdated.mjs +0 -144
  574. package/scripts/lib/postinstall-offer.mjs +0 -83
  575. package/scripts/lib/principles.mjs +0 -109
  576. package/scripts/lib/provision-mcp.mjs +0 -16
  577. package/scripts/lib/resolve-plugin-root.mjs +0 -9
  578. package/scripts/lib/run-install.mjs +0 -507
  579. package/scripts/lib/run-prune.mjs +0 -94
  580. package/scripts/lib/run-uninstall.mjs +0 -244
  581. package/scripts/lib/run-update.mjs +0 -165
  582. package/scripts/lib/serve.mjs +0 -472
  583. package/scripts/lib/ups-router.mjs +0 -392
  584. package/scripts/postinstall.mjs +0 -101
  585. package/scripts/setup-enact-context.sh +0 -28
  586. package/scripts/version-bump.sh +0 -484
  587. package/web/assets/README.md +0 -111
  588. package/web/assets/logo-full.png +0 -0
  589. package/web/assets/logo-slim.png +0 -0
  590. package/web/assets/tokens/base.css +0 -45
  591. package/web/assets/tokens/colors.css +0 -248
  592. package/web/assets/tokens/effects.css +0 -24
  593. package/web/assets/tokens/fonts.css +0 -8
  594. package/web/assets/tokens/index.css +0 -18
  595. package/web/assets/tokens/spacing.css +0 -50
  596. package/web/index.html +0 -1188
@@ -0,0 +1,104 @@
1
+ import { ApiTable } from "@/components/api-table.tsx";
2
+ import { Example } from "@/components/example.tsx";
3
+ import { Figure } from "@/components/figure.tsx";
4
+ import { ResponsiveDesign, UsingACustomValue } from "@/components/content.tsx";
5
+
6
+ export const title = "cursor";
7
+ export const description = "Utilities for controlling the cursor style when hovering over an element.";
8
+
9
+ <ApiTable
10
+ rows={[
11
+ ["cursor-auto", "cursor: auto;"],
12
+ ["cursor-default", "cursor: default;"],
13
+ ["cursor-pointer", "cursor: pointer;"],
14
+ ["cursor-wait", "cursor: wait;"],
15
+ ["cursor-text", "cursor: text;"],
16
+ ["cursor-move", "cursor: move;"],
17
+ ["cursor-help", "cursor: help;"],
18
+ ["cursor-not-allowed", "cursor: not-allowed;"],
19
+ ["cursor-none", "cursor: none;"],
20
+ ["cursor-context-menu", "cursor: context-menu;"],
21
+ ["cursor-progress", "cursor: progress;"],
22
+ ["cursor-cell", "cursor: cell;"],
23
+ ["cursor-crosshair", "cursor: crosshair;"],
24
+ ["cursor-vertical-text", "cursor: vertical-text;"],
25
+ ["cursor-alias", "cursor: alias;"],
26
+ ["cursor-copy", "cursor: copy;"],
27
+ ["cursor-no-drop", "cursor: no-drop;"],
28
+ ["cursor-grab", "cursor: grab;"],
29
+ ["cursor-grabbing", "cursor: grabbing;"],
30
+ ["cursor-all-scroll", "cursor: all-scroll;"],
31
+ ["cursor-col-resize", "cursor: col-resize;"],
32
+ ["cursor-row-resize", "cursor: row-resize;"],
33
+ ["cursor-n-resize", "cursor: n-resize;"],
34
+ ["cursor-e-resize", "cursor: e-resize;"],
35
+ ["cursor-s-resize", "cursor: s-resize;"],
36
+ ["cursor-w-resize", "cursor: w-resize;"],
37
+ ["cursor-ne-resize", "cursor: ne-resize;"],
38
+ ["cursor-nw-resize", "cursor: nw-resize;"],
39
+ ["cursor-se-resize", "cursor: se-resize;"],
40
+ ["cursor-sw-resize", "cursor: sw-resize;"],
41
+ ["cursor-ew-resize", "cursor: ew-resize;"],
42
+ ["cursor-ns-resize", "cursor: ns-resize;"],
43
+ ["cursor-nesw-resize", "cursor: nesw-resize;"],
44
+ ["cursor-nwse-resize", "cursor: nwse-resize;"],
45
+ ["cursor-zoom-in", "cursor: zoom-in;"],
46
+ ["cursor-zoom-out", "cursor: zoom-out;"],
47
+ ["cursor-(<custom-property>)", "cursor: var(<custom-property>);"],
48
+ ["cursor-[<value>]", "cursor: <value>;"],
49
+ ]}
50
+ />
51
+
52
+ ## Examples
53
+
54
+ ### Basic example
55
+
56
+ Use utilities like `cursor-pointer` and `cursor-grab` to control which cursor is displayed when hovering over an element:
57
+
58
+ <Figure hint="Hover over each button to see the cursor change">
59
+
60
+ <Example>
61
+ {
62
+ <div className="flex flex-col items-center justify-around gap-4 sm:flex-row sm:gap-0">
63
+ <button
64
+ type="button"
65
+ className="w-full cursor-pointer rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white hover:bg-indigo-700 focus:outline-none disabled:bg-indigo-300 sm:w-auto dark:disabled:bg-indigo-800 dark:disabled:text-indigo-400"
66
+ tabIndex="-1"
67
+ >
68
+ Submit
69
+ </button>
70
+ <button
71
+ type="button"
72
+ className="w-full cursor-progress rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white hover:bg-indigo-700 focus:outline-none disabled:bg-indigo-300 sm:w-auto dark:disabled:bg-indigo-800 dark:disabled:text-indigo-400"
73
+ tabIndex="-1"
74
+ >
75
+ Saving...
76
+ </button>
77
+ <button
78
+ type="button"
79
+ disabled
80
+ className="w-full cursor-not-allowed rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white hover:bg-indigo-700 focus:outline-none disabled:bg-indigo-300 sm:w-auto dark:disabled:bg-indigo-800 dark:disabled:text-indigo-400"
81
+ tabIndex="-1"
82
+ >
83
+ Confirm
84
+ </button>
85
+ </div>
86
+ }
87
+ </Example>
88
+
89
+ ```html
90
+ <!-- [!code classes:cursor-pointer,cursor-progress,cursor-not-allowed] -->
91
+ <button class="cursor-pointer ...">Submit</button>
92
+ <button class="cursor-progress ...">Saving...</button>
93
+ <button class="cursor-not-allowed ..." disabled>Confirm</button>
94
+ ```
95
+
96
+ </Figure>
97
+
98
+ ### Using a custom value
99
+
100
+ <UsingACustomValue element="button" utility="cursor" value="url(hand.cur),_pointer" />
101
+
102
+ ### Responsive design
103
+
104
+ <ResponsiveDesign element="button" property="cursor" defaultClass="cursor-not-allowed" featuredClass="cursor-auto" />
@@ -0,0 +1,191 @@
1
+ import { TipGood, TipBad, TipInfo } from "@/components/tips";
2
+ import { Iframe } from "@/components/iframe";
3
+ import { Example } from "@/components/example";
4
+ import { Figure } from "@/components/figure";
5
+
6
+ export const title = "Dark mode";
7
+ export const description = "Using variants to style your site in dark mode.";
8
+
9
+ ## Overview
10
+
11
+ Now that dark mode is a first-class feature of many operating systems, it's becoming more and more common to design a dark version of your website to go along with the default design.
12
+
13
+ To make this as easy as possible, Tailwind includes a `dark` variant that lets you style your site differently when dark mode is enabled:
14
+
15
+ <Figure>
16
+
17
+ <Example padding={false}>
18
+ {
19
+ <div className="grid grid-cols-1 sm:grid-cols-2">
20
+ <div className="p-8 pt-7">
21
+ <p className="mb-2 text-sm font-medium text-gray-500">Light mode</p>
22
+ <div className="rounded-lg bg-white px-6 py-8 shadow-xl ring ring-gray-900/5">
23
+ <div>
24
+ <span className="inline-flex items-center justify-center rounded-md bg-indigo-500 p-2 shadow-lg">
25
+ <svg
26
+ className="h-6 w-6 text-white"
27
+ xmlns="http://www.w3.org/2000/svg"
28
+ fill="none"
29
+ viewBox="0 0 24 24"
30
+ stroke="currentColor"
31
+ aria-hidden="true"
32
+ >
33
+ <path
34
+ strokeLinecap="round"
35
+ strokeLinejoin="round"
36
+ strokeWidth="2"
37
+ d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"
38
+ />
39
+ </svg>
40
+ </span>
41
+ </div>
42
+ <p className="mt-5 text-base font-medium tracking-tight text-gray-900">Writes upside-down</p>
43
+ <p
44
+ className="mt-2 text-sm text-gray-500"
45
+ children={`The Zero Gravity Pen can be used to write in any orientation,
46
+ including upside-down. It even works in outer space.`}
47
+ />
48
+ </div>
49
+ </div>
50
+ <div className="bg-gray-900 p-8 pt-7">
51
+ <p className="mb-2 text-sm font-medium text-gray-400">Dark mode</p>
52
+ <div className="rounded-lg bg-gray-800 px-6 py-8 shadow-xl ring ring-gray-900/5">
53
+ <div>
54
+ <span className="inline-flex items-center justify-center rounded-md bg-indigo-500 p-2 shadow-lg">
55
+ <svg
56
+ className="h-6 w-6 text-white"
57
+ xmlns="http://www.w3.org/2000/svg"
58
+ fill="none"
59
+ viewBox="0 0 24 24"
60
+ stroke="currentColor"
61
+ aria-hidden="true"
62
+ >
63
+ <path
64
+ strokeLinecap="round"
65
+ strokeLinejoin="round"
66
+ strokeWidth="2"
67
+ d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"
68
+ />
69
+ </svg>
70
+ </span>
71
+ </div>
72
+ <p className="mt-5 text-base font-medium tracking-tight text-white">Writes upside-down</p>
73
+ <p
74
+ className="mt-2 text-sm text-gray-400"
75
+ children={`The Zero Gravity Pen can be used to write in any orientation,
76
+ including upside-down. It even works in outer space.`}
77
+ />
78
+ </div>
79
+ </div>
80
+ </div>
81
+ }
82
+ </Example>
83
+
84
+ ```html
85
+ <!-- [!code word:dark\:bg-gray-800] -->
86
+ <!-- prettier-ignore -->
87
+ <div class="bg-white dark:bg-gray-800 rounded-lg px-6 py-8 ring shadow-xl ring-gray-900/5">
88
+ <div>
89
+ <span class="inline-flex items-center justify-center rounded-md bg-indigo-500 p-2 shadow-lg">
90
+ <svg class="h-6 w-6 stroke-white" ...>
91
+ <!-- ... -->
92
+ </svg>
93
+ </span>
94
+ </div>
95
+ <!-- prettier-ignore -->
96
+ <!-- [!code word:dark\:text-white] -->
97
+ <h3 class="text-gray-900 dark:text-white mt-5 text-base font-medium tracking-tight ">Writes upside-down</h3>
98
+ <!-- prettier-ignore -->
99
+ <!-- [!code word:dark\:text-gray-400] -->
100
+ <p class="text-gray-500 dark:text-gray-400 mt-2 text-sm ">
101
+ The Zero Gravity Pen can be used to write in any orientation, including upside-down. It even works in outer space.
102
+ </p>
103
+ </div>
104
+ ```
105
+
106
+ </Figure>
107
+
108
+ By default this uses the `prefers-color-scheme` CSS media feature, but you can also build sites that support [toggling dark mode manually](#toggling-dark-mode-manually) by overriding the dark variant.
109
+
110
+ ## Toggling dark mode manually
111
+
112
+ If you want your dark theme to be driven by a CSS selector instead of the `prefers-color-scheme` media query, override the `dark` variant to use your custom selector:
113
+
114
+ ```css
115
+ /* [!code filename:app.css] */
116
+ @import "tailwindcss";
117
+
118
+ /* [!code highlight:2] */
119
+ @custom-variant dark (&:where(.dark, .dark *));
120
+ ```
121
+
122
+ Now instead of `dark:*` utilities being applied based on `prefers-color-scheme`, they will be applied whenever the `dark` class is present earlier in the HTML tree:
123
+
124
+ ```html
125
+ <!-- [!code filename:HTML] -->
126
+ <!-- [!code word:dark\:bg-black] -->
127
+ <!-- [!code word:dark] -->
128
+ <html class="dark">
129
+ <body>
130
+ <div class="bg-white dark:bg-black">
131
+ <!-- ... -->
132
+ </div>
133
+ </body>
134
+ </html>
135
+ ```
136
+
137
+ How you add the `dark` class to the `html` element is up to you, but a common approach is to use a bit of JavaScript that updates the `class` attribute and syncs that preference to somewhere like `localStorage`.
138
+
139
+ ### Using a data attribute
140
+
141
+ To use a data attribute instead of a class to activate dark mode, just override the `dark` variant with an attribute selector instead:
142
+
143
+ ```css
144
+ /* [!code filename:app.css] */
145
+ @import "tailwindcss";
146
+
147
+ /* [!code highlight:2] */
148
+ @custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));
149
+ ```
150
+
151
+ Now dark mode utilities will be applied whenever the `data-theme` attribute is set to `dark` somewhere up the tree:
152
+
153
+ ```html
154
+ <!-- [!code filename:HTML] -->
155
+ <!-- [!code word:dark\:bg-black] -->
156
+ <!-- [!code word:data-theme="dark"] -->
157
+ <html data-theme="dark">
158
+ <body>
159
+ <div class="bg-white dark:bg-black">
160
+ <!-- ... -->
161
+ </div>
162
+ </body>
163
+ </html>
164
+ ```
165
+
166
+ ### With system theme support
167
+
168
+ To build three-way theme toggles that support light mode, dark mode, and your system theme, use a custom dark mode selector and the [`window.matchMedia()` API](https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia) to detect the system theme and update the `html` element when needed.
169
+
170
+ Here's a simple example of how you can support light mode, dark mode, as well as respecting the operating system preference:
171
+
172
+ ```js
173
+ // [!code filename:spaghetti.js]
174
+ // On page load or when changing themes, best to add inline in `head` to avoid FOUC
175
+ document.documentElement.classList.toggle(
176
+ "dark",
177
+ localStorage.theme === "dark" ||
178
+ (!("theme" in localStorage) && window.matchMedia("(prefers-color-scheme: dark)").matches),
179
+ );
180
+
181
+ // Whenever the user explicitly chooses light mode
182
+ localStorage.theme = "light";
183
+
184
+ // Whenever the user explicitly chooses dark mode
185
+ localStorage.theme = "dark";
186
+
187
+ // Whenever the user explicitly chooses to respect the OS preference
188
+ localStorage.removeItem("theme");
189
+ ```
190
+
191
+ Again you can manage this however you like, even storing the preference server-side in a database and rendering the class on the server — it's totally up to you.
@@ -0,0 +1,315 @@
1
+ import { TipGood, TipBad, TipInfo } from "@/components/tips";
2
+ import { Iframe } from "@/components/iframe";
3
+ import { Example } from "@/components/example";
4
+ import { Figure } from "@/components/figure";
5
+ import { CodeExampleStack } from "@/components/code-example";
6
+
7
+ export const title = "Detecting classes in source files";
8
+ export const description = "Understanding and customizing how Tailwind scans your source files.";
9
+
10
+ ## Overview
11
+
12
+ Tailwind works by scanning your project for utility classes, then generating all of the necessary CSS based on the classes you've actually used.
13
+
14
+ This makes sure your CSS is as small as possible, and is also what makes features like [arbitrary values](/docs/adding-custom-styles#using-arbitrary-values) possible.
15
+
16
+ ### How classes are detected
17
+
18
+ Tailwind treats all of your source files as plain text, and doesn't attempt to actually parse your files as code in any way.
19
+
20
+ Instead it just looks for any tokens in your file that could be classes based on which characters Tailwind is expecting in class names:
21
+
22
+ ```jsx
23
+ // [!code filename:JSX]
24
+ // [!code word:bg-blue-500]
25
+ // [!code word:rounded-full]
26
+ // [!code word:text-white]
27
+ // [!code word:text-black]
28
+ // [!code word:font-medium]
29
+ // [!code word:text-sm\/6]
30
+ // [!code word:font-sans]
31
+ // [!code word:bg-black]
32
+ // [!code word:bg-white]
33
+ // [!code word:className]
34
+ // [!code word:function]
35
+ // [!code word:children]
36
+ // [!code word:button]
37
+ // [!code word:shadow]
38
+ // [!code word:export]
39
+ // [!code word:colors]
40
+ // [!code word:color]
41
+ // [!code word:black]
42
+ // [!code word:white]
43
+ // [!code word:const]
44
+ // [!code word:blue]
45
+ // [!code word:return]
46
+ // [!code word:py-1.5]
47
+ // [!code word:px-2]
48
+ export function Button({ color, children }) {
49
+ const colors = {
50
+ black: "bg-black text-white",
51
+ blue: "bg-blue-500 text-white",
52
+ white: "bg-white text-black",
53
+ };
54
+
55
+ return (
56
+ <button className={`${colors[color]} rounded-full px-2 py-1.5 font-sans text-sm/6 font-medium shadow`}>
57
+ {children}
58
+ </button>
59
+ );
60
+ }
61
+ ```
62
+
63
+ Then it tries to generate the CSS for all of these tokens, throwing away any tokens that don't map to a utility class the framework knows about.
64
+
65
+ ### Dynamic class names
66
+
67
+ Since Tailwind scans your source files as plain text, it has no way of understanding string concatenation or interpolation in the programming language you're using.
68
+
69
+ <TipBad>{<>Don't construct class names dynamically</>}</TipBad>
70
+
71
+ ```html
72
+ <!-- [!code filename:HTML] -->
73
+ <div class="text-{{ error ? 'red' : 'green' }}-600"></div>
74
+ ```
75
+
76
+ In the example above, the strings `text-red-600` and `text-green-600` do not exist, so Tailwind will not generate those classes.
77
+
78
+ Instead, make sure any class names you’re using exist in full:
79
+
80
+ <TipGood>{<>Always use complete class names</>}</TipGood>
81
+
82
+ ```html
83
+ <!-- [!code filename:HTML] -->
84
+ <!-- [!code word:text-red-600] -->
85
+ <!-- [!code word:text-green-600] -->
86
+ <div class="{{ error ? 'text-red-600' : 'text-green-600' }}"></div>
87
+ ```
88
+
89
+ If you're using a component library like React or Vue, this means you shouldn't use props to dynamically construct classes:
90
+
91
+ <TipBad>Don't use props to build class names dynamically</TipBad>
92
+
93
+ ```jsx
94
+ // [!code filename:JSX]
95
+ function Button({ color, children }) {
96
+ return <button className={`bg-${color}-600 hover:bg-${color}-500 ...`}>{children}</button>;
97
+ }
98
+ ```
99
+
100
+ Instead, map props to complete class names that are statically detectable at build-time:
101
+
102
+ <TipGood>Always map props to static class names</TipGood>
103
+
104
+ ```jsx
105
+ // [!code filename:JSX]
106
+ function Button({ color, children }) {
107
+ const colorVariants = {
108
+ blue: "bg-blue-600 hover:bg-blue-500",
109
+ red: "bg-red-600 hover:bg-red-500",
110
+ };
111
+
112
+ return <button className={`${colorVariants[color]} ...`}>{children}</button>;
113
+ }
114
+ ```
115
+
116
+ This has the added benefit of letting you map different prop values to different color shades for example:
117
+
118
+ ```jsx
119
+ // [!code filename:JSX]
120
+ function Button({ color, children }) {
121
+ const colorVariants = {
122
+ blue: "bg-blue-600 hover:bg-blue-500 text-white",
123
+ red: "bg-red-500 hover:bg-red-400 text-white",
124
+ yellow: "bg-yellow-300 hover:bg-yellow-400 text-black",
125
+ };
126
+
127
+ return <button className={`${colorVariants[color]} ...`}>{children}</button>;
128
+ }
129
+ ```
130
+
131
+ As long as you always use complete class names in your code, Tailwind will generate all of your CSS perfectly every time.
132
+
133
+ ### Which files are scanned
134
+
135
+ Tailwind will scan every file in your project for class names, except in the following cases:
136
+
137
+ - Files that are in your `.gitignore` file
138
+ - Files in the `node_modules` directory
139
+ - Binary files like images, videos, or zip files
140
+ - CSS files
141
+ - Common package manager lock files
142
+
143
+ If you need to scan any files that Tailwind is ignoring by default, you can [explicitly register](#explicitly-registering-sources) those sources.
144
+
145
+ ## Explicitly registering sources
146
+
147
+ Use `@source` to explicitly register source paths relative to the stylesheet:
148
+
149
+ ```css
150
+ /* [!code filename:CSS] */
151
+ @import "tailwindcss";
152
+ /* [!code highlight:2] */
153
+ @source "../node_modules/@acmecorp/ui-lib";
154
+ ```
155
+
156
+ This is especially useful when you need to scan an external library that is built with Tailwind, since dependencies are usually listed in your `.gitignore` file and ignored by Tailwind by default.
157
+
158
+ ### Setting your base path
159
+
160
+ Tailwind uses the current working directory as its starting point when scanning for class names by default.
161
+
162
+ To set the base path for source detection explicitly, use the `source()` function when importing Tailwind in your CSS:
163
+
164
+ ```css
165
+ /* [!code filename:CSS] */
166
+ /* [!code word:source("../src")] */
167
+ @import "tailwindcss" source("../src");
168
+ ```
169
+
170
+ This can be useful when working with monorepos where your build commands run from the root of the monorepo instead of the root of each project.
171
+
172
+ ### Ignoring specific paths
173
+
174
+ Use `@source not` to ignore specific paths, relative to the stylesheet, when scanning for class names:
175
+
176
+ ```css
177
+ /* [!code filename:CSS] */
178
+ @import "tailwindcss";
179
+ /* [!code highlight:2] */
180
+ @source not "../src/components/legacy";
181
+ ```
182
+
183
+ This is useful when you have large directories in your project that you know don't use Tailwind classes, like legacy components or third-party libraries.
184
+
185
+ ### Disabling automatic detection
186
+
187
+ Use `source(none)` to completely disable automatic source detection if you want to register all of your sources explicitly:
188
+
189
+ ```css
190
+ /* [!code filename:CSS] */
191
+ /* [!code word:source("../src")] */
192
+ @import "tailwindcss" source(none);
193
+
194
+ @source "../admin";
195
+ @source "../shared";
196
+ ```
197
+
198
+ This can be useful in projects that have multiple Tailwind stylesheets where you want to make sure each one only includes the classes each stylesheet needs.
199
+
200
+ ## Safelisting specific utilities
201
+
202
+ If you need to make sure Tailwind generates certain class names that don’t exist in your content files, use `@source inline()` to force them to be generated:
203
+
204
+ <CodeExampleStack>
205
+ ```css
206
+ /* [!code filename:CSS] */
207
+ @import "tailwindcss";
208
+ /* [!code highlight:2] */
209
+ @source inline("underline");
210
+ ```
211
+
212
+ ```css
213
+ /* [!code filename:Generated CSS] */
214
+ .underline {
215
+ text-decoration-line: underline;
216
+ }
217
+ ```
218
+
219
+ </CodeExampleStack>
220
+
221
+ ### Safelisting variants
222
+
223
+ You can also use `@source inline()` to generate classes with variants. For example, to generate the `underline` class with hover and focus variants, add `{hover:,focus:,}` to the source input:
224
+
225
+ <CodeExampleStack>
226
+ ```css
227
+ /* [!code filename:CSS] */
228
+ @import "tailwindcss";
229
+ /* [!code highlight:2] */
230
+ @source inline("{hover:,focus:,}underline");
231
+ ```
232
+
233
+ ```css
234
+ /* [!code filename:Generated CSS] */
235
+ .underline {
236
+ text-decoration-line: underline;
237
+ }
238
+ @media (hover: hover) {
239
+ .hover\:underline:hover {
240
+ text-decoration-line: underline;
241
+ }
242
+ }
243
+ @media (focus: focus) {
244
+ .focus\:underline:focus {
245
+ text-decoration-line: underline;
246
+ }
247
+ }
248
+ ```
249
+
250
+ </CodeExampleStack>
251
+
252
+ ### Safelisting with ranges
253
+
254
+ The source input is [brace expanded](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html), so you can generate multiple classes at once. For example, to generate all the red background colors with hover variants, use a range:
255
+
256
+ <CodeExampleStack>
257
+ ```css
258
+ /* [!code filename:CSS] */
259
+ @import "tailwindcss";
260
+ /* [!code highlight:2] */
261
+ @source inline("{hover:,}bg-red-{50,{100..900..100},950}");
262
+ ```
263
+
264
+ ```css
265
+ /* [!code filename:Generated CSS] */
266
+ .bg-red-50 {
267
+ background-color: var(--color-red-50);
268
+ }
269
+ .bg-red-100 {
270
+ background-color: var(--color-red-100);
271
+ }
272
+ .bg-red-200 {
273
+ background-color: var(--color-red-200);
274
+ }
275
+
276
+ /* ... */
277
+
278
+ .bg-red-800 {
279
+ background-color: var(--color-red-800);
280
+ }
281
+ .bg-red-900 {
282
+ background-color: var(--color-red-900);
283
+ }
284
+ .bg-red-950 {
285
+ background-color: var(--color-red-950);
286
+ }
287
+ @media (hover: hover) {
288
+ .hover\:bg-red-50:hover {
289
+ background-color: var(--color-red-50);
290
+ }
291
+
292
+ /* ... */
293
+
294
+ .hover\:bg-red-950:hover {
295
+ background-color: var(--color-red-950);
296
+ }
297
+ }
298
+ ```
299
+
300
+ </CodeExampleStack>
301
+
302
+ This generates red background colors from 100 to 900 in increments of 100, along with the first and last shades of 50 and 950. It also adds the `hover:` variant for each of those classes.
303
+
304
+ ### Explicitly excluding classes
305
+
306
+ Use `@source not inline()` to prevent specific classes from being generated, even if they are detected in your source files:
307
+
308
+ ```css
309
+ /* [!code filename:CSS] */
310
+ @import "tailwindcss";
311
+ /* [!code highlight:2] */
312
+ @source not inline("{hover:,focus:,}bg-red-{50,{100..900..100},950}");
313
+ ```
314
+
315
+ This will explicitly exclude the red background utilities, along with their hover and focus variants, from being generated.