@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.
- package/README.md +67 -108
- package/bundled-extensions.json +6 -0
- package/dist/create/enact.d.ts.map +1 -1
- package/dist/create/enact.js +2 -0
- package/dist/create/enact.js.map +1 -1
- package/dist/create/index.d.ts +3 -0
- package/dist/create/index.d.ts.map +1 -1
- package/dist/create/index.js +6 -0
- package/dist/create/index.js.map +1 -1
- package/dist/create/kimi.d.ts +16 -0
- package/dist/create/kimi.d.ts.map +1 -0
- package/dist/create/kimi.js +87 -0
- package/dist/create/kimi.js.map +1 -0
- package/dist/create/opencode.d.ts +129 -0
- package/dist/create/opencode.d.ts.map +1 -0
- package/dist/create/opencode.js +696 -0
- package/dist/create/opencode.js.map +1 -0
- package/dist/index.d.ts +12 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/internal/agents.d.ts +12 -2
- package/dist/internal/agents.d.ts.map +1 -1
- package/dist/internal/agents.js +119 -3
- package/dist/internal/agents.js.map +1 -1
- package/dist/internal/extensions-table.d.ts +58 -0
- package/dist/internal/extensions-table.d.ts.map +1 -0
- package/dist/internal/extensions-table.js +134 -0
- package/dist/internal/extensions-table.js.map +1 -0
- package/dist/internal/file-ops.d.ts +36 -0
- package/dist/internal/file-ops.d.ts.map +1 -0
- package/dist/internal/file-ops.js +89 -0
- package/dist/internal/file-ops.js.map +1 -0
- package/dist/internal/hooks.d.ts +56 -0
- package/dist/internal/hooks.d.ts.map +1 -0
- package/dist/internal/hooks.js +128 -0
- package/dist/internal/hooks.js.map +1 -0
- package/dist/internal/json-merge.d.ts +63 -0
- package/dist/internal/json-merge.d.ts.map +1 -0
- package/dist/internal/json-merge.js +122 -0
- package/dist/internal/json-merge.js.map +1 -0
- package/dist/internal/lock-ownership.d.ts +41 -0
- package/dist/internal/lock-ownership.d.ts.map +1 -0
- package/dist/internal/lock-ownership.js +24 -0
- package/dist/internal/lock-ownership.js.map +1 -0
- package/dist/internal/platform.d.ts.map +1 -1
- package/dist/internal/platform.js +90 -4
- package/dist/internal/platform.js.map +1 -1
- package/dist/internal/schema.js.map +1 -1
- package/dist/internal/toml-block.d.ts +59 -0
- package/dist/internal/toml-block.d.ts.map +1 -0
- package/dist/internal/toml-block.js +113 -0
- package/dist/internal/toml-block.js.map +1 -0
- package/dist/internal/types.d.ts +2 -1
- package/dist/internal/types.d.ts.map +1 -1
- package/dist/projection.d.ts +47 -0
- package/dist/projection.d.ts.map +1 -0
- package/dist/projection.js +180 -0
- package/dist/projection.js.map +1 -0
- package/dist/validate/index.d.ts +9 -4
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +56 -7
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/kimi.d.ts +3 -0
- package/dist/validate/kimi.d.ts.map +1 -0
- package/dist/validate/kimi.js +11 -0
- package/dist/validate/kimi.js.map +1 -0
- package/dist/validate/opencode.d.ts +3 -0
- package/dist/validate/opencode.d.ts.map +1 -0
- package/dist/validate/opencode.js +11 -0
- package/dist/validate/opencode.js.map +1 -0
- package/dist/validate/run.d.ts +39 -0
- package/dist/validate/run.d.ts.map +1 -0
- package/dist/validate/run.js +63 -0
- package/dist/validate/run.js.map +1 -0
- package/extensions/enact-loop/.agents/plugin.json +12 -8
- package/extensions/enact-loop/scripts/validate.mjs +113 -2
- package/extensions/enact-loop/skills/enact-loop/SKILL.md +36 -466
- package/extensions/enact-loop/skills/enact-loop/references/loop-contract.md +114 -0
- package/extensions/enact-loop/skills/loop-budget/SKILL.md +57 -0
- package/extensions/enact-loop/skills/loop-intake/SKILL.md +59 -0
- package/extensions/enact-repo/.agents/plugin.json +55 -0
- package/extensions/enact-repo/.mcp.json +20 -0
- package/extensions/enact-repo/README.md +90 -0
- package/extensions/enact-repo/hooks/hooks.json +98 -0
- package/extensions/enact-repo/lean-ctx/config.toml +35 -0
- package/extensions/enact-repo/lean-ctx/layout.toml +5 -0
- package/extensions/enact-repo/skills/aca-sandboxes/SKILL.md +53 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/capabilities.md +52 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/install.md +87 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/prerequisites.md +52 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/quickstart.md +164 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/reference-advanced.md +251 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/reference.md +287 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/response-cues.md +71 -0
- package/extensions/enact-repo/skills/aca-sandboxes/references/scenarios.md +219 -0
- package/extensions/enact-repo/skills/aca-sandboxes/version.json +4 -0
- package/extensions/enact-repo/skills/backend-remove-deadcode/SKILL.md +96 -0
- package/extensions/enact-repo/skills/cmux-leader/SKILL.md +61 -0
- package/extensions/enact-repo/skills/cmux-send/SKILL.md +61 -0
- package/extensions/enact-repo/skills/code-review/SKILL.md +100 -0
- package/extensions/enact-repo/skills/codebase-design/SKILL.md +98 -0
- package/extensions/enact-repo/skills/codebase-design/references/DEEPENING.md +37 -0
- package/extensions/enact-repo/skills/codebase-design/references/DESIGN-IT-TWICE.md +44 -0
- package/extensions/enact-repo/skills/codebase-design/references/TESTABILITY.md +29 -0
- package/extensions/enact-repo/skills/computer-use/SKILL.md +76 -0
- package/extensions/enact-repo/skills/debug-issue/SKILL.md +40 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/SKILL.md +100 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/references/FEEDBACK-LOOP-TACTICS.md +34 -0
- package/extensions/enact-repo/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
- package/extensions/enact-repo/skills/domain-modeling/SKILL.md +86 -0
- package/extensions/enact-repo/skills/domain-modeling/references/ADR-FORMAT.md +47 -0
- package/extensions/enact-repo/skills/domain-modeling/references/CONTEXT-FORMAT.md +60 -0
- package/extensions/enact-repo/skills/explore-codebase/SKILL.md +41 -0
- package/extensions/enact-repo/skills/frontend-design/LICENSE.txt +177 -0
- package/extensions/enact-repo/skills/frontend-design/SKILL.md +56 -0
- package/extensions/enact-repo/skills/grill-me/SKILL.md +20 -0
- package/extensions/enact-repo/skills/grill-with-docs/SKILL.md +20 -0
- package/extensions/enact-repo/skills/handoff/SKILL.md +28 -0
- package/extensions/enact-repo/skills/http-contract-migration/SKILL.md +74 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/compatibility-and-gates.md +26 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/hexagonal-boundary.md +16 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/publication-and-adoption.md +31 -0
- package/extensions/enact-repo/skills/http-contract-migration/references/wire-fidelity-and-dto.md +31 -0
- package/extensions/enact-repo/skills/implement/SKILL.md +28 -0
- package/extensions/enact-repo/skills/improve-codebase-architecture/SKILL.md +80 -0
- package/extensions/enact-repo/skills/improve-codebase-architecture/references/HTML-REPORT.md +123 -0
- package/extensions/enact-repo/skills/interaction-design/SKILL.md +30 -0
- package/extensions/enact-repo/skills/interaction-design/references/Workflow.md +146 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-gsap.md +220 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries-native.md +110 -0
- package/extensions/enact-repo/skills/interaction-design/references/animation-libraries.md +178 -0
- package/extensions/enact-repo/skills/interaction-design/references/interaction-patterns.md +166 -0
- package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns-advanced.md +285 -0
- package/extensions/enact-repo/skills/interaction-design/references/microinteraction-patterns.md +254 -0
- package/extensions/enact-repo/skills/interaction-design/references/scroll-animations-reveals.md +213 -0
- package/extensions/enact-repo/skills/interaction-design/references/scroll-animations.md +209 -0
- package/extensions/enact-repo/skills/lean-ctx/SKILL.md +81 -0
- package/extensions/enact-repo/skills/orca-cli/SKILL.md +88 -0
- package/extensions/enact-repo/skills/orchestration/SKILL.md +80 -0
- package/extensions/enact-repo/skills/prototype/SKILL.md +37 -0
- package/extensions/enact-repo/skills/prototype/references/LOGIC.md +79 -0
- package/extensions/enact-repo/skills/prototype/references/UI.md +112 -0
- package/extensions/enact-repo/skills/refactor-safely/SKILL.md +44 -0
- package/extensions/enact-repo/skills/remove-deadcode/SKILL.md +54 -0
- package/extensions/enact-repo/skills/research/SKILL.md +27 -0
- package/extensions/enact-repo/skills/resolving-merge-conflicts/SKILL.md +28 -0
- package/extensions/enact-repo/skills/review-changes/SKILL.md +45 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/SKILL.md +88 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/accent-color.mdx +149 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/adding-custom-styles.mdx +635 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-content.mdx +300 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-items.mdx +241 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/align-self.mdx +294 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/animation.mdx +286 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/appearance.mdx +180 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/aspect-ratio.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-blur.mdx +109 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-brightness.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-contrast.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-grayscale.mdx +99 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-hue-rotate.mdx +173 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-invert.mdx +99 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-opacity.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-saturate.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter-sepia.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backdrop-filter.mdx +113 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/backface-visibility.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-attachment.mdx +126 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-blend-mode.mdx +79 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-clip.mdx +85 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-color.mdx +176 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-image.mdx +349 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-origin.mdx +64 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-position.mdx +171 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-repeat.mdx +127 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/background-size.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/block-size.mdx +190 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-collapse.mdx +181 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-color.mdx +316 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-radius.mdx +347 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-spacing.mdx +117 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-style.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/border-width.mdx +344 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-decoration-break.mdx +71 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-shadow.mdx +497 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/box-sizing.mdx +175 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-after.mdx +38 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-before.mdx +38 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/break-inside.mdx +34 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caption-side.mdx +190 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/caret-color.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/clear.mdx +224 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color-scheme.mdx +81 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/color.mdx +125 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/colors.mdx +927 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/columns.mdx +310 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/compatibility.mdx +193 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/content.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/cursor.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/dark-mode.mdx +191 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/detecting-classes-in-source-files.mdx +315 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/display.mdx +523 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/editor-setup.mdx +90 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/field-sizing.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/fill.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-blur.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-brightness.mdx +102 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-contrast.mdx +102 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-drop-shadow.mdx +230 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-grayscale.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-hue-rotate.mdx +171 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-invert.mdx +93 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-saturate.mdx +109 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter-sepia.mdx +92 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/filter.mdx +113 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-basis.mdx +144 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-direction.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-grow.mdx +129 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-shrink.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex-wrap.mdx +118 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/flex.mdx +164 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/float.mdx +197 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-family.mdx +119 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-feature-settings.mdx +52 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-size.mdx +184 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-smoothing.mdx +67 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-stretch.mdx +138 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-style.mdx +62 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-variant-numeric.mdx +228 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/font-weight.mdx +105 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/forced-color-adjust.mdx +152 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/functions-and-directives.mdx +322 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/gap.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-columns.mdx +43 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-flow.mdx +58 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-auto-rows.mdx +43 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-column.mdx +124 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-row.mdx +115 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-columns.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/grid-template-rows.mdx +108 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/height.mdx +260 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hover-focus-and-other-states.mdx +4935 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/hyphens.mdx +112 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/inline-size.mdx +191 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/isolation.mdx +30 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-content.mdx +348 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-items.mdx +286 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/justify-self.mdx +282 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/letter-spacing.mdx +100 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-clamp.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/line-height.mdx +147 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-image.mdx +80 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-position.mdx +67 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/list-style-type.mdx +86 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/margin.mdx +397 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-clip.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-composite.mdx +70 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-image.mdx +933 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-mode.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-origin.mdx +66 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-position.mdx +117 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-repeat.mdx +169 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-size.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mask-type.mdx +98 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-block-size.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-height.mdx +164 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-inline-size.mdx +185 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/max-width.mdx +214 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-block-size.mdx +146 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-height.mdx +150 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-inline-size.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/min-width.mdx +153 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/mix-blend-mode.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-fit.mdx +147 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/object-position.mdx +182 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/opacity.mdx +84 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/order.mdx +94 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-color.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-offset.mdx +72 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-style.mdx +134 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/outline-width.mdx +91 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow-wrap.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overflow.mdx +665 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/overscroll-behavior.mdx +151 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/padding.mdx +232 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective-origin.mdx +127 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/perspective.mdx +137 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-content.mdx +257 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-items.mdx +269 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/place-self.mdx +257 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/pointer-events.mdx +101 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/position.mdx +399 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/preflight.mdx +291 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/resize.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/responsive-design.mdx +666 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/rotate.mdx +291 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scale.mdx +360 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-behavior.mdx +39 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-margin.mdx +268 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-padding.mdx +255 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-align.mdx +281 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-stop.mdx +198 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/scroll-snap-type.mdx +284 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/skew.mdx +352 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke-width.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/stroke.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/styling-with-utility-classes.mdx +1020 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/table-layout.mdx +212 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-align.mdx +162 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-color.mdx +155 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-line.mdx +143 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-style.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-decoration-thickness.mdx +75 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-indent.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-overflow.mdx +103 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-shadow.mdx +177 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-transform.mdx +106 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-underline-offset.mdx +74 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/text-wrap.mdx +144 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/theme.mdx +1142 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/top-right-bottom-left.mdx +296 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/touch-action.mdx +95 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-origin.mdx +130 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform-style.mdx +110 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transform.mdx +51 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-behavior.mdx +76 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-delay.mdx +76 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-duration.mdx +82 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-property.mdx +137 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/transition-timing-function.mdx +89 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/translate.mdx +487 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/upgrade-guide.mdx +910 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/user-select.mdx +114 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/vertical-align.mdx +194 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/visibility.mdx +287 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/white-space.mdx +211 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/width.mdx +264 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/will-change.mdx +47 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/word-break.mdx +94 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs/z-index.mdx +104 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-catalog.md +251 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-index.tsx +237 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/docs-source.txt +6 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/references/gotchas.md +18 -0
- package/extensions/enact-repo/skills/tailwind-4-docs/scripts/sync_tailwind_docs.py +183 -0
- package/extensions/enact-repo/skills/tdd/SKILL.md +49 -0
- package/extensions/enact-repo/skills/tdd/references/mocking.md +59 -0
- package/extensions/enact-repo/skills/tdd/references/tests.md +77 -0
- package/extensions/enact-repo/skills/teach/SKILL.md +88 -0
- package/extensions/enact-repo/skills/teach/references/GLOSSARY-FORMAT.md +35 -0
- package/extensions/enact-repo/skills/teach/references/LEARNING-RECORD-FORMAT.md +46 -0
- package/extensions/enact-repo/skills/teach/references/MISSION-FORMAT.md +31 -0
- package/extensions/enact-repo/skills/teach/references/PHILOSOPHY.md +65 -0
- package/extensions/enact-repo/skills/teach/references/RESOURCES-FORMAT.md +32 -0
- package/extensions/enact-repo/skills/testing/SKILL.md +54 -0
- package/extensions/enact-repo/skills/to-spec/SKILL.md +85 -0
- package/extensions/enact-repo/skills/to-tickets/SKILL.md +75 -0
- package/extensions/enact-repo/skills/to-tickets/references/TICKET-TEMPLATES.md +39 -0
- package/extensions/enact-repo/skills/triage/SKILL.md +99 -0
- package/extensions/enact-repo/skills/triage/references/AGENT-BRIEF.md +207 -0
- package/extensions/enact-repo/skills/triage/references/NEEDS-INFO-TEMPLATE.md +17 -0
- package/extensions/enact-repo/skills/triage/references/OUT-OF-SCOPE.md +105 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/SKILL.md +32 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/references/Workflow.md +207 -0
- package/extensions/enact-repo/skills/ui-ux-pro-max/references/workflow-reference.md +175 -0
- package/extensions/enact-repo/skills/wayfinder/SKILL.md +100 -0
- package/extensions/enact-repo/skills/wayfinder/references/TEMPLATES.md +35 -0
- package/extensions/enact-repo/skills/wayfinder/references/TICKET-TYPES.md +8 -0
- package/extensions/enact-repo/skills/writing-great-skills/SKILL.md +93 -0
- package/extensions/enact-repo/skills/writing-great-skills/references/GLOSSARY.md +201 -0
- package/package.json +18 -14
- package/scripts/enact-extensions.mjs +255 -873
- package/scripts/lib/allowed-plugins.mjs +52 -0
- package/scripts/lib/run-repo-doctor.mjs +571 -0
- package/scripts/lib/run-repo-install.mjs +1579 -0
- package/scripts/lib/run-sync.mjs +1 -1
- package/scripts/lib/run-validate.mjs +23 -37
- package/scripts/lib/skill-validator.mjs +872 -0
- package/spec/enact.json +21 -3
- package/spec/enact.md +13 -12
- package/spec/kimi.json +100 -0
- package/spec/opencode.json +64 -0
- package/dist/install.d.ts +0 -235
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js +0 -697
- package/dist/install.js.map +0 -1
- package/dist/internal/claude.d.ts +0 -65
- package/dist/internal/claude.d.ts.map +0 -1
- package/dist/internal/claude.js +0 -200
- package/dist/internal/claude.js.map +0 -1
- package/dist/internal/codex.d.ts +0 -43
- package/dist/internal/codex.d.ts.map +0 -1
- package/dist/internal/codex.js +0 -211
- package/dist/internal/codex.js.map +0 -1
- package/dist/internal/cursor.d.ts +0 -2
- package/dist/internal/cursor.d.ts.map +0 -1
- package/dist/internal/cursor.js +0 -6
- package/dist/internal/cursor.js.map +0 -1
- package/dist/principles.d.ts +0 -28
- package/dist/principles.d.ts.map +0 -1
- package/dist/principles.js +0 -159
- package/dist/principles.js.map +0 -1
- package/dist/provision.d.ts +0 -30
- package/dist/provision.d.ts.map +0 -1
- package/dist/provision.js +0 -202
- package/dist/provision.js.map +0 -1
- package/extensions/dev-state/.agents/plugin.json +0 -36
- package/extensions/dev-state/skills/dev-state-plan-graduation/SKILL.md +0 -194
- package/extensions/dev-state/skills/dev-state-plan-graduation/agents/openai.yaml +0 -4
- package/extensions/dev-state/skills/dev-state-plan-graduation/references/reference.md +0 -130
- package/extensions/enact-context/.agents/plugin.json +0 -41
- package/extensions/enact-context/.mcp.json +0 -8
- package/extensions/enact-context/README.md +0 -25
- package/extensions/enact-context/assets/icon.png +0 -0
- package/extensions/enact-context/assets/logo.png +0 -0
- package/extensions/enact-context/hooks/hooks.json +0 -115
- package/extensions/enact-context/skills/enact-context/SKILL.md +0 -151
- package/extensions/enact-context/skills/enact-context/scripts/install.sh +0 -69
- package/extensions/enact-core/.agents/plugin.json +0 -40
- package/extensions/enact-core/OPERATING-PRINCIPLES.md +0 -7
- package/extensions/enact-core/hooks/hooks.json +0 -26
- package/extensions/enact-evolve/.agents/plugin.json +0 -47
- package/extensions/enact-evolve/agents/evolve-session-analyst.toml +0 -37
- package/extensions/enact-evolve/assets/icon.png +0 -0
- package/extensions/enact-evolve/assets/logo.png +0 -0
- package/extensions/enact-evolve/skills/mined-investigate-loop/SKILL.md +0 -68
- package/extensions/enact-evolve/skills/session-analysis/SKILL.md +0 -98
- package/extensions/enact-evolve/skills/session-analysis/scripts/run-evolve-analysis.sh +0 -343
- package/extensions/enact-factory/.agents/plugin.json +0 -49
- package/extensions/enact-factory/.mcp.json +0 -8
- package/extensions/enact-factory/agents/architect.toml +0 -34
- package/extensions/enact-factory/agents/code-reviewer.toml +0 -33
- package/extensions/enact-factory/agents/critic.toml +0 -39
- package/extensions/enact-factory/agents/executor.toml +0 -26
- package/extensions/enact-factory/agents/explore.toml +0 -25
- package/extensions/enact-factory/agents/planner.toml +0 -26
- package/extensions/enact-factory/agents/verifier.toml +0 -33
- package/extensions/enact-factory/assets/icon.png +0 -0
- package/extensions/enact-factory/assets/logo.png +0 -0
- package/extensions/enact-factory/skills/advisor/SKILL.md +0 -82
- package/extensions/enact-factory/skills/ai-slop-cleaner/SKILL.md +0 -57
- package/extensions/enact-factory/skills/autonomous-runner/SKILL.md +0 -353
- package/extensions/enact-factory/skills/azdo-ci-strategy/SKILL.md +0 -309
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/build-failures.md +0 -60
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/cli-reference.md +0 -87
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/policies-and-pipelines.md +0 -132
- package/extensions/enact-factory/skills/azdo-ci-strategy/references/troubleshooting.md +0 -53
- package/extensions/enact-factory/skills/cmux-leader/SKILL.md +0 -74
- package/extensions/enact-factory/skills/cmux-send/SKILL.md +0 -50
- package/extensions/enact-factory/skills/committee/SKILL.md +0 -80
- package/extensions/enact-factory/skills/deep-interview/SKILL.md +0 -68
- package/extensions/enact-factory/skills/drive-loop/SKILL.md +0 -394
- package/extensions/enact-factory/skills/drive-loop/references/contract-schema.md +0 -127
- package/extensions/enact-factory/skills/handoff/SKILL.md +0 -75
- package/extensions/enact-factory/skills/hyperplan/SKILL.md +0 -59
- package/extensions/enact-factory/skills/looplan/SKILL.md +0 -120
- package/extensions/enact-factory/skills/plan/SKILL.md +0 -103
- package/extensions/enact-factory/skills/remove-deadcode/SKILL.md +0 -46
- package/extensions/enact-factory/skills/research/SKILL.md +0 -83
- package/extensions/enact-factory/skills/review/SKILL.md +0 -67
- package/extensions/enact-factory/skills/security-research/SKILL.md +0 -57
- package/extensions/enact-factory/skills/tdd/SKILL.md +0 -62
- package/extensions/enact-factory/skills/testing-strategy/SKILL.md +0 -172
- package/extensions/enact-factory/skills/trace/SKILL.md +0 -42
- package/extensions/enact-factory/skills/ultraqa/SKILL.md +0 -85
- package/extensions/enact-factory/skills/work-with-workitem/SKILL.md +0 -56
- package/extensions/enact-factory/skills/workitem-triage/SKILL.md +0 -42
- package/extensions/enact-wiki/.agents/plugin.json +0 -43
- package/extensions/enact-wiki/.mcp.json +0 -15
- package/extensions/enact-wiki/README.md +0 -44
- package/extensions/enact-wiki/assets/icon.png +0 -0
- package/extensions/enact-wiki/assets/logo.png +0 -0
- package/extensions/enact-wiki/skills/document-parser/SKILL.md +0 -17
- package/extensions/enact-wiki/skills/document-parser/scripts/parse.sh +0 -60
- package/extensions/enact-wiki/skills/document-parser/skill.json +0 -9
- package/extensions/enact-wiki/skills/enact-wiki/SKILL.md +0 -30
- package/extensions/enact-wiki/skills/enact-wiki/references/ingest.md +0 -62
- package/extensions/enact-wiki/skills/enact-wiki/references/manage.md +0 -34
- package/extensions/enact-wiki/skills/enact-wiki/references/query.md +0 -59
- package/extensions/enact-wiki/skills/search-lab/SKILL.md +0 -57
- package/extensions/enact-wiki/skills/search-lab/scripts/analyze.ts +0 -23
- package/extensions/enact-wiki/skills/wiki/SKILL.md +0 -42
- package/extensions/net-revenue-management/.agents/plugin.json +0 -40
- package/extensions/net-revenue-management/.mcp.json +0 -9
- package/extensions/net-revenue-management/skills/net-revenue-risks/SKILL.md +0 -30
- package/extensions/net-revenue-management/skills/net-revenue-scenario/SKILL.md +0 -31
- package/extensions/plugin-dev/.agents/plugin.json +0 -41
- package/extensions/plugin-dev/agents/agent-creator.md +0 -199
- package/extensions/plugin-dev/agents/plugin-validator.md +0 -91
- package/extensions/plugin-dev/agents/skill-reviewer.md +0 -212
- package/extensions/plugin-dev/skills/agent-development/SKILL.md +0 -641
- package/extensions/plugin-dev/skills/agent-development/examples/agent-creation-prompt.md +0 -250
- package/extensions/plugin-dev/skills/agent-development/examples/complete-agent-examples.md +0 -461
- package/extensions/plugin-dev/skills/agent-development/references/advanced-agent-fields.md +0 -246
- package/extensions/plugin-dev/skills/agent-development/references/agent-creation-system-prompt.md +0 -216
- package/extensions/plugin-dev/skills/agent-development/references/permission-modes-rules.md +0 -226
- package/extensions/plugin-dev/skills/agent-development/references/system-prompt-design.md +0 -464
- package/extensions/plugin-dev/skills/agent-development/references/triggering-examples.md +0 -474
- package/extensions/plugin-dev/skills/agent-development/scripts/create-agent-skeleton.sh +0 -176
- package/extensions/plugin-dev/skills/agent-development/scripts/test-agent-trigger.sh +0 -227
- package/extensions/plugin-dev/skills/agent-development/scripts/validate-agent.sh +0 -227
- package/extensions/plugin-dev/skills/create-plugin/SKILL.md +0 -505
- package/extensions/plugin-dev/skills/hook-development/SKILL.md +0 -861
- package/extensions/plugin-dev/skills/hook-development/examples/load-context.sh +0 -55
- package/extensions/plugin-dev/skills/hook-development/examples/validate-bash.sh +0 -57
- package/extensions/plugin-dev/skills/hook-development/examples/validate-write.sh +0 -48
- package/extensions/plugin-dev/skills/hook-development/references/advanced.md +0 -871
- package/extensions/plugin-dev/skills/hook-development/references/hook-input-schemas.md +0 -145
- package/extensions/plugin-dev/skills/hook-development/references/migration.md +0 -392
- package/extensions/plugin-dev/skills/hook-development/references/patterns.md +0 -430
- package/extensions/plugin-dev/skills/hook-development/scripts/README.md +0 -181
- package/extensions/plugin-dev/skills/hook-development/scripts/hook-linter.sh +0 -153
- package/extensions/plugin-dev/skills/hook-development/scripts/test-hook.sh +0 -276
- package/extensions/plugin-dev/skills/hook-development/scripts/validate-hook-schema.sh +0 -159
- package/extensions/plugin-dev/skills/mcp-integration/SKILL.md +0 -775
- package/extensions/plugin-dev/skills/mcp-integration/examples/http-server.json +0 -20
- package/extensions/plugin-dev/skills/mcp-integration/examples/sse-server.json +0 -19
- package/extensions/plugin-dev/skills/mcp-integration/examples/stdio-server.json +0 -38
- package/extensions/plugin-dev/skills/mcp-integration/examples/ws-server.json +0 -26
- package/extensions/plugin-dev/skills/mcp-integration/references/authentication.md +0 -601
- package/extensions/plugin-dev/skills/mcp-integration/references/server-discovery.md +0 -190
- package/extensions/plugin-dev/skills/mcp-integration/references/server-types.md +0 -572
- package/extensions/plugin-dev/skills/mcp-integration/references/tool-usage.md +0 -623
- package/extensions/plugin-dev/skills/plugin-dev-guide/SKILL.md +0 -221
- package/extensions/plugin-dev/skills/plugin-structure/SKILL.md +0 -705
- package/extensions/plugin-dev/skills/plugin-structure/examples/advanced-plugin.md +0 -774
- package/extensions/plugin-dev/skills/plugin-structure/examples/minimal-plugin.md +0 -83
- package/extensions/plugin-dev/skills/plugin-structure/examples/standard-plugin.md +0 -611
- package/extensions/plugin-dev/skills/plugin-structure/references/advanced-topics.md +0 -289
- package/extensions/plugin-dev/skills/plugin-structure/references/component-patterns.md +0 -592
- package/extensions/plugin-dev/skills/plugin-structure/references/github-actions.md +0 -233
- package/extensions/plugin-dev/skills/plugin-structure/references/headless-ci-mode.md +0 -193
- package/extensions/plugin-dev/skills/plugin-structure/references/manifest-reference.md +0 -625
- package/extensions/plugin-dev/skills/plugin-structure/references/output-styles.md +0 -116
- package/extensions/plugin-dev/skills/skill-development/SKILL.md +0 -562
- package/extensions/plugin-dev/skills/skill-development/examples/complete-skill.md +0 -465
- package/extensions/plugin-dev/skills/skill-development/examples/frontmatter-templates.md +0 -167
- package/extensions/plugin-dev/skills/skill-development/examples/minimal-skill.md +0 -111
- package/extensions/plugin-dev/skills/skill-development/references/advanced-frontmatter.md +0 -225
- package/extensions/plugin-dev/skills/skill-development/references/commands-vs-skills.md +0 -39
- package/extensions/plugin-dev/skills/skill-development/references/skill-creation-workflow.md +0 -379
- package/extensions/plugin-dev/skills/skill-development/references/skill-creator-original.md +0 -210
- package/extensions/plugin-dev/skills/start/SKILL.md +0 -82
- package/scripts/check-hooks.mjs +0 -174
- package/scripts/check-principles.mjs +0 -116
- package/scripts/hooks/session-start-drift-check.mjs +0 -48
- package/scripts/install.sh +0 -70
- package/scripts/lib/auto-update.mjs +0 -75
- package/scripts/lib/bundle-hash.mjs +0 -137
- package/scripts/lib/hooks.mjs +0 -585
- package/scripts/lib/ledger.mjs +0 -163
- package/scripts/lib/migrate-artifacts.mjs +0 -144
- package/scripts/lib/outdated.mjs +0 -144
- package/scripts/lib/postinstall-offer.mjs +0 -83
- package/scripts/lib/principles.mjs +0 -109
- package/scripts/lib/provision-mcp.mjs +0 -16
- package/scripts/lib/resolve-plugin-root.mjs +0 -9
- package/scripts/lib/run-install.mjs +0 -500
- package/scripts/lib/run-prune.mjs +0 -94
- package/scripts/lib/run-uninstall.mjs +0 -244
- package/scripts/lib/run-update.mjs +0 -152
- package/scripts/lib/serve.mjs +0 -472
- package/scripts/lib/ups-router.mjs +0 -392
- package/scripts/postinstall.mjs +0 -101
- package/scripts/setup-enact-context.sh +0 -28
- package/scripts/version-bump.sh +0 -484
- package/web/assets/README.md +0 -111
- package/web/assets/logo-full.png +0 -0
- package/web/assets/logo-slim.png +0 -0
- package/web/assets/tokens/base.css +0 -45
- package/web/assets/tokens/colors.css +0 -248
- package/web/assets/tokens/effects.css +0 -24
- package/web/assets/tokens/fonts.css +0 -8
- package/web/assets/tokens/index.css +0 -18
- package/web/assets/tokens/spacing.css +0 -50
- package/web/index.html +0 -1188
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: review
|
|
3
|
-
description: "Findings-first pre-landing review against code, plan completion, verification evidence, and loop state."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Review
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>` (e.g. `enact-evolve-a38d1e`).
|
|
11
|
-
> 3. Factory artifacts go under `~/.enact/factory/projects/<key>/…`; loop runtime under `~/.enact/loop/projects/<key>/…`.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Use `$review` to answer one question: is this actually ready to land? Review is not a summary pass.
|
|
16
|
-
It is a bug, regression, coverage, and state-integrity pass.
|
|
17
|
-
|
|
18
|
-
## Execution Policy
|
|
19
|
-
|
|
20
|
-
- findings first, summary second
|
|
21
|
-
- prefer evidence over author claims
|
|
22
|
-
- check the code, the tests, the plan, and the loop artifacts
|
|
23
|
-
- if the current context authored the change, prefer a separate reviewer role for approval
|
|
24
|
-
|
|
25
|
-
## Active Artifact Resolution
|
|
26
|
-
|
|
27
|
-
Resolve the plan and verification map to review:
|
|
28
|
-
|
|
29
|
-
1. Prefer paths recorded in the active loop/run session when available.
|
|
30
|
-
2. Else under `~/.enact/factory/projects/<key>/plans/`, pick the lexicographically greatest `YYMMDDHH` among:
|
|
31
|
-
- plan files matching `*-{phase}.md` (exclude `-verification` and `-requirements`)
|
|
32
|
-
- verification files matching `*-{phase}-verification.md` with the **same** `YYMMDDHH` prefix as the plan when possible
|
|
33
|
-
3. Fall back to legacy unprefixed plan names only for reads during migration — never treat them as the write contract.
|
|
34
|
-
|
|
35
|
-
For loop closure, read the current summary via `enact-loop summary show` or `summary-current.json` under `~/.enact/loop/projects/<key>/state/`.
|
|
36
|
-
|
|
37
|
-
## Review Order
|
|
38
|
-
|
|
39
|
-
1. Read the changed code.
|
|
40
|
-
2. Read the active plan and verification map (resolved per rules above).
|
|
41
|
-
3. Check what was supposed to happen vs what actually landed.
|
|
42
|
-
4. Verify:
|
|
43
|
-
- tests and typechecks
|
|
44
|
-
- docs drift
|
|
45
|
-
- `~/.enact/factory/projects/<key>/` state drift
|
|
46
|
-
- judgment stages have valid independent grader verdicts
|
|
47
|
-
- closure summary exists and fingerprint is current when the loop is closure-ready
|
|
48
|
-
5. Produce a verdict:
|
|
49
|
-
- approved
|
|
50
|
-
- changes requested
|
|
51
|
-
- blocked
|
|
52
|
-
|
|
53
|
-
## Mandatory Checks
|
|
54
|
-
|
|
55
|
-
- missing or fake verification
|
|
56
|
-
- uncovered changed paths
|
|
57
|
-
- stale docs or setup instructions
|
|
58
|
-
- task marked done but still pending review evidence
|
|
59
|
-
- judgment stages with self-reported verdicts (flag as grader-independence-missing)
|
|
60
|
-
- closure-ready loop without a current timestamped summary artifact
|
|
61
|
-
|
|
62
|
-
## Output Standard
|
|
63
|
-
|
|
64
|
-
- findings ordered by severity
|
|
65
|
-
- file references and why they matter
|
|
66
|
-
- residual risk
|
|
67
|
-
- final verdict and next action
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: security-research
|
|
3
|
-
description: "Multi-agent security research with hunter/PoC split and optional critical bug auto-creation in Azure DevOps."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Security Research
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
|
|
11
|
-
> 3. Security findings go under `~/.enact/factory/projects/<key>/security/…`.
|
|
12
|
-
|
|
13
|
-
Use `$security-research` to run a focused vulnerability hunt, produce ranked findings, and optionally create Azure DevOps Bug work items for critical issues.
|
|
14
|
-
|
|
15
|
-
## Parameters
|
|
16
|
-
|
|
17
|
-
- `autoCreateBugs: boolean` (default `true`)
|
|
18
|
-
- when `false`, no `factory_workitem_sync_once` call is allowed regardless of severity
|
|
19
|
-
|
|
20
|
-
## Team Topology
|
|
21
|
-
|
|
22
|
-
- 3 hunter agents:
|
|
23
|
-
- hunter 1: CWE classification
|
|
24
|
-
- hunter 2: CVSS v4 scoring
|
|
25
|
-
- hunter 3: OWASP category mapping
|
|
26
|
-
- 2 PoC engineer agents:
|
|
27
|
-
- PoC 1 and PoC 2: exploitability proof and reproduction quality
|
|
28
|
-
|
|
29
|
-
## Required Workflow
|
|
30
|
-
|
|
31
|
-
1. Launch hunters to identify and classify potential vulnerabilities.
|
|
32
|
-
2. Launch PoC engineers on top-ranked findings to validate exploitability.
|
|
33
|
-
3. Merge outputs into a single findings report.
|
|
34
|
-
4. Write report to `~/.enact/factory/projects/<key>/security/<sessionId>/<YYMMDDHH>-findings.md` (e.g. `security/abc123/26062101-findings.md`). Resolve `<key>` from `~/.enact/workspaces.json`; get the timestamp prefix via `date +%y%m%d%H`.
|
|
35
|
-
5. Rank findings in the report by CVSS v4 severity.
|
|
36
|
-
6. For each finding with CVSS v4 `>= 9.0`, if `autoCreateBugs=true`, call `factory_workitem_sync_once` to create a `Bug` work item.
|
|
37
|
-
7. If `autoCreateBugs=false`, skip all bug auto-creation calls.
|
|
38
|
-
|
|
39
|
-
## Azure DevOps-Only Contract
|
|
40
|
-
|
|
41
|
-
- use factory MCP work-item surfaces for bug creation
|
|
42
|
-
- no GitHub Security Advisories, GitHub issue creation, or GitHub-specific security automation assumptions
|
|
43
|
-
|
|
44
|
-
## Behavioral Constraints
|
|
45
|
-
|
|
46
|
-
- CVSS scoring must be v4, not v3 fallback
|
|
47
|
-
- critical auto-bug creation threshold is fixed at `>= 9.0`
|
|
48
|
-
- findings must include at least one of: CWE, CVSS v4 vector/score, OWASP mapping
|
|
49
|
-
|
|
50
|
-
## Verification Expectations
|
|
51
|
-
|
|
52
|
-
- integration test: findings report includes at least one CWE classification entry
|
|
53
|
-
- integration test: with `autoCreateBugs=false`, verify no `factory_workitem_sync_once` call is made
|
|
54
|
-
|
|
55
|
-
## Activation
|
|
56
|
-
|
|
57
|
-
Invoke with `$security-research` or `$enact-factory:security-research`. This skill uses enact-factory MCP tools for work-item creation. No durable workflow state is started automatically — the skill produces findings within a single session.
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tdd
|
|
3
|
-
description: "Red-green-refactor mode for behavior with clear inputs, outputs, and regression value."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# TDD
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
|
|
11
|
-
> 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Use `$tdd` when behavior can be specified before implementation. TDD is for design pressure and
|
|
16
|
-
regression safety, not for ritual.
|
|
17
|
-
|
|
18
|
-
## Good TDD Candidates
|
|
19
|
-
|
|
20
|
-
- business rules
|
|
21
|
-
- API contracts
|
|
22
|
-
- parsing, formatting, or validation
|
|
23
|
-
- state transitions
|
|
24
|
-
- algorithms and utility behavior
|
|
25
|
-
|
|
26
|
-
## Skip TDD For
|
|
27
|
-
|
|
28
|
-
- pure layout and styling work
|
|
29
|
-
- config-only changes
|
|
30
|
-
- trivial glue code
|
|
31
|
-
- exploratory prototypes where behavior is not yet known
|
|
32
|
-
|
|
33
|
-
## Iron Law
|
|
34
|
-
|
|
35
|
-
No production code without a failing test first.
|
|
36
|
-
|
|
37
|
-
## Cycle
|
|
38
|
-
|
|
39
|
-
1. Red
|
|
40
|
-
- write the smallest failing test for the next behavior
|
|
41
|
-
- run it and prove it fails for the right reason
|
|
42
|
-
2. Green
|
|
43
|
-
- write the minimum code to make it pass
|
|
44
|
-
- rerun the test and the relevant suite
|
|
45
|
-
3. Refactor
|
|
46
|
-
- clean up only after green
|
|
47
|
-
- keep the suite green after every change
|
|
48
|
-
|
|
49
|
-
## Rules
|
|
50
|
-
|
|
51
|
-
- one behavior per cycle
|
|
52
|
-
- do not batch multiple features into one red-green pass
|
|
53
|
-
- prefer regression tests for changed behavior
|
|
54
|
-
- record the verify command in the current timestamped plan artifact (for example
|
|
55
|
-
`~/.enact/factory/projects/<key>/plans/<YYMMDDHH>-<phase>.md`) or in linked task notes
|
|
56
|
-
|
|
57
|
-
## Output Standard
|
|
58
|
-
|
|
59
|
-
- what behavior the test locked in
|
|
60
|
-
- the failing signal
|
|
61
|
-
- the minimal implementation
|
|
62
|
-
- the final verification command
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: testing-strategy
|
|
3
|
-
description: >
|
|
4
|
-
Defines when and how to write tests in the enact-gateway codebase. Trigger
|
|
5
|
-
keywords: testing, write a test, TDD, bug fix, regression test, live test,
|
|
6
|
-
e2e, integration test, test harness, evidence, red-green, scenario, validate.
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# testing-strategy
|
|
10
|
-
|
|
11
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
12
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
13
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
|
|
14
|
-
> 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`. Local `_evidence/` remains a repo-local proof surface for Mode 1 only.
|
|
15
|
-
|
|
16
|
-
## Purpose
|
|
17
|
-
|
|
18
|
-
Enforce a consistent, lightweight approach across the three testing modes used
|
|
19
|
-
in `enact-gateway`. The mode is determined by the behavior under test — not by
|
|
20
|
-
preference. Pick once, follow the contract for that mode.
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Decision Rule
|
|
25
|
-
|
|
26
|
-
| Situation | Mode |
|
|
27
|
-
|-----------|------|
|
|
28
|
-
| Pure function or isolated logic | Mode 0 — plain unit test |
|
|
29
|
-
| Bug fix (any scope) | Mode 1 — TDD + `_evidence` |
|
|
30
|
-
| Bug fix where behavior is runtime / live / cross-service (gateway → observe / iggy / questdb) | Mode 1 RED→GREEN + the regression test is a Mode-2 harness scenario |
|
|
31
|
-
| New live-provider, cross-service, or e2e behavior | Mode 2 — harness scenario under `tests/integration/` or `tests/e2e/` |
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Mode 0 — Plain Unit Tests
|
|
36
|
-
|
|
37
|
-
Use for: pure functions, simple transformations, isolated module logic.
|
|
38
|
-
|
|
39
|
-
- File location: co-located with the source file, e.g. `src/foo/bar.spec.ts`.
|
|
40
|
-
- Stack: Jest + ts-jest (resolved from `packages/backend`).
|
|
41
|
-
- No harness ceremony. No fixtures directory. No `output/` directory.
|
|
42
|
-
- Run: `npm run test --workspace=packages/backend` (or `npx jest <pattern>`).
|
|
43
|
-
|
|
44
|
-
Do NOT force the harness onto plain unit tests. Co-located `.spec.ts` is
|
|
45
|
-
sufficient and preferred.
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Mode 1 — Bug Fix: TDD with Captured `_evidence`
|
|
50
|
-
|
|
51
|
-
### Contract
|
|
52
|
-
|
|
53
|
-
1. **RED** — write a failing test that reproduces the bug before touching
|
|
54
|
-
implementation code. Capture the failure output:
|
|
55
|
-
```
|
|
56
|
-
_evidence/<scenario>/red.txt
|
|
57
|
-
```
|
|
58
|
-
2. **Fix** — implement the minimal change that makes the test pass.
|
|
59
|
-
3. **GREEN** — capture the passing output:
|
|
60
|
-
```
|
|
61
|
-
_evidence/<scenario>/green.txt
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
`_evidence/` is **gitignored** — it is local proof, never committed source.
|
|
65
|
-
|
|
66
|
-
### Regression test placement
|
|
67
|
-
|
|
68
|
-
- If the bug is in pure/isolated logic, a co-located `.spec.ts` is sufficient.
|
|
69
|
-
- If the bug involves runtime behavior — real provider calls, streaming,
|
|
70
|
-
cross-service interaction (gateway → observe / iggy / questdb) — the
|
|
71
|
-
regression test **must** be a Mode-2 harness scenario, not an ad-hoc script.
|
|
72
|
-
|
|
73
|
-
### AzDO closure gate
|
|
74
|
-
|
|
75
|
-
A bug work item in Azure DevOps (area `Enact\<leaf>`) must not be closed until:
|
|
76
|
-
- A regression test exists (either `.spec.ts` or harness scenario).
|
|
77
|
-
- `_evidence/<scenario>/red.txt` and `green.txt` are present locally.
|
|
78
|
-
- The AzDO "Tests passing" Build boolean is green.
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## Mode 2 — Live / Integration Test Harness
|
|
83
|
-
|
|
84
|
-
### Directory layout
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
tests/
|
|
88
|
-
integration/<scenario>/ # harness scenarios (non-billable, require a live gateway)
|
|
89
|
-
fixtures/
|
|
90
|
-
input.json # request body POSTed to the gateway
|
|
91
|
-
run.py (or run.ts) # sends the request, writes output/<timestamp>.json
|
|
92
|
-
validate.py (or validate.ts) # reads latest output, prints PASS:/FAIL: per check
|
|
93
|
-
output/ # gitignored; populated by run.py
|
|
94
|
-
e2e/ # live, billable suites — OPT-IN only
|
|
95
|
-
<suite>.e2e-spec.ts # Jest spec; skipped unless ENACT_LIVE_PROVIDER_TESTS=1
|
|
96
|
-
<scenario>/ # standalone scenario dirs (same run.py/validate.py shape)
|
|
97
|
-
lib/ # shared harness helpers (import from here, do not duplicate)
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
> **Known issue:** `cli.py` currently globs `domains/*/*` but scenarios are
|
|
101
|
-
> now laid out flat at `tests/integration/<scenario>/`. This mismatch is being
|
|
102
|
-
> fixed; do not work around it by restructuring existing scenarios.
|
|
103
|
-
|
|
104
|
-
### Scenario contract
|
|
105
|
-
|
|
106
|
-
**`fixtures/input.json`** — the full JSON request body. Secrets are never
|
|
107
|
-
stored here; only structure.
|
|
108
|
-
|
|
109
|
-
**`run.py`** — self-contained runner:
|
|
110
|
-
- Reads `ENACT_GATEWAY_BASE_URL` (default `http://127.0.0.1:43201`).
|
|
111
|
-
- Reads `ENACT_GATEWAY_API_KEY` or `GATEWAY_API_KEY` for the bearer token.
|
|
112
|
-
If absent, writes `status: "skip"` and exits 0 — no tokens spent.
|
|
113
|
-
- Reads `ENACT_GATEWAY_TIMEOUT_SECS` (default `30`).
|
|
114
|
-
- POSTs `fixtures/input.json` to `<base_url>/v1/responses`.
|
|
115
|
-
- Writes `output/<YYYYMMDDTHHmmss>.json` with one of:
|
|
116
|
-
- `{"status": "ok", "http_status": 200, "response_body": {...}, ...}`
|
|
117
|
-
- `{"status": "http_error", "http_status": <N>, "reason": "...", ...}`
|
|
118
|
-
- `{"status": "skip", "reason": "...", ...}`
|
|
119
|
-
- Prints the output path and exits 0 (even for `http_error` — validate decides).
|
|
120
|
-
|
|
121
|
-
**`validate.py`** — assertion layer:
|
|
122
|
-
- Reads the latest file in `output/` (sort by name, take last).
|
|
123
|
-
- If `status == "skip"`: prints `SKIP: <reason>` and exits 0.
|
|
124
|
-
- If `status != "ok"`: prints `FAIL: ...` and exits 1.
|
|
125
|
-
- For each behavioral check: prints `PASS: <label>` or `FAIL: <label>`.
|
|
126
|
-
- Exits non-zero if any check failed.
|
|
127
|
-
|
|
128
|
-
Secrets are **only ever passed by env-var name**, never committed to fixtures or
|
|
129
|
-
source.
|
|
130
|
-
|
|
131
|
-
### Task runner
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
# from tests/integration/
|
|
135
|
-
uv run tasks list # list all discovered scenarios
|
|
136
|
-
uv run tasks run <scenario> # run + validate
|
|
137
|
-
uv run tasks run <scenario> --run-only # skip validate
|
|
138
|
-
uv run tasks run <scenario> --validate-only # skip run (re-validate last output)
|
|
139
|
-
uv run tasks run --all # run every scenario
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
### Live / billable suites (`tests/e2e/`)
|
|
143
|
-
|
|
144
|
-
Live tests make **real, billable upstream calls**. They are OPT-IN and skipped
|
|
145
|
-
in all normal / CI runs unless the flag is set explicitly:
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
# from packages/backend
|
|
149
|
-
ENACT_LIVE_PROVIDER_TESTS=1 \
|
|
150
|
-
LIVE_GATEWAY_URL=http://127.0.0.1:43201 \
|
|
151
|
-
LIVE_KEY_ENACT_CODING=engw_... \
|
|
152
|
-
LIVE_KEY_OPENCODE_GO=engw_... \
|
|
153
|
-
LIVE_KEY_NANOGPT=engw_... \
|
|
154
|
-
LIVE_KEY_OPENROUTER=engw_... \
|
|
155
|
-
npx jest --config ../../tests/e2e/jest-e2e.json --runInBand
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
Each `describe` block gates on its own key env-var, so individual profiles can
|
|
159
|
-
be run in isolation by omitting the others.
|
|
160
|
-
|
|
161
|
-
---
|
|
162
|
-
|
|
163
|
-
## Output / Definition of Done
|
|
164
|
-
|
|
165
|
-
A test is complete when:
|
|
166
|
-
|
|
167
|
-
| Mode | Done when |
|
|
168
|
-
|------|-----------|
|
|
169
|
-
| Mode 0 | `npx jest <file>` exits 0; coverage covers the changed logic |
|
|
170
|
-
| Mode 1 | `_evidence/<scenario>/red.txt` captured before fix; `green.txt` captured after; regression test in place |
|
|
171
|
-
| Mode 2 — harness | `uv run tasks run <scenario>` exits 0 with all `PASS:` lines printed; or `SKIP:` when key absent (acceptable in CI) |
|
|
172
|
-
| Mode 2 — live suite | Suite exits 0 under `ENACT_LIVE_PROVIDER_TESTS=1` with a live gateway; CI skips without the flag |
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: trace
|
|
3
|
-
description: "Execution-path mapping for entry points, data flow, side effects, and blast radius before risky work."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Trace
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
|
|
11
|
-
> 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Use `$trace` before a risky edit or review when you need to know what code path actually runs, what
|
|
16
|
-
it touches, and what could break downstream.
|
|
17
|
-
|
|
18
|
-
## Workflow
|
|
19
|
-
|
|
20
|
-
1. Find the entry points.
|
|
21
|
-
2. Follow data flow through the changed or targeted path.
|
|
22
|
-
3. Map side effects:
|
|
23
|
-
- storage writes
|
|
24
|
-
- network calls
|
|
25
|
-
- UI state changes
|
|
26
|
-
- background work
|
|
27
|
-
4. Identify risky branches and missing guards.
|
|
28
|
-
5. Name the concrete files the next pass should touch.
|
|
29
|
-
|
|
30
|
-
## Suggested Tools
|
|
31
|
-
|
|
32
|
-
- `ctx_search` for symbol and path discovery
|
|
33
|
-
- `ctx_read` for call-path confirmation
|
|
34
|
-
- `ctx_semantic_search` or `ctx_graph` when lexical search is not enough
|
|
35
|
-
|
|
36
|
-
## Output Standard
|
|
37
|
-
|
|
38
|
-
- entry points
|
|
39
|
-
- downstream side effects
|
|
40
|
-
- risky branches
|
|
41
|
-
- likely blast radius
|
|
42
|
-
- recommended edit boundary
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ultraqa
|
|
3
|
-
description: "QA cycling workflow with hard-stop verification gates: tests, lint, smoke execution, and loop-contract persistence."
|
|
4
|
-
lane: true
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# UltraQA
|
|
8
|
-
|
|
9
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
10
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
11
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>` (e.g. `enact-evolve-a38d1e`).
|
|
12
|
-
> 3. Factory artifacts go under `~/.enact/factory/projects/<key>/…`; loop runtime state lives under `~/.enact/loop/projects/<key>/…`.
|
|
13
|
-
|
|
14
|
-
## Purpose
|
|
15
|
-
Combines `$loop` (durable contract-runner with closure gates) with an explicit set of QA gates. Each gate must pass before the loop advances. The cycle is: implement a fix, run all gates, advance only when green, repeat until every gate is clean in a single run.
|
|
16
|
-
|
|
17
|
-
## Use When
|
|
18
|
-
- Verification has failed and a structured fix-verify cycle is needed
|
|
19
|
-
- A feature must be proven working end-to-end before merging
|
|
20
|
-
- A hard record of each verification pass and failure is required
|
|
21
|
-
|
|
22
|
-
## Execution Policy
|
|
23
|
-
|
|
24
|
-
- start from the repo and `~/.enact/factory/projects/<key>/` truth, not chat memory
|
|
25
|
-
- drive the QA loop through loop MCP tools; CLI commands are the fallback
|
|
26
|
-
- keep loop state current as you go
|
|
27
|
-
- do not stop until all gates pass in a single clean run
|
|
28
|
-
|
|
29
|
-
## Workflow
|
|
30
|
-
1. Start a loop contract scoped to the QA goal:
|
|
31
|
-
- MCP: `loop_start` with `goal` and QA gate stages as the contract
|
|
32
|
-
- CLI fallback: use the `enact-loop` runtime only for `status` / `summary write`; contract start remains MCP-first
|
|
33
|
-
2. Check current loop status before each iteration:
|
|
34
|
-
- MCP: `loop_status`
|
|
35
|
-
- CLI fallback: `enact-loop status --json`
|
|
36
|
-
3. Run each QA gate in sequence. All must pass before advancing:
|
|
37
|
-
- Unit and integration tests (run the project's test command)
|
|
38
|
-
- Lint and type checks (run the project's lint command)
|
|
39
|
-
- Doctor / readiness check (run the project's doctor command if present)
|
|
40
|
-
- Real-execution smoke test (invoke the primary feature with real inputs, not mocks)
|
|
41
|
-
4. Record each mechanical gate via the engine:
|
|
42
|
-
- MCP: `loop_grade({ stageId, timeoutMs? })` — engine runs the stage command in loop root; rejects caller `status`/`evidence`
|
|
43
|
-
5. After all mechanical gates pass, advance to verifying:
|
|
44
|
-
- MCP: `loop_advance` with `toPhase=verifying`
|
|
45
|
-
6. If a judgment review is required, dispatch a grader and relay the verdict:
|
|
46
|
-
- MCP: `loop_grader_dispatch({ stageId })` → driver relays via `loop_grader_verdict` (`captureSource: "relayed"`)
|
|
47
|
-
7. When all required stages are passed, write the closure summary then complete the loop:
|
|
48
|
-
- CLI: `enact-loop summary write` (stamps fingerprint into `~/.enact/loop/projects/<key>/state/<YYMMDDHH>-loop-summary.md` and updates `summary-current.json`)
|
|
49
|
-
- MCP: `loop_complete` with `summary`
|
|
50
|
-
- CLI fallback: use MCP for completion; `summary write` is the required CLI closure step
|
|
51
|
-
|
|
52
|
-
## Proof Path
|
|
53
|
-
|
|
54
|
-
- Use `loop_contract_parity` for contract-parity checks when QA is part of closure.
|
|
55
|
-
- Judgment stages require an independent grader (different vendor/model) via `loop_grader_dispatch`.
|
|
56
|
-
- Do not substitute inferred status for command-backed evidence.
|
|
57
|
-
|
|
58
|
-
## State Contract
|
|
59
|
-
- Reads: `enact-loop status --json` (current loop state), `enact-loop summary show` / `summary-current.json` (current closure summary), test and lint output
|
|
60
|
-
- Writes: loop state via MCP tools (`loop_grade`, `loop_advance`, `loop_complete`) and `enact-loop summary write` for the append-only closure summary artifact
|
|
61
|
-
|
|
62
|
-
## MCP Tools
|
|
63
|
-
|
|
64
|
-
- `loop_start` — start a loop contract scoped to the QA goal
|
|
65
|
-
- `loop_status` — read current loop state
|
|
66
|
-
- `loop_advance` — transition to the next phase
|
|
67
|
-
- `loop_grade` — run a mechanical stage command in loop root (engine-derived pass/fail)
|
|
68
|
-
- `loop_grader_dispatch` — dispatch an independent grader for a judgment gate
|
|
69
|
-
- `loop_grader_verdict` — record an independent grader's GO/NO-GO
|
|
70
|
-
- `loop_block` — mark blocked with a reason
|
|
71
|
-
- `loop_complete` — close the loop after all gates pass
|
|
72
|
-
- `loop_abort` — abort the loop with a reason
|
|
73
|
-
- `loop_contract_parity` — run contract-parity check
|
|
74
|
-
|
|
75
|
-
## Activation
|
|
76
|
-
|
|
77
|
-
Invoke with `$ultraqa` or `$enact-loop:ultraqa`. The SessionStart hook auto-resumes any active loop; use `enact-loop status --json` to inspect the current state. The Stop boulder blocks exit until all required stages are passed and the loop phase is terminal.
|
|
78
|
-
|
|
79
|
-
## Final Check
|
|
80
|
-
- Every gate (tests, lint, doctor, smoke) passed in a single iteration with command evidence
|
|
81
|
-
- `loop_grade` passed all mechanical stages (engine-run, exit 0) before `loop_complete`
|
|
82
|
-
- Judgment stages have valid independent grader verdicts from `loop_grader_verdict`
|
|
83
|
-
- No gate was skipped or bypassed
|
|
84
|
-
- `enact-loop summary write` produced the current timestamped closure summary before `loop_complete`
|
|
85
|
-
- `loop_complete` was called; no loop left in `running` or `verifying` state
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: work-with-workitem
|
|
3
|
-
description: "Lightweight Azure DevOps work-item delivery lane: implement and hand off; factory owns tracking and closure."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Work With Workitem
|
|
7
|
-
|
|
8
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
9
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
10
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
|
|
11
|
-
> 3. Factory planning artifacts go under `~/.enact/factory/projects/<key>/…`; loop runtime state and closure summaries go under `~/.enact/loop/projects/<key>/…`.
|
|
12
|
-
|
|
13
|
-
## Purpose
|
|
14
|
-
|
|
15
|
-
Use `$work-with-workitem` for agent-driven delivery tied to a single Azure DevOps work item.
|
|
16
|
-
|
|
17
|
-
## Domain Boundary
|
|
18
|
-
|
|
19
|
-
- agent scope is intentionally lightweight: load, isolate, implement, PR, handoff, cleanup
|
|
20
|
-
- enact-factory owns CI heartbeat tracking, branch policy waits, auto-merge, and lifecycle advance to `Closed`
|
|
21
|
-
- this skill must not add CI polling loops or unbounded branch-policy waiting
|
|
22
|
-
|
|
23
|
-
## Azure DevOps-Only Contract
|
|
24
|
-
|
|
25
|
-
- use `factory_workitem_get` and `factory_assignment_record` for work-item reads and closing notes
|
|
26
|
-
- use `az repos pr create --work-items <id>` to link the PR to the work item
|
|
27
|
-
- do not assume or reference GitHub APIs, GitHub Actions, GitHub checks, or GitHub branch protection primitives
|
|
28
|
-
|
|
29
|
-
## Required Sequence
|
|
30
|
-
|
|
31
|
-
1. `factory_workitem_get` loads the target work item and confirms readiness.
|
|
32
|
-
2. `EnterWorktree` isolates the implementation workspace.
|
|
33
|
-
3. Execute implementation (use a loop contract or inline execution for simple tasks).
|
|
34
|
-
4. Create atomic commits with clear work-item-linked intent.
|
|
35
|
-
5. Run `az repos pr create --work-items <id>` and capture the PR URL.
|
|
36
|
-
6. Call `factory_assignment_record` with a closing note that includes PR URL and commit SHA.
|
|
37
|
-
7. `ExitWorktree` cleans up the isolated workspace.
|
|
38
|
-
|
|
39
|
-
## Behavioral Constraints
|
|
40
|
-
|
|
41
|
-
- no CI poll loop in this skill; CI heartbeat belongs to `factory_watchdog_status`
|
|
42
|
-
- no merge waiting or policy-wait ownership in this skill
|
|
43
|
-
- no lifecycle mutation to `Closed` from this skill
|
|
44
|
-
- if PR creation fails, record failure context and exit through normal cleanup
|
|
45
|
-
|
|
46
|
-
## Verification Expectations
|
|
47
|
-
|
|
48
|
-
- integration target is a work item tagged `test-fixture`
|
|
49
|
-
- verify PR link uses `--work-items <id>`
|
|
50
|
-
- verify `factory_assignment_record` includes PR URL and commit SHA
|
|
51
|
-
- verify `ExitWorktree` cleanup is executed
|
|
52
|
-
- do not verify CI completion or merge here
|
|
53
|
-
|
|
54
|
-
## Activation
|
|
55
|
-
|
|
56
|
-
Invoke with `$work-with-workitem` or `$enact-factory:work-with-workitem`. The skill uses enact-factory MCP tools (`factory_workitem_get`, `factory_assignment_record`) for all work-item interactions. No durable workflow state is started automatically — the skill runs to completion within a single session.
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: workitem-triage
|
|
3
|
-
description: >-
|
|
4
|
-
Read-only triage of Enact Factory WorkItems — assess queue state and
|
|
5
|
-
individual WorkItem details without scheduling, mutation, or execution. Use
|
|
6
|
-
when reviewing the board, checking a WorkItem's status/blockers, or triaging
|
|
7
|
-
the queue. Triggers on "triage", "workitem status", "queue state",
|
|
8
|
-
"$workitem-triage".
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# workitem-triage
|
|
12
|
-
|
|
13
|
-
> **Storage is GLOBAL — never write to a repo-local `.enact` dir.** Resolve the project's global dir:
|
|
14
|
-
> 1. `ROOT="$(git rev-parse --show-toplevel)"`
|
|
15
|
-
> 2. In `~/.enact/workspaces.json` → `workspaces`, find the entry whose `.root` == `$ROOT`; its object key is `<name>-<id>`.
|
|
16
|
-
> 3. Factory planning artifacts and queue-state handoff notes go under `~/.enact/factory/projects/<key>/…` when a downstream skill persists them.
|
|
17
|
-
|
|
18
|
-
## Purpose
|
|
19
|
-
Provide a read-only triage surface for Factory WorkItems. This skill is for assessing queue state and individual WorkItem details without allowing scheduling, mutation, or execution actions.
|
|
20
|
-
|
|
21
|
-
## Activation Contract
|
|
22
|
-
- Activate with `factory_skill_activate` and `skill="workitem-triage"`.
|
|
23
|
-
- Deactivate with `factory_skill_deactivate` when triage is complete.
|
|
24
|
-
- While active, visible MCP tools must be limited to:
|
|
25
|
-
- `factory_workitem_list`
|
|
26
|
-
- `factory_workitem_get`
|
|
27
|
-
|
|
28
|
-
## Forbidden Operations
|
|
29
|
-
- Do not call scheduler, assignment, lifecycle, watchdog, sync, or closure mutation tools while this skill is active.
|
|
30
|
-
- Do not update WorkItem state, queue entries, assignments, or process state.
|
|
31
|
-
- Do not dispatch agent lanes or terminate processes.
|
|
32
|
-
|
|
33
|
-
## Output Contract
|
|
34
|
-
- Return concise, factual triage output only.
|
|
35
|
-
- Include WorkItem ids, statuses, and blockers when present.
|
|
36
|
-
- If required data is missing, explicitly state unknowns instead of inferring.
|
|
37
|
-
- Keep recommendations non-mutating unless the operator explicitly switches out of triage mode.
|
|
38
|
-
|
|
39
|
-
## Related
|
|
40
|
-
- For the Azure DevOps branch/PR/release strategy and the `az` CLI/REST recipes
|
|
41
|
-
(branch policies, PR creation/promotion, build-failure diagnosis), see the
|
|
42
|
-
sibling `azdo-ci-strategy` skill.
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "enact-wiki",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "Vault-backed knowledge base with semantic search, dream consolidation, and MCP tools for agent memory workflows.",
|
|
5
|
-
"license": "UNLICENSED",
|
|
6
|
-
"keywords": [
|
|
7
|
-
"enact-wiki",
|
|
8
|
-
"wiki",
|
|
9
|
-
"vault",
|
|
10
|
-
"memory",
|
|
11
|
-
"knowledge-base",
|
|
12
|
-
"qdrant",
|
|
13
|
-
"semantic-search"
|
|
14
|
-
],
|
|
15
|
-
"targets": [
|
|
16
|
-
"claude",
|
|
17
|
-
"codex",
|
|
18
|
-
"cursor",
|
|
19
|
-
"enact"
|
|
20
|
-
],
|
|
21
|
-
"skills": "./skills/",
|
|
22
|
-
"mcpServers": "./.mcp.json",
|
|
23
|
-
"interface": {
|
|
24
|
-
"displayName": "Enact Wiki",
|
|
25
|
-
"shortDescription": "Vault skills, MCP tools, and runtime bootstrap via `enact-wiki bootstrap`.",
|
|
26
|
-
"longDescription": "Install this plugin to expose enact-wiki MCP tools in Claude, Codex, and Cursor and enable semantic search over the workspace Qdrant collection, dream consolidation, and vault-backed knowledge workflows.",
|
|
27
|
-
"developerName": "enact-wiki",
|
|
28
|
-
"category": "Developer Tools",
|
|
29
|
-
"composerIcon": "./assets/icon.png",
|
|
30
|
-
"logo": "./assets/logo.png",
|
|
31
|
-
"capabilities": [
|
|
32
|
-
"semantic search",
|
|
33
|
-
"vault knowledge base",
|
|
34
|
-
"dream consolidation",
|
|
35
|
-
"mcp tools",
|
|
36
|
-
"qdrant vector search"
|
|
37
|
-
]
|
|
38
|
-
},
|
|
39
|
-
"factory": {
|
|
40
|
-
"firstParty": true,
|
|
41
|
-
"operatorScope": "global"
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"mcpServers": {
|
|
3
|
-
"enact-wiki": {
|
|
4
|
-
"command": "enact-wiki",
|
|
5
|
-
"args": ["mcp", "."],
|
|
6
|
-
"env_vars": [
|
|
7
|
-
"ENACT_WIKI_EMBEDDING_API_KEY",
|
|
8
|
-
"AZURE_OPENAI_API_KEY",
|
|
9
|
-
"ENACT_GATEWAY_API_KEY",
|
|
10
|
-
"ENACT_WIKI_LINT_API_KEY",
|
|
11
|
-
"ENACT_WIKI_QUERY_API_KEY"
|
|
12
|
-
]
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|