@atlashub/smartstack-cli 4.81.0 → 5.0.0
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/.documentation/agents.html +124 -585
- package/.documentation/ba-develop.html +852 -0
- package/.documentation/ba-skills.html +465 -0
- package/.documentation/business-analyse.html +385 -1570
- package/.documentation/cli-commands.html +162 -799
- package/.documentation/commands.html +902 -1338
- package/.documentation/css/styles.css +34 -1
- package/.documentation/efcore.html +161 -2599
- package/.documentation/gitflow.html +62 -105
- package/.documentation/hooks.html +94 -343
- package/.documentation/index.html +116 -385
- package/.documentation/init.html +217 -1566
- package/.documentation/installation.html +121 -1470
- package/.documentation/license.html +90 -450
- package/.documentation/ralph-loop.html +105 -602
- package/dist/index.js +9307 -79030
- package/dist/index.js.map +1 -1
- package/package.json +5 -19
- package/scripts/generate-docs/README.md +87 -0
- package/scripts/generate-docs/index.ts +175 -0
- package/scripts/generate-docs/lib/context-builder.ts +81 -0
- package/scripts/generate-docs/lib/handlebars-setup.ts +162 -0
- package/scripts/generate-docs/lib/markdown-parser.ts +86 -0
- package/scripts/generate-docs/lib/sidebar-builder.ts +80 -0
- package/scripts/generate-docs/lib/skill-parser.ts +171 -0
- package/scripts/generate-docs/lib/stats.ts +32 -0
- package/scripts/generate-docs/lib/version.ts +17 -0
- package/scripts/generate-docs/templates/layout.hbs +33 -0
- package/scripts/generate-docs/templates/pages/_generic.hbs +12 -0
- package/scripts/generate-docs/templates/pages/ba-develop.hbs +10 -0
- package/scripts/generate-docs/templates/pages/ba-skills.hbs +8 -0
- package/scripts/generate-docs/templates/pages/business-analyse.hbs +1 -0
- package/scripts/generate-docs/templates/pages/commands.hbs +13 -0
- package/scripts/generate-docs/templates/pages/gitflow.hbs +2164 -0
- package/scripts/generate-docs/templates/pages/index.hbs +5 -0
- package/scripts/generate-docs/templates/partials/breadcrumb.hbs +6 -0
- package/scripts/generate-docs/templates/partials/header.hbs +22 -0
- package/scripts/generate-docs/templates/partials/sidebar.hbs +32 -0
- package/scripts/generate-docs/templates/partials/skill-card.hbs +22 -0
- package/scripts/generate-docs/templates/partials/skill-grid.hbs +5 -0
- package/scripts/generate-docs/templates/partials/skill-table.hbs +18 -0
- package/scripts/generate-docs/templates/partials/stats-bar.hbs +20 -0
- package/scripts/test-migration-program-cs.mts +94 -0
- package/templates/agents/explore-codebase.md +2 -3
- package/templates/agents/explore-docs.md +5 -5
- package/templates/hooks/hooks.json +0 -9
- package/templates/project/Program.cs.template +17 -5
- package/templates/project/appsettings.json.template +208 -195
- package/templates/project/claude-md/api.CLAUDE.md.template +27 -2
- package/templates/project/patch-smartstack-theme.cjs.template +42 -0
- package/templates/scripts/statusline/README.md +47 -0
- package/templates/scripts/statusline/index.js +224 -0
- package/templates/skills/CLAUDE.md +235 -0
- package/templates/skills/ba-develop/SKILL.md +310 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/__tests__/compute-page-diff.test.ts +177 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/compute-diff.ts +51 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/disk-drift.ts +55 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/index.ts +89 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/scan-pagespecs.ts +115 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/types.ts +63 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/validate.ts +20 -0
- package/templates/skills/ba-develop/cli/update-snapshot/__tests__/update-snapshot.test.ts +73 -0
- package/templates/skills/ba-develop/cli/update-snapshot/execute.ts +24 -0
- package/templates/skills/ba-develop/cli/update-snapshot/index.ts +61 -0
- package/templates/skills/ba-develop/cli/update-snapshot/types.ts +40 -0
- package/templates/skills/ba-develop/cli/update-snapshot/validate.ts +17 -0
- package/templates/skills/ba-develop/references/anti-patterns.md +101 -0
- package/templates/skills/ba-develop/references/auto-healing.md +191 -0
- package/templates/skills/ba-develop/references/commit-checkpoints.md +79 -0
- package/templates/skills/ba-develop/references/gates.md +380 -0
- package/templates/skills/ba-develop/references/output-contract.md +95 -0
- package/templates/skills/ba-develop/references/phases-detail.md +592 -0
- package/templates/skills/ba-develop-plan/SKILL.md +239 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/__tests__/validate.test.ts +225 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/index.ts +102 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/types.ts +121 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/validate.ts +261 -0
- package/templates/skills/business-analyse/_workflow/README.md +34 -0
- package/templates/skills/business-analyse/_workflow/ba-files.md +174 -0
- package/templates/skills/business-analyse/_workflow/code-discipline.md +104 -0
- package/templates/skills/business-analyse/_workflow/communication.md +63 -0
- package/templates/skills/business-analyse/_workflow/completeAuto-discipline.md +79 -0
- package/templates/skills/business-analyse/_workflow/context-documents.md +45 -0
- package/templates/skills/business-analyse/_workflow/doc-templates.md +318 -0
- package/templates/skills/business-analyse/audit-actors/SKILL.md +97 -0
- package/templates/skills/business-analyse/audit-cross-dimension/SKILL.md +127 -0
- package/templates/skills/business-analyse/audit-cross-ref-code/SKILL.md +119 -0
- package/templates/skills/business-analyse/audit-data-model/SKILL.md +343 -0
- package/templates/skills/business-analyse/audit-menu/SKILL.md +97 -0
- package/templates/skills/business-analyse/audit-prd/SKILL.md +479 -0
- package/templates/skills/business-analyse/audit-pre-dev/SKILL.md +135 -0
- package/templates/skills/business-analyse/audit-rbac/SKILL.md +93 -0
- package/templates/skills/business-analyse/audit-rules/SKILL.md +182 -0
- package/templates/skills/business-analyse/audit-screens/SKILL.md +169 -0
- package/templates/skills/business-analyse/audit-sections/SKILL.md +174 -0
- package/templates/skills/business-analyse/audit-use-cases/SKILL.md +245 -0
- package/templates/skills/business-analyse/create-actors/SKILL.md +129 -0
- package/templates/skills/business-analyse/create-ba-order/SKILL.md +182 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/__tests__/generate.test.ts +151 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/__tests__/graph.test.ts +173 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/generate.ts +273 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/graph.ts +193 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/index.ts +108 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/types.ts +106 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/validate.ts +79 -0
- package/templates/skills/business-analyse/create-business-rules/SKILL.md +302 -0
- package/templates/skills/business-analyse/create-business-rules/levels/access-rules.md +105 -0
- package/templates/skills/business-analyse/create-business-rules/levels/elaborate.md +193 -0
- package/templates/skills/business-analyse/create-business-rules/levels/identify.md +157 -0
- package/templates/skills/business-analyse/create-business-rules/levels/link.md +86 -0
- package/templates/skills/business-analyse/create-data-model/SKILL.md +319 -0
- package/templates/skills/business-analyse/create-data-model/levels/attributes.md +130 -0
- package/templates/skills/business-analyse/create-data-model/levels/identify.md +100 -0
- package/templates/skills/business-analyse/create-data-model/levels/relationships.md +97 -0
- package/templates/skills/business-analyse/create-menu/SKILL.md +191 -0
- package/templates/skills/business-analyse/create-menu/levels/applications.md +85 -0
- package/templates/skills/business-analyse/create-menu/levels/modules.md +81 -0
- package/templates/skills/business-analyse/create-menu/levels/resources.md +75 -0
- package/templates/skills/business-analyse/create-menu/levels/sections.md +82 -0
- package/templates/skills/business-analyse/create-plan-development/SKILL.md +93 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/__tests__/graph.test.ts +271 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/__tests__/parse.test.ts +177 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/generate.ts +317 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/graph.ts +233 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/index.ts +106 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/parse.ts +346 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/types.ts +160 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/validate.ts +118 -0
- package/templates/skills/business-analyse/create-prd/SKILL.md +228 -0
- package/templates/skills/business-analyse/create-rbac/SKILL.md +255 -0
- package/templates/skills/business-analyse/create-rbac/levels/detail.md +86 -0
- package/templates/skills/business-analyse/create-rbac/levels/discovery.md +63 -0
- package/templates/skills/business-analyse/create-rbac/levels/review.md +66 -0
- package/templates/skills/business-analyse/create-screen/SKILL.md +386 -0
- package/templates/skills/business-analyse/create-screen/levels/dashboard-screens.md +94 -0
- package/templates/skills/business-analyse/create-screen/levels/form-screens.md +142 -0
- package/templates/skills/business-analyse/create-screen/levels/home-screens.md +151 -0
- package/templates/skills/business-analyse/create-screen/levels/kanban-screens.md +86 -0
- package/templates/skills/business-analyse/create-screen/levels/list-screens.md +134 -0
- package/templates/skills/business-analyse/create-screen/references/post-check.md +101 -0
- package/templates/skills/business-analyse/create-screen/references/react-templates.md +252 -0
- package/templates/skills/business-analyse/create-screen/references/smartcomponents.md +419 -0
- package/templates/skills/business-analyse/create-screen/references/type-mapping.md +150 -0
- package/templates/skills/business-analyse/create-use-case/SKILL.md +347 -0
- package/templates/skills/business-analyse/create-use-case/levels/detail.md +136 -0
- package/templates/skills/business-analyse/create-use-case/levels/discovery.md +110 -0
- package/templates/skills/business-analyse/loop/SKILL.md +401 -0
- package/templates/skills/business-analyse/modeling-detail/SKILL.md +241 -0
- package/templates/skills/business-analyse/modeling-inventory/SKILL.md +174 -0
- package/templates/skills/business-analyse/reconcile-menu/SKILL.md +180 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/clean.test.ts +266 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/detect.test.ts +231 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/scan.test.ts +154 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/clean.ts +319 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/detect.ts +256 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/index.ts +126 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/scan.ts +175 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/types.ts +136 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/validate.ts +32 -0
- package/templates/skills/check-version/SKILL.md +196 -196
- package/templates/skills/cli-app-sync/SKILL.md +9 -9
- package/templates/skills/cli-app-sync/references/comparison-map.md +4 -4
- package/templates/skills/cli-app-sync/references/diff-entities.md +6 -6
- package/templates/skills/conventions/SKILL.md +64 -0
- package/templates/skills/dev-start/SKILL.md +190 -237
- package/templates/skills/development/SKILL.md +87 -0
- package/templates/skills/development/audit/SKILL.md +156 -0
- package/templates/skills/development/audit/routing-dynamic/SKILL.md +196 -0
- package/templates/skills/development/audit-dev-api/SKILL.md +331 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/__tests__/end-to-end.test.ts +364 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/audit.ts +646 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/index.ts +140 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/types.ts +158 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/validate.ts +45 -0
- package/templates/skills/development/audit-dev-core/SKILL.md +182 -0
- package/templates/skills/development/audit-dev-data/SKILL.md +195 -0
- package/templates/skills/development/audit-dev-domain/SKILL.md +184 -0
- package/templates/skills/development/audit-dev-frontend/SKILL.md +530 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/__tests__/end-to-end.test.ts +202 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/apply.ts +31 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/audit.ts +734 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/index.ts +125 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/types.ts +165 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/validate.ts +36 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/__tests__/dev-ui-022.test.ts +193 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/apply.ts +374 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/audit.ts +1126 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/index.ts +141 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/types.ts +218 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/validate.ts +80 -0
- package/templates/skills/development/audit-dev-tests/SKILL.md +82 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/__tests__/audit.test.ts +220 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/audit.ts +185 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/index.ts +84 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/types.ts +48 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/validate.ts +36 -0
- package/templates/skills/development/audit-dev-wire/SKILL.md +144 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/__tests__/audit.test.ts +171 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/audit.ts +307 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/index.ts +139 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/types.ts +110 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/validate.ts +16 -0
- package/templates/skills/development/backend/business-layer/SKILL.md +255 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/__tests__/generate.test.ts +254 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/generate.ts +842 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/index.ts +56 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/types.ts +112 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/validate.ts +24 -0
- package/templates/skills/development/backend/controller/SKILL.md +154 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/__tests__/generate.test.ts +345 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/generate.ts +280 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/index.ts +49 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/types.ts +72 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/validate.ts +14 -0
- package/templates/skills/development/backend/core-seed/SKILL.md +177 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/build-spec.test.ts +163 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/generate.test.ts +330 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/validate.test.ts +126 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/build-spec.ts +287 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/generate.ts +826 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/index.ts +188 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/types.ts +163 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/validate.ts +129 -0
- package/templates/skills/development/backend/data-layer/SKILL.md +163 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/__tests__/generate.test.ts +155 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/generate.ts +232 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/index.ts +34 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/types.ts +60 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/validate.ts +42 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/execute.ts +13 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/index.ts +25 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/types.ts +11 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/validate.ts +9 -0
- package/templates/skills/development/backend/screen-controller/SKILL.md +169 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/generate.test.ts +329 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/hub-views.test.ts +105 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/parse-pagespec.test.ts +137 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/generate.ts +437 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/index.ts +108 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/parse-pagespec.ts +104 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/types.ts +101 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/validate.ts +26 -0
- package/templates/skills/development/backend/seed-data/SKILL.md +91 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/generate.ts +471 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/index.ts +74 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/types.ts +104 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/validate.ts +63 -0
- package/templates/skills/development/backend/structure/SKILL.md +47 -0
- package/templates/skills/development/debug/SKILL.md +62 -0
- package/templates/skills/development/debug/audit-bug/SKILL.md +185 -0
- package/templates/skills/development/debug/backend/SKILL.md +114 -0
- package/templates/skills/development/debug/discuss-bug/SKILL.md +193 -0
- package/templates/skills/development/debug/fix-bug/SKILL.md +172 -0
- package/templates/skills/development/debug/frontend/SKILL.md +215 -0
- package/templates/skills/development/frontend/api-client/SKILL.md +158 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/generate.test.ts +1180 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/screen-strata-contract.test.ts +261 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/url-parity.test.ts +201 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/generate.ts +875 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/index.ts +36 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/types.ts +251 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/validate.ts +10 -0
- package/templates/skills/development/frontend/auth/SKILL.md +77 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/generate.ts +306 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/index.ts +179 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/types.ts +22 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/validate.ts +37 -0
- package/templates/skills/development/frontend/component/SKILL.md +347 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/__tests__/generate.test.ts +1237 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/generate.ts +1923 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/index.ts +155 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/types.ts +290 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/validate.ts +16 -0
- package/templates/skills/development/frontend/component/cli/validate-page/__tests__/execute.test.ts +231 -0
- package/templates/skills/development/frontend/component/cli/validate-page/execute.ts +598 -0
- package/templates/skills/development/frontend/component/cli/validate-page/index.ts +88 -0
- package/templates/skills/development/frontend/component/cli/validate-page/types.ts +58 -0
- package/templates/skills/development/frontend/component/cli/validate-page/validate.ts +28 -0
- package/templates/skills/development/frontend/component/patterns/README.md +42 -0
- package/templates/skills/development/frontend/component/patterns/detail-page.md +133 -0
- package/templates/skills/development/frontend/component/patterns/entity-card.md +148 -0
- package/templates/skills/development/frontend/component/patterns/form-page.md +191 -0
- package/templates/skills/development/frontend/component/patterns/kanban-board.md +195 -0
- package/templates/skills/development/frontend/component/patterns/list-page.md +175 -0
- package/templates/skills/development/frontend/extension-config/SKILL.md +108 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/generate.ts +64 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/index.ts +70 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/types.ts +27 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/validate.ts +16 -0
- package/templates/skills/development/frontend/layout/SKILL.md +52 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/__tests__/generate.test.ts +66 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/generate.ts +175 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/index.ts +104 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/types.ts +17 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/validate.ts +37 -0
- package/templates/skills/development/frontend/routes/SKILL.md +152 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/generate.ts +216 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/index.ts +121 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/types.ts +69 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/validate.ts +23 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/__tests__/generate.test.ts +292 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/generate.ts +270 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/index.ts +42 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/types.ts +114 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/validate.ts +68 -0
- package/templates/skills/development/frontend/structure/SKILL.md +119 -0
- package/templates/skills/development/frontend/theme/SKILL.md +48 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/__tests__/generate.test.ts +53 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/generate.ts +129 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/index.ts +102 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/types.ts +48 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/validate.ts +37 -0
- package/templates/skills/development/frontend/ui-polish/SKILL.md +192 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r18.test.ts +153 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r19.test.ts +307 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r20.test.ts +167 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/shared-scan.test.ts +262 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/apply.ts +580 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/audit.ts +825 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/index.ts +133 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/types.ts +121 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/validate.ts +73 -0
- package/templates/skills/development/frontend/ui-polish/tokens.json +292 -0
- package/templates/skills/development/frontend/ui-primitives/SKILL.md +88 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/__tests__/generate.test.ts +158 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/generate.ts +345 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/index.ts +142 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/types.ts +27 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/validate.ts +37 -0
- package/templates/skills/development/run/SKILL.md +61 -0
- package/templates/skills/development/run/backend/SKILL.md +106 -0
- package/templates/skills/development/run/frontend/SKILL.md +116 -0
- package/templates/skills/development/smoke-test/SKILL.md +99 -0
- package/templates/skills/development/smoke-test/cli/run-smoke/execute.ts +424 -0
- package/templates/skills/development/smoke-test/cli/run-smoke/index.ts +75 -0
- package/templates/skills/development/smoke-test/cli/run-smoke/types.ts +100 -0
- package/templates/skills/development/testing/SKILL.md +148 -0
- package/templates/skills/development/testing/cli/scaffold-tests/generate.ts +530 -0
- package/templates/skills/development/testing/cli/scaffold-tests/index.ts +83 -0
- package/templates/skills/development/testing/cli/scaffold-tests/types.ts +51 -0
- package/templates/skills/development/testing/cli/scaffold-tests/validate.ts +33 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/__tests__/generate.test.ts +188 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/__tests__/parse-ac.test.ts +191 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/generate.ts +190 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/index.ts +138 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/parse-ac.ts +172 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/types.ts +104 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/validate.ts +57 -0
- package/templates/skills/development/testing/cli/test-report/execute.ts +140 -0
- package/templates/skills/development/testing/cli/test-report/index.ts +96 -0
- package/templates/skills/development/testing/cli/test-report/types.ts +52 -0
- package/templates/skills/development/testing/cli/test-report/validate.ts +26 -0
- package/templates/skills/development/testing/fix-build/SKILL.md +81 -0
- package/templates/skills/development/testing/smoke-http/SKILL.md +123 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/execute.ts +129 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/index.ts +113 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/types.ts +62 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/validate.ts +36 -0
- package/templates/skills/development/testing/ui-test/SKILL.md +128 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/generate.ts +129 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/index.ts +80 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/types.ts +72 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/validate.ts +44 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/execute.ts +136 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/index.ts +75 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/lib/dev-browser-driver.ts +250 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/delete.js.hbs +83 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/detail.js.hbs +87 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/edit.js.hbs +91 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/form-submit.js.hbs +82 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/list.js.hbs +125 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/permission-negative.js.hbs +65 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/types.ts +57 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/validate.ts +56 -0
- package/templates/skills/documentation/SKILL.md +168 -139
- package/templates/skills/documentation/cli/extract-doc/__tests__/forbidden.test.ts +136 -0
- package/templates/skills/documentation/cli/extract-doc/__tests__/overflow.test.ts +76 -0
- package/templates/skills/documentation/cli/extract-doc/__tests__/required.test.ts +147 -0
- package/templates/skills/documentation/cli/extract-doc/extract.ts +657 -0
- package/templates/skills/documentation/cli/extract-doc/index.ts +102 -0
- package/templates/skills/documentation/cli/extract-doc/types.ts +133 -0
- package/templates/skills/documentation/cli/extract-doc/validate.ts +35 -0
- package/templates/skills/documentation/cli/scaffold-doc/generate.ts +198 -0
- package/templates/skills/documentation/cli/scaffold-doc/index.ts +61 -0
- package/templates/skills/documentation/cli/scaffold-doc/types.ts +72 -0
- package/templates/skills/documentation/cli/scaffold-doc/validate.ts +33 -0
- package/templates/skills/documentation/data-schema.md +18 -38
- package/templates/skills/documentation/steps/step-01-scan.md +59 -113
- package/templates/skills/documentation/steps/step-02-generate.md +158 -231
- package/templates/skills/documentation/steps/step-03-validate.md +101 -280
- package/templates/skills/documentation/templates.md +403 -92
- package/templates/skills/efcore/SKILL.md +88 -308
- package/templates/skills/efcore/_shared.md +140 -0
- package/templates/skills/efcore/agents/create.md +69 -0
- package/templates/skills/efcore/agents/db-update.md +58 -0
- package/templates/skills/efcore/agents/list.md +35 -0
- package/templates/skills/efcore/agents/rebase-snapshot.md +50 -0
- package/templates/skills/efcore/agents/recreate-db.md +78 -0
- package/templates/skills/efcore/agents/squash.md +78 -0
- package/templates/skills/efcore/agents/status.md +35 -0
- package/templates/skills/efcore/cli/create/execute.ts +164 -0
- package/templates/skills/efcore/cli/create/index.ts +51 -0
- package/templates/skills/efcore/cli/create/types.ts +35 -0
- package/templates/skills/efcore/cli/create/validate.ts +29 -0
- package/templates/skills/efcore/cli/lib/detect-dbcontexts.ts +195 -0
- package/templates/skills/efcore/cli/lib/ef-runner.ts +144 -0
- package/templates/skills/efcore/cli/lib/migration-name.ts +56 -0
- package/templates/skills/efcore/cli/lib/parse-csproj-version.ts +45 -0
- package/templates/skills/efcore/cli/list/execute.ts +83 -0
- package/templates/skills/efcore/cli/list/index.ts +60 -0
- package/templates/skills/efcore/cli/list/types.ts +46 -0
- package/templates/skills/efcore/cli/list/validate.ts +20 -0
- package/templates/skills/efcore/cli/rebase-snapshot/execute.ts +21 -0
- package/templates/skills/efcore/cli/rebase-snapshot/index.ts +53 -0
- package/templates/skills/efcore/cli/rebase-snapshot/types.ts +20 -0
- package/templates/skills/efcore/cli/rebase-snapshot/validate.ts +25 -0
- package/templates/skills/efcore/cli/squash/execute.ts +298 -0
- package/templates/skills/efcore/cli/squash/index.ts +57 -0
- package/templates/skills/efcore/cli/squash/types.ts +38 -0
- package/templates/skills/efcore/cli/squash/validate.ts +30 -0
- package/templates/skills/efcore/cli/status/execute.ts +152 -0
- package/templates/skills/efcore/cli/status/index.ts +45 -0
- package/templates/skills/efcore/cli/status/types.ts +32 -0
- package/templates/skills/efcore/cli/status/validate.ts +20 -0
- package/templates/skills/external/context7/SKILL.md +121 -0
- package/templates/skills/external/dev-browser/SKILL.md +134 -0
- package/templates/skills/gitflow/SKILL.md +139 -392
- package/templates/skills/gitflow/_shared.md +24 -620
- package/templates/skills/gitflow/agents/abort.md +47 -0
- package/templates/skills/gitflow/agents/cleanup.md +50 -0
- package/templates/skills/gitflow/agents/commit.md +41 -0
- package/templates/skills/gitflow/agents/finish.md +47 -0
- package/templates/skills/gitflow/agents/init.md +41 -0
- package/templates/skills/gitflow/agents/merge.md +44 -0
- package/templates/skills/gitflow/agents/pr.md +39 -0
- package/templates/skills/gitflow/agents/start.md +42 -0
- package/templates/skills/gitflow/agents/status.md +39 -0
- package/templates/skills/gitflow/agents/sync.md +38 -0
- package/templates/skills/gitflow/cli/abort/execute.ts +61 -0
- package/templates/skills/gitflow/cli/abort/index.ts +116 -0
- package/templates/skills/gitflow/cli/abort/types.ts +21 -0
- package/templates/skills/gitflow/cli/abort/validate.ts +38 -0
- package/templates/skills/gitflow/cli/cleanup/execute.ts +107 -0
- package/templates/skills/gitflow/cli/cleanup/index.ts +122 -0
- package/templates/skills/gitflow/cli/cleanup/types.ts +26 -0
- package/templates/skills/gitflow/cli/cleanup/validate.ts +33 -0
- package/templates/skills/gitflow/cli/commit/execute.ts +146 -0
- package/templates/skills/gitflow/cli/commit/index.ts +77 -0
- package/templates/skills/gitflow/cli/commit/types.ts +36 -0
- package/templates/skills/gitflow/cli/commit/validate.ts +38 -0
- package/templates/skills/gitflow/cli/finish/execute.ts +127 -0
- package/templates/skills/gitflow/cli/finish/index.ts +106 -0
- package/templates/skills/gitflow/cli/finish/types.ts +25 -0
- package/templates/skills/gitflow/cli/finish/validate.ts +44 -0
- package/templates/skills/gitflow/cli/generate-msg/execute.ts +51 -0
- package/templates/skills/gitflow/cli/generate-msg/index.ts +73 -0
- package/templates/skills/gitflow/cli/generate-msg/types.ts +37 -0
- package/templates/skills/gitflow/cli/generate-msg/validate.ts +42 -0
- package/templates/skills/gitflow/cli/init/execute.ts +186 -0
- package/templates/skills/gitflow/cli/init/index.ts +127 -0
- package/templates/skills/gitflow/cli/init/types.ts +63 -0
- package/templates/skills/gitflow/cli/init/validate.ts +56 -0
- package/templates/skills/gitflow/cli/lib/branch.ts +83 -0
- package/templates/skills/gitflow/cli/lib/config.ts +149 -0
- package/templates/skills/gitflow/cli/lib/efcore.ts +136 -0
- package/templates/skills/gitflow/cli/lib/git.ts +212 -0
- package/templates/skills/gitflow/cli/lib/output.ts +49 -0
- package/templates/skills/gitflow/cli/lib/paths.ts +54 -0
- package/templates/skills/gitflow/cli/lib/platform.ts +44 -0
- package/templates/skills/gitflow/cli/lib/provider.ts +147 -0
- package/templates/skills/gitflow/cli/lib/types.ts +189 -0
- package/templates/skills/gitflow/cli/lib/version.ts +152 -0
- package/templates/skills/gitflow/cli/lib/worktree.ts +170 -0
- package/templates/skills/gitflow/cli/merge/execute.ts +93 -0
- package/templates/skills/gitflow/cli/merge/index.ts +109 -0
- package/templates/skills/gitflow/cli/merge/types.ts +24 -0
- package/templates/skills/gitflow/cli/merge/validate.ts +33 -0
- package/templates/skills/gitflow/cli/pr/execute.ts +131 -0
- package/templates/skills/gitflow/cli/pr/index.ts +115 -0
- package/templates/skills/gitflow/cli/pr/types.ts +27 -0
- package/templates/skills/gitflow/cli/pr/validate.ts +27 -0
- package/templates/skills/gitflow/cli/start/execute.ts +98 -0
- package/templates/skills/gitflow/cli/start/index.ts +75 -0
- package/templates/skills/gitflow/cli/start/types.ts +26 -0
- package/templates/skills/gitflow/cli/start/validate.ts +47 -0
- package/templates/skills/gitflow/cli/status/execute.ts +251 -0
- package/templates/skills/gitflow/cli/status/index.ts +154 -0
- package/templates/skills/gitflow/cli/status/types.ts +75 -0
- package/templates/skills/gitflow/cli/status/validate.ts +38 -0
- package/templates/skills/gitflow/cli/sync/execute.ts +84 -0
- package/templates/skills/gitflow/cli/sync/index.ts +75 -0
- package/templates/skills/gitflow/cli/sync/types.ts +25 -0
- package/templates/skills/gitflow/cli/sync/validate.ts +34 -0
- package/templates/skills/gitflow/commit-message.md +46 -0
- package/templates/skills/init/SKILL.md +54 -0
- package/templates/skills/lib/__tests__/canonical-hash.test.ts +45 -0
- package/templates/skills/lib/__tests__/page-spec-actions.test.ts +232 -0
- package/templates/skills/lib/canonical-hash.ts +40 -0
- package/templates/skills/lib/detector.ts +243 -0
- package/templates/skills/lib/dotnet.ts +238 -0
- package/templates/skills/lib/frontend-fixers.ts +151 -0
- package/templates/skills/lib/fs.ts +238 -0
- package/templates/skills/lib/git.ts +134 -0
- package/templates/skills/lib/graph.ts +138 -0
- package/templates/skills/lib/navroute-parser.ts +51 -0
- package/templates/skills/lib/output.ts +117 -0
- package/templates/skills/lib/page-spec-actions.ts +350 -0
- package/templates/skills/lib/skill-slug.ts +121 -0
- package/templates/skills/lib/string-utils.ts +140 -0
- package/templates/skills/lib/template-loader.ts +115 -0
- package/templates/skills/lib/url-conventions.ts +151 -0
- package/templates/skills/package.json +5 -0
- package/templates/skills/quick-search/SKILL.md +99 -99
- package/templates/skills/review/SKILL.md +56 -0
- package/templates/skills/smoke-generation/SKILL.md +18 -16
- package/templates/skills/ui-components/SKILL.md +136 -457
- package/templates/skills/upgrade/SKILL.md +36 -0
- package/templates/skills/utils/SKILL.md +45 -44
- package/templates/skills/utils/subcommands/test-web-config.md +152 -152
- package/templates/skills/utils/subcommands/test-web.md +123 -123
- package/templates/skills/validate-feature/SKILL.md +102 -101
- package/templates/skills/validate-feature/references/api-smoke-tests.md +140 -140
- package/templates/skills/validate-feature/references/db-validation-checks.md +180 -180
- package/templates/skills/validate-feature/steps/step-00-dependencies.md +121 -121
- package/templates/skills/validate-feature/steps/step-01-compile.md +39 -39
- package/templates/skills/validate-feature/steps/step-02-unit-tests.md +45 -45
- package/templates/skills/validate-feature/steps/step-03-integration-tests.md +53 -53
- package/templates/skills/validate-feature/steps/step-04-api-smoke.md +94 -94
- package/templates/skills/validate-feature/steps/step-05-db-validation.md +149 -149
- package/templates/skills/validation/conventions/SKILL.md +193 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/execute.ts +368 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/index.ts +67 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/types.ts +91 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/validate.ts +36 -0
- package/templates/skills/validation/cross-validate/SKILL.md +83 -0
- package/templates/skills/validation/cross-validate/cli/execute.ts +576 -0
- package/templates/skills/validation/cross-validate/cli/index.ts +87 -0
- package/templates/skills/validation/cross-validate/cli/types.ts +85 -0
- package/templates/skills/validation/cross-validate/cli/validate.ts +54 -0
- package/templates/skills/validation/eslint/SKILL.md +65 -0
- package/templates/skills/validation/eslint/cli/execute.ts +413 -0
- package/templates/skills/validation/eslint/cli/index.ts +102 -0
- package/templates/skills/validation/eslint/cli/types.ts +48 -0
- package/templates/skills/validation/eslint/cli/validate.ts +43 -0
- package/templates/skills/validation/project-inventory/SKILL.md +166 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/execute.ts +397 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/index.ts +80 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/types.ts +89 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/validate.ts +35 -0
- package/templates/skills/validation/readiness-report/SKILL.md +109 -0
- package/templates/skills/validation/readiness-report/cli/execute.ts +236 -0
- package/templates/skills/validation/readiness-report/cli/index.ts +234 -0
- package/templates/skills/validation/readiness-report/cli/types.ts +61 -0
- package/templates/skills/validation/readiness-report/cli/validate.ts +54 -0
- package/templates/skills/validation/roslyn/SKILL.md +103 -0
- package/templates/skills/validation/roslyn/cli/execute.ts +616 -0
- package/templates/skills/validation/roslyn/cli/index.ts +86 -0
- package/templates/skills/validation/roslyn/cli/types.ts +50 -0
- package/templates/skills/validation/roslyn/cli/validate.ts +43 -0
- package/.documentation/apex.html +0 -649
- package/dist/mcp-entry.mjs +0 -68888
- package/dist/mcp-entry.mjs.map +0 -1
- package/scripts/extract-api-endpoints.ts +0 -325
- package/scripts/extract-business-rules.ts +0 -440
- package/scripts/generate-doc-with-mock-ui.ts +0 -804
- package/templates/agents/ba-reader.md +0 -386
- package/templates/agents/ba-writer.md +0 -810
- package/templates/agents/efcore/migration.md +0 -204
- package/templates/agents/efcore/rebase-snapshot.md +0 -202
- package/templates/agents/efcore/squash.md +0 -269
- package/templates/agents/gitflow/abort.md +0 -45
- package/templates/agents/gitflow/cleanup.md +0 -107
- package/templates/agents/gitflow/commit.md +0 -236
- package/templates/agents/gitflow/exec.md +0 -48
- package/templates/agents/gitflow/finish.md +0 -146
- package/templates/agents/gitflow/init-clone.md +0 -199
- package/templates/agents/gitflow/init-detect.md +0 -137
- package/templates/agents/gitflow/init-validate.md +0 -225
- package/templates/agents/gitflow/init.md +0 -509
- package/templates/agents/gitflow/merge.md +0 -145
- package/templates/agents/gitflow/plan.md +0 -42
- package/templates/agents/gitflow/pr.md +0 -191
- package/templates/agents/gitflow/review.md +0 -49
- package/templates/agents/gitflow/start.md +0 -147
- package/templates/agents/gitflow/status.md +0 -95
- package/templates/agents/mcp-healthcheck.md +0 -163
- package/templates/hooks/docs-drift-check.md +0 -96
- package/templates/hooks/ef-migration-check.md +0 -139
- package/templates/hooks/mcp-check.md +0 -64
- package/templates/hooks/ralph-mcp-logger.sh +0 -46
- package/templates/mcp-scaffolding/component.tsx.hbs +0 -318
- package/templates/mcp-scaffolding/controller.cs.hbs +0 -118
- package/templates/mcp-scaffolding/entity-extension.cs.hbs +0 -239
- package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +0 -117
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +0 -133
- package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +0 -261
- package/templates/mcp-scaffolding/service-extension.cs.hbs +0 -53
- package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +0 -436
- package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +0 -239
- package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +0 -441
- package/templates/mcp-scaffolding/tests/security.test.cs.hbs +0 -442
- package/templates/mcp-scaffolding/tests/service.test.cs.hbs +0 -402
- package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +0 -428
- package/templates/skills/_resources/config-safety.md +0 -61
- package/templates/skills/_resources/context-digest-template.md +0 -53
- package/templates/skills/_resources/doc-context-cache.md +0 -60
- package/templates/skills/_resources/docs-manifest-schema.md +0 -155
- package/templates/skills/_resources/formatting-guide.md +0 -124
- package/templates/skills/_resources/mcp-validate-documentation-spec.md +0 -181
- package/templates/skills/_shared.md +0 -228
- package/templates/skills/admin/SKILL.md +0 -48
- package/templates/skills/ai-prompt/SKILL.md +0 -171
- package/templates/skills/ai-prompt/references/ai-agent-modes.md +0 -89
- package/templates/skills/ai-prompt/references/eval-framework.md +0 -129
- package/templates/skills/ai-prompt/steps/step-00-init.md +0 -47
- package/templates/skills/ai-prompt/steps/step-01-implementation.md +0 -122
- package/templates/skills/apex/SKILL.md +0 -234
- package/templates/skills/apex/_shared.md +0 -197
- package/templates/skills/apex/references/analysis-methods.md +0 -178
- package/templates/skills/apex/references/challenge-questions.md +0 -359
- package/templates/skills/apex/references/checks/architecture-checks.sh +0 -154
- package/templates/skills/apex/references/checks/backend-checks.sh +0 -208
- package/templates/skills/apex/references/checks/frontend-checks.sh +0 -560
- package/templates/skills/apex/references/checks/infrastructure-checks.sh +0 -292
- package/templates/skills/apex/references/checks/security-checks.sh +0 -153
- package/templates/skills/apex/references/checks/seed-checks.sh +0 -610
- package/templates/skills/apex/references/code-generation.md +0 -412
- package/templates/skills/apex/references/core-seed-data.md +0 -1502
- package/templates/skills/apex/references/domain-events-pattern.md +0 -45
- package/templates/skills/apex/references/entity-hooks-pattern.md +0 -68
- package/templates/skills/apex/references/error-classification.md +0 -168
- package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +0 -91
- package/templates/skills/apex/references/licensing-enforcement.md +0 -52
- package/templates/skills/apex/references/parallel-execution.md +0 -187
- package/templates/skills/apex/references/person-extension-pattern.md +0 -619
- package/templates/skills/apex/references/post-checks.md +0 -162
- package/templates/skills/apex/references/smartstack-api.md +0 -591
- package/templates/skills/apex/references/smartstack-frontend-compliance.md +0 -616
- package/templates/skills/apex/references/smartstack-frontend.md +0 -442
- package/templates/skills/apex/references/smartstack-layers.md +0 -551
- package/templates/skills/apex/steps/step-00-init.md +0 -405
- package/templates/skills/apex/steps/step-01-analyze.md +0 -210
- package/templates/skills/apex/steps/step-02-plan.md +0 -303
- package/templates/skills/apex/steps/step-03-execute.md +0 -194
- package/templates/skills/apex/steps/step-03a-layer0-domain.md +0 -144
- package/templates/skills/apex/steps/step-03b-layer1-seed.md +0 -339
- package/templates/skills/apex/steps/step-03c-layer2-backend.md +0 -401
- package/templates/skills/apex/steps/step-03d-layer3-frontend.md +0 -562
- package/templates/skills/apex/steps/step-03e-layer4-devdata.md +0 -46
- package/templates/skills/apex/steps/step-04-examine.md +0 -404
- package/templates/skills/apex/steps/step-05-deep-review.md +0 -140
- package/templates/skills/apex/steps/step-06-resolve.md +0 -120
- package/templates/skills/apex/steps/step-07-tests.md +0 -271
- package/templates/skills/apex/steps/step-08-run-tests.md +0 -135
- package/templates/skills/apex-verify/SKILL.md +0 -110
- package/templates/skills/apex-verify/references/audit-rules.md +0 -50
- package/templates/skills/apex-verify/steps/step-00-init.md +0 -119
- package/templates/skills/apex-verify/steps/step-01-nav-audit.md +0 -96
- package/templates/skills/apex-verify/steps/step-02-crud-audit.md +0 -127
- package/templates/skills/apex-verify/steps/step-03-perm-audit.md +0 -119
- package/templates/skills/apex-verify/steps/step-04-route-audit.md +0 -98
- package/templates/skills/apex-verify/steps/step-05-report.md +0 -110
- package/templates/skills/application/SKILL.md +0 -241
- package/templates/skills/application/references/application-roles-template.md +0 -228
- package/templates/skills/application/references/backend-controller-hierarchy.md +0 -68
- package/templates/skills/application/references/backend-entity-seeding.md +0 -73
- package/templates/skills/application/references/backend-seeding-and-dto-output.md +0 -83
- package/templates/skills/application/references/backend-table-prefix-mapping.md +0 -80
- package/templates/skills/application/references/backend-verification.md +0 -88
- package/templates/skills/application/references/contexts-cheatsheet.md +0 -86
- package/templates/skills/application/references/extensions-system.md +0 -158
- package/templates/skills/application/references/frontend-i18n-and-output.md +0 -67
- package/templates/skills/application/references/frontend-route-naming.md +0 -123
- package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +0 -91
- package/templates/skills/application/references/frontend-verification.md +0 -158
- package/templates/skills/application/references/init-parameter-detection.md +0 -121
- package/templates/skills/application/references/migration-checklist-troubleshooting.md +0 -88
- package/templates/skills/application/references/nav-fallback-procedure.md +0 -198
- package/templates/skills/application/references/provider-template.md +0 -191
- package/templates/skills/application/references/roles-client-project-handling.md +0 -55
- package/templates/skills/application/references/roles-fallback-procedure.md +0 -144
- package/templates/skills/application/references/smartstack-provider.md +0 -118
- package/templates/skills/application/references/test-coverage-requirements.md +0 -213
- package/templates/skills/application/references/test-frontend.md +0 -73
- package/templates/skills/application/references/test-prerequisites.md +0 -72
- package/templates/skills/application/references/themes-db-driven.md +0 -484
- package/templates/skills/application/steps/step-00-init.md +0 -130
- package/templates/skills/application/steps/step-01-navigation.md +0 -170
- package/templates/skills/application/steps/step-02-permissions.md +0 -196
- package/templates/skills/application/steps/step-03-roles.md +0 -182
- package/templates/skills/application/steps/step-03b-provider.md +0 -134
- package/templates/skills/application/steps/step-04-backend.md +0 -174
- package/templates/skills/application/steps/step-05-frontend.md +0 -189
- package/templates/skills/application/steps/step-06-migration.md +0 -189
- package/templates/skills/application/steps/step-07-tests.md +0 -356
- package/templates/skills/application/steps/step-08-documentation.md +0 -137
- package/templates/skills/application/templates-backend.md +0 -463
- package/templates/skills/application/templates-frontend.md +0 -950
- package/templates/skills/application/templates-i18n.md +0 -520
- package/templates/skills/application/templates-seed.md +0 -1110
- package/templates/skills/audit-route/SKILL.md +0 -107
- package/templates/skills/audit-route/references/routing-pattern.md +0 -131
- package/templates/skills/audit-route/steps/step-00-init.md +0 -128
- package/templates/skills/audit-route/steps/step-01-inventory.md +0 -157
- package/templates/skills/audit-route/steps/step-02-conformity.md +0 -193
- package/templates/skills/audit-route/steps/step-03-report.md +0 -201
- package/templates/skills/business-analyse/SKILL.md +0 -252
- package/templates/skills/business-analyse/_shared.md +0 -276
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +0 -560
- package/templates/skills/business-analyse/questionnaire/01-context.md +0 -43
- package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +0 -111
- package/templates/skills/business-analyse/questionnaire/03-data-ui.md +0 -125
- package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +0 -6
- package/templates/skills/business-analyse/questionnaire/05-cross-module.md +0 -69
- package/templates/skills/business-analyse/questionnaire.md +0 -156
- package/templates/skills/business-analyse/react/application-viewer.md +0 -242
- package/templates/skills/business-analyse/react/components.md +0 -532
- package/templates/skills/business-analyse/react/i18n-template.md +0 -306
- package/templates/skills/business-analyse/react/schema.md +0 -831
- package/templates/skills/business-analyse/references/03-json-schemas.md +0 -221
- package/templates/skills/business-analyse/references/03-post-check-validation.md +0 -208
- package/templates/skills/business-analyse/references/03-smartstack-entity-guards.md +0 -32
- package/templates/skills/business-analyse/references/04-cross-module-validation.md +0 -95
- package/templates/skills/business-analyse/references/04-file-allocation.md +0 -162
- package/templates/skills/business-analyse/references/04-naming-audit-checks.md +0 -174
- package/templates/skills/business-analyse/references/04-semantic-validation-matrix.md +0 -118
- package/templates/skills/business-analyse/references/acceptance-criteria.md +0 -164
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +0 -190
- package/templates/skills/business-analyse/references/canonical-json-formats.md +0 -204
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +0 -297
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +0 -124
- package/templates/skills/business-analyse/references/detection-strategies.md +0 -424
- package/templates/skills/business-analyse/references/domain-research-playbook.md +0 -234
- package/templates/skills/business-analyse/references/entity-architecture-decision.md +0 -240
- package/templates/skills/business-analyse/references/entity-sourcing-presentation.md +0 -166
- package/templates/skills/business-analyse/references/init-resume-logic.md +0 -70
- package/templates/skills/business-analyse/references/init-schema-deployment.md +0 -65
- package/templates/skills/business-analyse/references/module-completeness-challenge.md +0 -174
- package/templates/skills/business-analyse/references/multi-app-detection.md +0 -149
- package/templates/skills/business-analyse/references/naming-conventions.md +0 -253
- package/templates/skills/business-analyse/references/portal-classification.md +0 -52
- package/templates/skills/business-analyse/references/robustness-checks.md +0 -426
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +0 -85
- package/templates/skills/business-analyse/references/ui-resource-cards.md +0 -259
- package/templates/skills/business-analyse/references/validation-checklist.md +0 -378
- package/templates/skills/business-analyse/schemas/application-schema.json +0 -481
- package/templates/skills/business-analyse/schemas/feature-schema.json +0 -53
- package/templates/skills/business-analyse/schemas/index-schema.json +0 -47
- package/templates/skills/business-analyse/schemas/project-schema.json +0 -481
- package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +0 -245
- package/templates/skills/business-analyse/schemas/sections/discovery-schema.json +0 -80
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +0 -82
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +0 -70
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +0 -567
- package/templates/skills/business-analyse/schemas/sections/validation-schema.json +0 -93
- package/templates/skills/business-analyse/schemas/shared/common-defs.json +0 -227
- package/templates/skills/business-analyse/steps/step-00-init.md +0 -463
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +0 -901
- package/templates/skills/business-analyse/steps/step-02-structure.md +0 -315
- package/templates/skills/business-analyse/steps/step-03-specify.md +0 -986
- package/templates/skills/business-analyse/steps/step-04-consolidate.md +0 -928
- package/templates/skills/business-analyse/templates/tpl-frd.md +0 -168
- package/templates/skills/business-analyse/templates/tpl-handoff.md +0 -189
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +0 -59
- package/templates/skills/business-analyse/templates-frd.md +0 -476
- package/templates/skills/business-analyse/templates-react.md +0 -574
- package/templates/skills/business-analyse-design/SKILL.md +0 -101
- package/templates/skills/business-analyse-design/references/screens-post-check.md +0 -221
- package/templates/skills/business-analyse-design/references/screens-type-mapping.md +0 -138
- package/templates/skills/business-analyse-design/references/smartcomponents-templates.md +0 -225
- package/templates/skills/business-analyse-design/references/spec-auto-inference.md +0 -117
- package/templates/skills/business-analyse-design/steps/step-01-screens.md +0 -108
- package/templates/skills/business-analyse-design/steps/step-02-wireframes.md +0 -155
- package/templates/skills/business-analyse-design/steps/step-03-navigation.md +0 -189
- package/templates/skills/business-analyse-develop/SKILL.md +0 -250
- package/templates/skills/business-analyse-develop/references/category-completeness.md +0 -326
- package/templates/skills/business-analyse-develop/references/category-rules.md +0 -109
- package/templates/skills/business-analyse-develop/references/compact-loop.md +0 -478
- package/templates/skills/business-analyse-develop/references/handoff-quality-gate.md +0 -132
- package/templates/skills/business-analyse-develop/references/init-resume-recovery.md +0 -183
- package/templates/skills/business-analyse-develop/references/module-transition.md +0 -246
- package/templates/skills/business-analyse-develop/references/multi-module-queue.md +0 -171
- package/templates/skills/business-analyse-develop/references/parallel-execution.md +0 -246
- package/templates/skills/business-analyse-develop/references/prd-v3-transformation.md +0 -326
- package/templates/skills/business-analyse-develop/references/quality-gates.md +0 -160
- package/templates/skills/business-analyse-develop/references/report-reconciliation.md +0 -140
- package/templates/skills/business-analyse-develop/references/report-template.md +0 -142
- package/templates/skills/business-analyse-develop/references/section-splitting.md +0 -439
- package/templates/skills/business-analyse-develop/references/task-transform-legacy.md +0 -256
- package/templates/skills/business-analyse-develop/references/team-orchestration.md +0 -547
- package/templates/skills/business-analyse-develop/steps/step-00-init.md +0 -242
- package/templates/skills/business-analyse-develop/steps/step-01-task.md +0 -182
- package/templates/skills/business-analyse-develop/steps/step-01-v4-execute.md +0 -139
- package/templates/skills/business-analyse-develop/steps/step-02-execute.md +0 -216
- package/templates/skills/business-analyse-develop/steps/step-02-v4-verify.md +0 -176
- package/templates/skills/business-analyse-develop/steps/step-03-commit.md +0 -107
- package/templates/skills/business-analyse-develop/steps/step-04-check.md +0 -419
- package/templates/skills/business-analyse-develop/steps/step-05-report.md +0 -137
- package/templates/skills/business-analyse-handoff/SKILL.md +0 -101
- package/templates/skills/business-analyse-handoff/references/acceptance-criteria.md +0 -318
- package/templates/skills/business-analyse-handoff/references/agent-handoff-transform-prompt.md +0 -211
- package/templates/skills/business-analyse-handoff/references/context-isolation-pattern.md +0 -47
- package/templates/skills/business-analyse-handoff/references/entity-canonicalization.md +0 -158
- package/templates/skills/business-analyse-handoff/references/entity-domain-mapping.md +0 -115
- package/templates/skills/business-analyse-handoff/references/handoff-file-inventory.md +0 -49
- package/templates/skills/business-analyse-handoff/references/handoff-file-templates.md +0 -197
- package/templates/skills/business-analyse-handoff/references/handoff-global-validation.md +0 -142
- package/templates/skills/business-analyse-handoff/references/handoff-mappings.md +0 -108
- package/templates/skills/business-analyse-handoff/references/handoff-seeddata-generation.md +0 -314
- package/templates/skills/business-analyse-handoff/references/prd-generation.md +0 -362
- package/templates/skills/business-analyse-handoff/references/prd-validation-checks.md +0 -125
- package/templates/skills/business-analyse-handoff/references/project-index-update.md +0 -98
- package/templates/skills/business-analyse-handoff/references/readiness-scoring.md +0 -95
- package/templates/skills/business-analyse-handoff/schemas/handoff-schema.json +0 -95
- package/templates/skills/business-analyse-handoff/steps/step-00-validate.md +0 -158
- package/templates/skills/business-analyse-handoff/steps/step-01-transform.md +0 -85
- package/templates/skills/business-analyse-handoff/steps/step-02-export.md +0 -169
- package/templates/skills/business-analyse-handoff/templates/tpl-progress.md +0 -172
- package/templates/skills/business-analyse-html/SKILL.md +0 -89
- package/templates/skills/business-analyse-html/html/ba-interactive.html +0 -6134
- package/templates/skills/business-analyse-html/html/build-html.js +0 -137
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-context.html +0 -34
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-scope.html +0 -27
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-stakeholders.html +0 -55
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-success.html +0 -34
- package/templates/skills/business-analyse-html/html/src/partials/consol-datamodel.html +0 -8
- package/templates/skills/business-analyse-html/html/src/partials/consol-flows.html +0 -29
- package/templates/skills/business-analyse-html/html/src/partials/consol-interactions.html +0 -8
- package/templates/skills/business-analyse-html/html/src/partials/consol-permissions.html +0 -8
- package/templates/skills/business-analyse-html/html/src/partials/decomp-dependencies.html +0 -38
- package/templates/skills/business-analyse-html/html/src/partials/decomp-modules.html +0 -43
- package/templates/skills/business-analyse-html/html/src/partials/handoff-summary.html +0 -24
- package/templates/skills/business-analyse-html/html/src/partials/module-spec-container.html +0 -4
- package/templates/skills/business-analyse-html/html/src/scripts/01-data-init.js +0 -313
- package/templates/skills/business-analyse-html/html/src/scripts/02-navigation.js +0 -316
- package/templates/skills/business-analyse-html/html/src/scripts/03-render-cadrage.js +0 -162
- package/templates/skills/business-analyse-html/html/src/scripts/04-render-modules.js +0 -203
- package/templates/skills/business-analyse-html/html/src/scripts/05-render-specs.js +0 -866
- package/templates/skills/business-analyse-html/html/src/scripts/06-render-consolidation.js +0 -196
- package/templates/skills/business-analyse-html/html/src/scripts/06-render-mockups.js +0 -564
- package/templates/skills/business-analyse-html/html/src/scripts/07-render-handoff.js +0 -108
- package/templates/skills/business-analyse-html/html/src/scripts/08-editing.js +0 -137
- package/templates/skills/business-analyse-html/html/src/scripts/09-export.js +0 -138
- package/templates/skills/business-analyse-html/html/src/scripts/10-comments.js +0 -221
- package/templates/skills/business-analyse-html/html/src/scripts/11-review-panel.js +0 -167
- package/templates/skills/business-analyse-html/html/src/scripts/12-render-diagrams.js +0 -162
- package/templates/skills/business-analyse-html/html/src/styles/01-variables.css +0 -38
- package/templates/skills/business-analyse-html/html/src/styles/02-layout.css +0 -216
- package/templates/skills/business-analyse-html/html/src/styles/03-navigation.css +0 -120
- package/templates/skills/business-analyse-html/html/src/styles/04-cards.css +0 -194
- package/templates/skills/business-analyse-html/html/src/styles/05-modules.css +0 -518
- package/templates/skills/business-analyse-html/html/src/styles/06-wireframes.css +0 -263
- package/templates/skills/business-analyse-html/html/src/styles/07-comments.css +0 -184
- package/templates/skills/business-analyse-html/html/src/styles/08-review-panel.css +0 -241
- package/templates/skills/business-analyse-html/html/src/styles/09-mockups-html.css +0 -220
- package/templates/skills/business-analyse-html/html/src/styles/10-diagrams.css +0 -73
- package/templates/skills/business-analyse-html/html/src/template.html +0 -449
- package/templates/skills/business-analyse-html/references/02-embedded-artifacts-building.md +0 -144
- package/templates/skills/business-analyse-html/references/02-feature-data-building.md +0 -143
- package/templates/skills/business-analyse-html/references/02-mapping-tables.md +0 -442
- package/templates/skills/business-analyse-html/references/02-normalization-helpers.md +0 -139
- package/templates/skills/business-analyse-html/references/02-screen-format-detection.md +0 -283
- package/templates/skills/business-analyse-html/references/02-self-check-validation.md +0 -199
- package/templates/skills/business-analyse-html/references/data-build.md +0 -215
- package/templates/skills/business-analyse-html/references/data-mapping.md +0 -452
- package/templates/skills/business-analyse-html/references/output-modes.md +0 -119
- package/templates/skills/business-analyse-html/references/wireframe-svg-style-guide.md +0 -335
- package/templates/skills/business-analyse-html/steps/step-01-collect.md +0 -140
- package/templates/skills/business-analyse-html/steps/step-02-build-data.md +0 -76
- package/templates/skills/business-analyse-html/steps/step-03-render.md +0 -95
- package/templates/skills/business-analyse-html/steps/step-04-verify.md +0 -224
- package/templates/skills/business-analyse-quick/SKILL.md +0 -807
- package/templates/skills/business-analyse-quick/references/domain-heuristics.md +0 -172
- package/templates/skills/business-analyse-quick/references/prd-schema.md +0 -268
- package/templates/skills/business-analyse-review/SKILL.md +0 -71
- package/templates/skills/business-analyse-review/references/review-data-mapping.md +0 -367
- package/templates/skills/business-analyse-review/steps/step-00-init.md +0 -111
- package/templates/skills/business-analyse-review/steps/step-01-apply.md +0 -304
- package/templates/skills/business-analyse-status/SKILL.md +0 -136
- package/templates/skills/cc-agent/SKILL.md +0 -129
- package/templates/skills/cc-agent/references/agent-behavior-patterns.md +0 -95
- package/templates/skills/cc-agent/references/agent-frontmatter.md +0 -213
- package/templates/skills/cc-agent/references/permission-modes.md +0 -102
- package/templates/skills/cc-agent/references/tools-reference.md +0 -144
- package/templates/skills/cc-agent/steps/step-00-init.md +0 -134
- package/templates/skills/cc-agent/steps/step-01-design.md +0 -186
- package/templates/skills/cc-agent/steps/step-02-generate.md +0 -131
- package/templates/skills/cc-agent/steps/step-03-validate.md +0 -130
- package/templates/skills/cc-agent/templates/agent-categorized.md +0 -67
- package/templates/skills/cc-agent/templates/agent-standalone.md +0 -56
- package/templates/skills/cc-agent/templates/agent-with-skills.md +0 -94
- package/templates/skills/cc-audit/SKILL.md +0 -108
- package/templates/skills/cc-audit/references/agent-checklist.md +0 -91
- package/templates/skills/cc-audit/references/hook-checklist.md +0 -110
- package/templates/skills/cc-audit/references/skill-checklist.md +0 -70
- package/templates/skills/cc-audit/steps/step-00-init.md +0 -98
- package/templates/skills/cc-audit/steps/step-01-scan.md +0 -142
- package/templates/skills/cc-audit/steps/step-02-analyze.md +0 -158
- package/templates/skills/cc-audit/steps/step-03-report.md +0 -142
- package/templates/skills/cc-skill/SKILL.md +0 -134
- package/templates/skills/cc-skill/references/best-practices.md +0 -167
- package/templates/skills/cc-skill/references/frontmatter-reference.md +0 -182
- package/templates/skills/cc-skill/references/skill-patterns.md +0 -199
- package/templates/skills/cc-skill/steps/step-00-init.md +0 -119
- package/templates/skills/cc-skill/steps/step-01-design.md +0 -199
- package/templates/skills/cc-skill/steps/step-02-generate.md +0 -145
- package/templates/skills/cc-skill/steps/step-03-steps.md +0 -151
- package/templates/skills/cc-skill/steps/step-04-validate.md +0 -124
- package/templates/skills/cc-skill/templates/skill-forked.md +0 -85
- package/templates/skills/cc-skill/templates/skill-progressive.md +0 -102
- package/templates/skills/cc-skill/templates/skill-simple.md +0 -75
- package/templates/skills/cc-skill/templates/step-template.md +0 -82
- package/templates/skills/controller/SKILL.md +0 -162
- package/templates/skills/controller/postman-templates.md +0 -614
- package/templates/skills/controller/references/controller-code-templates.md +0 -162
- package/templates/skills/controller/references/mcp-scaffold-workflow.md +0 -237
- package/templates/skills/controller/references/permission-sync-templates.md +0 -149
- package/templates/skills/controller/steps/step-00-init.md +0 -193
- package/templates/skills/controller/steps/step-01-analyze.md +0 -152
- package/templates/skills/controller/steps/step-02-plan.md +0 -176
- package/templates/skills/controller/steps/step-03-generate.md +0 -189
- package/templates/skills/controller/steps/step-04-perms.md +0 -80
- package/templates/skills/controller/steps/step-05-validate.md +0 -107
- package/templates/skills/controller/templates.md +0 -1556
- package/templates/skills/debug/SKILL.md +0 -70
- package/templates/skills/debug/references/team-protocol.md +0 -232
- package/templates/skills/debug/steps/step-00-init.md +0 -57
- package/templates/skills/debug/steps/step-01-analyze.md +0 -219
- package/templates/skills/debug/steps/step-02-resolve.md +0 -85
- package/templates/skills/efcore/references/database-operations.md +0 -66
- package/templates/skills/efcore/references/reset-operations.md +0 -81
- package/templates/skills/efcore/references/seed-methods.md +0 -86
- package/templates/skills/efcore/references/shared-init-functions.md +0 -250
- package/templates/skills/efcore/references/sql-objects-injection.md +0 -19
- package/templates/skills/efcore/references/troubleshooting.md +0 -81
- package/templates/skills/efcore/references/zero-downtime-patterns.md +0 -229
- package/templates/skills/explore/SKILL.md +0 -98
- package/templates/skills/feature-full/SKILL.md +0 -111
- package/templates/skills/feature-full/steps/step-00-init.md +0 -57
- package/templates/skills/feature-full/steps/step-01-implementation.md +0 -133
- package/templates/skills/gitflow/phases/abort.md +0 -189
- package/templates/skills/gitflow/phases/cleanup.md +0 -264
- package/templates/skills/gitflow/phases/status.md +0 -192
- package/templates/skills/gitflow/references/commit-message-generation.md +0 -58
- package/templates/skills/gitflow/references/commit-migration-validation.md +0 -53
- package/templates/skills/gitflow/references/finish-cleanup.md +0 -55
- package/templates/skills/gitflow/references/finish-version-bumping.md +0 -45
- package/templates/skills/gitflow/references/init-config-template.md +0 -143
- package/templates/skills/gitflow/references/init-environment-detection.md +0 -41
- package/templates/skills/gitflow/references/init-name-normalization.md +0 -118
- package/templates/skills/gitflow/references/init-questions.md +0 -193
- package/templates/skills/gitflow/references/init-structure-creation.md +0 -75
- package/templates/skills/gitflow/references/init-version-detection.md +0 -23
- package/templates/skills/gitflow/references/init-workspace-detection.md +0 -43
- package/templates/skills/gitflow/references/merge-ci-status.md +0 -36
- package/templates/skills/gitflow/references/merge-execution.md +0 -62
- package/templates/skills/gitflow/references/merge-pr-context.md +0 -76
- package/templates/skills/gitflow/references/plan-template.md +0 -69
- package/templates/skills/gitflow/references/pr-build-checks.md +0 -60
- package/templates/skills/gitflow/references/pr-generation.md +0 -58
- package/templates/skills/gitflow/references/start-branch-normalization.md +0 -28
- package/templates/skills/gitflow/references/start-efcore-preflight.md +0 -70
- package/templates/skills/gitflow/references/start-local-config.md +0 -113
- package/templates/skills/gitflow/references/start-worktree-creation.md +0 -50
- package/templates/skills/gitflow/references/sync-push-verify.md +0 -44
- package/templates/skills/gitflow/references/sync-rebase-conflicts.md +0 -38
- package/templates/skills/gitflow/steps/step-commit.md +0 -199
- package/templates/skills/gitflow/steps/step-finish.md +0 -147
- package/templates/skills/gitflow/steps/step-init.md +0 -230
- package/templates/skills/gitflow/steps/step-merge.md +0 -85
- package/templates/skills/gitflow/steps/step-plan.md +0 -151
- package/templates/skills/gitflow/steps/step-pr.md +0 -247
- package/templates/skills/gitflow/steps/step-start.md +0 -195
- package/templates/skills/gitflow/steps/step-sync.md +0 -161
- package/templates/skills/gitflow/templates/config.json +0 -72
- package/templates/skills/mcp/SKILL.md +0 -62
- package/templates/skills/mcp/steps/step-01-healthcheck.md +0 -108
- package/templates/skills/mcp/steps/step-02-tools.md +0 -73
- package/templates/skills/migrate/SKILL.md +0 -312
- package/templates/skills/migrate/references/v3.34-to-v3.46.md +0 -289
- package/templates/skills/notification/SKILL.md +0 -173
- package/templates/skills/refactor/SKILL.md +0 -56
- package/templates/skills/refactor/steps/step-01-discover.md +0 -60
- package/templates/skills/refactor/steps/step-02-execute.md +0 -67
- package/templates/skills/review-code/SKILL.md +0 -95
- package/templates/skills/review-code/references/clean-code-principles.md +0 -292
- package/templates/skills/review-code/references/code-quality-metrics.md +0 -174
- package/templates/skills/review-code/references/feedback-patterns.md +0 -149
- package/templates/skills/review-code/references/owasp-api-top10.md +0 -243
- package/templates/skills/review-code/references/security-checklist.md +0 -212
- package/templates/skills/review-code/references/smartstack-conventions.md +0 -568
- package/templates/skills/review-code/steps/step-01-smartstack.md +0 -96
- package/templates/skills/review-code/steps/step-02-detailed-review.md +0 -80
- package/templates/skills/review-code/steps/step-03-react.md +0 -44
- package/templates/skills/sketch/SKILL.md +0 -34
- package/templates/skills/ui-components/accessibility.md +0 -170
- package/templates/skills/ui-components/patterns/dashboard-chart.md +0 -327
- package/templates/skills/ui-components/patterns/data-table.md +0 -175
- package/templates/skills/ui-components/patterns/entity-card.md +0 -77
- package/templates/skills/ui-components/patterns/grid-layout.md +0 -91
- package/templates/skills/ui-components/patterns/kanban.md +0 -43
- package/templates/skills/ui-components/references/component-catalog.md +0 -82
- package/templates/skills/ui-components/responsive-guidelines.md +0 -278
- package/templates/skills/ui-components/style-guide.md +0 -113
- package/templates/skills/validate/SKILL.md +0 -181
- package/templates/skills/workflow/SKILL.md +0 -196
- package/templates/skills/workflow/steps/step-00-init.md +0 -57
- package/templates/skills/workflow/steps/step-01-implementation.md +0 -84
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ba-audit-cross-ref-code
|
|
3
|
+
description: >
|
|
4
|
+
Cross-references the BA data model of a module against the EXISTING project
|
|
5
|
+
code — detects entities that extend an existing class, reference a Core/existing
|
|
6
|
+
entity as FK, or duplicate one (CODE-001..004). Reads the module's `entité.md`,
|
|
7
|
+
scans `src/*.Domain/**/*.cs`, writes a verdict to `_audit/cross-ref-code.md`.
|
|
8
|
+
Run after `/ba-create-data-model` or as part of pre-dev readiness.
|
|
9
|
+
allowed-tools: [Read, Write, Glob, Grep, Bash] # Bash: scan existing .cs code files
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ba-audit-cross-ref-code — BA data model × existing code cross-reference
|
|
13
|
+
|
|
14
|
+
You cross-reference the conceptual data model of one module (its `entité.md`)
|
|
15
|
+
against the **existing source code** of the project, then write a verdict file.
|
|
16
|
+
The rules are unchanged from the SmartStack convention; only the I/O is
|
|
17
|
+
file-based and the code scan now uses Grep/Bash on the project tree.
|
|
18
|
+
|
|
19
|
+
## File model — how to audit
|
|
20
|
+
|
|
21
|
+
1. **Read the BA state**: `Glob .smartstack/ba/**/index.md` to locate the module.
|
|
22
|
+
Read the module's `entité.md` (authoritative at Module level) for its entities
|
|
23
|
+
(`### ENT-NNN — <Name>`), their **table prefix** and their **Relations** (FK
|
|
24
|
+
targets). Read sibling-module `entité.md` files only to know which FK targets
|
|
25
|
+
are already declared in BA (vs. expected from code).
|
|
26
|
+
2. **Scan the existing code**: the audited project is the working directory. Find
|
|
27
|
+
domain classes with `Glob src/*.Domain/**/*.cs` (also try `**/Entities/**/*.cs`,
|
|
28
|
+
`**/Domain/**/*.cs`). Use Grep for `class <Name>` and `ToTable("<prefix>` to
|
|
29
|
+
resolve each rule. A `Bash` ripgrep/dotnet probe is allowed when a broader sweep
|
|
30
|
+
is faster — keep the findings here, not the raw scan.
|
|
31
|
+
3. **Apply** the rules CODE-001..004 (below) to the module's entities.
|
|
32
|
+
4. **Write** the verdict to the module's `_audit/cross-ref-code.md`:
|
|
33
|
+
`.smartstack/ba/<APP>/<MODULE>/_audit/cross-ref-code.md` (use the audit-verdict
|
|
34
|
+
skeleton from `_workflow/doc-templates.md`). Then print a 3–6 line business
|
|
35
|
+
summary in chat.
|
|
36
|
+
|
|
37
|
+
There is no database, no `[ACTION]` envelope, no i18n label codes — the `.md`
|
|
38
|
+
verdict IS the record. The verdict header (`0 err` = pass) is what a downstream
|
|
39
|
+
gate reads.
|
|
40
|
+
|
|
41
|
+
## Pre-check — greenfield project
|
|
42
|
+
|
|
43
|
+
Before applying any rule, check whether the project has existing domain code:
|
|
44
|
+
|
|
45
|
+
- `Glob src/*.Domain/**/*.cs` (then `**/Entities/**/*.cs`, `**/Domain/**/*.cs`).
|
|
46
|
+
- If **no** entity files are found, this is a greenfield project: there is nothing
|
|
47
|
+
to cross-reference. Emit a single `ok` finding (CODE-001 — no existing code, the
|
|
48
|
+
audit passes trivially) and skip CODE-002..004. Say so in the chat summary.
|
|
49
|
+
|
|
50
|
+
## Scope
|
|
51
|
+
|
|
52
|
+
- **Module scope** (the only scope): audit one module — apply CODE-001..004 to
|
|
53
|
+
every entity in that module's `entité.md`. Don't scan sibling-module BA models
|
|
54
|
+
except to know which FK targets are already BA-declared.
|
|
55
|
+
- The verdict file lives at the audited module's `_audit/cross-ref-code.md`.
|
|
56
|
+
|
|
57
|
+
## Rules
|
|
58
|
+
|
|
59
|
+
### CODE-001 — Entity already exists in code
|
|
60
|
+
- **Severity**: `warn` (a BA entity name matches an existing code class), else `ok`.
|
|
61
|
+
- Check: for each BA data model entity, Grep for `class {EntityName}` in the `.cs`
|
|
62
|
+
files. If found, the BA entity is an **extension** of existing code, not a brand
|
|
63
|
+
new entity.
|
|
64
|
+
- `warn`: state that **`<EntityName>`** already exists at `<path>`. Why it matters:
|
|
65
|
+
the development phase should EXTEND this entity (add properties) rather than
|
|
66
|
+
create a duplicate one — the data model must mark it as an extension.
|
|
67
|
+
- → Fix: `/ba-create-data-model` (declare `<EntityName>` as an extension of the
|
|
68
|
+
existing class).
|
|
69
|
+
|
|
70
|
+
### CODE-002 — Entity references existing entity as FK
|
|
71
|
+
- **Severity**: `ok` (informational — confirms the FK target exists in code).
|
|
72
|
+
- Check: for each BA relationship whose FK target points to an entity **not** in
|
|
73
|
+
the current module's BA data model, Grep for `class {targetName}` in the `.cs`
|
|
74
|
+
files. If found, the FK target is a valid reference into existing/Core code.
|
|
75
|
+
- `ok`: note **`<EntityName>`** → **`<targetName>`** resolves to the existing class
|
|
76
|
+
at `<path>` (a legitimate cross-reference, no action needed).
|
|
77
|
+
|
|
78
|
+
### CODE-003 — FK target not found in BA or code
|
|
79
|
+
- **Severity**: `err` (the FK target entity is not found anywhere).
|
|
80
|
+
- Check: for each BA relationship, if the FK target is **not** in the module's BA
|
|
81
|
+
data model **and not** found via Grep in the `.cs` files, the FK is broken.
|
|
82
|
+
- `err`: state that the relationship target **`<targetName>`** (referenced by
|
|
83
|
+
**`<EntityName>`**) is not found in the BA data model or in existing code. Why
|
|
84
|
+
it matters: a dangling FK blocks entity/migration generation downstream.
|
|
85
|
+
- → Fix: `/ba-create-data-model` (either add the target entity to the data model
|
|
86
|
+
or correct the target name).
|
|
87
|
+
|
|
88
|
+
### CODE-004 — Duplicate table prefix
|
|
89
|
+
- **Severity**: `warn` (a BA entity table prefix collides with existing code), else `ok`.
|
|
90
|
+
- Check: for each BA entity that declares a table prefix, Grep for
|
|
91
|
+
`ToTable("{prefix}` in the `.cs` files (EF Core configurations). If found, there
|
|
92
|
+
is a table-name collision risk.
|
|
93
|
+
- `warn`: state that the prefix **`<prefix>`** (used by **`<EntityName>`**) is
|
|
94
|
+
already used in `<conflictFile>`. Why it matters: two entities mapping to the
|
|
95
|
+
same table prefix collide at the database level.
|
|
96
|
+
- → Fix: `/ba-create-data-model` (choose a distinct table prefix for
|
|
97
|
+
`<EntityName>`).
|
|
98
|
+
|
|
99
|
+
## Output
|
|
100
|
+
|
|
101
|
+
Write `_audit/cross-ref-code.md` per the doc-templates skeleton:
|
|
102
|
+
- Header `# Audit cross-ref-code — <APP> / <MODULE>` + `_<date> · Verdict :
|
|
103
|
+
<emoji> N warn · M err · K ok_`.
|
|
104
|
+
- `## ✅ Conforme`, `## ⚠️ Avertissements`, `## ❌ Bloquants` sections; one bullet
|
|
105
|
+
per finding. For `warn`/`err`: what's wrong (offending entity/prefix codes
|
|
106
|
+
**bold**), why it matters, and a `→` fix naming `/ba-create-data-model`.
|
|
107
|
+
- Re-Write the whole file each run (overwrite — it's a fresh verdict).
|
|
108
|
+
|
|
109
|
+
Then a 3–6 line chat summary in the user's language — business terms, not rule
|
|
110
|
+
codes. State whether the data model lines up with the existing code (extensions
|
|
111
|
+
correctly flagged, FK targets resolved) and call out any `err` (a broken FK that
|
|
112
|
+
must be fixed before development). If the project is greenfield (no existing
|
|
113
|
+
code), say so and that the audit passes trivially.
|
|
114
|
+
|
|
115
|
+
## Used by the readiness orchestrator
|
|
116
|
+
|
|
117
|
+
`/ba-audit-pre-dev` runs every dimension and aggregates the verdicts. When invoked
|
|
118
|
+
by it, still write `_audit/cross-ref-code.md` as usual — the orchestrator reads
|
|
119
|
+
these files.
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ba-audit-data-model
|
|
3
|
+
description: >
|
|
4
|
+
Audits the conceptual data model (MCD) of a `.smartstack/ba/` module — attributes,
|
|
5
|
+
FK integrity, cycles, naming, orphans, traceability, indexes, implicit FKs,
|
|
6
|
+
unreferenced lookups, classification conventions, code-pattern numbering
|
|
7
|
+
(DM-001..017). Reads the module's
|
|
8
|
+
`entité.md` + `use-case.md` + `règles-métier.md`, writes a verdict to
|
|
9
|
+
`<MODULE>/_audit/entité.md`. Run after `/ba-create-data-model` or as part of
|
|
10
|
+
pre-dev readiness.
|
|
11
|
+
allowed-tools: [Read, Write, Glob, Grep]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# ba-audit-data-model — Data Model (MCD) audit
|
|
15
|
+
|
|
16
|
+
You audit the conceptual data model of a `.smartstack/ba/` module against the
|
|
17
|
+
rules below and write a verdict file. The rules are unchanged from the SmartStack
|
|
18
|
+
convention; only the I/O is file-based.
|
|
19
|
+
|
|
20
|
+
## File model — how to audit
|
|
21
|
+
|
|
22
|
+
1. **Read state**: `Glob .smartstack/ba/**/index.md` to locate the module folder.
|
|
23
|
+
Read the module's authoritative `entité.md` (anchor `<!-- ba:entité … -->`):
|
|
24
|
+
each `### ENT-NNN — <name>` heading carries the table prefix, the
|
|
25
|
+
**Traçabilité** line, the attribute table (Attribut / Type / Contraintes /
|
|
26
|
+
Calculé), the **Relations** line and the **Index** line.
|
|
27
|
+
2. **Read upstream for traceability**: Read the module's `use-case.md` and
|
|
28
|
+
`règles-métier.md` (and Grep section-level `use-case.md` under the module).
|
|
29
|
+
Use them to evaluate DM-010 (rule → entity ref), DM-011 (entity is traced by
|
|
30
|
+
a UC/BR/resource) and DM-013 (cross-module FK documentation).
|
|
31
|
+
3. **Apply** the rules DM-001..017 (below) to every entity in the module.
|
|
32
|
+
4. **Write** the verdict to `.smartstack/ba/<APP>/<MODULE>/_audit/entité.md` (keep
|
|
33
|
+
the accented filename — use the audit-verdict skeleton from
|
|
34
|
+
`_workflow/doc-templates.md`). Then print a 3–6 line business summary in chat.
|
|
35
|
+
|
|
36
|
+
There is no database, no `[ACTION]` envelope, no i18n label codes — the `.md`
|
|
37
|
+
verdict IS the record. The verdict header (`0 err` = pass) is what a downstream
|
|
38
|
+
gate reads.
|
|
39
|
+
|
|
40
|
+
## Scope
|
|
41
|
+
|
|
42
|
+
- **Module scope** (default): the MCD is authoritative at the Module level, so a
|
|
43
|
+
data-model audit always targets one module. Apply DM-001..017 to every entity
|
|
44
|
+
declared in that module's `entité.md`. The verdict file lives at the audited
|
|
45
|
+
module's `_audit/entité.md`.
|
|
46
|
+
- If asked to audit an application, run the module-scoped audit once per module
|
|
47
|
+
under it (one verdict file each); don't merge them into a single report.
|
|
48
|
+
|
|
49
|
+
## Rules
|
|
50
|
+
|
|
51
|
+
### DM-001 — At least 1 entity exists per module
|
|
52
|
+
- **Severity**: err (if 0), ok (if >= 1)
|
|
53
|
+
- **ok**: the module declares ≥ 1 entity (state the count).
|
|
54
|
+
- **err**: the module has 0 entities — it cannot expose any data.
|
|
55
|
+
- Fix: `/ba-create-data-model`.
|
|
56
|
+
|
|
57
|
+
### DM-002 — All entities have at least 1 attribute
|
|
58
|
+
- **Severity**: err (if entities without attributes), ok (if all have)
|
|
59
|
+
- **err**: list the entities whose attribute table is empty.
|
|
60
|
+
- Fix: `/ba-create-data-model`.
|
|
61
|
+
|
|
62
|
+
### DM-003 — String attributes have maxLength defined
|
|
63
|
+
- **Severity**: err (if missing), ok (if all set)
|
|
64
|
+
- Check: for each attribute whose dataType is `string`, a maxLength must be set
|
|
65
|
+
and > 0.
|
|
66
|
+
- **err**: list the offending `entity.attr` pairs.
|
|
67
|
+
- Fix: `/ba-create-data-model`.
|
|
68
|
+
|
|
69
|
+
### DM-004 — Relationship targets exist in the data model
|
|
70
|
+
- **Severity**: err (if broken FKs), ok (if all valid)
|
|
71
|
+
- Check: each relationship's target entity code must match an existing entity
|
|
72
|
+
code in the MCD.
|
|
73
|
+
- **err**: list the broken references.
|
|
74
|
+
- Fix: `/ba-create-data-model`.
|
|
75
|
+
|
|
76
|
+
### DM-005 — No circular relationship chains
|
|
77
|
+
- **Severity**: warn (if cycles found), ok (if none)
|
|
78
|
+
- Check: follow the relationship graph A→B→C→…→A. Self-references are OK (skip
|
|
79
|
+
them).
|
|
80
|
+
- **warn**: list the entities in each cycle.
|
|
81
|
+
- Fix: `/ba-create-data-model`.
|
|
82
|
+
|
|
83
|
+
### DM-006 — Entity names follow PascalCase convention
|
|
84
|
+
- **Severity**: warn (if violations), ok (if all comply)
|
|
85
|
+
- Pattern: `/^[A-Z][A-Za-z0-9]*$/` (starts with uppercase, no underscores/hyphens).
|
|
86
|
+
- **warn**: list the non-conforming entity names.
|
|
87
|
+
- Fix: `/ba-create-data-model`.
|
|
88
|
+
|
|
89
|
+
### DM-007 — Attribute names follow camelCase convention
|
|
90
|
+
- **Severity**: warn (if violations), ok (if all comply)
|
|
91
|
+
- Pattern: `/^[a-z][A-Za-z0-9]*$/` (starts with lowercase).
|
|
92
|
+
- **warn**: list the non-conforming attributes.
|
|
93
|
+
- Fix: `/ba-create-data-model`.
|
|
94
|
+
|
|
95
|
+
### DM-008 — All entities have a valid table prefix
|
|
96
|
+
- **Severity**: warn (if missing or invalid), ok (if all valid)
|
|
97
|
+
- Pattern: `/^[a-z]{2,5}_$/` (2-5 lowercase letters + underscore).
|
|
98
|
+
- **warn**: list the entities with a missing or invalid prefix.
|
|
99
|
+
- Fix: `/ba-create-data-model`.
|
|
100
|
+
|
|
101
|
+
### DM-009 — No unjustified isolated entities (no relationships at all)
|
|
102
|
+
- **Severity**: warn (if unjustified orphans found), ok (if none)
|
|
103
|
+
- Check: entity has no outgoing AND no incoming relationships AND classification
|
|
104
|
+
is neither `lookup` NOR `technical` AND its `entité.md` heading block carries
|
|
105
|
+
no `Isolation: by-design — <reason>` line with a non-empty reason.
|
|
106
|
+
- Rationale: most isolated entities are modeling mistakes, but two cases are
|
|
107
|
+
legitimately standalone and exempt:
|
|
108
|
+
- classification `lookup` (admin reference table, referenced by `code`/FK) and
|
|
109
|
+
`technical` (sequence/counter/outbox allocator — isolated by nature);
|
|
110
|
+
- any entity carrying an `Isolation: by-design — <reason>` line (reason
|
|
111
|
+
non-empty) — the override is then captured AND justified in the model,
|
|
112
|
+
instead of being waved away in chat at audit time.
|
|
113
|
+
- An entity that is isolated, is neither `lookup`/`technical`, and has the marker
|
|
114
|
+
but with an EMPTY reason → still **warn** (justify it or link it).
|
|
115
|
+
- **warn**: list the isolated entity names (note whether the marker is missing or empty).
|
|
116
|
+
- Fix: `/ba-create-data-model` — link it, reclassify it `technical`, or add an
|
|
117
|
+
`Isolation: by-design — <reason>` line.
|
|
118
|
+
|
|
119
|
+
### DM-010 — Every entity referenced by a business rule exists in the MCD
|
|
120
|
+
- **Severity**: warn (if unknown entities referenced), ok (if all valid)
|
|
121
|
+
- Symmetric inverse of the legacy BR-005: at audit-rules time the data model is
|
|
122
|
+
still BLOCKED, so the check has been pulled here where the entity catalogue
|
|
123
|
+
is authoritative. Direction now: rule → entity ref → MCD lookup.
|
|
124
|
+
- Check: for each business rule expression, extract PascalCase tokens (skip
|
|
125
|
+
primitives `DateTime`, `DateOnly`, `TimeOnly`, `String`, `Boolean`). Each
|
|
126
|
+
remaining token must match an entity code or name in the current MCD.
|
|
127
|
+
- Skip when no business rules exist in scope (rules phase still EMPTY).
|
|
128
|
+
- **warn**: list the rule expressions that reference unknown entities.
|
|
129
|
+
- Fix: `/ba-create-data-model` (or fix the rule via `/ba-create-business-rules`).
|
|
130
|
+
|
|
131
|
+
### DM-011 — Every entity must be referenced by ≥1 use case, business rule, or resource
|
|
132
|
+
- **Severity**: warn (if untraced entities found), ok (if all entities traceable)
|
|
133
|
+
- Reciprocal direction of DM-010: prevents hallucinated entities (entities
|
|
134
|
+
proposed by `/ba-create-data-model` from "domain knowledge" or web search,
|
|
135
|
+
with no anchor in the upstream phases). Anti-hallucination guard.
|
|
136
|
+
- Check: for each entity `e` in the current MCD, scan upstream phases for ≥1
|
|
137
|
+
verbatim reference. Tokens to match : `[e.name, e.code]` (NOT `e.tablePrefix`
|
|
138
|
+
— collisions). Junctions inherit traceability from their relationships:
|
|
139
|
+
if `e` has relationships whose target entity codes are themselves
|
|
140
|
+
traced, `e` is traced by inheritance.
|
|
141
|
+
- Sources to scan, in order :
|
|
142
|
+
- use case main flow + alternative flow steps + exception flow steps
|
|
143
|
+
+ preconditions + postconditions (PascalCase token match,
|
|
144
|
+
case-insensitive)
|
|
145
|
+
- business rule expression (PascalCase tokens, skip primitives — same
|
|
146
|
+
skip-list as DM-010)
|
|
147
|
+
- business rule resource code (string equality with `e.code` OR `e.name`)
|
|
148
|
+
- Resource codes from the menu tree (esp. `SmartListView`)
|
|
149
|
+
- Dual parsing of the entity **Traçabilité** line :
|
|
150
|
+
- If it carries structured references (`{ references: [...] }`) — use the array
|
|
151
|
+
directly.
|
|
152
|
+
- If it is prose — extract via regex `/(UC|BR|RES)-[A-Z0-9_-]+/g`.
|
|
153
|
+
- Skip when the module has no use cases, no rules and no resources (upstream
|
|
154
|
+
phases empty — nothing to match against, default `ok`).
|
|
155
|
+
- **ok**: state the count of traced entities.
|
|
156
|
+
- **warn**: list the untraced entity names.
|
|
157
|
+
- Fix: `/ba-create-data-model`.
|
|
158
|
+
- **solution** (mandatory on warn): "For each listed entity, either add a
|
|
159
|
+
verbatim reference in its **Traçabilité** line (e.g. `deduced from UC-XYZ
|
|
160
|
+
step 3` or structured `{references: ['UC-XYZ', 'BR-NNN']}`), or remove
|
|
161
|
+
the entity if it has no business justification in the upstream phases."
|
|
162
|
+
|
|
163
|
+
### DM-012 — Lookup entities have a unique index on `code`
|
|
164
|
+
- **Severity**: warn (if lookup with `code` attribute but no unique index on it), ok (if all lookups conform or no lookups in scope)
|
|
165
|
+
- Lookups are referenced as FK targets by `code`. Without an explicit unique
|
|
166
|
+
index the uniqueness isn't enforced at the DB level (column-level UNIQUE
|
|
167
|
+
on the attribute MAY suffice, but composite tenant-scoped uniqueness
|
|
168
|
+
needs an explicit index entry). Without the index, FK constraint
|
|
169
|
+
generation drifts and seed data can produce duplicates.
|
|
170
|
+
- Check: for each entity with classification `lookup` AND an attribute
|
|
171
|
+
whose name is "code" (case-insensitive):
|
|
172
|
+
- The entity's index list MUST contain at least one entry whose
|
|
173
|
+
fields begin with `"code"` AND that is `unique`.
|
|
174
|
+
- The check accepts both single-column `{fields:["code"], unique:true}`
|
|
175
|
+
and composite `{fields:["code", "tenantId"], unique:true}` forms.
|
|
176
|
+
- Skip when the entity has no attribute named "code" (e.g., a lookup keyed by
|
|
177
|
+
another natural identifier — flagged separately by DM-015).
|
|
178
|
+
- **warn**: list the lookup entities missing the unique index.
|
|
179
|
+
- Fix: `/ba-create-data-model`.
|
|
180
|
+
- **solution** (mandatory on warn): "Add `{fields:[\"code\"], unique:true}`
|
|
181
|
+
to the index list of each listed lookup entity (and any composite
|
|
182
|
+
tenant-scoped index your domain requires)."
|
|
183
|
+
|
|
184
|
+
### DM-013 — Every `*Id:guid` attribute is paired with a relationship or documented cross-module
|
|
185
|
+
- **Severity**: warn (if implicit FKs detected), ok (if all FK attributes paired)
|
|
186
|
+
- Catches the "implicit FK" anti-pattern: an attribute that LOOKS like a
|
|
187
|
+
foreign key (`*Id:guid`) but neither has a sibling relationship declaring
|
|
188
|
+
the cardinality + cascade NOR explicitly states it points to another module
|
|
189
|
+
/ SmartStack Core. EF Core code generation needs ONE of those signals to
|
|
190
|
+
produce a proper FK constraint.
|
|
191
|
+
- Check: for each entity, for each attribute where dataType is `guid`
|
|
192
|
+
AND name ends with `"Id"` AND name is not `"id"`:
|
|
193
|
+
- PASS if the entity's relationships contain a relationship whose
|
|
194
|
+
foreign-key name (case-insensitive) matches the PascalCase form of the
|
|
195
|
+
attribute name (e.g., `budgetId` → `BudgetId`), OR whose name
|
|
196
|
+
(case-insensitive) matches the attribute name without the trailing `Id`
|
|
197
|
+
(e.g., `budgetId` ↔ `budget`).
|
|
198
|
+
- PASS if the attribute's description explicitly names a foreign module
|
|
199
|
+
or Core entity. Heuristic: the description contains any of the tokens
|
|
200
|
+
`"FK"`, `"cross-module"`, `"Core"`, `"auth_"`, `"nav_"`, `"tnt_"`,
|
|
201
|
+
or names another application code / module code from the menu.
|
|
202
|
+
- Otherwise WARN — flag the `entity.attr` pair for review.
|
|
203
|
+
- Skip when the attribute is the implicit primary key (name is `"id"`,
|
|
204
|
+
already reserved at definition time).
|
|
205
|
+
- **warn**: list the offending `entity.attr` pairs.
|
|
206
|
+
- Fix: `/ba-create-data-model`.
|
|
207
|
+
- **solution** (mandatory on warn): "For each listed `entity.attr`, either
|
|
208
|
+
(a) add a relationship whose foreign-key name matches the attribute and
|
|
209
|
+
picks the right cardinality + cascade if the target is in the same module,
|
|
210
|
+
or (b) extend the attribute's description to explicitly name the foreign
|
|
211
|
+
module / Core entity (e.g., \"FK cross-module vers CRM/CONTACTS.Contact\",
|
|
212
|
+
\"FK to auth_Users\")."
|
|
213
|
+
|
|
214
|
+
### DM-014 — Lookup entities are referenced by ≥1 other entity
|
|
215
|
+
- **Severity**: warn (if unreferenced lookup found), ok (if all lookups referenced)
|
|
216
|
+
- Reciprocal of DM-009 specifically for lookups. A lookup that no other
|
|
217
|
+
entity references — neither via a relationship nor via an `*Id:guid`
|
|
218
|
+
attribute — is dead code: no UC will ever read or write it. Distinct from
|
|
219
|
+
DM-009 (which fires on isolated NON-lookup entities) and DM-011 (which
|
|
220
|
+
flags hallucinated entities lacking an upstream UC/BR/RES anchor).
|
|
221
|
+
- Check: for each entity `L` with classification `lookup`:
|
|
222
|
+
- Count incoming declared relationships : every entity `e` in the MCD
|
|
223
|
+
such that one of `e`'s relationships targets `L.code` or `L.name`.
|
|
224
|
+
- Count plain-guid FK attributes that look like FK to `L` : every entity
|
|
225
|
+
`e` with an attribute `a` where `a` is `guid` AND its name is
|
|
226
|
+
`${camelCase(L.name)}Id` (e.g., `BudgetType` → `budgetTypeId`).
|
|
227
|
+
- If BOTH counts are 0 → WARN. List `L.name` (and `L.code`).
|
|
228
|
+
- Skip when the module has no lookup entities.
|
|
229
|
+
- **warn**: list the unreferenced lookup names.
|
|
230
|
+
- Fix: `/ba-create-data-model`.
|
|
231
|
+
- **solution** (mandatory on warn): "For each listed lookup, either declare
|
|
232
|
+
a relationship from the entity that needs it (parent → lookup, N:1,
|
|
233
|
+
cascade `restrict`), add a `${camelCase(name)}Id:guid` attribute on that
|
|
234
|
+
entity, or remove the lookup via `/ba-create-data-model` if no entity
|
|
235
|
+
needs it."
|
|
236
|
+
|
|
237
|
+
### DM-015 — Classification-based attribute conventions
|
|
238
|
+
- **Severity**: warn (if conventions violated), ok (if all entities conform)
|
|
239
|
+
- Each classification has a conventional minimum attribute set that downstream
|
|
240
|
+
generation (Domain entity, EF Core mapping, seed data, list/form UI)
|
|
241
|
+
expects. Missing fields don't block development but produce thin scaffolds
|
|
242
|
+
that won't render correctly in the generated app.
|
|
243
|
+
- Check by classification:
|
|
244
|
+
- **lookup** : SHOULD declare `code:string,unique:true`, `label:string` (OR `name:string`),
|
|
245
|
+
`isActive:bool`. `sortOrder:int` is recommended (controls display order).
|
|
246
|
+
- **technical** : a sequence / counter / outbox allocator — **EXEMPT** from the
|
|
247
|
+
lookup `code/label/isActive/sortOrder` set. SHOULD declare its scope key
|
|
248
|
+
(e.g. `year:int`, `scope:string`) + the running value (`nextValue:int` or
|
|
249
|
+
`lastValue:int`), and carry the `Isolation: by-design — <reason>` line
|
|
250
|
+
(DM-009 exemption).
|
|
251
|
+
- **component** : SHOULD have ≥1 FK linking it to a parent entity — either
|
|
252
|
+
a relationship (any cardinality) OR a `*Id:guid` attribute pairable
|
|
253
|
+
with DM-013. A component with neither is a misclassified
|
|
254
|
+
lightweight-module candidate.
|
|
255
|
+
- **lightweight-module** / **full-module** : SHOULD have a business
|
|
256
|
+
identifier — either a `code:string` attribute (typically with a declared
|
|
257
|
+
`codePattern`) OR a `name:string` / `label:string` attribute. The list
|
|
258
|
+
UI uses this as the row title.
|
|
259
|
+
- Skip entities already flagged by DM-002 (no attributes at all — fix that
|
|
260
|
+
first, the convention check is meaningless on empty entities).
|
|
261
|
+
- For each violation, list `entity.code:missing-fields`
|
|
262
|
+
(e.g., `BudgetType:label,isActive`).
|
|
263
|
+
- **warn**: list the entities with their missing convention fields.
|
|
264
|
+
- Fix: `/ba-create-data-model`.
|
|
265
|
+
- **solution** (mandatory on warn): "Add the missing convention fields per
|
|
266
|
+
classification. Lookups : `code:string(50),unique:true`, `label:string(150)`,
|
|
267
|
+
`isActive:bool` (default true), `sortOrder:int`. Components : declare the
|
|
268
|
+
FK to the parent (preferred) or convert to lightweight-module. Modules : add
|
|
269
|
+
a `code` (with `codePattern`) or `name` attribute as the business identifier."
|
|
270
|
+
|
|
271
|
+
### DM-016 — Computed attributes (`formula`) reference only same-entity properties
|
|
272
|
+
- **Severity**: err (if any formula references a foreign attribute), ok (if all conform or no formulas in scope)
|
|
273
|
+
- Computed attributes are translated downstream into a LINQ projection
|
|
274
|
+
(`scaffold-repository`) running inside a single SQL query. Cross-entity
|
|
275
|
+
formulas would require a JOIN that EF Core can't infer from the MCD alone
|
|
276
|
+
and produce broken SQL at runtime — the `dev` cascade can't recover.
|
|
277
|
+
- Check: for each attribute `a` with a non-empty **Calculé** formula:
|
|
278
|
+
- Tokenize the formula and extract every PascalCase identifier (regex
|
|
279
|
+
`/\b[A-Z][A-Za-z0-9]*\b/g`), skipping C# primitives (`Math`, `Convert`,
|
|
280
|
+
`String`, `DateTime`, `DateOnly`, `TimeOnly`, `Boolean`, `Int32`,
|
|
281
|
+
`Decimal`, `Guid`).
|
|
282
|
+
- Each remaining token MUST match (case-insensitive) the PascalCase form
|
|
283
|
+
of one of the SAME entity's attributes capitalised — `currentBalance`
|
|
284
|
+
→ `CurrentBalance`.
|
|
285
|
+
- Otherwise ERR — list `entity.attr→missing-token`.
|
|
286
|
+
- Also flag formulas exceeding 1000 characters (defensive: matches the DB
|
|
287
|
+
column constraint).
|
|
288
|
+
- Skip attributes without a formula.
|
|
289
|
+
- **ok**: state the number of formulas verified.
|
|
290
|
+
- **err**: list each `entity.attr→token` whose formula crosses entities.
|
|
291
|
+
- Fix: `/ba-create-data-model`.
|
|
292
|
+
- **solution** (mandatory on err): "Cross-entity formulas are not supported.
|
|
293
|
+
Either rewrite the formula using only attributes of the SAME entity (denormalize
|
|
294
|
+
the foreign value into a local attribute updated by a business rule), or move
|
|
295
|
+
the computation to the backend service layer (out of the MCD) and remove
|
|
296
|
+
the formula from the attribute."
|
|
297
|
+
|
|
298
|
+
### DM-017 — Code-pattern entities have a matching numbering rule + coherent scope
|
|
299
|
+
- **Severity**: warn (if a codePattern is incomplete or unmatched), ok (if all coherent or none)
|
|
300
|
+
- A `codePattern` is the data-model side of a `numbering` business rule. Without a
|
|
301
|
+
matching rule the generated numbering has no spec (format / scope / reset /
|
|
302
|
+
gapless) to follow; an inconsistent scope silently collides across tenants.
|
|
303
|
+
- **Check**, for each entity carrying a `codePattern`:
|
|
304
|
+
1. A `numbering` business rule for this entity exists — Grep the module's
|
|
305
|
+
`règles-métier.md` for a `Type: numbering` rule naming the entity, OR a
|
|
306
|
+
`BR-…` ref in the entity's **Traçabilité**. Missing → warn.
|
|
307
|
+
2. The pattern's **scope** is consistent with `tenantMode`: a `tenant`-scoped
|
|
308
|
+
pattern requires `tenantMode` ≠ `none`; a `global` pattern on `strict`
|
|
309
|
+
tenant data must be explicitly intended. Mismatch → warn.
|
|
310
|
+
3. The **reset** period aligns with a date token in the format (yearly ⇒
|
|
311
|
+
`{YY}` / `{YYYY}`). Misaligned → warn.
|
|
312
|
+
4. If the pattern is **gapless**, a `technical` allocator entity keyed per scope
|
|
313
|
+
SHOULD exist in the MCD (else the gapless guarantee is deferred to the
|
|
314
|
+
runtime — acceptable, but flag it). Absent → warn.
|
|
315
|
+
- Skip when the module has no entity with a code pattern.
|
|
316
|
+
- **warn**: list `entity:missing-numbering-rule` / `entity:scope-mismatch` /
|
|
317
|
+
`entity:reset-misaligned` / `entity:gapless-no-allocator`.
|
|
318
|
+
- Fix: `/ba-create-data-model` (or add the rule via `/ba-create-business-rules`).
|
|
319
|
+
- **solution** (mandatory on warn): "For each listed entity, add/complete a
|
|
320
|
+
`numbering` rule (format + scope + reset + gapless) in `règles-métier.md` and
|
|
321
|
+
reference it in the entity **Traçabilité**; align the codePattern scope with
|
|
322
|
+
`tenantMode`; model a `technical` allocator entity when the pattern is gapless."
|
|
323
|
+
|
|
324
|
+
## Output
|
|
325
|
+
|
|
326
|
+
Write `_audit/entité.md` per the doc-templates skeleton:
|
|
327
|
+
- Header `# Audit entité — <APP> / <MODULE>` + `_<date> · Verdict : <emoji> N warn · M err · K ok_`.
|
|
328
|
+
- `## ✅ Conforme`, `## ⚠️ Avertissements`, `## ❌ Bloquants` sections; one bullet
|
|
329
|
+
per finding. For `warn`/`err`: what's wrong (offending codes / `entity.attr`
|
|
330
|
+
**bold**), why it matters, and a `→` fix naming `/ba-create-data-model`.
|
|
331
|
+
When a rule defines a **solution**, fold it into the fix bullet.
|
|
332
|
+
- The rule codes (`DM-001`, …) stay **bold** so they remain greppable, but they
|
|
333
|
+
are explained in business terms (no i18n label codes).
|
|
334
|
+
- Re-Write the whole file each run (overwrite — it's a fresh verdict).
|
|
335
|
+
|
|
336
|
+
Then a 3–6 line chat summary in the user's language — business terms, not rule
|
|
337
|
+
codes. If any `err`, state clearly that the data model must be fixed before
|
|
338
|
+
moving on.
|
|
339
|
+
|
|
340
|
+
## Used by the readiness orchestrator
|
|
341
|
+
|
|
342
|
+
`/ba-audit-pre-dev` runs every dimension and aggregates the verdicts. When invoked
|
|
343
|
+
by it, still write `_audit/entité.md` as usual — the orchestrator reads these files.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ba-audit-menu
|
|
3
|
+
description: >
|
|
4
|
+
Audits the menu (Application / Module) of a `.smartstack/ba/` project — module
|
|
5
|
+
semantics, cross-app duplicates, SmartStack Core collisions, orphans/empty,
|
|
6
|
+
out-of-scope coherence (MENU-001..005). Reads the tree, writes a verdict to
|
|
7
|
+
`_audit/menu.md`. Run after `/ba-create-menu` or as part of pre-dev readiness.
|
|
8
|
+
allowed-tools: [Read, Write, Glob, Grep]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# ba-audit-menu — Menu (Application / Module) audit
|
|
12
|
+
|
|
13
|
+
You audit the menu structure of a `.smartstack/ba/` project against the rules
|
|
14
|
+
below and write a verdict file. The rules are unchanged from the SmartStack
|
|
15
|
+
convention; only the I/O is file-based.
|
|
16
|
+
|
|
17
|
+
## File model — how to audit
|
|
18
|
+
|
|
19
|
+
1. **Read state**: `Glob .smartstack/ba/**/index.md` to rebuild the tree. Read
|
|
20
|
+
each relevant `index.md` (label, `## Contexte`, `## Hors-périmètre`, `## Enfants`).
|
|
21
|
+
The root `.smartstack/ba/index.md` carries the project-level `## Hors-périmètre`.
|
|
22
|
+
2. **Apply** the rules MENU-001..005 (below) at the requested scope.
|
|
23
|
+
3. **Write** the verdict to `_audit/menu.md` under the audited app:
|
|
24
|
+
`.smartstack/ba/<APP>/_audit/menu.md` (use the audit-verdict skeleton from
|
|
25
|
+
`_workflow/doc-templates.md`). Then print a 3–6 line business summary in chat.
|
|
26
|
+
|
|
27
|
+
There is no database, no `[ACTION]` envelope, no i18n label codes — the `.md`
|
|
28
|
+
verdict IS the record. The verdict header (`0 err` = pass) is what a downstream
|
|
29
|
+
gate reads.
|
|
30
|
+
|
|
31
|
+
## Scope
|
|
32
|
+
|
|
33
|
+
- **App scope** (default): audit one application — apply MENU-001..005 to every
|
|
34
|
+
module under it. Don't scan sibling apps.
|
|
35
|
+
- **Module scope**: apply MENU-001, MENU-003, MENU-004, MENU-005 to that single
|
|
36
|
+
module (skip MENU-002 — cross-app duplicates aren't a single-module concern).
|
|
37
|
+
- The verdict file lives at the audited app's `_audit/menu.md` either way.
|
|
38
|
+
|
|
39
|
+
## Rules
|
|
40
|
+
|
|
41
|
+
### MENU-001 — Module semantically fits its parent application
|
|
42
|
+
- `warn` if a module's business scope doesn't match the parent app; else `ok`.
|
|
43
|
+
- Decide from the menu tree only (app + module + section labels/codes). Don't use
|
|
44
|
+
a hardcoded mapping — use business semantics. `PROSPECTS` under `CRM` → ok;
|
|
45
|
+
`RECRUTEMENT` under `CRM` → warn (suggest the right app + reason).
|
|
46
|
+
- Fix: `/ba-create-menu`.
|
|
47
|
+
|
|
48
|
+
### MENU-002 — No duplicate module concept across applications
|
|
49
|
+
- `warn` if the same concept appears in 2+ apps (exact code OR semantic match,
|
|
50
|
+
e.g. `CONTACTS` in CRM vs `CUSTOMERS` in SALES); else `ok`. Only at project /
|
|
51
|
+
≥2-sibling-app scope.
|
|
52
|
+
- Distinguish legitimate per-app reuse (a `SETTINGS` module per app is expected)
|
|
53
|
+
from true duplication. Fix: `/ba-create-menu`.
|
|
54
|
+
|
|
55
|
+
### MENU-003 — No module duplicates SmartStack Core
|
|
56
|
+
- `err` on collision. Core features that must NEVER be user modules:
|
|
57
|
+
Ticketing/Support/Helpdesk, Auth/SSO, Admin/Administration, Notifications,
|
|
58
|
+
Workflows, Data export, Audit log. Also flag any **application** named
|
|
59
|
+
`SETTINGS`/`PARAMS`/`CONFIGURATION` (config is a module, not an app).
|
|
60
|
+
- Case-insensitive substring match on module codes + labels. Fix: `/ba-create-menu`.
|
|
61
|
+
|
|
62
|
+
### MENU-004 — No orphan module, no empty app, no empty module
|
|
63
|
+
- `err`. Scoped to the audited app:
|
|
64
|
+
- **orphan**: a module whose parent folder/app is missing or non-existent.
|
|
65
|
+
- **empty app**: the app has zero modules.
|
|
66
|
+
- **empty module**: a module has zero sections (can't expose any UI → blocks
|
|
67
|
+
downstream phases).
|
|
68
|
+
- An empty *sibling* app is not a finding here (it's that sibling's own audit).
|
|
69
|
+
Fix: `/ba-create-menu`.
|
|
70
|
+
|
|
71
|
+
### MENU-005 — No module contradicts the declared out-of-scope
|
|
72
|
+
- `warn` when a module's purpose contradicts an `## Hors-périmètre` declaration;
|
|
73
|
+
`ok` when no contradiction (or no out-of-scope declared anywhere relevant).
|
|
74
|
+
- Compare each module (label + `## Contexte`) against the **project root**'s
|
|
75
|
+
`## Hors-périmètre`, the **parent app**'s, and the module's own. The
|
|
76
|
+
contradiction is **semantic**, not lexical (a `BILLING` module under an app
|
|
77
|
+
whose out-of-scope says "la facturation est couverte ailleurs" is a hit; a mere
|
|
78
|
+
shared keyword on a different function is not).
|
|
79
|
+
- `warn` (not `err`) — the user may have evolved the scope. Suggest: trim the
|
|
80
|
+
out-of-scope, relocate, or drop the module. Fix: `/ba-create-menu`.
|
|
81
|
+
|
|
82
|
+
## Output
|
|
83
|
+
|
|
84
|
+
Write `_audit/menu.md` per the doc-templates skeleton:
|
|
85
|
+
- Header `# Audit menu — <APP>` + `_<date> · Verdict : <emoji> N warn · M err · K ok_`.
|
|
86
|
+
- `## ✅ Conforme`, `## ⚠️ Avertissements`, `## ❌ Bloquants` sections; one bullet
|
|
87
|
+
per finding. For `warn`/`err`: what's wrong (offending codes **bold**), why it
|
|
88
|
+
matters, and a `→` fix naming `/ba-create-menu`.
|
|
89
|
+
- Re-Write the whole file each run (overwrite — it's a fresh verdict).
|
|
90
|
+
|
|
91
|
+
Then a 3–6 line chat summary in the user's language — business terms, not rule
|
|
92
|
+
codes. If any `err`, state clearly that the menu must be fixed before moving on.
|
|
93
|
+
|
|
94
|
+
## Used by the readiness orchestrator
|
|
95
|
+
|
|
96
|
+
`/ba-audit-pre-dev` runs every dimension and aggregates the verdicts. When invoked
|
|
97
|
+
by it, still write `_audit/menu.md` as usual — the orchestrator reads these files.
|