@atlashub/smartstack-cli 4.80.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 +9421 -79036
- package/dist/index.js.map +1 -1
- package/package.json +5 -20
- 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,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: rules
|
|
3
|
+
kind: level
|
|
4
|
+
level: identify
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Level 1 — IDENTIFY & CLASSIFY
|
|
8
|
+
|
|
9
|
+
> Discover and propose **5–10 candidate rules**, each already classified
|
|
10
|
+
> (`Type`, scope, severity). Conditions/expressions/examples are filled at
|
|
11
|
+
> Level 2. The file model (read tree → propose → AskUserQuestion → Write doc)
|
|
12
|
+
> and the `règles-métier.md` skeleton live in `SKILL.md` — this file is the
|
|
13
|
+
> proposal heuristic.
|
|
14
|
+
|
|
15
|
+
## Read FIRST (in parallel, from the tree)
|
|
16
|
+
|
|
17
|
+
| Source | Where | What to extract |
|
|
18
|
+
|--------|-------|-----------------|
|
|
19
|
+
| Use cases | the scope's `use-case.md` | preconditions, postconditions, exception flows → each non-trivial entry is a candidate rule |
|
|
20
|
+
| Entities | the module's `entité.md` (if present) | fields that suggest invariants (email, status, amount, stock, date, identifier) |
|
|
21
|
+
| Existing rules | the scope's `règles-métier.md` | avoid duplicates; work alongside, never over |
|
|
22
|
+
| Node context | the node's `index.md` (`## Contexte`, `## Hors-périmètre`) | domain framing + explicit exclusions |
|
|
23
|
+
| Level 0 context | conversation | jurisdiction/sector/size captured in the prelude |
|
|
24
|
+
|
|
25
|
+
## Discovery paths — use ALL that apply
|
|
26
|
+
|
|
27
|
+
### Path A — from use cases (when UCs exist)
|
|
28
|
+
For each UC in the scope's `use-case.md`:
|
|
29
|
+
- precondition expressing a constraint ("user must be authenticated") → `validation`
|
|
30
|
+
- precondition expressing a state ("document must be DRAFT") → `state-transition`
|
|
31
|
+
- postcondition invariant ("audit log updated") → `workflow`
|
|
32
|
+
- postcondition calculation ("total recomputed") → `calculation`
|
|
33
|
+
- exception-flow trigger → almost always a `constraint`/`validation` (its "what
|
|
34
|
+
happens" becomes the rule's error message + code)
|
|
35
|
+
|
|
36
|
+
### Path B — from the data model / entities (when `entité.md` exists)
|
|
37
|
+
Scan attributes for invariants:
|
|
38
|
+
|
|
39
|
+
| Field hint | Likely candidate rules |
|
|
40
|
+
|------------|------------------------|
|
|
41
|
+
| `email` / `mail` | format validation, uniqueness |
|
|
42
|
+
| `password` / `secret` | strength, hashing required |
|
|
43
|
+
| `status` / `state` | enum constraint, state transition |
|
|
44
|
+
| `amount` / `price` / `total` | non-negative, max range, currency, calculation |
|
|
45
|
+
| `quantity` / `stock` | non-negative, integer, max |
|
|
46
|
+
| `date` / `start` / `end` | past/future bounds, ordering (start < end) |
|
|
47
|
+
| `iban` / `siret` / `vat` | format + checksum |
|
|
48
|
+
| `code` / `reference` | unique, immutable, format ; **`numbering`** when auto-generated/sequential (e.g. `AFF-{YY}-{NNNN}`) |
|
|
49
|
+
| `*Id` (FK) | referential integrity, soft-delete tombstone |
|
|
50
|
+
|
|
51
|
+
### Path C — from organizational policies & regulations
|
|
52
|
+
Scan the conversation for: GDPR/data protection (retention, erasure,
|
|
53
|
+
anonymization), audit/compliance (immutable trail), financial regulations (VAT,
|
|
54
|
+
invoice numbering, rounding), industry-specific (HIPAA, AML/KYC, labor law),
|
|
55
|
+
internal policies (approval thresholds, escalation, SLA). These exist
|
|
56
|
+
**independently of any UC** — propose them standalone, scoped to the relevant node.
|
|
57
|
+
|
|
58
|
+
### Path D — cross-cutting concerns
|
|
59
|
+
"All create operations set createdBy/createdAt", "all mutations are logged", "all
|
|
60
|
+
monetary amounts use 2-decimal precision" → `cross-cutting`.
|
|
61
|
+
|
|
62
|
+
### Path E — from the menu hierarchy (always available after the menu phase)
|
|
63
|
+
Systematic rules emerge from the structure itself; needs no UCs.
|
|
64
|
+
|
|
65
|
+
**Application level** (per app `index.md`):
|
|
66
|
+
|
|
67
|
+
| Pattern | Candidate rule | Type |
|
|
68
|
+
|---------|----------------|------|
|
|
69
|
+
| App exists | "All modules in {app} comply with {domain} regulations" | `compliance` |
|
|
70
|
+
| App exists | "All user actions in {app} produce an audit-trail entry" | `cross-cutting` |
|
|
71
|
+
| Multiple modules | "Data shared between modules keeps referential integrity" | `integrity` |
|
|
72
|
+
| Cross-module access | "Only roles with {app}-access may view any {app} module" | `access` |
|
|
73
|
+
| Session/auth | "All {app} pages require an authenticated session" | `access` |
|
|
74
|
+
| Data retention | "Inactive {app} records are anonymised after N months" | `compliance` |
|
|
75
|
+
|
|
76
|
+
→ Write at `<APP>/règles-métier.md`, `## Portée : {APP}`.
|
|
77
|
+
|
|
78
|
+
**Module level** (per module `index.md`):
|
|
79
|
+
|
|
80
|
+
| Pattern | Candidate rule | Type |
|
|
81
|
+
|---------|----------------|------|
|
|
82
|
+
| Module exists | "Access to {module} requires the module-level permission" | `access` |
|
|
83
|
+
| Sensitive data | "All {module} data must be auditable (who/what/when)" | `cross-cutting` |
|
|
84
|
+
| Financial data | "Monetary amounts in {module} use 2-decimal precision" | `constraint` |
|
|
85
|
+
| Status workflows | "Status transitions in {module} follow the state machine" | `state-transition` |
|
|
86
|
+
| Ownership scoping | "Only the {module} record owner can update it" | `access` (own) |
|
|
87
|
+
| Segregation of duties | "User who created a {module} record cannot approve it" | `workflow` |
|
|
88
|
+
| No orphan | "Every {module} record must have an active owner" | `integrity` |
|
|
89
|
+
|
|
90
|
+
→ Write at `<APP>/<MODULE>/règles-métier.md`, `## Portée : {APP} / {MODULE}`.
|
|
91
|
+
|
|
92
|
+
Access rules carry the permission spec — see `levels/access-rules.md`.
|
|
93
|
+
|
|
94
|
+
**Section level** — approval sections → threshold `workflow`; dashboards → data
|
|
95
|
+
aggregation `derivation`; import/export → format `validation`. Write at the
|
|
96
|
+
section's `règles-métier.md`.
|
|
97
|
+
|
|
98
|
+
## Domain knowledge — research weak spots before proposing
|
|
99
|
+
Domain rules vary wildly by industry. Before proposing in an unfamiliar domain,
|
|
100
|
+
ground yourself: read the node `## Contexte`, lean on the Level 0 context, and if
|
|
101
|
+
needed fetch current domain references via the `ctx7` CLI / a web search rather
|
|
102
|
+
than emitting generic rules. Cite the source in the rule's context line
|
|
103
|
+
("source : Code du travail FR, Art. L1243-13" / "OWASP auth best practices").
|
|
104
|
+
Discard any researched rule that does not map to a node in the tree.
|
|
105
|
+
|
|
106
|
+
## Classify each candidate inline
|
|
107
|
+
|
|
108
|
+
**Type** — match the phrasing: "must be valid/unique/formatted" → `validation`;
|
|
109
|
+
"is computed as" → `calculation`; "transitions A→B" → `state-transition`; "only
|
|
110
|
+
the owner/assignee can" → `ownership`; "X cannot exceed/be < N" → `constraint`;
|
|
111
|
+
"A derived from B+C" → `derivation`; "if X then approval/notification" →
|
|
112
|
+
`workflow`; "must reference an existing Y / no orphan" → `integrity`; "all
|
|
113
|
+
operations of type X do Y" → `cross-cutting`; "who can do X on which scope" →
|
|
114
|
+
`access`; "gets an auto-generated sequential code/number formatted as …" →
|
|
115
|
+
`numbering`. No fit → a domain-specific kind.
|
|
116
|
+
|
|
117
|
+
**Scope** — entity invariant or state machine → module doc; process inside a
|
|
118
|
+
section → section doc; strategic/compliance for the whole app → app doc.
|
|
119
|
+
|
|
120
|
+
**Sévérité** — `err` (action rejected — default), `warn` (proceeds + warning/
|
|
121
|
+
audit), `info` (logged only). Note business **priority** in the context line if
|
|
122
|
+
useful (critical/high/medium/low) — it is guidance, not a doc field.
|
|
123
|
+
|
|
124
|
+
## Ask the user (closed choices)
|
|
125
|
+
Present the 5–10 candidates grouped by type, then ask via **AskUserQuestion**
|
|
126
|
+
(multi-select) which to keep — pre-select the strong ones (typically 60–80 %).
|
|
127
|
+
Example proposal prose:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
D'après vos cas d'usage, votre modèle de données et le domaine {domaine} :
|
|
131
|
+
|
|
132
|
+
Règles de validation
|
|
133
|
+
- BR-001 — Email unique (USER, validation, err)
|
|
134
|
+
- BR-002 — Téléphone au format E.164 (USER, validation, err)
|
|
135
|
+
Règles de calcul
|
|
136
|
+
- BR-003 — TVA = base × taux (INVOICE, calculation, err)
|
|
137
|
+
Règles d'intégrité (issues du modèle)
|
|
138
|
+
- BR-004 — Facture ne référence pas un client supprimé (integrity, err)
|
|
139
|
+
Règles de politique (sans UC)
|
|
140
|
+
- BR-005 — Données personnelles anonymisables sur demande (cross-cutting, err)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Then the AskUserQuestion multi-select with those candidates as options.
|
|
144
|
+
|
|
145
|
+
## After the user answers
|
|
146
|
+
Acknowledge briefly, then **Write the scope's `règles-métier.md`** with the
|
|
147
|
+
retained rules (classified). At Level 1 a rule may be a **draft** (no
|
|
148
|
+
condition/expression/examples yet) — that is fine to checkpoint progress, but
|
|
149
|
+
move straight to Level 2 to elaborate before any handoff: `/ba-audit-rules`
|
|
150
|
+
refuses a passing verdict until every rule has at least one valid + one invalid
|
|
151
|
+
example.
|
|
152
|
+
|
|
153
|
+
## Quality checks before proposing
|
|
154
|
+
For each candidate: is it about the **business** (not the UI)? Is it
|
|
155
|
+
**deterministic** (a programmer could implement it)? Does it map to a node in the
|
|
156
|
+
tree? Is it **not a duplicate**? Could a developer write a failing test for it? Is
|
|
157
|
+
the `Type` appropriate and the severity consistent?
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: rules
|
|
3
|
+
kind: level
|
|
4
|
+
level: link
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Level 3 — LINK
|
|
8
|
+
|
|
9
|
+
> Connect each elaborated rule to the **use cases** that reference it, via the
|
|
10
|
+
> `## Cas d'usage liés` line. The link names the UC code, the stage, and
|
|
11
|
+
> optionally the step. After this level the rule set is complete: a vibecoder
|
|
12
|
+
> can pull a UC + its linked rules + the rules' examples and generate the full
|
|
13
|
+
> implementation in one shot. Persist by re-Writing the scope's
|
|
14
|
+
> `règles-métier.md` (see `SKILL.md`).
|
|
15
|
+
|
|
16
|
+
## Why linking matters
|
|
17
|
+
A use case says **what** the actor wants; a rule says **what constraint** holds;
|
|
18
|
+
the link says **where** in the workflow the constraint kicks in — so code
|
|
19
|
+
generation knows "at step 3 of UC-…, enforce BR-001", and end-to-end tests can be
|
|
20
|
+
generated (UC scenario + rule failure path).
|
|
21
|
+
|
|
22
|
+
## Stage values
|
|
23
|
+
|
|
24
|
+
| Stage | When the rule fires |
|
|
25
|
+
|-------|---------------------|
|
|
26
|
+
| `precondition` | BEFORE the main flow. If it fails, the UC cannot start. |
|
|
27
|
+
| `mainflow` | DURING the main flow, at a specific step. Failure aborts that step. |
|
|
28
|
+
| `postcondition` | AFTER the main flow. Verifies the resulting state is consistent. |
|
|
29
|
+
| `exception` | Triggered by an exception flow rather than the main flow. |
|
|
30
|
+
|
|
31
|
+
Default to `precondition` for validations, `mainflow` for calculations / state
|
|
32
|
+
transitions. Provide the **step number** for `mainflow` whenever you can (it
|
|
33
|
+
pinpoints the generated code); leave it off for `precondition`/`postcondition`.
|
|
34
|
+
|
|
35
|
+
## Workflow
|
|
36
|
+
For each rule:
|
|
37
|
+
1. Read its `Condition` + description.
|
|
38
|
+
2. **Grep the scope's `use-case.md`** for UCs that touch the same entity, field
|
|
39
|
+
or actor concern. (Rules derived from a UC at Level 1 already hint at their UC.)
|
|
40
|
+
3. For each match, decide the stage (+ step) and add it to `## Cas d'usage liés`.
|
|
41
|
+
|
|
42
|
+
A rule can link to **multiple UCs**; a UC can have **multiple rules**. Use the
|
|
43
|
+
cross-reference freely. Reference each UC by its exact `UC-…` code copied verbatim
|
|
44
|
+
from `use-case.md` — never invent or recompose a code.
|
|
45
|
+
|
|
46
|
+
Doc form:
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
- **Cas d'usage liés** : UC-CRM-PIPELINE-OPPORTUNITES-001 (précondition) ;
|
|
50
|
+
UC-CRM-PIPELINE-OPPORTUNITES-014 (mainflow, étape 3)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Rules without UC links — perfectly valid
|
|
54
|
+
An empty `## Cas d'usage liés` (write `—`) is **not** a defect — it reflects the
|
|
55
|
+
BABOK principle that rules exist independently of use cases. Legitimately
|
|
56
|
+
unlinked: application-level rules ("all modules comply with GDPR"), module-level
|
|
57
|
+
access rules ("access to Recruitment requires the HR role"), data validation
|
|
58
|
+
("email unique"), integrity ("no reference to a soft-deleted customer"), domain
|
|
59
|
+
constraints ("stock ≥ 0"), policies ("personal data anonymisable"), and
|
|
60
|
+
cross-cutting concerns ("all mutations logged"). Application/module-level rules
|
|
61
|
+
having 0 links is the **expected default** — never force-link to remove an
|
|
62
|
+
"unlinked" indicator.
|
|
63
|
+
|
|
64
|
+
When a rule genuinely applies to ALL UCs touching an entity, prefer linking the
|
|
65
|
+
2–3 most representative UCs and noting "s'applique à tout le CRUD de {entité}" in
|
|
66
|
+
the rule's wording, rather than enumerating every UC. Cross-cutting rules: link
|
|
67
|
+
0–3 representative UCs at `mainflow`/`postcondition`, document the breadth in the
|
|
68
|
+
description.
|
|
69
|
+
|
|
70
|
+
## Ask the user only when ambiguous
|
|
71
|
+
Most links infer from context. Ask (one AskUserQuestion, 2–4 closed options) only
|
|
72
|
+
when two UCs equally fit and only one should win, when a `mainflow` step is
|
|
73
|
+
ambiguous, or when a rule has no obvious UC and you must decide between "stays
|
|
74
|
+
unlinked" and "link to UC-… as a postcondition".
|
|
75
|
+
|
|
76
|
+
## After linking
|
|
77
|
+
Re-Write the scope's `règles-métier.md` with the **complete** rule set including
|
|
78
|
+
`## Cas d'usage liés` (the overwrite replaces the file, so re-list every rule that
|
|
79
|
+
must survive). Then summarise to the user (N rules, M UC links) and hand off to
|
|
80
|
+
`/ba-create-rbac` per the fixed order.
|
|
81
|
+
|
|
82
|
+
## Quality checks before writing
|
|
83
|
+
For every rule: `## Cas d'usage liés` is present (may be `—`); each link
|
|
84
|
+
references a `UC-…` code that exists in `use-case.md`; the stage is one of the
|
|
85
|
+
four allowed values; step numbers are set for `mainflow` where possible and
|
|
86
|
+
omitted for pre/postconditions; no duplicate (UC, stage, step) on the same rule.
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ba-create-data-model
|
|
3
|
+
description: >
|
|
4
|
+
Phase 6 of business analysis. Builds the conceptual data model (MCD) of each
|
|
5
|
+
business module — entities, attributes, computed formulas, relationships
|
|
6
|
+
and indexes — and writes it to `entité.md` at the Module level
|
|
7
|
+
under `.smartstack/ba/`. Conversational: reads the menu tree plus the module's
|
|
8
|
+
use cases and business rules, deduces the entities, asks the user to validate,
|
|
9
|
+
then writes the file. Run after RBAC (`/ba-create-rbac`), before screens
|
|
10
|
+
(`/ba-create-screen`).
|
|
11
|
+
allowed-tools: [Read, Write, Edit, Glob, Grep, AskUserQuestion]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# ba-create-data-model — Conceptual Data Model (MCD)
|
|
15
|
+
|
|
16
|
+
You are a **data architect**. You produce the complete MCD of a module —
|
|
17
|
+
entities, attributes (incl. computed formulas), relationships and indexes — so
|
|
18
|
+
the downstream dev pipeline can generate .NET Domain entities, EF Core
|
|
19
|
+
configurations, migrations and TypeScript DTOs without guessing.
|
|
20
|
+
|
|
21
|
+
The MCD is a **contract**: tables with fields, types, keys, indexes and
|
|
22
|
+
relationships — never a list of names. SmartStack conventions: entities
|
|
23
|
+
PascalCase singular, tables `{prefix}_{PascalCasePlural}` (PascalCase, e.g.
|
|
24
|
+
`aff_Demandes`) with a 2-5 letter domain prefix (`hr_`, `crm_`, `cfg_`…),
|
|
25
|
+
columns PascalCase (EF Core default mapping — never snake_case), PK = `Guid`,
|
|
26
|
+
multi-tenancy explicit.
|
|
27
|
+
|
|
28
|
+
## File model — state & persistence (read first, every turn)
|
|
29
|
+
|
|
30
|
+
State lives in the `.smartstack/ba/` directory of the current project. There is
|
|
31
|
+
no database and no action blocks. On every turn:
|
|
32
|
+
|
|
33
|
+
1. **Read state**: `Glob .smartstack/ba/**/index.md` for the menu tree (apps =
|
|
34
|
+
top-level folders; modules = their children). For the module in scope, Read
|
|
35
|
+
its `index.md` (`## Contexte`, `## Hors-périmètre`), its `use-case.md` and its
|
|
36
|
+
`règles-métier.md` — these three are your ONLY entity sources. Read the
|
|
37
|
+
module's existing `entité.md` if present (you are enriching, not rewriting).
|
|
38
|
+
2. **Propose** the complete MCD in prose — one structured block per entity, the
|
|
39
|
+
`Trace:` line FIRST, then attributes, relationships, indexes (see "Presenting
|
|
40
|
+
the deduction"). Never just a list of names.
|
|
41
|
+
3. **Ask** the user to validate with the **AskUserQuestion** tool (closed
|
|
42
|
+
choices: Validate / Adjust / Cancel). Use AskUserQuestion only for genuine
|
|
43
|
+
ambiguity (e.g. a lookup that could be tenant-specific or platform-wide) —
|
|
44
|
+
entities themselves are deduced, never chosen from a checklist.
|
|
45
|
+
4. **Write** `entité.md` with the **Write** tool once validated. A Write
|
|
46
|
+
**overwrites** the file — re-list EVERY entity that must survive (this is how
|
|
47
|
+
removal works: an entity you omit is gone).
|
|
48
|
+
|
|
49
|
+
If the menu tree is empty, defer: tell the user to define the menu first
|
|
50
|
+
(`/ba-create-menu`). If the module has no use cases AND no business rules,
|
|
51
|
+
defer: tell the user to define them first (`/ba-create-use-case`,
|
|
52
|
+
`/ba-create-business-rules`) — there is nothing to deduce entities from.
|
|
53
|
+
|
|
54
|
+
**Stale-references preflight.** If upstream documents (`use-case.md`,
|
|
55
|
+
`règles-métier.md`) still carry codes whose `{SEC}` segment is absent from
|
|
56
|
+
the menu tree (renamed or deleted via `/ba-create-menu`), the data model
|
|
57
|
+
deduced from them will be polluted by phantom domains. Before proposing
|
|
58
|
+
entities, grep every `### UC-{APP}-{MOD}-{SEC}-NNN` in the module's section
|
|
59
|
+
`use-case.md` files; if any `(APP, MOD, SEC)` triplet has no matching
|
|
60
|
+
`<baRoot>/<APP>/<MOD>/<sec-folder>/index.md`, **defer** to
|
|
61
|
+
`/ba-reconcile-menu` (which owns rename detection + clean deletion) before
|
|
62
|
+
deducing the MCD. Detection of orphan entities themselves remains a Phase 2
|
|
63
|
+
enhancement — for now, this preflight only catches upstream stale codes.
|
|
64
|
+
|
|
65
|
+
### Where the MCD is written (authority)
|
|
66
|
+
|
|
67
|
+
`entité.md` is **authoritative at the Module level**:
|
|
68
|
+
`.smartstack/ba/<APP>/<MODULE>/entité.md`. The MCD is per-module. At every OTHER
|
|
69
|
+
level the `entité.md` placeholder stays a **rollup pointer** — a one-line
|
|
70
|
+
`> Modèle de données — voir le niveau module ([../<MODULE>/entité.md](...))`.
|
|
71
|
+
Never duplicate entity content up or down the tree; the module file is the
|
|
72
|
+
single source of truth.
|
|
73
|
+
|
|
74
|
+
### `entité.md` shape (authoritative, at the module) — write it verbatim
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
<!-- ba:entité level=module code=PIPELINE -->
|
|
78
|
+
# Modèle de données — CRM / PIPELINE
|
|
79
|
+
|
|
80
|
+
### ENT-001 — Opportunity (agrégat racine)
|
|
81
|
+
- **Préfixe table** : `pipeline_`
|
|
82
|
+
- **Traçabilité** : UC-CRM-PIPELINE-OPPORTUNITES-001, BR-001
|
|
83
|
+
|
|
84
|
+
| Attribut | Type | Contraintes | Calculé |
|
|
85
|
+
|----------|------|-------------|---------|
|
|
86
|
+
| Id | Guid | PK | — |
|
|
87
|
+
| Amount | decimal(18,2) | ≥ 0 | — |
|
|
88
|
+
| Stage | enum | NOUVELLE/GAGNEE/PERDUE | — |
|
|
89
|
+
| WeightedAmount | decimal(18,2) | — | `Amount * Probability` |
|
|
90
|
+
|
|
91
|
+
- **Relations** : Opportunity *→1 Contact — FK ContactId, onDelete restrict
|
|
92
|
+
- **Index** : (Stage), (ContactId).
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
- Entity codes are `ENT-NNN` (per-module sequence). The `(role)` after the name
|
|
96
|
+
is the entity's role — `agrégat racine`, `lookup`, `composant`, `jonction`…
|
|
97
|
+
- The **`Calculé`** column carries the C# formula for a computed attribute (no
|
|
98
|
+
DB column, no setter). `—` for a stored attribute. This column cascades into
|
|
99
|
+
the dev pipeline (DTO projection, repository LINQ, read-only React column) —
|
|
100
|
+
keep it accurate.
|
|
101
|
+
- **`Traçabilité`** lists the verbatim UC/BR codes the entity traces to.
|
|
102
|
+
- Show `Id Guid PK` in the table for readability, but framework fields
|
|
103
|
+
(`CreatedAt`, `UpdatedAt`, `TenantId`, `DeletedAt`, …) are implicit — do NOT
|
|
104
|
+
list them.
|
|
105
|
+
|
|
106
|
+
## Core principle — ONE PASS, COMPLETE MCD
|
|
107
|
+
|
|
108
|
+
The user does NOT pick entities/attributes/relationships. You **deduce
|
|
109
|
+
everything** from the module's use cases and business rules in a single pass,
|
|
110
|
+
then propose the whole model for review.
|
|
111
|
+
|
|
112
|
+
**Every entity is mandatory and must be traceable** to ≥1 verbatim reference in
|
|
113
|
+
the upstream phases of the SAME module: a UC step, a UC pre/postcondition, a BR
|
|
114
|
+
condition, or a PascalCase token in a BR expression. **Non-traceable entities
|
|
115
|
+
are forbidden** — they generate dead code no UC will ever exercise. There is no
|
|
116
|
+
"suggested" tier: if no upstream reference exists, defer to the phase that
|
|
117
|
+
creates the reference (`/ba-create-use-case` or `/ba-create-business-rules`)
|
|
118
|
+
instead of inventing the entity.
|
|
119
|
+
|
|
120
|
+
## Entity sources — the set is CLOSED
|
|
121
|
+
|
|
122
|
+
Entities are deduced **exclusively** from the upstream phases of the **current
|
|
123
|
+
module**:
|
|
124
|
+
|
|
125
|
+
- **Use cases** (`use-case.md`): nouns in main flow / alternative flows /
|
|
126
|
+
pre-postconditions → entities. Verbs and actors are NOT entities (actors live
|
|
127
|
+
in `acteur.md`). A pure system actor (CRON, SYSTEM) has no entity counterpart.
|
|
128
|
+
- **Business rules** (`règles-métier.md`): the rule's target (the concept it
|
|
129
|
+
constrains) → entity. PascalCase tokens in the `Expression` (skipping
|
|
130
|
+
primitives `DateTime`, `String`, `Boolean`, `Guid`, …) → entities. A rule
|
|
131
|
+
`VAT = base * VatRate.percentage` implies a `VatRate` entity.
|
|
132
|
+
|
|
133
|
+
**Forbidden as a source** — these never feed deduction:
|
|
134
|
+
|
|
135
|
+
- **Domain expertise / "best practices"** — "most HR systems track contract
|
|
136
|
+
types" is not a trace. If the module's UC/BR don't reference a concept, it does
|
|
137
|
+
not enter the model.
|
|
138
|
+
- **Other modules / other apps** — used only for collision detection (below).
|
|
139
|
+
Cross-module concepts surface as plain `Guid` FK attributes, not entities.
|
|
140
|
+
|
|
141
|
+
If you reach for any of these to *justify* an entity, attribute or relationship,
|
|
142
|
+
stop — it is hallucinated. Defer to the upstream phase, then come back.
|
|
143
|
+
|
|
144
|
+
## Collision detection — before proposing
|
|
145
|
+
|
|
146
|
+
Scan candidate names against SmartStack Core BEFORE presenting them. A client
|
|
147
|
+
entity must **never duplicate a Core entity** — reference it via a `Guid` FK
|
|
148
|
+
attribute instead.
|
|
149
|
+
|
|
150
|
+
| Rule | Trigger | Action |
|
|
151
|
+
|------|---------|--------|
|
|
152
|
+
| **C-1** name matches a Core entity (case-insensitive, singular) | **BLOCK** | Do not model it. Person concept (Employee, Customer) → set the person mode on the client entity. Reference concept (Department, Role) → add a `Guid` attribute `{Name}Id`. Feature concept (Notification, Ticket, Workflow) → tell the user Core covers it. |
|
|
153
|
+
| **C-2** `tablePrefix` is reserved | **BLOCK** | Reject — pick a domain prefix. |
|
|
154
|
+
| **C-3** name matches an entity in another module/app (Grep the tree) | **WARN** | Flag it; ask (AskUserQuestion) cross-module FK vs deliberate bounded-context split. |
|
|
155
|
+
|
|
156
|
+
**Reserved prefixes (C-2):** `auth_` `nav_` `tkt_` `ntf_` `wkf_` `cfg_` `ai_`
|
|
157
|
+
`ent_` `usr_` `tnt_` `email_` `core_` `lic_` `loc_`.
|
|
158
|
+
|
|
159
|
+
**Core covers (do NOT model):** Users/Identity (`auth_`: User, Role,
|
|
160
|
+
Permission, Group, Department, JobTitle, Company, Office), Tenants (`tnt_`),
|
|
161
|
+
Navigation (`nav_`), Support/Ticketing (`tkt_`), Notifications (`ntf_`), AI
|
|
162
|
+
(`ai_`), Workflows & Email templates (`wkf_`/`email_`), Settings (`cfg_`),
|
|
163
|
+
Licensing (`lic_`), Language/Localization (`loc_`), Data export (`core_`).
|
|
164
|
+
Client entities reference Core by **`Guid` FK only** (no navigation property —
|
|
165
|
+
resolved via `ICoreDataService` at runtime).
|
|
166
|
+
|
|
167
|
+
## Person extension pattern
|
|
168
|
+
|
|
169
|
+
Entities representing people fall into three modes — deduce the right one
|
|
170
|
+
(generated code differs sharply):
|
|
171
|
+
|
|
172
|
+
- **mandatory** — always has an auth user (e.g. `Employee`, `Teacher`,
|
|
173
|
+
`Technician`). FK `UserId` NOT NULL; identity fields (`FirstName`, `LastName`,
|
|
174
|
+
`Email`) come from `auth_Users` — do NOT redeclare them locally.
|
|
175
|
+
- **optional** — may or may not have a user (e.g. `Customer`, `Supplier`,
|
|
176
|
+
`Patient`). FK `UserId` nullable; the entity carries its own
|
|
177
|
+
`FirstName`/`LastName`/`Email` (only the ones a module UC/BR names), with
|
|
178
|
+
fallback to the user when linked.
|
|
179
|
+
- **none** — not a person (`Order`, `Invoice`, `Project`, `Skill`).
|
|
180
|
+
|
|
181
|
+
## Workflow — 2 steps
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
Step 0 — TRACE AUDIT (in prose): list every entity you intend to keep, each with
|
|
185
|
+
its verbatim UC/BR trace at THIS module's scope. Drop any row with no trace.
|
|
186
|
+
Do NOT write the file until every kept row has a trace.
|
|
187
|
+
|
|
188
|
+
Step 1 — COMPLETE MCD: deduce entities + attributes + computed formulas +
|
|
189
|
+
relationships + indexes from the module's use-case.md and règles-métier.md
|
|
190
|
+
ONLY. Present for review. On validation, Write entité.md.
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Step 0 — Trace audit (mandatory)
|
|
194
|
+
|
|
195
|
+
Before proposing, write a short prose table. One row per entity, with its
|
|
196
|
+
verbatim trace, the module-scope match, and the decision:
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
| Entity | Verbatim trace (UC · BR) | Module scope | Decision |
|
|
200
|
+
|------------|-----------------------------------------------------------|--------------|----------|
|
|
201
|
+
| Lead | UC-CRM-PROSPECTION-001 step 1 · BR-005 (target=lead) | ✅ CRM/PROSPECTION | keep |
|
|
202
|
+
| LeadSource | BR-005 expression token | ✅ CRM/PROSPECTION | keep |
|
|
203
|
+
| LeadCategory | (none — "domain knowledge") | — | DROP |
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
- Every `Verbatim trace` entry MUST appear textually in the module's
|
|
207
|
+
`use-case.md` or `règles-métier.md`. Grep to confirm — if a code is not in the
|
|
208
|
+
tree, it does not exist.
|
|
209
|
+
- Refs from another module are **not admissible** — cross-module FKs are plain
|
|
210
|
+
`Guid` attributes, not entity sources.
|
|
211
|
+
- `DROP` rows are excluded from the file and surfaced to the user, with the
|
|
212
|
+
upstream phase to fix first.
|
|
213
|
+
- If every existing entity is complete AND no missing entity has a trace, do NOT
|
|
214
|
+
write — reply that the model already covers the module's UCs/BR, and the user
|
|
215
|
+
must enrich the upstream phases to extend it.
|
|
216
|
+
|
|
217
|
+
## Presenting the deduction
|
|
218
|
+
|
|
219
|
+
Present the complete MCD as a structured summary per entity — the `Trace:` line
|
|
220
|
+
FIRST, then attributes, relationships, indexes. NOT a checklist, NOT just names.
|
|
221
|
+
The `Trace:` line is **mandatory**: no entity without ≥1 verbatim UC/BR
|
|
222
|
+
reference.
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
Module EMPLOYEES (4 use cases, 12 business rules). Proposed data model — every
|
|
226
|
+
entity is anchored on the upstream phases:
|
|
227
|
+
|
|
228
|
+
- ENT-001 — Employee (full-module, person: mandatory, prefix hr_)
|
|
229
|
+
Trace: UC-001 step 1 ("create employee") · BR-005 (target=employee)
|
|
230
|
+
Attrs: FirstName (string/100, req — from auth_Users), HiredAt (datetime, req),
|
|
231
|
+
Status (enum: active/on-leave/terminated), TenureMonths (computed:
|
|
232
|
+
`(DateTime.UtcNow - HiredAt).Days / 30`)
|
|
233
|
+
Rels: → Department (N:1, FK DepartmentId, required, restrict)
|
|
234
|
+
Indexes: (TenantId, Status)
|
|
235
|
+
|
|
236
|
+
- ENT-002 — Department (lightweight-module, prefix hr_)
|
|
237
|
+
Trace: UC-001 step 2 ("assign department")
|
|
238
|
+
Attrs: Name (string/200, req), Code (string/50, unique)
|
|
239
|
+
Indexes: (Code) unique
|
|
240
|
+
|
|
241
|
+
These are all required by the module's use cases / rules. Confirm to write, or
|
|
242
|
+
tell me what to adjust.
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Then call AskUserQuestion with Validate / Adjust / Cancel. On Validate, Write
|
|
246
|
+
`entité.md`.
|
|
247
|
+
|
|
248
|
+
## Detailed heuristics — per-aspect level files
|
|
249
|
+
|
|
250
|
+
Load the level file that matches the aspect you're working on:
|
|
251
|
+
|
|
252
|
+
| Aspect | File |
|
|
253
|
+
|--------|------|
|
|
254
|
+
| Identifying entities + scoring/classification | `./levels/identify.md` |
|
|
255
|
+
| Attributes: typing, lengths, computed formulas | `./levels/attributes.md` |
|
|
256
|
+
| Relationships: cardinality, cascade, cross-module FK rule | `./levels/relationships.md` |
|
|
257
|
+
|
|
258
|
+
The three aspects are produced in **one pass** and written to a **single**
|
|
259
|
+
`entité.md`. The level files are reference
|
|
260
|
+
heuristics — they do not change the one-file-per-module output.
|
|
261
|
+
|
|
262
|
+
## Self-check before writing (data-model → screens gate)
|
|
263
|
+
|
|
264
|
+
Before writing `entité.md`, verify each entity has:
|
|
265
|
+
- a well-formed `ENT-NNN` code and a PascalCase singular `name`;
|
|
266
|
+
- a non-empty `Traçabilité` line citing ≥1 verbatim UC/BR of THIS module;
|
|
267
|
+
- a `tablePrefix` matching `^[a-z]{2,5}_$`, not reserved;
|
|
268
|
+
- ≥1 attribute; every string attribute a length, every decimal a precision,
|
|
269
|
+
every enum its values;
|
|
270
|
+
- every **computed** attribute a non-empty formula referencing only PascalCase
|
|
271
|
+
properties of the SAME entity (cross-entity formulas forbidden — see
|
|
272
|
+
`levels/attributes.md`);
|
|
273
|
+
- only **same-module** relationships (cross-module / Core FKs are plain `Guid`
|
|
274
|
+
attributes — see `levels/relationships.md`);
|
|
275
|
+
- no framework field (`Id` aside, shown for readability only).
|
|
276
|
+
|
|
277
|
+
Surface any gap to the user instead of writing a half-defined model. The deep
|
|
278
|
+
audit — FK integrity, cycles, orphans, classification conventions, reciprocal
|
|
279
|
+
traceability — is run by **`/ba-audit-data-model`** (it reads the tree and
|
|
280
|
+
writes its verdict under the module's `_audit/`); you don't produce audit
|
|
281
|
+
findings here.
|
|
282
|
+
|
|
283
|
+
## After writing → hand off to screens
|
|
284
|
+
|
|
285
|
+
Acknowledge in one line ("Modèle de données écrit pour EMPLOYEES : 6 entités."),
|
|
286
|
+
then propose continuing with screens (`/ba-create-screen`) — the fixed next
|
|
287
|
+
phase. Convert any descendant `entité.md` placeholders you touch into the
|
|
288
|
+
one-line rollup pointer.
|
|
289
|
+
|
|
290
|
+
## Decision table
|
|
291
|
+
|
|
292
|
+
| State | Action |
|
|
293
|
+
|-------|--------|
|
|
294
|
+
| No menu tree | Defer: "Define the menu first (`/ba-create-menu`)." |
|
|
295
|
+
| Module has no use cases AND no rules | Defer: "Define use cases or rules first." |
|
|
296
|
+
| Context exists, no `entité.md` content | Step 0 → Step 1 → Write |
|
|
297
|
+
| `entité.md` already complete for the module | Confirm coverage; enrich upstream to extend |
|
|
298
|
+
| User asks to remove an entity that HAS a trace | Explain its trace; do NOT remove while the UC/BR remains — defer removal to the owning phase |
|
|
299
|
+
| User asks to remove an entity with NO trace | Re-Write `entité.md` without it (overwrite drops it) |
|
|
300
|
+
| User asks to add an entity | Grep `use-case.md`/`règles-métier.md` for a verbatim trace; add only if found, else defer to the upstream phase |
|
|
301
|
+
| Informational question | Answer in prose, no Write |
|
|
302
|
+
|
|
303
|
+
## Absolute prohibitions
|
|
304
|
+
|
|
305
|
+
1. **Never propose an entity without a `Trace:` line** citing ≥1 verbatim UC/BR
|
|
306
|
+
of the current module — non-traceable entities are forbidden.
|
|
307
|
+
2. **Never source an entity/attribute/relationship from another module** — the
|
|
308
|
+
trace must come from the SAME `<APP>/<MODULE>` scope. Cross-module concepts
|
|
309
|
+
surface as plain `Guid` FK attributes.
|
|
310
|
+
3. **Never use domain knowledge, best practices, or analogy** to invent an
|
|
311
|
+
entity, attribute or relationship — they are not sources.
|
|
312
|
+
4. **Never declare a relationship whose target is in another module or Core** —
|
|
313
|
+
model it as a plain `Guid` attribute (see `levels/relationships.md`).
|
|
314
|
+
5. **Never add framework fields** (`CreatedAt`, `UpdatedAt`, `TenantId`,
|
|
315
|
+
`DeletedAt`, …). `Id` is shown in the table for readability only.
|
|
316
|
+
6. **Never duplicate a SmartStack Core entity** — reference via `Guid` FK.
|
|
317
|
+
7. **Never skip Step 0** — the prose trace audit precedes every Write.
|
|
318
|
+
8. **Never write a partial model** — the Write overwrites; re-list every entity
|
|
319
|
+
that must survive.
|