@amsterdamdatalabs/enact-extensions 0.1.37 → 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 (577) 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 +12 -2
  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 +113 -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 +57 -0
  81. package/extensions/enact-loop/skills/loop-intake/SKILL.md +59 -0
  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 -873
  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/drive-loop/SKILL.md +0 -394
  454. package/extensions/enact-factory/skills/drive-loop/references/contract-schema.md +0 -127
  455. package/extensions/enact-factory/skills/handoff/SKILL.md +0 -75
  456. package/extensions/enact-factory/skills/hyperplan/SKILL.md +0 -59
  457. package/extensions/enact-factory/skills/looplan/SKILL.md +0 -120
  458. package/extensions/enact-factory/skills/plan/SKILL.md +0 -103
  459. package/extensions/enact-factory/skills/remove-deadcode/SKILL.md +0 -46
  460. package/extensions/enact-factory/skills/research/SKILL.md +0 -83
  461. package/extensions/enact-factory/skills/review/SKILL.md +0 -67
  462. package/extensions/enact-factory/skills/security-research/SKILL.md +0 -57
  463. package/extensions/enact-factory/skills/tdd/SKILL.md +0 -62
  464. package/extensions/enact-factory/skills/testing-strategy/SKILL.md +0 -172
  465. package/extensions/enact-factory/skills/trace/SKILL.md +0 -42
  466. package/extensions/enact-factory/skills/ultraqa/SKILL.md +0 -85
  467. package/extensions/enact-factory/skills/work-with-workitem/SKILL.md +0 -56
  468. package/extensions/enact-factory/skills/workitem-triage/SKILL.md +0 -42
  469. package/extensions/enact-wiki/.agents/plugin.json +0 -43
  470. package/extensions/enact-wiki/.mcp.json +0 -15
  471. package/extensions/enact-wiki/README.md +0 -44
  472. package/extensions/enact-wiki/assets/icon.png +0 -0
  473. package/extensions/enact-wiki/assets/logo.png +0 -0
  474. package/extensions/enact-wiki/skills/document-parser/SKILL.md +0 -17
  475. package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +0 -60
  476. package/extensions/enact-wiki/skills/document-parser/skill.json +0 -9
  477. package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +0 -30
  478. package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +0 -62
  479. package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +0 -34
  480. package/extensions/enact-wiki/skills/enact-wiki/references/query.md +0 -59
  481. package/extensions/enact-wiki/skills/search-lab/SKILL.md +0 -57
  482. package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +0 -23
  483. package/extensions/enact-wiki/skills/wiki/SKILL.md +0 -42
  484. package/extensions/net-revenue-management/.agents/plugin.json +0 -40
  485. package/extensions/net-revenue-management/.mcp.json +0 -9
  486. package/extensions/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -30
  487. package/extensions/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -31
  488. package/extensions/plugin-dev/.agents/plugin.json +0 -41
  489. package/extensions/plugin-dev/agents/agent-creator.md +0 -199
  490. package/extensions/plugin-dev/agents/plugin-validator.md +0 -91
  491. package/extensions/plugin-dev/agents/skill-reviewer.md +0 -212
  492. package/extensions/plugin-dev/skills/agent-development/SKILL.md +0 -641
  493. package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +0 -250
  494. package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +0 -461
  495. package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +0 -246
  496. package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +0 -216
  497. package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +0 -226
  498. package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +0 -464
  499. package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +0 -474
  500. package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +0 -176
  501. package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +0 -227
  502. package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +0 -227
  503. package/extensions/plugin-dev/skills/create-plugin/SKILL.md +0 -505
  504. package/extensions/plugin-dev/skills/hook-development/SKILL.md +0 -861
  505. package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +0 -55
  506. package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +0 -57
  507. package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +0 -48
  508. package/extensions/plugin-dev/skills/hook-development/references/advanced.md +0 -871
  509. package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +0 -145
  510. package/extensions/plugin-dev/skills/hook-development/references/migration.md +0 -392
  511. package/extensions/plugin-dev/skills/hook-development/references/patterns.md +0 -430
  512. package/extensions/plugin-dev/skills/hook-development/scripts/README.md +0 -181
  513. package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +0 -153
  514. package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +0 -276
  515. package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
  516. package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +0 -775
  517. package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +0 -20
  518. package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +0 -19
  519. package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +0 -38
  520. package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +0 -26
  521. package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +0 -601
  522. package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +0 -190
  523. package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +0 -572
  524. package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +0 -623
  525. package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +0 -221
  526. package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +0 -705
  527. package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +0 -774
  528. package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +0 -83
  529. package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +0 -611
  530. package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +0 -289
  531. package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +0 -592
  532. package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +0 -233
  533. package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +0 -193
  534. package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +0 -625
  535. package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +0 -116
  536. package/extensions/plugin-dev/skills/skill-development/SKILL.md +0 -562
  537. package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +0 -465
  538. package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +0 -167
  539. package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +0 -111
  540. package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +0 -225
  541. package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +0 -39
  542. package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +0 -379
  543. package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +0 -210
  544. package/extensions/plugin-dev/skills/start/SKILL.md +0 -82
  545. package/scripts/check-hooks.mjs +0 -174
  546. package/scripts/check-principles.mjs +0 -116
  547. package/scripts/hooks/session-start-drift-check.mjs +0 -48
  548. package/scripts/install.sh +0 -70
  549. package/scripts/lib/auto-update.mjs +0 -75
  550. package/scripts/lib/bundle-hash.mjs +0 -137
  551. package/scripts/lib/hooks.mjs +0 -585
  552. package/scripts/lib/ledger.mjs +0 -163
  553. package/scripts/lib/migrate-artifacts.mjs +0 -144
  554. package/scripts/lib/outdated.mjs +0 -144
  555. package/scripts/lib/postinstall-offer.mjs +0 -83
  556. package/scripts/lib/principles.mjs +0 -109
  557. package/scripts/lib/provision-mcp.mjs +0 -16
  558. package/scripts/lib/resolve-plugin-root.mjs +0 -9
  559. package/scripts/lib/run-install.mjs +0 -500
  560. package/scripts/lib/run-prune.mjs +0 -94
  561. package/scripts/lib/run-uninstall.mjs +0 -244
  562. package/scripts/lib/run-update.mjs +0 -152
  563. package/scripts/lib/serve.mjs +0 -472
  564. package/scripts/lib/ups-router.mjs +0 -392
  565. package/scripts/postinstall.mjs +0 -101
  566. package/scripts/setup-enact-context.sh +0 -28
  567. package/scripts/version-bump.sh +0 -484
  568. package/web/assets/README.md +0 -111
  569. package/web/assets/logo-full.png +0 -0
  570. package/web/assets/logo-slim.png +0 -0
  571. package/web/assets/tokens/base.css +0 -45
  572. package/web/assets/tokens/colors.css +0 -248
  573. package/web/assets/tokens/effects.css +0 -24
  574. package/web/assets/tokens/fonts.css +0 -8
  575. package/web/assets/tokens/index.css +0 -18
  576. package/web/assets/tokens/spacing.css +0 -50
  577. package/web/index.html +0 -1188
@@ -1,309 +0,0 @@
1
- ---
2
- name: azdo-ci-strategy
3
- description: >-
4
- Azure DevOps CI/CD for enact-os: the branch / PR / release strategy plus the
5
- az CLI + REST commands to run it. Use when opening or promoting PRs (to
6
- integration or main), setting branch policies (merge-strategy,
7
- build-validation), registering pipelines, diagnosing why a pipeline did not
8
- trigger, or reading build failures. Triggers on "PR to integration", "promote
9
- to main", "pipeline failing", "branch policy", "az repos", "az pipelines".
10
- compatibility: >-
11
- Requires the az CLI (>= 2.30) with the azure-devops extension, an
12
- authenticated `az login`, and network access to an Azure DevOps organization.
13
- metadata:
14
- author: Amsterdam Data Labs
15
- version: 1.0.0
16
- ---
17
-
18
- # Azure DevOps CI/CD Strategy — enact-os
19
-
20
- > **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
21
- > 1. `ROOT="$(git rev-parse --show-toplevel)"`
22
- > 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
23
- > 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`; this skill itself does not define durable markdown artifacts.
24
-
25
- The enact-os branch / release strategy and pipeline conventions. The `az` CLI
26
- and REST command catalogs live in `references/` (see [Reference files](#reference-files))
27
- and load on demand — this file holds the strategy and the everyday workflow.
28
-
29
- > **Relationship to the `enact-factory` MCP server.** This is a standalone
30
- > knowledge skill — it needs only the `az` CLI, no MCP server. When the
31
- > `enact-factory` MCP *is* available, prefer its tools (`factory_workitem_*`,
32
- > pipeline governance) for **live board/WorkItem/pipeline state**; use the
33
- > CLI/REST recipes here for **branch & merge policies, PR creation/promotion,
34
- > and build-failure diagnosis** — the operations the MCP doesn't cover, or for
35
- > when it isn't connected. See the sibling `workitem-triage` skill for the
36
- > read-only WorkItem triage surface.
37
-
38
- ## Branch flow
39
-
40
- ```text
41
- feat/* local CI ──► PR to integration ── PR CI ──► auto-merge to integration
42
- fix/* local CI ──► PR to integration ── PR CI ──► auto-merge to integration
43
- integration ── automation creates or updates one PR to main ──► main
44
- main ── manual approval + CI ──► publish
45
- ```
46
-
47
- - Branch from `integration` (never from `main`). One branch per logical unit,
48
- kebab-case. Never commit directly to `integration` or `main`.
49
- - **Create a fresh branch only when no open PR to `integration` is left
50
- outstanding** for your prior work — let that PR merge (or close it) first. Keep
51
- one open `integration` PR at a time so the branch → PR → merge cycle stays
52
- serialized and you never stack new work on a base that's still moving. Check
53
- before branching:
54
-
55
- ```bash
56
- az repos pr list --target-branch integration --status active \
57
- --creator "$(az account show --query user.name -o tsv)" -o table
58
- ```
59
- - `feat/*` — new functionality, tooling, or docs. `fix/*` — bug/CI/config fixes.
60
-
61
- ## Setup
62
-
63
- ```bash
64
- az extension add --name azure-devops # az cli 2.30+
65
- az login
66
- ```
67
-
68
- For any command surface not spelled out in the references, run `az <group>
69
- --help` — e.g. `az repos pr --help`, `az pipelines --help`, `az devops --help`.
70
- The references document only the non-obvious flags, gotchas, and the REST calls
71
- the CLI can't make; the CLI's own help covers the rest.
72
-
73
- ## Variables
74
-
75
- Every command and URL in this skill (including the reference files) references
76
- these. Set them once per shell (or pass `--detect` inside a repo to infer
77
- org/project from the git remote). Nothing here is tied to one tenant —
78
- substitute your own org/project:
79
-
80
- ```bash
81
- ORG_URL="https://dev.azure.com/<your-org>" # e.g. .../amsterdamdatalabs
82
- PROJECT="<your-project>" # e.g. Enact
83
- AZDO_RESOURCE="499b84ac-1321-427f-aa17-267ca6975798" # constant AAD app id for AzDO access tokens
84
-
85
- # Optional: set CLI defaults so --org/--project can be omitted on every command.
86
- az devops configure --defaults organization="$ORG_URL" project="$PROJECT"
87
- ```
88
-
89
- ## Developer workflow
90
-
91
- 0. Before starting any task: confirm you have no open `integration` PR left from
92
- prior work, then sync local `integration` and branch from it:
93
-
94
- ```bash
95
- # Gate: must return nothing before you branch (let any prior PR merge/close first)
96
- az repos pr list --target-branch integration --status active \
97
- --creator "$(az account show --query user.name -o tsv)" -o table
98
-
99
- git checkout integration
100
- git pull --ff-only origin integration
101
- git checkout -b feat/my-branch # or fix/my-branch
102
- ```
103
-
104
- 1. Work on a `feat/*` or `fix/*` branch.
105
- 2. Run local Docker CI before opening a PR. Each package has a wrapper at
106
- `./scripts/ci-local-<package>.sh` (run from the `enact-os` workspace root):
107
-
108
- - `ci-local-agent.sh` · `ci-local-context.sh` · `ci-local-eval.sh`
109
- - `ci-local-factory.sh` · `ci-local-gateway.sh` · `ci-local-observe.sh`
110
- - `ci-local-operator.sh` · `ci-local-proc-tap.sh` · `ci-local-runtime.sh`
111
- - `ci-local-voice.sh` · `ci-local-watchdog.sh` · `ci-local-wiki.sh`
112
-
113
- (Verify the exact set with `ls scripts/ci-local-*.sh` — it grows as packages
114
- are added.) For `enact-factory` and `enact-wiki`, the Docker wrapper is the
115
- source of truth for Azure parity; direct host-local Vitest can differ because
116
- of optional native bindings on non-Linux machines.
117
-
118
- 3. Open a PR targeting **`integration`** only — never directly to `main`. Always
119
- pass **both** `--auto-complete true` and `--delete-source-branch true` (these
120
- are NOT inherited by CLI-created PRs — see the auto-complete gotcha in
121
- `references/cli-reference.md`):
122
-
123
- ```bash
124
- az repos pr create \
125
- --source-branch feat/my-branch \
126
- --target-branch integration \
127
- --title "feat: description" \
128
- --squash true \
129
- --auto-complete true \
130
- --delete-source-branch true \
131
- --detect
132
- ```
133
-
134
- **Merge strategy is policy-gated.** `integration` requires the **squash**
135
- strategy — without `--squash true`, completion fails with
136
- `Merge strategy is not allowed by policy`. Note `pr create` may still create
137
- the PR while rejecting the auto-complete settings; in that case set them on
138
- the existing PR (idempotent):
139
-
140
- ```bash
141
- az repos pr update --id <pr-id> --squash true --auto-complete true --delete-source-branch true
142
- ```
143
-
144
- 4. CI runs automatically on the PR. When CI passes the PR **auto-merges** (squash)
145
- into `integration`. No reviewer is required on integration.
146
- 5. After each successful merge to `integration`, automation creates or updates
147
- one open `integration → main` PR.
148
- 6. The `integration → main` PR stays **manual** — owner approval on it is the
149
- release gate. (Create/update commands: `references/cli-reference.md`.)
150
-
151
- ## CI triggers
152
-
153
- | Trigger | What runs |
154
- | ------------------------------------------- | ----------------------------------------------------------------------------------------------- |
155
- | Push to `feat/*` | **Nothing** — local Docker CI is the gate |
156
- | Push to `fix/*` | **Nothing** — local Docker CI is the gate |
157
- | PR opened / updated targeting `integration` | Build + test + lint (no version bump — see Version management) |
158
- | Push to `integration` (after PR merged) | Build + test + lint + **patch version auto-bump** (pushed directly to `integration`, `***NO_CI***`) |
159
- | Push to `main` (after PR merged) | Build + test + lint + **Publish** for publishable packages; CI only for internal-only packages |
160
-
161
- > **⛔ NEVER use `az pipelines run` to manually trigger CI as a substitute for a
162
- > PR push.** Manual runs do not update PR build status and give false
163
- > confidence. If CI is not triggering on a PR, push a new commit (even empty):
164
- >
165
- > ```bash
166
- > git commit --allow-empty -m "ci: re-trigger pipeline"
167
- > git push
168
- > ```
169
- >
170
- > The only permitted use of `az pipelines run` is a deliberate Publish-stage
171
- > retag/hotfix on `main`, performed explicitly by the repo owner.
172
-
173
- ## Publish gate
174
-
175
- - Publish only runs on `refs/heads/main`.
176
- - `main` is branch-protected — direct push blocked; only PR merges allowed.
177
- - Internal-only packages can omit a publish stage while keeping the same
178
- `integration` / `main` CI trigger pattern.
179
- - Merging the `integration → main` PR IS the manual approval for publish.
180
- - Patch auto-bumps per PR (see Version management); the owner sets minor/major and
181
- gates the `integration → main` merge that triggers publish.
182
-
183
- ## Version management
184
-
185
- - **Patch auto-bumps on the `integration` build, AFTER each PR merges.** The
186
- integration CI runs `version-bump.sh --integration` and pushes the bumped
187
- `package.json` commit **directly to `integration`**, marked `***NO_CI***` so
188
- Azure skips it (no re-trigger). This needs the Project Build Service to have
189
- **"Bypass policies when pushing"** on the repo (set in the Git Repositories
190
- security namespace). Previously this bump ran on the `feat/*`/`fix/*` source
191
- branch pre-merge, but pushing the bump there updated the PR source and forced a
192
- second PR validation build (a wasteful double-trigger) — moving it to the
193
- post-merge integration build removes that. (The bump is one patch per merged PR.)
194
- - Minor/major bumps are set manually by the repo owner; no changeset tooling.
195
- - **`integration → main` promotion + publish are owner-gated**: automation
196
- opens/updates the `integration → main` PR; the owner approves the merge, which
197
- triggers the versioned publish on `main`.
198
- - Exception: packages whose version lives in a non-npm file (e.g. Python —
199
- enact-observe/gateway/voice) disable the auto-bump and bump manually.
200
-
201
- ## Pipeline trigger config (all packages)
202
-
203
- ```yaml
204
- trigger:
205
- branches:
206
- include:
207
- - integration
208
- - main
209
-
210
- pr:
211
- branches:
212
- include:
213
- - integration
214
- ```
215
-
216
- `feat/*` and `fix/*` are intentionally excluded — local Docker CI is the only
217
- branch gate before opening a PR to `integration`.
218
-
219
- Publish stage condition:
220
-
221
- ```yaml
222
- condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
223
- ```
224
-
225
- ## Version pins for local CI scripts
226
-
227
- Tool versions for all `ci-local-*.sh` scripts are pinned in
228
- `scripts/ci-versions.env`:
229
-
230
- ```bash
231
- NODE_IMAGE="node:22-bookworm"
232
- ZIG_VERSION="0.14.0"
233
- PYTHON_IMAGE="python:3.12-bookworm"
234
- UV_VERSION="0.11.8" # must match enact-observe/pyproject.toml [tool.uv]
235
- ```
236
-
237
- When upgrading a tool version: (1) update `scripts/ci-versions.env`, **then**
238
- (2) update the `variables:` block in the relevant `azure-pipelines.yml` — Azure
239
- Pipelines does NOT read this file; keep the two in sync manually.
240
-
241
- ## Version-skip pattern
242
-
243
- All publish steps must handle already-published versions gracefully:
244
-
245
- - **npm public**: check `npm view <pkg> version`, skip if matches local.
246
- - **Azure Artifacts**: catch `403|409|already exist|upstream sources`, exit 0.
247
- - **cargo**: check the Azure Artifacts sparse index or crates.io API, skip if
248
- the version already exists.
249
-
250
- ## Examples
251
-
252
- **"Open a PR for my fix branch."**
253
- → Run the step-0 gate (no open integration PR), then `az repos pr create` to
254
- `integration` with `--auto-complete true --delete-source-branch true`.
255
- → Result: PR opens, CI runs, and on green it auto-merges — no reviewer needed.
256
-
257
- **"Promote integration to main."**
258
- → Create/update the `integration → main` PR (NO `--auto-complete`,
259
- `references/cli-reference.md`). → Result: PR awaits the owner's approval; merging
260
- it triggers the versioned publish.
261
-
262
- **"Why didn't CI run on my PR?"**
263
- → Follow the diagnosis in `references/build-failures.md`: push an empty commit,
264
- confirm the build-validation policy is enabled, ensure the PR is open and
265
- targets `integration`. → Result: the pipeline re-queues on the next push event.
266
-
267
- **"The pipeline is red — what failed?"**
268
- → Pull the build timeline via token + curl (`references/build-failures.md`) while
269
- logs are still live. → Result: a printed list of failed Task/Job/Stage records
270
- with their first error messages.
271
-
272
- ## Reference files
273
-
274
- Detailed command catalogs live under `references/` and load on demand. They all
275
- assume the [Variables](#variables) above are set.
276
-
277
- - **`references/cli-reference.md`** — az command catalog (PRs, work items,
278
- pipelines, repos), the full PR workflow, the auto-complete gotcha, common flags.
279
- - **`references/policies-and-pipelines.md`** — REST recipes for merge-strategy
280
- and build-validation policies, registering a pipeline, variable-group
281
- authorization.
282
- - **`references/build-failures.md`** — pull failing-build timelines/logs via
283
- token + curl; diagnose why CI did not trigger.
284
- - **`references/troubleshooting.md`** — `msrestazure` fix, `az repos` vs
285
- `az devops`, pipeline bootstrap gotchas, first-run checklist.
286
-
287
- ## Local branch maintenance (`git-maintain`)
288
-
289
- Local clones are kept tidy by a developer-machine LaunchAgent — you do not prune
290
- branches by hand. It is local-only (never deletes remote branches, never touches
291
- a working tree).
292
-
293
- - Script `~/.local/bin/git-maintain.sh`, agent `com.enact.git-maintain` (every
294
- 3 h + at login), log `~/.enact/logs/git-maintain.log`.
295
- - Per `enact-*` repo: `fetch --prune` → fast-forward local `integration` without
296
- disturbing the working tree → **safe-only** prune (keeps `integration`/`main` +
297
- current `HEAD` + latest 3; deletes only `[gone]`-upstream via `-D` and true
298
- `--merged` via `-d`; squash-merged branches with a live remote are kept as
299
- `unconfirmed merged`).
300
- - Preview: `GIT_MAINTAIN_DRY=1 ~/.local/bin/git-maintain.sh`. Disable:
301
- `launchctl bootout gui/$(id -u)/com.enact.git-maintain`.
302
-
303
- This is why **`--delete-source-branch true` on every PR matters**: it lets a
304
- squash-merged branch's remote go away, which is the signal the agent prunes on.
305
- Full detail in the canonical doc below.
306
-
307
- ## Canonical doc
308
-
309
- `enact-docs/05-operations/cross-package/git-branching-strategy.md`
@@ -1,60 +0,0 @@
1
- # Reading build failures & diagnosing CI
2
-
3
- Assumes the **Variables** block from `../SKILL.md` is set (`$ORG_URL`,
4
- `$PROJECT`, `$AZDO_RESOURCE`).
5
-
6
- ## Reading build failure output
7
-
8
- AzDO pipeline logs expire quickly (timeline returns HTTP 204 after ~24h). Get
9
- them while the run is fresh. **`az rest` does NOT work for AzDO URLs** — it
10
- cannot derive the right AAD scope; use a bearer token + `curl`.
11
-
12
- ```bash
13
- TOKEN=$(az account get-access-token \
14
- --resource "$AZDO_RESOURCE" \
15
- --query accessToken -o tsv)
16
-
17
- # Failure summary from the build timeline (works while logs are live)
18
- curl -s -H "Authorization: Bearer $TOKEN" \
19
- "$ORG_URL/$PROJECT/_apis/build/builds/<buildId>/timeline?api-version=7.1" \
20
- | python3 -c "
21
- import sys, json
22
- d = json.load(sys.stdin)
23
- failed = [r for r in d.get('records', [])
24
- if r.get('result') == 'failed' and r.get('type') in ('Task','Job','Stage')]
25
- for r in sorted(failed, key=lambda x: x.get('order', 0)):
26
- print(r.get('type'), '|', r.get('name'))
27
- for i in (r.get('issues') or [])[:3]:
28
- print(' !', i.get('message', '')[:300])
29
- "
30
-
31
- # Logs container URL from a run
32
- az pipelines runs show --id <run-id> --output json \
33
- | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['logs']['url'])"
34
-
35
- # Fetch a specific log entry (<logId> from the logs index)
36
- curl -s -H "Authorization: Bearer $TOKEN" \
37
- "$ORG_URL/$PROJECT/_apis/build/builds/<buildId>/logs/<logId>?api-version=7.1"
38
- ```
39
-
40
- Timeline returns HTTP 204 (empty) once logs expire — check the AzDO web UI then.
41
-
42
- ## Diagnosing why CI did not trigger on a PR
43
-
44
- CI should trigger automatically when commits land on a PR source branch. If it
45
- doesn't, do NOT manually queue a run:
46
-
47
- 1. **Push a new commit** (even empty) to the source branch:
48
- ```bash
49
- git commit --allow-empty -m "ci: re-trigger pipeline"
50
- git push
51
- ```
52
- 2. Check the PR's **build-validation policy** is enabled (pipeline registered and
53
- the policy references the correct pipeline ID — see
54
- `policies-and-pipelines.md`).
55
- 3. Check the PR is open and targeting `integration`. Closed/draft PRs don't
56
- trigger CI.
57
-
58
- For bootstrap PRs introducing `azure-pipelines.yml` for the first time, use
59
- `git push --force-with-lease` to force a new push event (see
60
- `troubleshooting.md` → pipeline bootstrap gotchas).
@@ -1,87 +0,0 @@
1
- # Azure DevOps CLI reference
2
-
3
- Command catalog for the enact-os workflow. Assumes the **Variables** block from
4
- `../SKILL.md` is set (`$ORG_URL`, `$PROJECT`, `$AZDO_RESOURCE`). For anything not
5
- listed here, run `az <group> --help`.
6
-
7
- ## Most-used commands
8
-
9
- ```bash
10
- # My PRs
11
- az repos pr list --creator "$(az account show --query user.name -o tsv)"
12
- az repos pr list --reviewer "$(az account show --query user.name -o tsv)"
13
- az repos pr show --id <pr-id>
14
- az repos pr checkout --id <pr-id>
15
-
16
- # My work items
17
- az boards query --wiql "SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.AssignedTo] = @Me AND [System.State] <> 'Closed' ORDER BY [System.ChangedDate] DESC"
18
- az boards work-item show --id <work-item-id>
19
- az boards work-item create --title "Task title" --type "Task"
20
- az boards work-item update --id <id> --state "In Progress"
21
-
22
- # Pipelines
23
- az pipelines list
24
- az pipelines runs list --top 10
25
- az pipelines runs show --id <run-id>
26
-
27
- # Repositories
28
- az repos list
29
- az repos show --repository <repo-name>
30
- az repos create --name "new-repo"
31
- ```
32
-
33
- ## Pull request workflow
34
-
35
- ```bash
36
- # Create PR to integration — always auto-complete + delete-source-branch
37
- az repos pr create \
38
- --source-branch feat/my-branch \
39
- --target-branch integration \
40
- --title "feat: description" \
41
- --auto-complete true \
42
- --delete-source-branch true \
43
- --detect
44
- # CI passes → PR auto-merges. No reviewer required on integration.
45
-
46
- # Promotion PR to main (integration→main) — created/updated by automation,
47
- # merge stays MANUAL. Owner approval on this PR is the release gate.
48
- az repos pr create \
49
- --source-branch integration \
50
- --target-branch main \
51
- --title "release: promote integration → main" \
52
- --detect
53
- # NO --auto-complete ← merge of the main PR is the manual release gate
54
- # NO --delete-source-branch ← integration is permanent
55
-
56
- # Enable auto-complete on an existing integration PR (e.g. opened without flags)
57
- az repos pr update --id <pr-id> --auto-complete true --delete-source-branch true
58
-
59
- # Reviewers / votes / manual completion
60
- az repos pr update --id <pr-id> --reviewers user@email.com
61
- az repos pr set-vote --id <pr-id> --vote 10 # 10 approve · 5 approve-w/-suggestions · -5 wait · -10 reject
62
- az repos pr update --id <pr-id> --status completed
63
- ```
64
-
65
- ## Auto-complete gotcha (CLI/REST PRs)
66
-
67
- The project setting **"Set PRs to auto-complete on creation by default"**
68
- (Project settings → Repositories → Settings) is enabled, **but it applies only
69
- to PRs created in the web UI** — PRs created via `az repos pr create` / REST do
70
- NOT inherit it (verified: a CLI-created PR had auto-complete OFF despite the
71
- default). So for the CLI workflow, always pass **both** `--auto-complete true`
72
- and `--delete-source-branch true` explicitly. AzDO has no repo-level policy to
73
- force-delete branches on merge — enforce it at PR creation. Fix a PR opened
74
- without the flags after the fact:
75
-
76
- ```bash
77
- az repos pr update --id <N> --auto-complete true --delete-source-branch true
78
- ```
79
-
80
- ## Common flags
81
-
82
- | Flag | Description |
83
- | ------------------- | --------------------------------------------------- |
84
- | `--org` | Organization URL (or set via `az devops configure`) |
85
- | `--project` | Project name (or set via `az devops configure`) |
86
- | `--detect` | Auto-detect org/project from the git remote |
87
- | `-o json/table/tsv` | Output format |
@@ -1,132 +0,0 @@
1
- # Branch policies, pipelines & variable groups (REST)
2
-
3
- Assumes the **Variables** block from `../SKILL.md` is set (`$ORG_URL`,
4
- `$PROJECT`, `$AZDO_RESOURCE`).
5
-
6
- ## Enforcing merge strategy on a branch
7
-
8
- > **Do NOT use `az repos policy merge-strategy create`** — it warns
9
- > `This command is from the following extension: azure-devops`. Use the REST API
10
- > directly (bearer token + curl). Policy type id:
11
- > `fa4e907d-c16b-4a4c-9dfa-4916e5d171ab`.
12
-
13
- **integration — squash only** (1 clean commit per PR, linear history):
14
-
15
- ```bash
16
- TOKEN=$(az account get-access-token \
17
- --resource "$AZDO_RESOURCE" --query accessToken -o tsv)
18
-
19
- curl -s -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
20
- "$ORG_URL/$PROJECT/_apis/policy/configurations?api-version=7.1" \
21
- -d '{
22
- "isEnabled": true, "isBlocking": true,
23
- "type": {"id": "fa4e907d-c16b-4a4c-9dfa-4916e5d171ab"},
24
- "settings": {
25
- "allowSquash": true, "allowNoFastForward": false,
26
- "allowRebase": false, "allowRebaseMerge": false,
27
- "scope": [{"repositoryId": "<repo-id>", "refName": "refs/heads/integration", "matchKind": "exact"}]
28
- }
29
- }'
30
- ```
31
-
32
- **main — basic merge or fast-forward, no squash** (preserves full integration
33
- history on promotion):
34
-
35
- ```bash
36
- # POST (new) uses the URL above with these settings; if a policy already exists,
37
- # PUT to .../policy/configurations/<policy-id>?api-version=7.1 instead.
38
- curl -s -X PUT -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
39
- "$ORG_URL/$PROJECT/_apis/policy/configurations/<policy-id>?api-version=7.1" \
40
- -d '{
41
- "isEnabled": true, "isBlocking": true,
42
- "type": {"id": "fa4e907d-c16b-4a4c-9dfa-4916e5d171ab"},
43
- "settings": {
44
- "allowSquash": false, "allowNoFastForward": true,
45
- "allowRebase": true, "allowRebaseMerge": false,
46
- "scope": [{"repositoryId": "<repo-id>", "refName": "refs/heads/main", "matchKind": "exact"}]
47
- }
48
- }'
49
- ```
50
-
51
- POST fails with "rejected by policy" if a merge-strategy policy already exists on
52
- that branch — use PUT with the existing policy ID. Find existing IDs:
53
-
54
- ```bash
55
- curl -s -H "Authorization: Bearer $TOKEN" \
56
- "$ORG_URL/$PROJECT/_apis/policy/configurations?api-version=7.1" \
57
- | python3 -c "
58
- import sys,json
59
- MERGE_TYPE='fa4e907d-c16b-4a4c-9dfa-4916e5d171ab'
60
- for p in json.load(sys.stdin).get('value',[]):
61
- if p.get('type',{}).get('id') == MERGE_TYPE:
62
- for s in p['settings'].get('scope',[]):
63
- print(p['id'], s.get('repositoryId'), s.get('refName'))
64
- "
65
- ```
66
-
67
- ## Register a pipeline
68
-
69
- ```bash
70
- # Run from inside the repo directory — --detect infers org/project/repo
71
- az pipelines create \
72
- --name "<package-name> CI" \
73
- --repository <repo-name> \
74
- --repository-type tfsgit \
75
- --branch <default-branch> \
76
- --yml-path azure-pipelines.yml \
77
- --skip-first-run \
78
- --detect
79
- ```
80
-
81
- ## Build-validation policy (blocking CI gate)
82
-
83
- ```bash
84
- az repos policy build create \
85
- --repository-id <repo-id> \
86
- --branch integration \
87
- --build-definition-id <pipeline-id> \
88
- --queue-on-source-update-only false \
89
- --manual-queue-only false \
90
- --valid-duration 0 \
91
- --blocking true \
92
- --enabled true \
93
- --display-name "CI must pass before merge" \
94
- --detect
95
-
96
- # List / delete policies for a repo
97
- az repos policy list --repository-id <repo-id> --detect -o table
98
- az repos policy delete --id <policy-id> --detect
99
- ```
100
-
101
- Get `--repository-id` via `az repos show --repository <repo-name> --query id -o tsv --detect`.
102
- Policies for the enact-os packages were created 2026-05-19 with the above.
103
-
104
- ## Variable-group authorization (first run)
105
-
106
- A pipeline referencing a variable group (e.g. `enact-dev-secrets`) for the first
107
- time queues but stays `notStarted` until authorized. Two ways:
108
-
109
- ```bash
110
- # UI: open the stuck run and click "Permit" on the variable group.
111
- az pipelines runs list --pipeline-id <id> --output table
112
- # $ORG_URL/$PROJECT/_build/results?buildId=<run-id>
113
- ```
114
-
115
- ```bash
116
- # REST (no UI):
117
- TOKEN=$(az account get-access-token \
118
- --resource "$AZDO_RESOURCE" --query accessToken -o tsv)
119
- az pipelines variable-group list --output table # get <groupId>
120
-
121
- # Authorize specific pipelines:
122
- curl -s -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
123
- "$ORG_URL/$PROJECT/_apis/pipelines/pipelinePermissions/variablegroup/<groupId>?api-version=7.1-preview.1" \
124
- -d '{"pipelines": [{"id": 9, "authorized": true}, {"id": 10, "authorized": true}]}'
125
-
126
- # …or all pipelines at once:
127
- curl -s -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
128
- "$ORG_URL/$PROJECT/_apis/pipelines/pipelinePermissions/variablegroup/<groupId>?api-version=7.1-preview.1" \
129
- -d '{"allPipelines": {"authorized": true}}'
130
- ```
131
-
132
- The authorization persists for that pipeline permanently.
@@ -1,53 +0,0 @@
1
- # Troubleshooting & bootstrap gotchas
2
-
3
- Assumes the **Variables** block from `../SKILL.md` is set where commands use it.
4
-
5
- ## Quick checks
6
-
7
- ```bash
8
- az devops configure --list # current config
9
- az account show # verify auth
10
- az extension show --name azure-devops
11
- ```
12
-
13
- ## PR commands live under `az repos`, not `az devops`
14
-
15
- ```bash
16
- az devops pr create ... # WRONG — 'pr' is not a subcommand of az devops
17
- az repos pr create --source-branch feature/x --target-branch integration --detect # CORRECT
18
- ```
19
-
20
- ## Extension fails with `No module named 'msrestazure'`
21
-
22
- The `azure-devops` extension depends on `msrestazure`, not bundled in newer
23
- Homebrew `azure-cli` installs. Install it into az's own Python:
24
-
25
- ```bash
26
- az --version 2>&1 | grep "Python location" # e.g. .../azure-cli/2.76.0/libexec/bin/python
27
- /opt/homebrew/Cellar/azure-cli/<version>/libexec/bin/python -m pip install msrestazure
28
-
29
- # If the extension directory is corrupt, remove and reinstall:
30
- rm -rf ~/.azure/cliextensions/azure-devops
31
- az extension add --name azure-devops
32
- ```
33
-
34
- ## Pipeline bootstrap gotchas
35
-
36
- ### First PR that adds `azure-pipelines.yml` will not trigger CI
37
-
38
- AzDO evaluates the `pr:` trigger using the YAML **in the target branch**
39
- (`integration`). If `azure-pipelines.yml` doesn't exist in `integration` yet
40
- (because the PR adding it hasn't merged), the trigger never fires. Merge the
41
- bootstrap PR manually once — subsequent PRs auto-trigger.
42
-
43
- ### First-run checklist (new pipeline bootstrap)
44
-
45
- 1. **Validate YAML locally:**
46
- `python3 -c "import yaml; yaml.safe_load(open('azure-pipelines.yml')); print('OK')"`
47
- 2. **Check tool versions exist:** e.g. Zig at
48
- `https://ziglang.org/download/<version>/zig-linux-x86_64-<version>.tar.xz`
49
- (`curl -sI`, expect 200).
50
- 3. **Variable group authorized:** see `policies-and-pipelines.md` →
51
- variable-group authorization.
52
- 4. **Multi-checkout repos accessible:** if `resources: repositories` is used,
53
- confirm the service connection has read access to each sibling repo.