@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,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: dataModel
|
|
3
|
+
kind: level
|
|
4
|
+
level: attributes
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Aspect — ATTRIBUTES (incl. computed formulas)
|
|
8
|
+
|
|
9
|
+
For each entity, define its `tablePrefix`, `tenantMode`, business attributes
|
|
10
|
+
(type, length, required, unique), computed formulas, indexes and an optional code
|
|
11
|
+
pattern. You auto-deduce attributes from the module's `use-case.md` and
|
|
12
|
+
`règles-métier.md` and present the complete result for review — you do NOT ask
|
|
13
|
+
the user field by field.
|
|
14
|
+
|
|
15
|
+
## How to deduce attributes (closed sources only)
|
|
16
|
+
|
|
17
|
+
- **Business rules** — `salary >= minimumWage` → `Salary` (decimal); `when
|
|
18
|
+
status = 'active'` → `Status` (enum); "email unique per tenant" → `Email`
|
|
19
|
+
(string, unique).
|
|
20
|
+
- **Use cases** — "fills in their leave dates" → `StartDate`, `EndDate`; "enters
|
|
21
|
+
an approval note" → `ApprovalNote` (text); "the system calculates the total" →
|
|
22
|
+
a **computed** attribute (see below).
|
|
23
|
+
|
|
24
|
+
**NEVER from domain knowledge or web search.** "Standard" fields (`FirstName`,
|
|
25
|
+
`Email`, `Status`, `TotalExclTax`…) are not a source: if no module UC/BR mentions
|
|
26
|
+
the field, do not add it — surface the gap and defer. For a `person: mandatory`
|
|
27
|
+
entity, identity fields (`FirstName`, `LastName`, `Email`) come from `auth_Users`
|
|
28
|
+
— never redeclare them.
|
|
29
|
+
|
|
30
|
+
## tablePrefix (functional domain, not module location)
|
|
31
|
+
|
|
32
|
+
| Prefix | Domain | Prefix | Domain |
|
|
33
|
+
|--------|--------|--------|--------|
|
|
34
|
+
| `hr_` | Employee, Department, Timesheet | `crm_` | Customer, Lead, Opportunity |
|
|
35
|
+
| `ops_` | Project, Task, Resource | `fin_` | Invoice, Payment, Budget |
|
|
36
|
+
| `inv_` | Product, Warehouse, StockMovement | `cfg_` | tenant lookups |
|
|
37
|
+
|
|
38
|
+
Invent 2-5 lowercase letters + `_` for new domains (`edu_`, `med_`…). Match the
|
|
39
|
+
prefix of the module's existing entities when in doubt. Reserved prefixes are
|
|
40
|
+
blocked — see SKILL.md § Collision detection.
|
|
41
|
+
|
|
42
|
+
## tenantMode
|
|
43
|
+
|
|
44
|
+
| Mode | Use for |
|
|
45
|
+
|------|---------|
|
|
46
|
+
| `strict` (default) | tenant-isolated business data (employees, orders, invoices) |
|
|
47
|
+
| `optional` | shared resources with per-tenant overrides (email templates) |
|
|
48
|
+
| `scoped` | tri-level visibility (tenant + shared catalog + platform) |
|
|
49
|
+
| `none` | platform lookups single-set for all tenants (`Language`, `Country`) |
|
|
50
|
+
|
|
51
|
+
Default `strict`. Use AskUserQuestion only when tenancy is genuinely ambiguous.
|
|
52
|
+
|
|
53
|
+
## Types & lengths — stick to these
|
|
54
|
+
|
|
55
|
+
**Strings:** 50 (codes), 100 (names/labels), 200 (titles), 256 (email/URL),
|
|
56
|
+
500/1000/2000 (descriptions), 4000 (JSON), `text` (unbounded). Never arbitrary
|
|
57
|
+
lengths — round to the nearest standard.
|
|
58
|
+
|
|
59
|
+
**Decimals:** money `decimal(18,8)`; percentages `decimal(5,4)`; quantities
|
|
60
|
+
`decimal(18,4)`; coordinates `decimal(9,6)`. Never `float`/`double` for money.
|
|
61
|
+
|
|
62
|
+
**Palette:** `string text int long short decimal float double bool datetime date
|
|
63
|
+
time guid enum json binary`.
|
|
64
|
+
|
|
65
|
+
## Computed attributes (the `Calculé` column)
|
|
66
|
+
|
|
67
|
+
When a value is **deterministically derived from other attributes of the SAME
|
|
68
|
+
entity** (line total, consumption rate, age from a birth date), declare it as a
|
|
69
|
+
normal attribute and put the **C# formula** in the `Calculé` column of
|
|
70
|
+
`entité.md`. The dev cascade picks it up: DTO projection, repository LINQ
|
|
71
|
+
`.Select(…)` (single query, no N+1), read-only React column.
|
|
72
|
+
|
|
73
|
+
**Rules (load-bearing — they cascade to the dev pipeline):**
|
|
74
|
+
- The formula is a C# expression referencing **PascalCase properties of the same
|
|
75
|
+
entity** (`Amount`, `Probability`, `BirthDate`).
|
|
76
|
+
- **Cross-entity references are forbidden** (the audit rejects them). A value
|
|
77
|
+
needing data from a related entity stays a backend service / business rule.
|
|
78
|
+
- Side-effect-free, EF-translatable (pure arithmetic / string concat). No method
|
|
79
|
+
calls EF can't translate. Max ~1000 chars.
|
|
80
|
+
- A computed attribute has **no DB column and no setter** — it is read-only.
|
|
81
|
+
|
|
82
|
+
| Use case | Type | Formula |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| Weighted amount of an opportunity | decimal | `Amount * Probability` |
|
|
85
|
+
| Line total of an invoice item | decimal | `Quantity * UnitPrice * (1 + VatRate)` |
|
|
86
|
+
| Full name of a contact | string | `FirstName + " " + LastName` |
|
|
87
|
+
| Consumption rate of a budget | decimal | `(InitialAmount - CurrentBalance) / InitialAmount` |
|
|
88
|
+
|
|
89
|
+
**When NOT computed:** the value is stored & user-editable; or it needs a related
|
|
90
|
+
entity; or it's non-deterministic (random, time-now without an input attribute) →
|
|
91
|
+
omit the formula (`—` in the column).
|
|
92
|
+
|
|
93
|
+
## Framework fields — DO NOT list
|
|
94
|
+
|
|
95
|
+
`Id`, `CreatedAt`, `UpdatedAt`, `CreatedBy`, `UpdatedBy`, `DeletedAt`, `TenantId`,
|
|
96
|
+
`Scope` are implicit (base classes add them). Show only `Id Guid PK` in the table
|
|
97
|
+
for readability; never the others.
|
|
98
|
+
|
|
99
|
+
## Indexes & code patterns
|
|
100
|
+
|
|
101
|
+
- **Indexes** — only those a UC/BR query pattern justifies. Unique for business
|
|
102
|
+
uniqueness ("no two users share an email" → `(Email) unique`); composite for
|
|
103
|
+
frequent filters (`(Status, CreatedAt)`). No need to index FK columns (EF
|
|
104
|
+
auto-indexes them). In `entité.md`, list as `(Field)` / `(Field) unique`.
|
|
105
|
+
- **Code pattern** — only for entities users refer to by number (Order, Invoice,
|
|
106
|
+
Ticket, Employee matricule, Product). A `codePattern` is the data-model side of a
|
|
107
|
+
`numbering` business rule (`/ba-create-business-rules`) and carries:
|
|
108
|
+
- **format** — template with tokens (`AFF-{YY}-{SEQ:4}` → prefix + 2-digit year
|
|
109
|
+
+ 4-digit zero-padded counter) ;
|
|
110
|
+
- **scope** — `tenant` (default, tenant-isolated data) / `global` (platform-wide)
|
|
111
|
+
/ `parent:<Entity>` ; **must be consistent with `tenantMode`** ;
|
|
112
|
+
- **reset** — `none` / `yearly` / `monthly` / `daily`, aligned with a date token
|
|
113
|
+
in the format (yearly ⇒ `{YY}`) ;
|
|
114
|
+
- **gapless** — `true` (legal/accounting, no gaps) / `false` (gaps tolerated).
|
|
115
|
+
|
|
116
|
+
Strategy shorthands still apply: `sequential` (default), `year-sequential`
|
|
117
|
+
(invoices), `timestamp-daily` (high daily volume), `uuid-short` (tokens).
|
|
118
|
+
Reference the `numbering` rule code (`BR-…`) in the entity's **Traçabilité**.
|
|
119
|
+
When the pattern is **gapless + tenant-scoped**, also model the counter as a
|
|
120
|
+
`technical` allocator entity (see `identify.md`) so the per-tenant sequence is
|
|
121
|
+
explicit in the MCD. Lookups, junctions and audit logs get no code pattern.
|
|
122
|
+
|
|
123
|
+
## Quality checks (per entity)
|
|
124
|
+
|
|
125
|
+
- `tablePrefix` matches `^[a-z]{2,5}_$`, not reserved; `tenantMode` set.
|
|
126
|
+
- ≥1 attribute; every string has a length, every decimal precision/scale, every
|
|
127
|
+
enum non-empty values.
|
|
128
|
+
- Computed attributes reference only same-entity PascalCase props (no
|
|
129
|
+
cross-entity).
|
|
130
|
+
- No framework field listed. Then continue to relationships (`./relationships.md`).
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: dataModel
|
|
3
|
+
kind: level
|
|
4
|
+
level: identify
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Aspect — IDENTIFY entities
|
|
8
|
+
|
|
9
|
+
Discover **all entities** the current module needs, from its `use-case.md` and
|
|
10
|
+
`règles-métier.md` only. You do NOT ask the user which entities to keep — you
|
|
11
|
+
deduce them and present them for review. **Every entity needs a verbatim trace**
|
|
12
|
+
to ≥1 UC/BR of this module; non-traceable entities are forbidden.
|
|
13
|
+
|
|
14
|
+
## Read first (the only entity sources)
|
|
15
|
+
|
|
16
|
+
| Source | What to extract |
|
|
17
|
+
|--------|-----------------|
|
|
18
|
+
| `index.md` (module) | scope + `## Hors-périmètre` — all work is limited to this module |
|
|
19
|
+
| `use-case.md` | nouns in main/alternative flows + pre/postconditions → candidate entities; verbs and actors are NOT entities |
|
|
20
|
+
| `règles-métier.md` | the rule's target concept → entity; PascalCase tokens in the expression (skip primitives) → referenced entities |
|
|
21
|
+
| `entité.md` (if present) | existing entities — enrich alongside, don't duplicate |
|
|
22
|
+
|
|
23
|
+
Web search, "domain knowledge", "best practices" and analogy with other apps are
|
|
24
|
+
**NOT sources**. If a candidate has no verbatim trace in this module's UC/BR,
|
|
25
|
+
defer to `/ba-create-use-case` or `/ba-create-business-rules` — never invent.
|
|
26
|
+
|
|
27
|
+
## Deduction rules
|
|
28
|
+
|
|
29
|
+
**From use cases** — for each step of the main flow, identify the nouns (objects
|
|
30
|
+
acted upon) → entities; ignore verbs (rules/steps) and UI words (button, page,
|
|
31
|
+
dialog). Each precondition/postcondition that asserts a thing exists ("the order
|
|
32
|
+
exists" → Order; "the audit log has an entry" → AuditLog). A UC's primary actor
|
|
33
|
+
often has a domain counterpart entity (`Employee` for an EMPLOYEE actor) — model
|
|
34
|
+
the counterpart, not the actor.
|
|
35
|
+
|
|
36
|
+
**From business rules** — the rule's target concept is the entity it constrains;
|
|
37
|
+
its condition hints at which attributes matter; PascalCase tokens in its
|
|
38
|
+
expression name referenced entities. If a rule expression references an entity
|
|
39
|
+
you didn't list, add it with a trace to that rule.
|
|
40
|
+
|
|
41
|
+
**Junctions, lookups, snapshots** — admissible **only when an upstream reference
|
|
42
|
+
forces them**:
|
|
43
|
+
- N:M junction → only when a UC/BR explicitly implies the cardinality.
|
|
44
|
+
- Lookup (`ContractType`, `Country`) → only when a UC/BR references it. A rule
|
|
45
|
+
"contract types: CDI, CDD, STAGE" forces a `ContractType` lookup; absent any
|
|
46
|
+
reference, do NOT invent it.
|
|
47
|
+
- Historical snapshot / audit log → only when a UC/BR requires the trace.
|
|
48
|
+
|
|
49
|
+
Each is forbidden until an upstream reference exists. Surface the gap and defer.
|
|
50
|
+
|
|
51
|
+
## Scoring grid → classification (drives the `(role)` label)
|
|
52
|
+
|
|
53
|
+
Score each entity 0-3 on five criteria (total 0-15):
|
|
54
|
+
|
|
55
|
+
| Criterion | 0 | 1 | 2 | 3 |
|
|
56
|
+
|-----------|---|---|---|---|
|
|
57
|
+
| Lifecycle (states) | static | simple CRUD | CRUD + 1-3 states | full lifecycle |
|
|
58
|
+
| Actors (who interacts) | admin only | 1 role | 2-3 roles | 4+ / public |
|
|
59
|
+
| Relations (FK count) | 0-1 | 1-3 | 3-5 | 5+ |
|
|
60
|
+
| Volume (rows) | < 50 | 50-500 | 500-5 000 | 5 000+ |
|
|
61
|
+
| Autonomy | no sense alone | context-dependent | stands alone | independent domain |
|
|
62
|
+
|
|
63
|
+
| Total | Classification | Role hint for the `entité.md` heading |
|
|
64
|
+
|-------|----------------|----------------------------------------|
|
|
65
|
+
| 0-3 | `lookup` | `lookup` — admin-managed reference table |
|
|
66
|
+
| 4-6 | `component` | `composant` — sub-entity managed inside a parent |
|
|
67
|
+
| 7-10 | `lightweight-module` | own list section |
|
|
68
|
+
| 11-15 | `full-module` | `agrégat racine` — rich lifecycle, own section tree |
|
|
69
|
+
|
|
70
|
+
The classification drives downstream UI decisions (a `lookup` needs only an admin
|
|
71
|
+
page; a `full-module` deserves its own section tree).
|
|
72
|
+
|
|
73
|
+
**`technical` (special, score 0-3).** When a 0-3 entity is an infrastructure
|
|
74
|
+
allocator — a sequence/counter handing out reference numbers (e.g. a
|
|
75
|
+
`DemandeSequence` issuing `AFF-YY-NNNN`), an outbox, or an audit-only log —
|
|
76
|
+
rather than admin-managed business reference data, label it `technical` (not
|
|
77
|
+
`lookup`). It is isolated by nature (no business relationship), so add an
|
|
78
|
+
`- **Isolation** : by-design — <reason>` line to its `entité.md` heading block:
|
|
79
|
+
that records the intent in the model and exempts it from audit DM-009. It gets
|
|
80
|
+
no list/admin UI by default.
|
|
81
|
+
|
|
82
|
+
A `technical` allocator is the table backing a **gapless** per-tenant
|
|
83
|
+
`codePattern` (see `attributes.md` § Code pattern): one counter row per scope
|
|
84
|
+
(e.g. keyed `{tenantId, year}`) with a `nextValue:int`. Declare it whenever a
|
|
85
|
+
`numbering` rule requires no gaps; for a non-gapless pattern the `codePattern`
|
|
86
|
+
metadata alone is enough (the runtime allocator the Studio provides handles it).
|
|
87
|
+
|
|
88
|
+
## Quality checks (per entity, before proposing)
|
|
89
|
+
|
|
90
|
+
- Has a business identity (a user would refer to it by name)?
|
|
91
|
+
- Persistent (survives across sessions)?
|
|
92
|
+
- **Traceable** verbatim to ≥1 UC step / pre-postcondition or BR target /
|
|
93
|
+
expression token **of this module**? *(blocking — cross-module refs become
|
|
94
|
+
plain `Guid` FK attributes instead)*
|
|
95
|
+
- Classification consistent with its score?
|
|
96
|
+
- `person` mode unambiguous (mandatory / optional / none — see SKILL.md)?
|
|
97
|
+
- Description understandable by a developer with no context?
|
|
98
|
+
|
|
99
|
+
If any answer is "no" → drop the candidate or surface the gap and defer to the
|
|
100
|
+
upstream phase. Then move on to attributes (`./attributes.md`).
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: dataModel
|
|
3
|
+
kind: level
|
|
4
|
+
level: relationships
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Aspect — RELATIONSHIPS
|
|
8
|
+
|
|
9
|
+
Connect the entities with foreign keys and cardinalities. For each relationship
|
|
10
|
+
between **two entities of the SAME module**, define: cardinality
|
|
11
|
+
(`1:1`/`1:N`/`N:1`/`N:M`), FK name (PascalCase, usually `{Target}Id`), required
|
|
12
|
+
(nullable?), and cascade (`restrict`/`cascade`/`set-null`/`no-action`). You
|
|
13
|
+
auto-deduce relationships from entity attributes, use cases and rules — never
|
|
14
|
+
from domain knowledge — and present the complete map for review.
|
|
15
|
+
|
|
16
|
+
## How to deduce (closed sources only)
|
|
17
|
+
|
|
18
|
+
- **Names/attributes** — `OrderLine` belongs to `Order` → N:1, FK `OrderId`; a
|
|
19
|
+
"department" concept on Employee → N:1 to Department.
|
|
20
|
+
- **Use cases** — "the manager approves the leave request" → LeaveRequest N:1
|
|
21
|
+
Employee (approver); "the order contains multiple lines" → Order 1:N OrderLine.
|
|
22
|
+
- **Business rules** — "cannot delete a department with employees" → `restrict`
|
|
23
|
+
on Department→Employee; "when an order is cancelled, lines are soft-deleted" →
|
|
24
|
+
`cascade` on Order→OrderLine; "if a ticket has no assignee, route to pool" →
|
|
25
|
+
nullable assignee, `set-null`.
|
|
26
|
+
|
|
27
|
+
**NEVER from domain knowledge.** Hierarchical-tree, "manager-of", "category-of",
|
|
28
|
+
"type-of" reflexes are not sources: if no module UC/BR names the relationship,
|
|
29
|
+
defer to the upstream phase. Pick `restrict` only when a BR says deletion is
|
|
30
|
+
blocked; otherwise surface the gap.
|
|
31
|
+
|
|
32
|
+
## Cardinality
|
|
33
|
+
|
|
34
|
+
| Cardinality | Meaning | FK lives on |
|
|
35
|
+
|-------------|---------|-------------|
|
|
36
|
+
| `1:1` | each A ↔ exactly one B | the dependent side |
|
|
37
|
+
| `1:N` | each A has many B; each B one A | on B (`AId`) |
|
|
38
|
+
| `N:1` | each A has one B; each B many A | on A (`BId`) |
|
|
39
|
+
| `N:M` | each A many B and vice-versa | junction table (composite key) |
|
|
40
|
+
|
|
41
|
+
Declare the **owning side** (the one with the FK column); the inverse navigation
|
|
42
|
+
is auto-created. An `N:M` without payload (a pure tag cloud, e.g. Employee↔Skill)
|
|
43
|
+
is declared on one side; the junction table is generated automatically. If the
|
|
44
|
+
junction carries business meaning (e.g. `Enrollment` between Student and Course
|
|
45
|
+
with a grade and a completedAt), model it as a **separate entity** with two `N:1`
|
|
46
|
+
relationships instead of an `N:M`.
|
|
47
|
+
|
|
48
|
+
## Required & cascade
|
|
49
|
+
|
|
50
|
+
- **required** — `true` when a BR says "must exist" / "cannot be null"; else
|
|
51
|
+
`false`. Self-references are usually `false` (root nodes exist).
|
|
52
|
+
- **cascade** — `cascade` when children can't exist without the parent
|
|
53
|
+
(`Order`→`OrderLine`); `restrict` when a BR blocks deletion
|
|
54
|
+
(`Department`→`Employee`); `set-null` to detach (requires nullable FK,
|
|
55
|
+
`Ticket`→`Assignee`); `no-action` for self-references (SQL can't cascade a
|
|
56
|
+
cycle). **Default `restrict`.** A self-referencing hierarchy (org chart,
|
|
57
|
+
category tree) uses `N:1` self-ref, FK `{Role}Id` nullable, cascade
|
|
58
|
+
`no-action`.
|
|
59
|
+
|
|
60
|
+
## Cross-module relationships — DESIGN RULE (load-bearing)
|
|
61
|
+
|
|
62
|
+
The MCD is **scoped to ONE module** (`entité.md` per module). The EF Core
|
|
63
|
+
generation pipeline does **not navigate across module boundaries** — cross-module
|
|
64
|
+
FKs are reconciled via `ICoreDataService`-style lookups, with no navigation
|
|
65
|
+
property. Therefore:
|
|
66
|
+
|
|
67
|
+
- **Same-module FK** → declared as a **relationship** (cardinality + cascade
|
|
68
|
+
matter for code generation).
|
|
69
|
+
- **Another module of the same app, another app's module, or SmartStack Core**
|
|
70
|
+
(`auth_Users`, `nav_*`, `tnt_*`, …) → model the FK as a **plain `Guid`
|
|
71
|
+
attribute**, declare NO relationship.
|
|
72
|
+
|
|
73
|
+
| Target lives in… | Use |
|
|
74
|
+
|------------------|-----|
|
|
75
|
+
| Same module | declared `relationship` |
|
|
76
|
+
| Another module of the same app | **plain `Guid` attribute** — no relationship |
|
|
77
|
+
| Another app's module | **plain `Guid` attribute** — no relationship |
|
|
78
|
+
| SmartStack Core | **plain `Guid` attribute** — no relationship |
|
|
79
|
+
|
|
80
|
+
Naming for the plain FK attribute: `{TargetName}Id` (`ContactId`, `OwnerUserId`).
|
|
81
|
+
Always give it a description naming the foreign module/entity, e.g.
|
|
82
|
+
`ContactId (Guid) — FK cross-module vers CRM/CONTACTS.Contact`. In `entité.md`,
|
|
83
|
+
such a FK appears as a normal row in the attribute table (type `Guid`), NOT in
|
|
84
|
+
the `Relations` line.
|
|
85
|
+
|
|
86
|
+
## Quality checks (per entity)
|
|
87
|
+
|
|
88
|
+
- Every relationship targets an entity **of the same module**.
|
|
89
|
+
- No relationship targets another module or Core — those are plain `Guid`
|
|
90
|
+
attributes.
|
|
91
|
+
- No duplicate relationship name within an entity.
|
|
92
|
+
- `required: true` is consistent with the FK being non-nullable (cannot pair
|
|
93
|
+
`required: true` with `set-null`).
|
|
94
|
+
- Self-references use `no-action`.
|
|
95
|
+
- `N:M` is either payload-free or already promoted to a separate junction entity.
|
|
96
|
+
|
|
97
|
+
After relationships, Write `entité.md`.
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ba-create-menu
|
|
3
|
+
description: >
|
|
4
|
+
Phase 1 of business analysis. Builds the Application → Module → Section →
|
|
5
|
+
Resource menu hierarchy for a project as a folder tree of `index.md` files
|
|
6
|
+
under `.smartstack/ba/`. Conversational: reads the current tree, proposes the
|
|
7
|
+
next level, asks the user to validate, then writes the files. Run this first,
|
|
8
|
+
before defining actors, use cases, rules, RBAC, data model, or screens.
|
|
9
|
+
allowed-tools: [Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ba-create-menu — 4-layer menu architecture
|
|
13
|
+
|
|
14
|
+
You are a business analyst defining the **menu architecture** of a project
|
|
15
|
+
through conversation. Your entire output for this phase is a tree of
|
|
16
|
+
**Application → Module → Section → Resource**. Nothing else.
|
|
17
|
+
|
|
18
|
+
## File model — state & persistence (read this first, every turn)
|
|
19
|
+
|
|
20
|
+
State lives in the `.smartstack/ba/` directory of the current project — there is
|
|
21
|
+
no database and no action blocks. On every turn:
|
|
22
|
+
|
|
23
|
+
1. **Read the current tree**: `Glob .smartstack/ba/**/index.md`. Each folder is a
|
|
24
|
+
node named by its **code**; each `index.md` holds its label, context and
|
|
25
|
+
out-of-scope. If `.smartstack/ba/` does not exist, this is a brand-new
|
|
26
|
+
project — you will create it.
|
|
27
|
+
2. **Propose** the next level in prose (list every code + label you propose so
|
|
28
|
+
the user sees it).
|
|
29
|
+
3. **Ask** the user to validate with the **AskUserQuestion** tool (closed
|
|
30
|
+
choices). Open questions (sector, scope) go in normal prose.
|
|
31
|
+
4. **Write** the result with the **Write** tool once validated (see "Writing a
|
|
32
|
+
node" below). A Write overwrites the whole file — re-list every item that
|
|
33
|
+
must survive.
|
|
34
|
+
|
|
35
|
+
Closed choices use AskUserQuestion (never a numbered list in prose). Confirm any
|
|
36
|
+
deletion before writing.
|
|
37
|
+
|
|
38
|
+
### Codes & labels (enforced)
|
|
39
|
+
|
|
40
|
+
| Level | Folder = code format | Example code | Example label |
|
|
41
|
+
|-------|----------------------|--------------|---------------|
|
|
42
|
+
| Application | `^[A-Z][A-Z0-9_]*$` | `CRM` | CRM |
|
|
43
|
+
| Module | `^[A-Z][A-Z0-9_]*$` | `PIPELINE` | Pipeline |
|
|
44
|
+
| Section | `^[a-z][a-z0-9-]*$` | `opportunites` | Opportunités |
|
|
45
|
+
| Resource | `^[a-z][a-z0-9-]*$` | `devis` | Devis |
|
|
46
|
+
|
|
47
|
+
Codes are ASCII (no accents); labels keep the user's language and accents. The
|
|
48
|
+
folder name IS the code (`Opportunités` → folder `opportunites`).
|
|
49
|
+
**Forbidden in any label**: `& / \ | < > "` — they signal a label bundling two
|
|
50
|
+
concepts; split into two nodes or pick a single unifying name.
|
|
51
|
+
|
|
52
|
+
## ⛔ Phase boundary — menu only
|
|
53
|
+
|
|
54
|
+
Your output captures node **names + business context** only. Defer everything
|
|
55
|
+
else to its phase — acknowledge in one line and move on, never preview the spec:
|
|
56
|
+
|
|
57
|
+
| Forbidden in this phase | Owner phase |
|
|
58
|
+
|-------------------------|-------------|
|
|
59
|
+
| Entities, attributes, fields, FK/PK, tables, schema | data model (`/ba-create-data-model`) |
|
|
60
|
+
| Business rules, validations, "si X alors Y" | rules (`/ba-create-business-rules`) |
|
|
61
|
+
| Routes, URLs, permissions, roles, `.access` codes | RBAC (`/ba-create-rbac`) |
|
|
62
|
+
| Screens, wireframes, KPIs, SmartComponents | screens (`/ba-create-screen`) |
|
|
63
|
+
| Use cases, actor flows, scenarios | use cases (`/ba-create-use-case`) |
|
|
64
|
+
| Actors / roles | actors (`/ba-create-actors`) |
|
|
65
|
+
|
|
66
|
+
### Familiar-domain trap — HARD GATE
|
|
67
|
+
|
|
68
|
+
Well-known domains (HR, CRM, stock, billing) tempt you to emit a complete spec
|
|
69
|
+
in one shot. Before every Write, check these bounds:
|
|
70
|
+
|
|
71
|
+
- applications ≤ 4 per project · modules ≤ 8 per app · sections ≤ 6 per module ·
|
|
72
|
+
resources ≤ 8 per section
|
|
73
|
+
|
|
74
|
+
If a bound is exceeded → STOP and propose a split across turns. If you catch
|
|
75
|
+
yourself writing "Entités principales", "Règles métier", "Routes" — STOP and
|
|
76
|
+
rewrite as menu-only.
|
|
77
|
+
|
|
78
|
+
### Calibration restraint — HARD CAP
|
|
79
|
+
|
|
80
|
+
For a NEW application you may ask **AT MOST 1** calibration question (via
|
|
81
|
+
AskUserQuestion) before proposing — targeting industry/sector, scope, or org
|
|
82
|
+
size, nothing else. If the user's prompt already answers it, skip the question
|
|
83
|
+
and propose directly. A 2nd calibration question is the #1 way this phase drifts.
|
|
84
|
+
|
|
85
|
+
## The 4 levels & decision table
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
Application → Module → Section → Resource
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Read the current tree, match the row, follow the level file. Re-read the tree
|
|
92
|
+
after every Write and re-enter this table.
|
|
93
|
+
|
|
94
|
+
| Tree state (for the focus app X) | Follow |
|
|
95
|
+
|----------------------------------|--------|
|
|
96
|
+
| `.smartstack/ba/` empty / first message | `./levels/applications.md` |
|
|
97
|
+
| App X has no modules | `./levels/modules.md` |
|
|
98
|
+
| X has modules, modules lack sections | `./levels/sections.md` |
|
|
99
|
+
| All X's modules have sections | `./levels/resources.md` |
|
|
100
|
+
| Complete tree for X | hand off to `/ba-create-actors` |
|
|
101
|
+
| User asks to merge two modules | `./levels/modules.md` § "Fusion" |
|
|
102
|
+
| User asks to modify/rename an element | adjust + re-Write the affected `index.md` |
|
|
103
|
+
| Informational question, no change | answer in prose, no Write |
|
|
104
|
+
|
|
105
|
+
The workflow is **per-app**: each app goes through applications → modules →
|
|
106
|
+
sections → resources independently.
|
|
107
|
+
|
|
108
|
+
## Writing a node (the persist step)
|
|
109
|
+
|
|
110
|
+
When the user validates, write the node(s) with the **Write** tool. Each node is
|
|
111
|
+
a folder named by its code under its parent, containing an `index.md` plus six
|
|
112
|
+
placeholder docs so the structure is uniform from creation.
|
|
113
|
+
|
|
114
|
+
### `index.md` shape (every node)
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
<!-- ba:node kind=node level=application code=CRM -->
|
|
118
|
+
# CRM — Gestion commerciale
|
|
119
|
+
|
|
120
|
+
## Contexte
|
|
121
|
+
{2-3 sentences: the business WHY of this node.}
|
|
122
|
+
|
|
123
|
+
## Hors-périmètre
|
|
124
|
+
- {explicit exclusion — "not in v1", "covered by BILLING", a refused behaviour}
|
|
125
|
+
|
|
126
|
+
## Enfants
|
|
127
|
+
- [PIPELINE](./PIPELINE/index.md) — Pipeline d'opportunités
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
- `level` ∈ `project | application | module | section | resource`.
|
|
131
|
+
- `## Contexte` is REQUIRED (apps/modules/sections); 2-3 sentences. Resources may
|
|
132
|
+
have a one-line context.
|
|
133
|
+
- `## Hors-périmètre` is optional but **strongly encouraged** whenever the user
|
|
134
|
+
signalled exclusions ("pas X", "plus tard", "ça c'est ailleurs") — the
|
|
135
|
+
downstream PRD reads it to stay in scope. Empty only when no exclusion exists.
|
|
136
|
+
- `## Enfants` lists child nodes with relative links; refresh it whenever you add
|
|
137
|
+
a child. The root `.smartstack/ba/index.md` (`level=project`) lists the apps.
|
|
138
|
+
|
|
139
|
+
### Scaffold the six placeholder docs
|
|
140
|
+
|
|
141
|
+
When you create a NEW node folder, also create the six concept docs as
|
|
142
|
+
placeholders so later phases fill them in place:
|
|
143
|
+
|
|
144
|
+
```markdown
|
|
145
|
+
<!-- ba:acteur level=application code=CRM -->
|
|
146
|
+
_À définir lors de la phase « acteurs » (/ba-create-actors)._
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Create one per concept with the right anchor: `acteur.md`, `entité.md`,
|
|
150
|
+
`use-case.md`, `règles-métier.md`, `rbac.md`, `screen.md`. (Keep these French,
|
|
151
|
+
accented filenames verbatim.) Later phases replace the placeholder with real
|
|
152
|
+
content at the authoritative level and write rollups elsewhere — that is their
|
|
153
|
+
job, not yours.
|
|
154
|
+
|
|
155
|
+
### Modifying & deleting
|
|
156
|
+
|
|
157
|
+
- **Rename / re-context**: read the node's `index.md`, edit the heading/sections,
|
|
158
|
+
Write it back. Update the parent's `## Enfants` link/label.
|
|
159
|
+
- **Delete a node**: confirm with AskUserQuestion, then remove the node's folder
|
|
160
|
+
(and its descendants) and drop it from the parent's `## Enfants`. Use the Bash
|
|
161
|
+
`rm`/`Remove-Item` only after explicit confirmation, or tell the user which
|
|
162
|
+
folder to delete if you lack a remove tool.
|
|
163
|
+
- **Merge two modules** (fusion): re-parent the source module's children under
|
|
164
|
+
the target, merge their `## Contexte`, delete the source folder, and fix every
|
|
165
|
+
`## Enfants` list. See `./levels/modules.md` § "Fusion".
|
|
166
|
+
|
|
167
|
+
## After writing a level → checkpoint, don't auto-drill
|
|
168
|
+
|
|
169
|
+
After writing applications (or modules, …), acknowledge in **one line** and ask
|
|
170
|
+
the user — via AskUserQuestion — whether to continue to the next level, add a
|
|
171
|
+
sibling, or pause. Do NOT auto-jump into proposing modules before the user opts
|
|
172
|
+
in. Never list "what phase next?" — the order is fixed (menu → actors → …).
|
|
173
|
+
|
|
174
|
+
## Absolute prohibitions
|
|
175
|
+
|
|
176
|
+
1. **Sections are nouns**, never verbs/actions (`factures`, not `create`/`emettre`).
|
|
177
|
+
Sole exception: `list`/`liste` (maps to a list view). Actions are buttons, not sections.
|
|
178
|
+
2. **Never a `Settings` section** — settings are a MODULE.
|
|
179
|
+
3. **Never a `SETTINGS` application** — each app owns its settings.
|
|
180
|
+
4. **Never duplicate SmartStack Core**: Ticketing/Support, Authentication/SSO,
|
|
181
|
+
Administration (permissions, audit logs), Notifications, Workflows, Data export.
|
|
182
|
+
5. **Never "CORE" terminology** — use Fundamental / Recommended / Advanced.
|
|
183
|
+
6. Sections are autonomous workspaces (Dashboard, Pipeline, Calendar, List), not
|
|
184
|
+
transient CRUD operations.
|
|
185
|
+
|
|
186
|
+
## Per-level guidance
|
|
187
|
+
|
|
188
|
+
Load the level file that matches the decision table for the detailed proposal
|
|
189
|
+
heuristics: `./levels/applications.md`, `./levels/modules.md`,
|
|
190
|
+
`./levels/sections.md`, `./levels/resources.md`. They carry the exploration
|
|
191
|
+
checklist, two-axis (manager/portal) pattern, naming rules, and edge cases.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase: menu
|
|
3
|
+
kind: level
|
|
4
|
+
level: applications
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Level 1 — Applications
|
|
8
|
+
|
|
9
|
+
> Scope strict: propose **applications only**. No modules/sections/resources/
|
|
10
|
+
> entities/rules/screens. The phase boundary in `SKILL.md` applies verbatim.
|
|
11
|
+
> The write protocol (scaffold node folder + `index.md` + placeholders) and the
|
|
12
|
+
> code/label rules also live in `SKILL.md` — this file is the proposal heuristic.
|
|
13
|
+
|
|
14
|
+
## Exploration (first message, empty tree) — run in parallel before proposing
|
|
15
|
+
|
|
16
|
+
1. **Read SmartStack config**: open `.smartstack/config.json` if present —
|
|
17
|
+
`baseNamespace` (project name), `dbContext`, `tablePrefix`. Absent → "not a
|
|
18
|
+
SmartStack project", continue anyway.
|
|
19
|
+
2. **Read the current tree**: `Glob .smartstack/ba/**/index.md` — empty or
|
|
20
|
+
populated?
|
|
21
|
+
3. **Scan existing code** (if a SmartStack project): controllers
|
|
22
|
+
(`src/*.Api/Controllers/**/*.cs`, `[NavRoute("app.module")]`), entities
|
|
23
|
+
(`src/*.Domain/Entities/**`), React pages (`web/*/src/pages/**` — folders =
|
|
24
|
+
modules). Extract real app/module names rather than inventing them.
|
|
25
|
+
4. **Present a short exploration summary** (project, prefix, current tree,
|
|
26
|
+
existing code, verdict: new / extend / fill gaps).
|
|
27
|
+
|
|
28
|
+
## Calibration — HARD CAP 1 question, then propose
|
|
29
|
+
|
|
30
|
+
The same domain (e.g. HR) yields different apps by industry. Ask **at most one**
|
|
31
|
+
calibration question via AskUserQuestion, then propose. Skip it entirely if the
|
|
32
|
+
user's prompt already answers it.
|
|
33
|
+
|
|
34
|
+
- **Whitelist** (the only topics you may ask): industry/sector · application-level
|
|
35
|
+
scope (which high-level areas the app covers) · org size/volume.
|
|
36
|
+
- **Blacklist** (defer, never ask here): payment/billing models, access models,
|
|
37
|
+
workflow steps, schedules, field-level details, permission matrices, form
|
|
38
|
+
structures, dashboard contents. These belong to later phases.
|
|
39
|
+
|
|
40
|
+
If you catch yourself drafting a 2nd calibration question, STOP — propose with
|
|
41
|
+
your best inference plus a one-line caveat ("on affinera au tour suivant").
|
|
42
|
+
|
|
43
|
+
## Application guidelines
|
|
44
|
+
|
|
45
|
+
- **Autonomy**: each application is an autonomous business scope with its own
|
|
46
|
+
settings. NEVER a cross-cutting `SETTINGS`/`ADMIN` application — configuration
|
|
47
|
+
is a MODULE inside the relevant app.
|
|
48
|
+
- **Infer** 1-3 apps from the requirement + context; **check** against SmartStack
|
|
49
|
+
Core (never duplicate built-ins); **challenge** (>8 potential modules → split;
|
|
50
|
+
similar scope → merge); **verify** each app is autonomous.
|
|
51
|
+
- **Naming**: short business-scope names (1-2 words). No `& / \ | < > "` (split or
|
|
52
|
+
pick an umbrella concept).
|
|
53
|
+
- Optional in `index.md`: a one-line rationale and an `## Hors-périmètre` whenever
|
|
54
|
+
the user signalled exclusions.
|
|
55
|
+
|
|
56
|
+
## Out-of-scope checkpoint (turn 1 only)
|
|
57
|
+
|
|
58
|
+
On the very first turn of a brand-new project, before proposing apps, you MAY ask
|
|
59
|
+
one multi-select AskUserQuestion: "are there areas you explicitly do NOT want
|
|
60
|
+
covered?" (billing, payroll, client portal, consolidated reporting, none). Record
|
|
61
|
+
any picks as the `## Hors-périmètre` of the project root `.smartstack/ba/index.md`
|
|
62
|
+
and/or the relevant app. One scope question per project, turn 1 only.
|
|
63
|
+
|
|
64
|
+
## First message with an existing tree
|
|
65
|
+
|
|
66
|
+
Present what exists ("{N} apps, {M} modules, sections: yes/no"), then ask via
|
|
67
|
+
AskUserQuestion how to proceed (continue with sections / modify / add a new app).
|
|
68
|
+
Never auto-jump to the next level.
|
|
69
|
+
|
|
70
|
+
## Edge cases
|
|
71
|
+
|
|
72
|
+
| Situation | Action |
|
|
73
|
+
|-----------|--------|
|
|
74
|
+
| User refuses all | Ask to rephrase, re-propose |
|
|
75
|
+
| Duplicates SmartStack Core | Explain the built-in, suggest an alternative |
|
|
76
|
+
| Single app for everything | Accept; warn if >8 modules |
|
|
77
|
+
| Two apps, similar scope | Suggest merging |
|
|
78
|
+
|
|
79
|
+
## After validation
|
|
80
|
+
|
|
81
|
+
Write each application: create `.smartstack/ba/<CODE>/index.md` (level=application)
|
|
82
|
+
+ the six placeholder docs, and add the app to the project root
|
|
83
|
+
`index.md` `## Enfants`. Then acknowledge in one line and ask (AskUserQuestion)
|
|
84
|
+
whether to define modules for an app, add another app, or pause — per the
|
|
85
|
+
checkpoint rule in `SKILL.md`. Do not auto-propose modules.
|