@atlashub/smartstack-cli 4.81.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.documentation/agents.html +124 -585
- package/.documentation/ba-develop.html +852 -0
- package/.documentation/ba-skills.html +465 -0
- package/.documentation/business-analyse.html +385 -1570
- package/.documentation/cli-commands.html +162 -799
- package/.documentation/commands.html +902 -1338
- package/.documentation/css/styles.css +34 -1
- package/.documentation/efcore.html +161 -2599
- package/.documentation/gitflow.html +62 -105
- package/.documentation/hooks.html +94 -343
- package/.documentation/index.html +116 -385
- package/.documentation/init.html +217 -1566
- package/.documentation/installation.html +121 -1470
- package/.documentation/license.html +90 -450
- package/.documentation/ralph-loop.html +105 -602
- package/dist/index.js +9307 -79030
- package/dist/index.js.map +1 -1
- package/package.json +5 -19
- package/scripts/generate-docs/README.md +87 -0
- package/scripts/generate-docs/index.ts +175 -0
- package/scripts/generate-docs/lib/context-builder.ts +81 -0
- package/scripts/generate-docs/lib/handlebars-setup.ts +162 -0
- package/scripts/generate-docs/lib/markdown-parser.ts +86 -0
- package/scripts/generate-docs/lib/sidebar-builder.ts +80 -0
- package/scripts/generate-docs/lib/skill-parser.ts +171 -0
- package/scripts/generate-docs/lib/stats.ts +32 -0
- package/scripts/generate-docs/lib/version.ts +17 -0
- package/scripts/generate-docs/templates/layout.hbs +33 -0
- package/scripts/generate-docs/templates/pages/_generic.hbs +12 -0
- package/scripts/generate-docs/templates/pages/ba-develop.hbs +10 -0
- package/scripts/generate-docs/templates/pages/ba-skills.hbs +8 -0
- package/scripts/generate-docs/templates/pages/business-analyse.hbs +1 -0
- package/scripts/generate-docs/templates/pages/commands.hbs +13 -0
- package/scripts/generate-docs/templates/pages/gitflow.hbs +2164 -0
- package/scripts/generate-docs/templates/pages/index.hbs +5 -0
- package/scripts/generate-docs/templates/partials/breadcrumb.hbs +6 -0
- package/scripts/generate-docs/templates/partials/header.hbs +22 -0
- package/scripts/generate-docs/templates/partials/sidebar.hbs +32 -0
- package/scripts/generate-docs/templates/partials/skill-card.hbs +22 -0
- package/scripts/generate-docs/templates/partials/skill-grid.hbs +5 -0
- package/scripts/generate-docs/templates/partials/skill-table.hbs +18 -0
- package/scripts/generate-docs/templates/partials/stats-bar.hbs +20 -0
- package/scripts/test-migration-program-cs.mts +94 -0
- package/templates/agents/explore-codebase.md +2 -3
- package/templates/agents/explore-docs.md +5 -5
- package/templates/hooks/hooks.json +0 -9
- package/templates/project/Program.cs.template +17 -5
- package/templates/project/appsettings.json.template +208 -195
- package/templates/project/claude-md/api.CLAUDE.md.template +27 -2
- package/templates/project/patch-smartstack-theme.cjs.template +42 -0
- package/templates/scripts/statusline/README.md +47 -0
- package/templates/scripts/statusline/index.js +224 -0
- package/templates/skills/CLAUDE.md +235 -0
- package/templates/skills/ba-develop/SKILL.md +310 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/__tests__/compute-page-diff.test.ts +177 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/compute-diff.ts +51 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/disk-drift.ts +55 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/index.ts +89 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/scan-pagespecs.ts +115 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/types.ts +63 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/validate.ts +20 -0
- package/templates/skills/ba-develop/cli/update-snapshot/__tests__/update-snapshot.test.ts +73 -0
- package/templates/skills/ba-develop/cli/update-snapshot/execute.ts +24 -0
- package/templates/skills/ba-develop/cli/update-snapshot/index.ts +61 -0
- package/templates/skills/ba-develop/cli/update-snapshot/types.ts +40 -0
- package/templates/skills/ba-develop/cli/update-snapshot/validate.ts +17 -0
- package/templates/skills/ba-develop/references/anti-patterns.md +101 -0
- package/templates/skills/ba-develop/references/auto-healing.md +191 -0
- package/templates/skills/ba-develop/references/commit-checkpoints.md +79 -0
- package/templates/skills/ba-develop/references/gates.md +380 -0
- package/templates/skills/ba-develop/references/output-contract.md +95 -0
- package/templates/skills/ba-develop/references/phases-detail.md +592 -0
- package/templates/skills/ba-develop-plan/SKILL.md +239 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/__tests__/validate.test.ts +225 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/index.ts +102 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/types.ts +121 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/validate.ts +261 -0
- package/templates/skills/business-analyse/_workflow/README.md +34 -0
- package/templates/skills/business-analyse/_workflow/ba-files.md +174 -0
- package/templates/skills/business-analyse/_workflow/code-discipline.md +104 -0
- package/templates/skills/business-analyse/_workflow/communication.md +63 -0
- package/templates/skills/business-analyse/_workflow/completeAuto-discipline.md +79 -0
- package/templates/skills/business-analyse/_workflow/context-documents.md +45 -0
- package/templates/skills/business-analyse/_workflow/doc-templates.md +318 -0
- package/templates/skills/business-analyse/audit-actors/SKILL.md +97 -0
- package/templates/skills/business-analyse/audit-cross-dimension/SKILL.md +127 -0
- package/templates/skills/business-analyse/audit-cross-ref-code/SKILL.md +119 -0
- package/templates/skills/business-analyse/audit-data-model/SKILL.md +343 -0
- package/templates/skills/business-analyse/audit-menu/SKILL.md +97 -0
- package/templates/skills/business-analyse/audit-prd/SKILL.md +479 -0
- package/templates/skills/business-analyse/audit-pre-dev/SKILL.md +135 -0
- package/templates/skills/business-analyse/audit-rbac/SKILL.md +93 -0
- package/templates/skills/business-analyse/audit-rules/SKILL.md +182 -0
- package/templates/skills/business-analyse/audit-screens/SKILL.md +169 -0
- package/templates/skills/business-analyse/audit-sections/SKILL.md +174 -0
- package/templates/skills/business-analyse/audit-use-cases/SKILL.md +245 -0
- package/templates/skills/business-analyse/create-actors/SKILL.md +129 -0
- package/templates/skills/business-analyse/create-ba-order/SKILL.md +182 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/__tests__/generate.test.ts +151 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/__tests__/graph.test.ts +173 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/generate.ts +273 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/graph.ts +193 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/index.ts +108 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/types.ts +106 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/validate.ts +79 -0
- package/templates/skills/business-analyse/create-business-rules/SKILL.md +302 -0
- package/templates/skills/business-analyse/create-business-rules/levels/access-rules.md +105 -0
- package/templates/skills/business-analyse/create-business-rules/levels/elaborate.md +193 -0
- package/templates/skills/business-analyse/create-business-rules/levels/identify.md +157 -0
- package/templates/skills/business-analyse/create-business-rules/levels/link.md +86 -0
- package/templates/skills/business-analyse/create-data-model/SKILL.md +319 -0
- package/templates/skills/business-analyse/create-data-model/levels/attributes.md +130 -0
- package/templates/skills/business-analyse/create-data-model/levels/identify.md +100 -0
- package/templates/skills/business-analyse/create-data-model/levels/relationships.md +97 -0
- package/templates/skills/business-analyse/create-menu/SKILL.md +191 -0
- package/templates/skills/business-analyse/create-menu/levels/applications.md +85 -0
- package/templates/skills/business-analyse/create-menu/levels/modules.md +81 -0
- package/templates/skills/business-analyse/create-menu/levels/resources.md +75 -0
- package/templates/skills/business-analyse/create-menu/levels/sections.md +82 -0
- package/templates/skills/business-analyse/create-plan-development/SKILL.md +93 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/__tests__/graph.test.ts +271 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/__tests__/parse.test.ts +177 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/generate.ts +317 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/graph.ts +233 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/index.ts +106 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/parse.ts +346 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/types.ts +160 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/validate.ts +118 -0
- package/templates/skills/business-analyse/create-prd/SKILL.md +228 -0
- package/templates/skills/business-analyse/create-rbac/SKILL.md +255 -0
- package/templates/skills/business-analyse/create-rbac/levels/detail.md +86 -0
- package/templates/skills/business-analyse/create-rbac/levels/discovery.md +63 -0
- package/templates/skills/business-analyse/create-rbac/levels/review.md +66 -0
- package/templates/skills/business-analyse/create-screen/SKILL.md +386 -0
- package/templates/skills/business-analyse/create-screen/levels/dashboard-screens.md +94 -0
- package/templates/skills/business-analyse/create-screen/levels/form-screens.md +142 -0
- package/templates/skills/business-analyse/create-screen/levels/home-screens.md +151 -0
- package/templates/skills/business-analyse/create-screen/levels/kanban-screens.md +86 -0
- package/templates/skills/business-analyse/create-screen/levels/list-screens.md +134 -0
- package/templates/skills/business-analyse/create-screen/references/post-check.md +101 -0
- package/templates/skills/business-analyse/create-screen/references/react-templates.md +252 -0
- package/templates/skills/business-analyse/create-screen/references/smartcomponents.md +419 -0
- package/templates/skills/business-analyse/create-screen/references/type-mapping.md +150 -0
- package/templates/skills/business-analyse/create-use-case/SKILL.md +347 -0
- package/templates/skills/business-analyse/create-use-case/levels/detail.md +136 -0
- package/templates/skills/business-analyse/create-use-case/levels/discovery.md +110 -0
- package/templates/skills/business-analyse/loop/SKILL.md +401 -0
- package/templates/skills/business-analyse/modeling-detail/SKILL.md +241 -0
- package/templates/skills/business-analyse/modeling-inventory/SKILL.md +174 -0
- package/templates/skills/business-analyse/reconcile-menu/SKILL.md +180 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/clean.test.ts +266 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/detect.test.ts +231 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/scan.test.ts +154 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/clean.ts +319 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/detect.ts +256 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/index.ts +126 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/scan.ts +175 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/types.ts +136 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/validate.ts +32 -0
- package/templates/skills/check-version/SKILL.md +196 -196
- package/templates/skills/cli-app-sync/SKILL.md +9 -9
- package/templates/skills/cli-app-sync/references/comparison-map.md +4 -4
- package/templates/skills/cli-app-sync/references/diff-entities.md +6 -6
- package/templates/skills/conventions/SKILL.md +64 -0
- package/templates/skills/dev-start/SKILL.md +190 -237
- package/templates/skills/development/SKILL.md +87 -0
- package/templates/skills/development/audit/SKILL.md +156 -0
- package/templates/skills/development/audit/routing-dynamic/SKILL.md +196 -0
- package/templates/skills/development/audit-dev-api/SKILL.md +331 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/__tests__/end-to-end.test.ts +364 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/audit.ts +646 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/index.ts +140 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/types.ts +158 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/validate.ts +45 -0
- package/templates/skills/development/audit-dev-core/SKILL.md +182 -0
- package/templates/skills/development/audit-dev-data/SKILL.md +195 -0
- package/templates/skills/development/audit-dev-domain/SKILL.md +184 -0
- package/templates/skills/development/audit-dev-frontend/SKILL.md +530 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/__tests__/end-to-end.test.ts +202 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/apply.ts +31 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/audit.ts +734 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/index.ts +125 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/types.ts +165 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/validate.ts +36 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/__tests__/dev-ui-022.test.ts +193 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/apply.ts +374 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/audit.ts +1126 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/index.ts +141 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/types.ts +218 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/validate.ts +80 -0
- package/templates/skills/development/audit-dev-tests/SKILL.md +82 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/__tests__/audit.test.ts +220 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/audit.ts +185 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/index.ts +84 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/types.ts +48 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/validate.ts +36 -0
- package/templates/skills/development/audit-dev-wire/SKILL.md +144 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/__tests__/audit.test.ts +171 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/audit.ts +307 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/index.ts +139 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/types.ts +110 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/validate.ts +16 -0
- package/templates/skills/development/backend/business-layer/SKILL.md +255 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/__tests__/generate.test.ts +254 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/generate.ts +842 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/index.ts +56 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/types.ts +112 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/validate.ts +24 -0
- package/templates/skills/development/backend/controller/SKILL.md +154 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/__tests__/generate.test.ts +345 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/generate.ts +280 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/index.ts +49 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/types.ts +72 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/validate.ts +14 -0
- package/templates/skills/development/backend/core-seed/SKILL.md +177 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/build-spec.test.ts +163 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/generate.test.ts +330 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/validate.test.ts +126 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/build-spec.ts +287 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/generate.ts +826 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/index.ts +188 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/types.ts +163 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/validate.ts +129 -0
- package/templates/skills/development/backend/data-layer/SKILL.md +163 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/__tests__/generate.test.ts +155 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/generate.ts +232 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/index.ts +34 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/types.ts +60 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/validate.ts +42 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/execute.ts +13 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/index.ts +25 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/types.ts +11 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/validate.ts +9 -0
- package/templates/skills/development/backend/screen-controller/SKILL.md +169 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/generate.test.ts +329 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/hub-views.test.ts +105 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/parse-pagespec.test.ts +137 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/generate.ts +437 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/index.ts +108 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/parse-pagespec.ts +104 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/types.ts +101 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/validate.ts +26 -0
- package/templates/skills/development/backend/seed-data/SKILL.md +91 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/generate.ts +471 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/index.ts +74 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/types.ts +104 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/validate.ts +63 -0
- package/templates/skills/development/backend/structure/SKILL.md +47 -0
- package/templates/skills/development/debug/SKILL.md +62 -0
- package/templates/skills/development/debug/audit-bug/SKILL.md +185 -0
- package/templates/skills/development/debug/backend/SKILL.md +114 -0
- package/templates/skills/development/debug/discuss-bug/SKILL.md +193 -0
- package/templates/skills/development/debug/fix-bug/SKILL.md +172 -0
- package/templates/skills/development/debug/frontend/SKILL.md +215 -0
- package/templates/skills/development/frontend/api-client/SKILL.md +158 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/generate.test.ts +1180 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/screen-strata-contract.test.ts +261 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/url-parity.test.ts +201 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/generate.ts +875 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/index.ts +36 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/types.ts +251 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/validate.ts +10 -0
- package/templates/skills/development/frontend/auth/SKILL.md +77 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/generate.ts +306 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/index.ts +179 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/types.ts +22 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/validate.ts +37 -0
- package/templates/skills/development/frontend/component/SKILL.md +347 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/__tests__/generate.test.ts +1237 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/generate.ts +1923 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/index.ts +155 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/types.ts +290 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/validate.ts +16 -0
- package/templates/skills/development/frontend/component/cli/validate-page/__tests__/execute.test.ts +231 -0
- package/templates/skills/development/frontend/component/cli/validate-page/execute.ts +598 -0
- package/templates/skills/development/frontend/component/cli/validate-page/index.ts +88 -0
- package/templates/skills/development/frontend/component/cli/validate-page/types.ts +58 -0
- package/templates/skills/development/frontend/component/cli/validate-page/validate.ts +28 -0
- package/templates/skills/development/frontend/component/patterns/README.md +42 -0
- package/templates/skills/development/frontend/component/patterns/detail-page.md +133 -0
- package/templates/skills/development/frontend/component/patterns/entity-card.md +148 -0
- package/templates/skills/development/frontend/component/patterns/form-page.md +191 -0
- package/templates/skills/development/frontend/component/patterns/kanban-board.md +195 -0
- package/templates/skills/development/frontend/component/patterns/list-page.md +175 -0
- package/templates/skills/development/frontend/extension-config/SKILL.md +108 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/generate.ts +64 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/index.ts +70 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/types.ts +27 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/validate.ts +16 -0
- package/templates/skills/development/frontend/layout/SKILL.md +52 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/__tests__/generate.test.ts +66 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/generate.ts +175 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/index.ts +104 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/types.ts +17 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/validate.ts +37 -0
- package/templates/skills/development/frontend/routes/SKILL.md +152 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/generate.ts +216 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/index.ts +121 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/types.ts +69 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/validate.ts +23 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/__tests__/generate.test.ts +292 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/generate.ts +270 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/index.ts +42 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/types.ts +114 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/validate.ts +68 -0
- package/templates/skills/development/frontend/structure/SKILL.md +119 -0
- package/templates/skills/development/frontend/theme/SKILL.md +48 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/__tests__/generate.test.ts +53 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/generate.ts +129 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/index.ts +102 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/types.ts +48 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/validate.ts +37 -0
- package/templates/skills/development/frontend/ui-polish/SKILL.md +192 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r18.test.ts +153 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r19.test.ts +307 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r20.test.ts +167 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/shared-scan.test.ts +262 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/apply.ts +580 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/audit.ts +825 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/index.ts +133 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/types.ts +121 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/validate.ts +73 -0
- package/templates/skills/development/frontend/ui-polish/tokens.json +292 -0
- package/templates/skills/development/frontend/ui-primitives/SKILL.md +88 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/__tests__/generate.test.ts +158 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/generate.ts +345 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/index.ts +142 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/types.ts +27 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/validate.ts +37 -0
- package/templates/skills/development/run/SKILL.md +61 -0
- package/templates/skills/development/run/backend/SKILL.md +106 -0
- package/templates/skills/development/run/frontend/SKILL.md +116 -0
- package/templates/skills/development/smoke-test/SKILL.md +99 -0
- package/templates/skills/development/smoke-test/cli/run-smoke/execute.ts +424 -0
- package/templates/skills/development/smoke-test/cli/run-smoke/index.ts +75 -0
- package/templates/skills/development/smoke-test/cli/run-smoke/types.ts +100 -0
- package/templates/skills/development/testing/SKILL.md +148 -0
- package/templates/skills/development/testing/cli/scaffold-tests/generate.ts +530 -0
- package/templates/skills/development/testing/cli/scaffold-tests/index.ts +83 -0
- package/templates/skills/development/testing/cli/scaffold-tests/types.ts +51 -0
- package/templates/skills/development/testing/cli/scaffold-tests/validate.ts +33 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/__tests__/generate.test.ts +188 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/__tests__/parse-ac.test.ts +191 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/generate.ts +190 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/index.ts +138 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/parse-ac.ts +172 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/types.ts +104 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/validate.ts +57 -0
- package/templates/skills/development/testing/cli/test-report/execute.ts +140 -0
- package/templates/skills/development/testing/cli/test-report/index.ts +96 -0
- package/templates/skills/development/testing/cli/test-report/types.ts +52 -0
- package/templates/skills/development/testing/cli/test-report/validate.ts +26 -0
- package/templates/skills/development/testing/fix-build/SKILL.md +81 -0
- package/templates/skills/development/testing/smoke-http/SKILL.md +123 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/execute.ts +129 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/index.ts +113 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/types.ts +62 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/validate.ts +36 -0
- package/templates/skills/development/testing/ui-test/SKILL.md +128 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/generate.ts +129 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/index.ts +80 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/types.ts +72 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/validate.ts +44 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/execute.ts +136 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/index.ts +75 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/lib/dev-browser-driver.ts +250 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/delete.js.hbs +83 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/detail.js.hbs +87 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/edit.js.hbs +91 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/form-submit.js.hbs +82 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/list.js.hbs +125 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/permission-negative.js.hbs +65 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/types.ts +57 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/validate.ts +56 -0
- package/templates/skills/documentation/SKILL.md +168 -139
- package/templates/skills/documentation/cli/extract-doc/__tests__/forbidden.test.ts +136 -0
- package/templates/skills/documentation/cli/extract-doc/__tests__/overflow.test.ts +76 -0
- package/templates/skills/documentation/cli/extract-doc/__tests__/required.test.ts +147 -0
- package/templates/skills/documentation/cli/extract-doc/extract.ts +657 -0
- package/templates/skills/documentation/cli/extract-doc/index.ts +102 -0
- package/templates/skills/documentation/cli/extract-doc/types.ts +133 -0
- package/templates/skills/documentation/cli/extract-doc/validate.ts +35 -0
- package/templates/skills/documentation/cli/scaffold-doc/generate.ts +198 -0
- package/templates/skills/documentation/cli/scaffold-doc/index.ts +61 -0
- package/templates/skills/documentation/cli/scaffold-doc/types.ts +72 -0
- package/templates/skills/documentation/cli/scaffold-doc/validate.ts +33 -0
- package/templates/skills/documentation/data-schema.md +18 -38
- package/templates/skills/documentation/steps/step-01-scan.md +59 -113
- package/templates/skills/documentation/steps/step-02-generate.md +158 -231
- package/templates/skills/documentation/steps/step-03-validate.md +101 -280
- package/templates/skills/documentation/templates.md +403 -92
- package/templates/skills/efcore/SKILL.md +88 -308
- package/templates/skills/efcore/_shared.md +140 -0
- package/templates/skills/efcore/agents/create.md +69 -0
- package/templates/skills/efcore/agents/db-update.md +58 -0
- package/templates/skills/efcore/agents/list.md +35 -0
- package/templates/skills/efcore/agents/rebase-snapshot.md +50 -0
- package/templates/skills/efcore/agents/recreate-db.md +78 -0
- package/templates/skills/efcore/agents/squash.md +78 -0
- package/templates/skills/efcore/agents/status.md +35 -0
- package/templates/skills/efcore/cli/create/execute.ts +164 -0
- package/templates/skills/efcore/cli/create/index.ts +51 -0
- package/templates/skills/efcore/cli/create/types.ts +35 -0
- package/templates/skills/efcore/cli/create/validate.ts +29 -0
- package/templates/skills/efcore/cli/lib/detect-dbcontexts.ts +195 -0
- package/templates/skills/efcore/cli/lib/ef-runner.ts +144 -0
- package/templates/skills/efcore/cli/lib/migration-name.ts +56 -0
- package/templates/skills/efcore/cli/lib/parse-csproj-version.ts +45 -0
- package/templates/skills/efcore/cli/list/execute.ts +83 -0
- package/templates/skills/efcore/cli/list/index.ts +60 -0
- package/templates/skills/efcore/cli/list/types.ts +46 -0
- package/templates/skills/efcore/cli/list/validate.ts +20 -0
- package/templates/skills/efcore/cli/rebase-snapshot/execute.ts +21 -0
- package/templates/skills/efcore/cli/rebase-snapshot/index.ts +53 -0
- package/templates/skills/efcore/cli/rebase-snapshot/types.ts +20 -0
- package/templates/skills/efcore/cli/rebase-snapshot/validate.ts +25 -0
- package/templates/skills/efcore/cli/squash/execute.ts +298 -0
- package/templates/skills/efcore/cli/squash/index.ts +57 -0
- package/templates/skills/efcore/cli/squash/types.ts +38 -0
- package/templates/skills/efcore/cli/squash/validate.ts +30 -0
- package/templates/skills/efcore/cli/status/execute.ts +152 -0
- package/templates/skills/efcore/cli/status/index.ts +45 -0
- package/templates/skills/efcore/cli/status/types.ts +32 -0
- package/templates/skills/efcore/cli/status/validate.ts +20 -0
- package/templates/skills/external/context7/SKILL.md +121 -0
- package/templates/skills/external/dev-browser/SKILL.md +134 -0
- package/templates/skills/gitflow/SKILL.md +139 -392
- package/templates/skills/gitflow/_shared.md +24 -620
- package/templates/skills/gitflow/agents/abort.md +47 -0
- package/templates/skills/gitflow/agents/cleanup.md +50 -0
- package/templates/skills/gitflow/agents/commit.md +41 -0
- package/templates/skills/gitflow/agents/finish.md +47 -0
- package/templates/skills/gitflow/agents/init.md +41 -0
- package/templates/skills/gitflow/agents/merge.md +44 -0
- package/templates/skills/gitflow/agents/pr.md +39 -0
- package/templates/skills/gitflow/agents/start.md +42 -0
- package/templates/skills/gitflow/agents/status.md +39 -0
- package/templates/skills/gitflow/agents/sync.md +38 -0
- package/templates/skills/gitflow/cli/abort/execute.ts +61 -0
- package/templates/skills/gitflow/cli/abort/index.ts +116 -0
- package/templates/skills/gitflow/cli/abort/types.ts +21 -0
- package/templates/skills/gitflow/cli/abort/validate.ts +38 -0
- package/templates/skills/gitflow/cli/cleanup/execute.ts +107 -0
- package/templates/skills/gitflow/cli/cleanup/index.ts +122 -0
- package/templates/skills/gitflow/cli/cleanup/types.ts +26 -0
- package/templates/skills/gitflow/cli/cleanup/validate.ts +33 -0
- package/templates/skills/gitflow/cli/commit/execute.ts +146 -0
- package/templates/skills/gitflow/cli/commit/index.ts +77 -0
- package/templates/skills/gitflow/cli/commit/types.ts +36 -0
- package/templates/skills/gitflow/cli/commit/validate.ts +38 -0
- package/templates/skills/gitflow/cli/finish/execute.ts +127 -0
- package/templates/skills/gitflow/cli/finish/index.ts +106 -0
- package/templates/skills/gitflow/cli/finish/types.ts +25 -0
- package/templates/skills/gitflow/cli/finish/validate.ts +44 -0
- package/templates/skills/gitflow/cli/generate-msg/execute.ts +51 -0
- package/templates/skills/gitflow/cli/generate-msg/index.ts +73 -0
- package/templates/skills/gitflow/cli/generate-msg/types.ts +37 -0
- package/templates/skills/gitflow/cli/generate-msg/validate.ts +42 -0
- package/templates/skills/gitflow/cli/init/execute.ts +186 -0
- package/templates/skills/gitflow/cli/init/index.ts +127 -0
- package/templates/skills/gitflow/cli/init/types.ts +63 -0
- package/templates/skills/gitflow/cli/init/validate.ts +56 -0
- package/templates/skills/gitflow/cli/lib/branch.ts +83 -0
- package/templates/skills/gitflow/cli/lib/config.ts +149 -0
- package/templates/skills/gitflow/cli/lib/efcore.ts +136 -0
- package/templates/skills/gitflow/cli/lib/git.ts +212 -0
- package/templates/skills/gitflow/cli/lib/output.ts +49 -0
- package/templates/skills/gitflow/cli/lib/paths.ts +54 -0
- package/templates/skills/gitflow/cli/lib/platform.ts +44 -0
- package/templates/skills/gitflow/cli/lib/provider.ts +147 -0
- package/templates/skills/gitflow/cli/lib/types.ts +189 -0
- package/templates/skills/gitflow/cli/lib/version.ts +152 -0
- package/templates/skills/gitflow/cli/lib/worktree.ts +170 -0
- package/templates/skills/gitflow/cli/merge/execute.ts +93 -0
- package/templates/skills/gitflow/cli/merge/index.ts +109 -0
- package/templates/skills/gitflow/cli/merge/types.ts +24 -0
- package/templates/skills/gitflow/cli/merge/validate.ts +33 -0
- package/templates/skills/gitflow/cli/pr/execute.ts +131 -0
- package/templates/skills/gitflow/cli/pr/index.ts +115 -0
- package/templates/skills/gitflow/cli/pr/types.ts +27 -0
- package/templates/skills/gitflow/cli/pr/validate.ts +27 -0
- package/templates/skills/gitflow/cli/start/execute.ts +98 -0
- package/templates/skills/gitflow/cli/start/index.ts +75 -0
- package/templates/skills/gitflow/cli/start/types.ts +26 -0
- package/templates/skills/gitflow/cli/start/validate.ts +47 -0
- package/templates/skills/gitflow/cli/status/execute.ts +251 -0
- package/templates/skills/gitflow/cli/status/index.ts +154 -0
- package/templates/skills/gitflow/cli/status/types.ts +75 -0
- package/templates/skills/gitflow/cli/status/validate.ts +38 -0
- package/templates/skills/gitflow/cli/sync/execute.ts +84 -0
- package/templates/skills/gitflow/cli/sync/index.ts +75 -0
- package/templates/skills/gitflow/cli/sync/types.ts +25 -0
- package/templates/skills/gitflow/cli/sync/validate.ts +34 -0
- package/templates/skills/gitflow/commit-message.md +46 -0
- package/templates/skills/init/SKILL.md +54 -0
- package/templates/skills/lib/__tests__/canonical-hash.test.ts +45 -0
- package/templates/skills/lib/__tests__/page-spec-actions.test.ts +232 -0
- package/templates/skills/lib/canonical-hash.ts +40 -0
- package/templates/skills/lib/detector.ts +243 -0
- package/templates/skills/lib/dotnet.ts +238 -0
- package/templates/skills/lib/frontend-fixers.ts +151 -0
- package/templates/skills/lib/fs.ts +238 -0
- package/templates/skills/lib/git.ts +134 -0
- package/templates/skills/lib/graph.ts +138 -0
- package/templates/skills/lib/navroute-parser.ts +51 -0
- package/templates/skills/lib/output.ts +117 -0
- package/templates/skills/lib/page-spec-actions.ts +350 -0
- package/templates/skills/lib/skill-slug.ts +121 -0
- package/templates/skills/lib/string-utils.ts +140 -0
- package/templates/skills/lib/template-loader.ts +115 -0
- package/templates/skills/lib/url-conventions.ts +151 -0
- package/templates/skills/package.json +5 -0
- package/templates/skills/quick-search/SKILL.md +99 -99
- package/templates/skills/review/SKILL.md +56 -0
- package/templates/skills/smoke-generation/SKILL.md +18 -16
- package/templates/skills/ui-components/SKILL.md +136 -457
- package/templates/skills/upgrade/SKILL.md +36 -0
- package/templates/skills/utils/SKILL.md +45 -44
- package/templates/skills/utils/subcommands/test-web-config.md +152 -152
- package/templates/skills/utils/subcommands/test-web.md +123 -123
- package/templates/skills/validate-feature/SKILL.md +102 -101
- package/templates/skills/validate-feature/references/api-smoke-tests.md +140 -140
- package/templates/skills/validate-feature/references/db-validation-checks.md +180 -180
- package/templates/skills/validate-feature/steps/step-00-dependencies.md +121 -121
- package/templates/skills/validate-feature/steps/step-01-compile.md +39 -39
- package/templates/skills/validate-feature/steps/step-02-unit-tests.md +45 -45
- package/templates/skills/validate-feature/steps/step-03-integration-tests.md +53 -53
- package/templates/skills/validate-feature/steps/step-04-api-smoke.md +94 -94
- package/templates/skills/validate-feature/steps/step-05-db-validation.md +149 -149
- package/templates/skills/validation/conventions/SKILL.md +193 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/execute.ts +368 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/index.ts +67 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/types.ts +91 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/validate.ts +36 -0
- package/templates/skills/validation/cross-validate/SKILL.md +83 -0
- package/templates/skills/validation/cross-validate/cli/execute.ts +576 -0
- package/templates/skills/validation/cross-validate/cli/index.ts +87 -0
- package/templates/skills/validation/cross-validate/cli/types.ts +85 -0
- package/templates/skills/validation/cross-validate/cli/validate.ts +54 -0
- package/templates/skills/validation/eslint/SKILL.md +65 -0
- package/templates/skills/validation/eslint/cli/execute.ts +413 -0
- package/templates/skills/validation/eslint/cli/index.ts +102 -0
- package/templates/skills/validation/eslint/cli/types.ts +48 -0
- package/templates/skills/validation/eslint/cli/validate.ts +43 -0
- package/templates/skills/validation/project-inventory/SKILL.md +166 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/execute.ts +397 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/index.ts +80 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/types.ts +89 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/validate.ts +35 -0
- package/templates/skills/validation/readiness-report/SKILL.md +109 -0
- package/templates/skills/validation/readiness-report/cli/execute.ts +236 -0
- package/templates/skills/validation/readiness-report/cli/index.ts +234 -0
- package/templates/skills/validation/readiness-report/cli/types.ts +61 -0
- package/templates/skills/validation/readiness-report/cli/validate.ts +54 -0
- package/templates/skills/validation/roslyn/SKILL.md +103 -0
- package/templates/skills/validation/roslyn/cli/execute.ts +616 -0
- package/templates/skills/validation/roslyn/cli/index.ts +86 -0
- package/templates/skills/validation/roslyn/cli/types.ts +50 -0
- package/templates/skills/validation/roslyn/cli/validate.ts +43 -0
- package/.documentation/apex.html +0 -649
- package/dist/mcp-entry.mjs +0 -68888
- package/dist/mcp-entry.mjs.map +0 -1
- package/scripts/extract-api-endpoints.ts +0 -325
- package/scripts/extract-business-rules.ts +0 -440
- package/scripts/generate-doc-with-mock-ui.ts +0 -804
- package/templates/agents/ba-reader.md +0 -386
- package/templates/agents/ba-writer.md +0 -810
- package/templates/agents/efcore/migration.md +0 -204
- package/templates/agents/efcore/rebase-snapshot.md +0 -202
- package/templates/agents/efcore/squash.md +0 -269
- package/templates/agents/gitflow/abort.md +0 -45
- package/templates/agents/gitflow/cleanup.md +0 -107
- package/templates/agents/gitflow/commit.md +0 -236
- package/templates/agents/gitflow/exec.md +0 -48
- package/templates/agents/gitflow/finish.md +0 -146
- package/templates/agents/gitflow/init-clone.md +0 -199
- package/templates/agents/gitflow/init-detect.md +0 -137
- package/templates/agents/gitflow/init-validate.md +0 -225
- package/templates/agents/gitflow/init.md +0 -509
- package/templates/agents/gitflow/merge.md +0 -145
- package/templates/agents/gitflow/plan.md +0 -42
- package/templates/agents/gitflow/pr.md +0 -191
- package/templates/agents/gitflow/review.md +0 -49
- package/templates/agents/gitflow/start.md +0 -147
- package/templates/agents/gitflow/status.md +0 -95
- package/templates/agents/mcp-healthcheck.md +0 -163
- package/templates/hooks/docs-drift-check.md +0 -96
- package/templates/hooks/ef-migration-check.md +0 -139
- package/templates/hooks/mcp-check.md +0 -64
- package/templates/hooks/ralph-mcp-logger.sh +0 -46
- package/templates/mcp-scaffolding/component.tsx.hbs +0 -318
- package/templates/mcp-scaffolding/controller.cs.hbs +0 -118
- package/templates/mcp-scaffolding/entity-extension.cs.hbs +0 -239
- package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +0 -117
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +0 -133
- package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +0 -261
- package/templates/mcp-scaffolding/service-extension.cs.hbs +0 -53
- package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +0 -436
- package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +0 -239
- package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +0 -441
- package/templates/mcp-scaffolding/tests/security.test.cs.hbs +0 -442
- package/templates/mcp-scaffolding/tests/service.test.cs.hbs +0 -402
- package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +0 -428
- package/templates/skills/_resources/config-safety.md +0 -61
- package/templates/skills/_resources/context-digest-template.md +0 -53
- package/templates/skills/_resources/doc-context-cache.md +0 -60
- package/templates/skills/_resources/docs-manifest-schema.md +0 -155
- package/templates/skills/_resources/formatting-guide.md +0 -124
- package/templates/skills/_resources/mcp-validate-documentation-spec.md +0 -181
- package/templates/skills/_shared.md +0 -228
- package/templates/skills/admin/SKILL.md +0 -48
- package/templates/skills/ai-prompt/SKILL.md +0 -171
- package/templates/skills/ai-prompt/references/ai-agent-modes.md +0 -89
- package/templates/skills/ai-prompt/references/eval-framework.md +0 -129
- package/templates/skills/ai-prompt/steps/step-00-init.md +0 -47
- package/templates/skills/ai-prompt/steps/step-01-implementation.md +0 -122
- package/templates/skills/apex/SKILL.md +0 -234
- package/templates/skills/apex/_shared.md +0 -197
- package/templates/skills/apex/references/analysis-methods.md +0 -178
- package/templates/skills/apex/references/challenge-questions.md +0 -359
- package/templates/skills/apex/references/checks/architecture-checks.sh +0 -154
- package/templates/skills/apex/references/checks/backend-checks.sh +0 -208
- package/templates/skills/apex/references/checks/frontend-checks.sh +0 -560
- package/templates/skills/apex/references/checks/infrastructure-checks.sh +0 -292
- package/templates/skills/apex/references/checks/security-checks.sh +0 -153
- package/templates/skills/apex/references/checks/seed-checks.sh +0 -610
- package/templates/skills/apex/references/code-generation.md +0 -412
- package/templates/skills/apex/references/core-seed-data.md +0 -1502
- package/templates/skills/apex/references/domain-events-pattern.md +0 -45
- package/templates/skills/apex/references/entity-hooks-pattern.md +0 -68
- package/templates/skills/apex/references/error-classification.md +0 -168
- package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +0 -91
- package/templates/skills/apex/references/licensing-enforcement.md +0 -52
- package/templates/skills/apex/references/parallel-execution.md +0 -187
- package/templates/skills/apex/references/person-extension-pattern.md +0 -619
- package/templates/skills/apex/references/post-checks.md +0 -162
- package/templates/skills/apex/references/smartstack-api.md +0 -591
- package/templates/skills/apex/references/smartstack-frontend-compliance.md +0 -616
- package/templates/skills/apex/references/smartstack-frontend.md +0 -442
- package/templates/skills/apex/references/smartstack-layers.md +0 -551
- package/templates/skills/apex/steps/step-00-init.md +0 -405
- package/templates/skills/apex/steps/step-01-analyze.md +0 -210
- package/templates/skills/apex/steps/step-02-plan.md +0 -303
- package/templates/skills/apex/steps/step-03-execute.md +0 -194
- package/templates/skills/apex/steps/step-03a-layer0-domain.md +0 -144
- package/templates/skills/apex/steps/step-03b-layer1-seed.md +0 -339
- package/templates/skills/apex/steps/step-03c-layer2-backend.md +0 -401
- package/templates/skills/apex/steps/step-03d-layer3-frontend.md +0 -562
- package/templates/skills/apex/steps/step-03e-layer4-devdata.md +0 -46
- package/templates/skills/apex/steps/step-04-examine.md +0 -404
- package/templates/skills/apex/steps/step-05-deep-review.md +0 -140
- package/templates/skills/apex/steps/step-06-resolve.md +0 -120
- package/templates/skills/apex/steps/step-07-tests.md +0 -271
- package/templates/skills/apex/steps/step-08-run-tests.md +0 -135
- package/templates/skills/apex-verify/SKILL.md +0 -110
- package/templates/skills/apex-verify/references/audit-rules.md +0 -50
- package/templates/skills/apex-verify/steps/step-00-init.md +0 -119
- package/templates/skills/apex-verify/steps/step-01-nav-audit.md +0 -96
- package/templates/skills/apex-verify/steps/step-02-crud-audit.md +0 -127
- package/templates/skills/apex-verify/steps/step-03-perm-audit.md +0 -119
- package/templates/skills/apex-verify/steps/step-04-route-audit.md +0 -98
- package/templates/skills/apex-verify/steps/step-05-report.md +0 -110
- package/templates/skills/application/SKILL.md +0 -241
- package/templates/skills/application/references/application-roles-template.md +0 -228
- package/templates/skills/application/references/backend-controller-hierarchy.md +0 -68
- package/templates/skills/application/references/backend-entity-seeding.md +0 -73
- package/templates/skills/application/references/backend-seeding-and-dto-output.md +0 -83
- package/templates/skills/application/references/backend-table-prefix-mapping.md +0 -80
- package/templates/skills/application/references/backend-verification.md +0 -88
- package/templates/skills/application/references/contexts-cheatsheet.md +0 -86
- package/templates/skills/application/references/extensions-system.md +0 -158
- package/templates/skills/application/references/frontend-i18n-and-output.md +0 -67
- package/templates/skills/application/references/frontend-route-naming.md +0 -123
- package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +0 -91
- package/templates/skills/application/references/frontend-verification.md +0 -158
- package/templates/skills/application/references/init-parameter-detection.md +0 -121
- package/templates/skills/application/references/migration-checklist-troubleshooting.md +0 -88
- package/templates/skills/application/references/nav-fallback-procedure.md +0 -198
- package/templates/skills/application/references/provider-template.md +0 -191
- package/templates/skills/application/references/roles-client-project-handling.md +0 -55
- package/templates/skills/application/references/roles-fallback-procedure.md +0 -144
- package/templates/skills/application/references/smartstack-provider.md +0 -118
- package/templates/skills/application/references/test-coverage-requirements.md +0 -213
- package/templates/skills/application/references/test-frontend.md +0 -73
- package/templates/skills/application/references/test-prerequisites.md +0 -72
- package/templates/skills/application/references/themes-db-driven.md +0 -484
- package/templates/skills/application/steps/step-00-init.md +0 -130
- package/templates/skills/application/steps/step-01-navigation.md +0 -170
- package/templates/skills/application/steps/step-02-permissions.md +0 -196
- package/templates/skills/application/steps/step-03-roles.md +0 -182
- package/templates/skills/application/steps/step-03b-provider.md +0 -134
- package/templates/skills/application/steps/step-04-backend.md +0 -174
- package/templates/skills/application/steps/step-05-frontend.md +0 -189
- package/templates/skills/application/steps/step-06-migration.md +0 -189
- package/templates/skills/application/steps/step-07-tests.md +0 -356
- package/templates/skills/application/steps/step-08-documentation.md +0 -137
- package/templates/skills/application/templates-backend.md +0 -463
- package/templates/skills/application/templates-frontend.md +0 -950
- package/templates/skills/application/templates-i18n.md +0 -520
- package/templates/skills/application/templates-seed.md +0 -1110
- package/templates/skills/audit-route/SKILL.md +0 -107
- package/templates/skills/audit-route/references/routing-pattern.md +0 -131
- package/templates/skills/audit-route/steps/step-00-init.md +0 -128
- package/templates/skills/audit-route/steps/step-01-inventory.md +0 -157
- package/templates/skills/audit-route/steps/step-02-conformity.md +0 -193
- package/templates/skills/audit-route/steps/step-03-report.md +0 -201
- package/templates/skills/business-analyse/SKILL.md +0 -252
- package/templates/skills/business-analyse/_shared.md +0 -276
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +0 -560
- package/templates/skills/business-analyse/questionnaire/01-context.md +0 -43
- package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +0 -111
- package/templates/skills/business-analyse/questionnaire/03-data-ui.md +0 -125
- package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +0 -6
- package/templates/skills/business-analyse/questionnaire/05-cross-module.md +0 -69
- package/templates/skills/business-analyse/questionnaire.md +0 -156
- package/templates/skills/business-analyse/react/application-viewer.md +0 -242
- package/templates/skills/business-analyse/react/components.md +0 -532
- package/templates/skills/business-analyse/react/i18n-template.md +0 -306
- package/templates/skills/business-analyse/react/schema.md +0 -831
- package/templates/skills/business-analyse/references/03-json-schemas.md +0 -221
- package/templates/skills/business-analyse/references/03-post-check-validation.md +0 -208
- package/templates/skills/business-analyse/references/03-smartstack-entity-guards.md +0 -32
- package/templates/skills/business-analyse/references/04-cross-module-validation.md +0 -95
- package/templates/skills/business-analyse/references/04-file-allocation.md +0 -162
- package/templates/skills/business-analyse/references/04-naming-audit-checks.md +0 -174
- package/templates/skills/business-analyse/references/04-semantic-validation-matrix.md +0 -118
- package/templates/skills/business-analyse/references/acceptance-criteria.md +0 -164
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +0 -190
- package/templates/skills/business-analyse/references/canonical-json-formats.md +0 -204
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +0 -297
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +0 -124
- package/templates/skills/business-analyse/references/detection-strategies.md +0 -424
- package/templates/skills/business-analyse/references/domain-research-playbook.md +0 -234
- package/templates/skills/business-analyse/references/entity-architecture-decision.md +0 -240
- package/templates/skills/business-analyse/references/entity-sourcing-presentation.md +0 -166
- package/templates/skills/business-analyse/references/init-resume-logic.md +0 -70
- package/templates/skills/business-analyse/references/init-schema-deployment.md +0 -65
- package/templates/skills/business-analyse/references/module-completeness-challenge.md +0 -174
- package/templates/skills/business-analyse/references/multi-app-detection.md +0 -149
- package/templates/skills/business-analyse/references/naming-conventions.md +0 -253
- package/templates/skills/business-analyse/references/portal-classification.md +0 -52
- package/templates/skills/business-analyse/references/robustness-checks.md +0 -426
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +0 -85
- package/templates/skills/business-analyse/references/ui-resource-cards.md +0 -259
- package/templates/skills/business-analyse/references/validation-checklist.md +0 -378
- package/templates/skills/business-analyse/schemas/application-schema.json +0 -481
- package/templates/skills/business-analyse/schemas/feature-schema.json +0 -53
- package/templates/skills/business-analyse/schemas/index-schema.json +0 -47
- package/templates/skills/business-analyse/schemas/project-schema.json +0 -481
- package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +0 -245
- package/templates/skills/business-analyse/schemas/sections/discovery-schema.json +0 -80
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +0 -82
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +0 -70
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +0 -567
- package/templates/skills/business-analyse/schemas/sections/validation-schema.json +0 -93
- package/templates/skills/business-analyse/schemas/shared/common-defs.json +0 -227
- package/templates/skills/business-analyse/steps/step-00-init.md +0 -463
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +0 -901
- package/templates/skills/business-analyse/steps/step-02-structure.md +0 -315
- package/templates/skills/business-analyse/steps/step-03-specify.md +0 -986
- package/templates/skills/business-analyse/steps/step-04-consolidate.md +0 -928
- package/templates/skills/business-analyse/templates/tpl-frd.md +0 -168
- package/templates/skills/business-analyse/templates/tpl-handoff.md +0 -189
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +0 -59
- package/templates/skills/business-analyse/templates-frd.md +0 -476
- package/templates/skills/business-analyse/templates-react.md +0 -574
- package/templates/skills/business-analyse-design/SKILL.md +0 -101
- package/templates/skills/business-analyse-design/references/screens-post-check.md +0 -221
- package/templates/skills/business-analyse-design/references/screens-type-mapping.md +0 -138
- package/templates/skills/business-analyse-design/references/smartcomponents-templates.md +0 -225
- package/templates/skills/business-analyse-design/references/spec-auto-inference.md +0 -117
- package/templates/skills/business-analyse-design/steps/step-01-screens.md +0 -108
- package/templates/skills/business-analyse-design/steps/step-02-wireframes.md +0 -155
- package/templates/skills/business-analyse-design/steps/step-03-navigation.md +0 -189
- package/templates/skills/business-analyse-develop/SKILL.md +0 -250
- package/templates/skills/business-analyse-develop/references/category-completeness.md +0 -326
- package/templates/skills/business-analyse-develop/references/category-rules.md +0 -109
- package/templates/skills/business-analyse-develop/references/compact-loop.md +0 -478
- package/templates/skills/business-analyse-develop/references/handoff-quality-gate.md +0 -132
- package/templates/skills/business-analyse-develop/references/init-resume-recovery.md +0 -183
- package/templates/skills/business-analyse-develop/references/module-transition.md +0 -246
- package/templates/skills/business-analyse-develop/references/multi-module-queue.md +0 -171
- package/templates/skills/business-analyse-develop/references/parallel-execution.md +0 -246
- package/templates/skills/business-analyse-develop/references/prd-v3-transformation.md +0 -326
- package/templates/skills/business-analyse-develop/references/quality-gates.md +0 -160
- package/templates/skills/business-analyse-develop/references/report-reconciliation.md +0 -140
- package/templates/skills/business-analyse-develop/references/report-template.md +0 -142
- package/templates/skills/business-analyse-develop/references/section-splitting.md +0 -439
- package/templates/skills/business-analyse-develop/references/task-transform-legacy.md +0 -256
- package/templates/skills/business-analyse-develop/references/team-orchestration.md +0 -547
- package/templates/skills/business-analyse-develop/steps/step-00-init.md +0 -242
- package/templates/skills/business-analyse-develop/steps/step-01-task.md +0 -182
- package/templates/skills/business-analyse-develop/steps/step-01-v4-execute.md +0 -139
- package/templates/skills/business-analyse-develop/steps/step-02-execute.md +0 -216
- package/templates/skills/business-analyse-develop/steps/step-02-v4-verify.md +0 -176
- package/templates/skills/business-analyse-develop/steps/step-03-commit.md +0 -107
- package/templates/skills/business-analyse-develop/steps/step-04-check.md +0 -419
- package/templates/skills/business-analyse-develop/steps/step-05-report.md +0 -137
- package/templates/skills/business-analyse-handoff/SKILL.md +0 -101
- package/templates/skills/business-analyse-handoff/references/acceptance-criteria.md +0 -318
- package/templates/skills/business-analyse-handoff/references/agent-handoff-transform-prompt.md +0 -211
- package/templates/skills/business-analyse-handoff/references/context-isolation-pattern.md +0 -47
- package/templates/skills/business-analyse-handoff/references/entity-canonicalization.md +0 -158
- package/templates/skills/business-analyse-handoff/references/entity-domain-mapping.md +0 -115
- package/templates/skills/business-analyse-handoff/references/handoff-file-inventory.md +0 -49
- package/templates/skills/business-analyse-handoff/references/handoff-file-templates.md +0 -197
- package/templates/skills/business-analyse-handoff/references/handoff-global-validation.md +0 -142
- package/templates/skills/business-analyse-handoff/references/handoff-mappings.md +0 -108
- package/templates/skills/business-analyse-handoff/references/handoff-seeddata-generation.md +0 -314
- package/templates/skills/business-analyse-handoff/references/prd-generation.md +0 -362
- package/templates/skills/business-analyse-handoff/references/prd-validation-checks.md +0 -125
- package/templates/skills/business-analyse-handoff/references/project-index-update.md +0 -98
- package/templates/skills/business-analyse-handoff/references/readiness-scoring.md +0 -95
- package/templates/skills/business-analyse-handoff/schemas/handoff-schema.json +0 -95
- package/templates/skills/business-analyse-handoff/steps/step-00-validate.md +0 -158
- package/templates/skills/business-analyse-handoff/steps/step-01-transform.md +0 -85
- package/templates/skills/business-analyse-handoff/steps/step-02-export.md +0 -169
- package/templates/skills/business-analyse-handoff/templates/tpl-progress.md +0 -172
- package/templates/skills/business-analyse-html/SKILL.md +0 -89
- package/templates/skills/business-analyse-html/html/ba-interactive.html +0 -6134
- package/templates/skills/business-analyse-html/html/build-html.js +0 -137
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-context.html +0 -34
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-scope.html +0 -27
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-stakeholders.html +0 -55
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-success.html +0 -34
- package/templates/skills/business-analyse-html/html/src/partials/consol-datamodel.html +0 -8
- package/templates/skills/business-analyse-html/html/src/partials/consol-flows.html +0 -29
- package/templates/skills/business-analyse-html/html/src/partials/consol-interactions.html +0 -8
- package/templates/skills/business-analyse-html/html/src/partials/consol-permissions.html +0 -8
- package/templates/skills/business-analyse-html/html/src/partials/decomp-dependencies.html +0 -38
- package/templates/skills/business-analyse-html/html/src/partials/decomp-modules.html +0 -43
- package/templates/skills/business-analyse-html/html/src/partials/handoff-summary.html +0 -24
- package/templates/skills/business-analyse-html/html/src/partials/module-spec-container.html +0 -4
- package/templates/skills/business-analyse-html/html/src/scripts/01-data-init.js +0 -313
- package/templates/skills/business-analyse-html/html/src/scripts/02-navigation.js +0 -316
- package/templates/skills/business-analyse-html/html/src/scripts/03-render-cadrage.js +0 -162
- package/templates/skills/business-analyse-html/html/src/scripts/04-render-modules.js +0 -203
- package/templates/skills/business-analyse-html/html/src/scripts/05-render-specs.js +0 -866
- package/templates/skills/business-analyse-html/html/src/scripts/06-render-consolidation.js +0 -196
- package/templates/skills/business-analyse-html/html/src/scripts/06-render-mockups.js +0 -564
- package/templates/skills/business-analyse-html/html/src/scripts/07-render-handoff.js +0 -108
- package/templates/skills/business-analyse-html/html/src/scripts/08-editing.js +0 -137
- package/templates/skills/business-analyse-html/html/src/scripts/09-export.js +0 -138
- package/templates/skills/business-analyse-html/html/src/scripts/10-comments.js +0 -221
- package/templates/skills/business-analyse-html/html/src/scripts/11-review-panel.js +0 -167
- package/templates/skills/business-analyse-html/html/src/scripts/12-render-diagrams.js +0 -162
- package/templates/skills/business-analyse-html/html/src/styles/01-variables.css +0 -38
- package/templates/skills/business-analyse-html/html/src/styles/02-layout.css +0 -216
- package/templates/skills/business-analyse-html/html/src/styles/03-navigation.css +0 -120
- package/templates/skills/business-analyse-html/html/src/styles/04-cards.css +0 -194
- package/templates/skills/business-analyse-html/html/src/styles/05-modules.css +0 -518
- package/templates/skills/business-analyse-html/html/src/styles/06-wireframes.css +0 -263
- package/templates/skills/business-analyse-html/html/src/styles/07-comments.css +0 -184
- package/templates/skills/business-analyse-html/html/src/styles/08-review-panel.css +0 -241
- package/templates/skills/business-analyse-html/html/src/styles/09-mockups-html.css +0 -220
- package/templates/skills/business-analyse-html/html/src/styles/10-diagrams.css +0 -73
- package/templates/skills/business-analyse-html/html/src/template.html +0 -449
- package/templates/skills/business-analyse-html/references/02-embedded-artifacts-building.md +0 -144
- package/templates/skills/business-analyse-html/references/02-feature-data-building.md +0 -143
- package/templates/skills/business-analyse-html/references/02-mapping-tables.md +0 -442
- package/templates/skills/business-analyse-html/references/02-normalization-helpers.md +0 -139
- package/templates/skills/business-analyse-html/references/02-screen-format-detection.md +0 -283
- package/templates/skills/business-analyse-html/references/02-self-check-validation.md +0 -199
- package/templates/skills/business-analyse-html/references/data-build.md +0 -215
- package/templates/skills/business-analyse-html/references/data-mapping.md +0 -452
- package/templates/skills/business-analyse-html/references/output-modes.md +0 -119
- package/templates/skills/business-analyse-html/references/wireframe-svg-style-guide.md +0 -335
- package/templates/skills/business-analyse-html/steps/step-01-collect.md +0 -140
- package/templates/skills/business-analyse-html/steps/step-02-build-data.md +0 -76
- package/templates/skills/business-analyse-html/steps/step-03-render.md +0 -95
- package/templates/skills/business-analyse-html/steps/step-04-verify.md +0 -224
- package/templates/skills/business-analyse-quick/SKILL.md +0 -807
- package/templates/skills/business-analyse-quick/references/domain-heuristics.md +0 -172
- package/templates/skills/business-analyse-quick/references/prd-schema.md +0 -268
- package/templates/skills/business-analyse-review/SKILL.md +0 -71
- package/templates/skills/business-analyse-review/references/review-data-mapping.md +0 -367
- package/templates/skills/business-analyse-review/steps/step-00-init.md +0 -111
- package/templates/skills/business-analyse-review/steps/step-01-apply.md +0 -304
- package/templates/skills/business-analyse-status/SKILL.md +0 -136
- package/templates/skills/cc-agent/SKILL.md +0 -129
- package/templates/skills/cc-agent/references/agent-behavior-patterns.md +0 -95
- package/templates/skills/cc-agent/references/agent-frontmatter.md +0 -213
- package/templates/skills/cc-agent/references/permission-modes.md +0 -102
- package/templates/skills/cc-agent/references/tools-reference.md +0 -144
- package/templates/skills/cc-agent/steps/step-00-init.md +0 -134
- package/templates/skills/cc-agent/steps/step-01-design.md +0 -186
- package/templates/skills/cc-agent/steps/step-02-generate.md +0 -131
- package/templates/skills/cc-agent/steps/step-03-validate.md +0 -130
- package/templates/skills/cc-agent/templates/agent-categorized.md +0 -67
- package/templates/skills/cc-agent/templates/agent-standalone.md +0 -56
- package/templates/skills/cc-agent/templates/agent-with-skills.md +0 -94
- package/templates/skills/cc-audit/SKILL.md +0 -108
- package/templates/skills/cc-audit/references/agent-checklist.md +0 -91
- package/templates/skills/cc-audit/references/hook-checklist.md +0 -110
- package/templates/skills/cc-audit/references/skill-checklist.md +0 -70
- package/templates/skills/cc-audit/steps/step-00-init.md +0 -98
- package/templates/skills/cc-audit/steps/step-01-scan.md +0 -142
- package/templates/skills/cc-audit/steps/step-02-analyze.md +0 -158
- package/templates/skills/cc-audit/steps/step-03-report.md +0 -142
- package/templates/skills/cc-skill/SKILL.md +0 -134
- package/templates/skills/cc-skill/references/best-practices.md +0 -167
- package/templates/skills/cc-skill/references/frontmatter-reference.md +0 -182
- package/templates/skills/cc-skill/references/skill-patterns.md +0 -199
- package/templates/skills/cc-skill/steps/step-00-init.md +0 -119
- package/templates/skills/cc-skill/steps/step-01-design.md +0 -199
- package/templates/skills/cc-skill/steps/step-02-generate.md +0 -145
- package/templates/skills/cc-skill/steps/step-03-steps.md +0 -151
- package/templates/skills/cc-skill/steps/step-04-validate.md +0 -124
- package/templates/skills/cc-skill/templates/skill-forked.md +0 -85
- package/templates/skills/cc-skill/templates/skill-progressive.md +0 -102
- package/templates/skills/cc-skill/templates/skill-simple.md +0 -75
- package/templates/skills/cc-skill/templates/step-template.md +0 -82
- package/templates/skills/controller/SKILL.md +0 -162
- package/templates/skills/controller/postman-templates.md +0 -614
- package/templates/skills/controller/references/controller-code-templates.md +0 -162
- package/templates/skills/controller/references/mcp-scaffold-workflow.md +0 -237
- package/templates/skills/controller/references/permission-sync-templates.md +0 -149
- package/templates/skills/controller/steps/step-00-init.md +0 -193
- package/templates/skills/controller/steps/step-01-analyze.md +0 -152
- package/templates/skills/controller/steps/step-02-plan.md +0 -176
- package/templates/skills/controller/steps/step-03-generate.md +0 -189
- package/templates/skills/controller/steps/step-04-perms.md +0 -80
- package/templates/skills/controller/steps/step-05-validate.md +0 -107
- package/templates/skills/controller/templates.md +0 -1556
- package/templates/skills/debug/SKILL.md +0 -70
- package/templates/skills/debug/references/team-protocol.md +0 -232
- package/templates/skills/debug/steps/step-00-init.md +0 -57
- package/templates/skills/debug/steps/step-01-analyze.md +0 -219
- package/templates/skills/debug/steps/step-02-resolve.md +0 -85
- package/templates/skills/efcore/references/database-operations.md +0 -66
- package/templates/skills/efcore/references/reset-operations.md +0 -81
- package/templates/skills/efcore/references/seed-methods.md +0 -86
- package/templates/skills/efcore/references/shared-init-functions.md +0 -250
- package/templates/skills/efcore/references/sql-objects-injection.md +0 -19
- package/templates/skills/efcore/references/troubleshooting.md +0 -81
- package/templates/skills/efcore/references/zero-downtime-patterns.md +0 -229
- package/templates/skills/explore/SKILL.md +0 -98
- package/templates/skills/feature-full/SKILL.md +0 -111
- package/templates/skills/feature-full/steps/step-00-init.md +0 -57
- package/templates/skills/feature-full/steps/step-01-implementation.md +0 -133
- package/templates/skills/gitflow/phases/abort.md +0 -189
- package/templates/skills/gitflow/phases/cleanup.md +0 -264
- package/templates/skills/gitflow/phases/status.md +0 -192
- package/templates/skills/gitflow/references/commit-message-generation.md +0 -58
- package/templates/skills/gitflow/references/commit-migration-validation.md +0 -53
- package/templates/skills/gitflow/references/finish-cleanup.md +0 -55
- package/templates/skills/gitflow/references/finish-version-bumping.md +0 -45
- package/templates/skills/gitflow/references/init-config-template.md +0 -143
- package/templates/skills/gitflow/references/init-environment-detection.md +0 -41
- package/templates/skills/gitflow/references/init-name-normalization.md +0 -118
- package/templates/skills/gitflow/references/init-questions.md +0 -193
- package/templates/skills/gitflow/references/init-structure-creation.md +0 -75
- package/templates/skills/gitflow/references/init-version-detection.md +0 -23
- package/templates/skills/gitflow/references/init-workspace-detection.md +0 -43
- package/templates/skills/gitflow/references/merge-ci-status.md +0 -36
- package/templates/skills/gitflow/references/merge-execution.md +0 -62
- package/templates/skills/gitflow/references/merge-pr-context.md +0 -76
- package/templates/skills/gitflow/references/plan-template.md +0 -69
- package/templates/skills/gitflow/references/pr-build-checks.md +0 -60
- package/templates/skills/gitflow/references/pr-generation.md +0 -58
- package/templates/skills/gitflow/references/start-branch-normalization.md +0 -28
- package/templates/skills/gitflow/references/start-efcore-preflight.md +0 -70
- package/templates/skills/gitflow/references/start-local-config.md +0 -113
- package/templates/skills/gitflow/references/start-worktree-creation.md +0 -50
- package/templates/skills/gitflow/references/sync-push-verify.md +0 -44
- package/templates/skills/gitflow/references/sync-rebase-conflicts.md +0 -38
- package/templates/skills/gitflow/steps/step-commit.md +0 -199
- package/templates/skills/gitflow/steps/step-finish.md +0 -147
- package/templates/skills/gitflow/steps/step-init.md +0 -230
- package/templates/skills/gitflow/steps/step-merge.md +0 -85
- package/templates/skills/gitflow/steps/step-plan.md +0 -151
- package/templates/skills/gitflow/steps/step-pr.md +0 -247
- package/templates/skills/gitflow/steps/step-start.md +0 -195
- package/templates/skills/gitflow/steps/step-sync.md +0 -161
- package/templates/skills/gitflow/templates/config.json +0 -72
- package/templates/skills/mcp/SKILL.md +0 -62
- package/templates/skills/mcp/steps/step-01-healthcheck.md +0 -108
- package/templates/skills/mcp/steps/step-02-tools.md +0 -73
- package/templates/skills/migrate/SKILL.md +0 -312
- package/templates/skills/migrate/references/v3.34-to-v3.46.md +0 -289
- package/templates/skills/notification/SKILL.md +0 -173
- package/templates/skills/refactor/SKILL.md +0 -56
- package/templates/skills/refactor/steps/step-01-discover.md +0 -60
- package/templates/skills/refactor/steps/step-02-execute.md +0 -67
- package/templates/skills/review-code/SKILL.md +0 -95
- package/templates/skills/review-code/references/clean-code-principles.md +0 -292
- package/templates/skills/review-code/references/code-quality-metrics.md +0 -174
- package/templates/skills/review-code/references/feedback-patterns.md +0 -149
- package/templates/skills/review-code/references/owasp-api-top10.md +0 -243
- package/templates/skills/review-code/references/security-checklist.md +0 -212
- package/templates/skills/review-code/references/smartstack-conventions.md +0 -568
- package/templates/skills/review-code/steps/step-01-smartstack.md +0 -96
- package/templates/skills/review-code/steps/step-02-detailed-review.md +0 -80
- package/templates/skills/review-code/steps/step-03-react.md +0 -44
- package/templates/skills/sketch/SKILL.md +0 -34
- package/templates/skills/ui-components/accessibility.md +0 -170
- package/templates/skills/ui-components/patterns/dashboard-chart.md +0 -327
- package/templates/skills/ui-components/patterns/data-table.md +0 -175
- package/templates/skills/ui-components/patterns/entity-card.md +0 -77
- package/templates/skills/ui-components/patterns/grid-layout.md +0 -91
- package/templates/skills/ui-components/patterns/kanban.md +0 -43
- package/templates/skills/ui-components/references/component-catalog.md +0 -82
- package/templates/skills/ui-components/responsive-guidelines.md +0 -278
- package/templates/skills/ui-components/style-guide.md +0 -113
- package/templates/skills/validate/SKILL.md +0 -181
- package/templates/skills/workflow/SKILL.md +0 -196
- package/templates/skills/workflow/steps/step-00-init.md +0 -57
- package/templates/skills/workflow/steps/step-01-implementation.md +0 -84
|
@@ -1,562 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-03d-layer3-frontend
|
|
3
|
-
description: "Layer 3: Frontend pages, i18n, routes, documentation, and tests"
|
|
4
|
-
model: opus
|
|
5
|
-
parent_step: steps/step-03-execute.md
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
**ULTRA THINK about frontend completeness: new pages, routes, i18n keys, AND permissions/navigation alignment with Layer 1 seed data.**
|
|
9
|
-
|
|
10
|
-
# Layer 3 — Frontend (Pages + I18n + Documentation)
|
|
11
|
-
|
|
12
|
-
### Companion Specs Loading (delegate mode)
|
|
13
|
-
|
|
14
|
-
```javascript
|
|
15
|
-
if (delegate_mode && specification_loading_plan) {
|
|
16
|
-
const specsDir = path.dirname(delegate_prd_path);
|
|
17
|
-
// Layer 3 loads: screens + usecases companions
|
|
18
|
-
for (const file of specification_loading_plan.layer3_frontend) {
|
|
19
|
-
const specPath = path.join(specsDir, file);
|
|
20
|
-
if (fileExists(specPath)) {
|
|
21
|
-
const specData = readJSON(specPath);
|
|
22
|
-
if (specData.screens) {
|
|
23
|
-
// Full screen definitions: columns[], fields[], filters[], actions[], kpis[]
|
|
24
|
-
// Use for: DataTable columns, form fields, filter configs, action buttons, dashboard KPIs
|
|
25
|
-
console.log(`Loaded screens: ${specData.screens.length} screen specs with columns/fields/filters`);
|
|
26
|
-
}
|
|
27
|
-
if (specData.useCases || specData.usecases) {
|
|
28
|
-
const ucs = specData.useCases || specData.usecases;
|
|
29
|
-
// UC steps inform form validation, navigation flows, error states
|
|
30
|
-
console.log(`Loaded usecases: ${ucs.length} use cases for form flows`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
> When companion specs are loaded:
|
|
38
|
-
> - **List pages**: use `screen.columns[]` for exact DataTable column definitions (key, label, type, sortable)
|
|
39
|
-
> - **Form pages**: use `screen.fields[]` for exact form field definitions (name, type, required, validation)
|
|
40
|
-
> - **Filter configs**: use `screen.filters[]` for search/filter UI generation
|
|
41
|
-
> - **Dashboard pages**: use `screen.kpis[]` for KPI card and chart definitions
|
|
42
|
-
> - **Actions**: use `screen.actions[]` for action buttons (create, export, bulk operations)
|
|
43
|
-
|
|
44
|
-
### Build Per-Entity PRD Context Block (delegate mode)
|
|
45
|
-
|
|
46
|
-
> **CRITICAL:** This block builds the authoritative specification that MUST be passed to `/ui-components`.
|
|
47
|
-
> Without it, `/ui-components` infers columns from entity structure and misses PRD-specified fields
|
|
48
|
-
> (e.g., Person Extension Pattern display fields like DisplayFirstName, DisplayLastName).
|
|
49
|
-
|
|
50
|
-
When companion specs are loaded, build a `{prd_context}` map keyed by entity name:
|
|
51
|
-
|
|
52
|
-
```javascript
|
|
53
|
-
const prdContextMap = {}; // entityName → structured PRD block
|
|
54
|
-
|
|
55
|
-
if (screensData?.sections) {
|
|
56
|
-
for (const section of screensData.sections) {
|
|
57
|
-
for (const resource of (section.resources || [])) {
|
|
58
|
-
if (!resource.entity) continue;
|
|
59
|
-
const entityName = resource.entity;
|
|
60
|
-
|
|
61
|
-
if (!prdContextMap[entityName]) {
|
|
62
|
-
prdContextMap[entityName] = { screens: [], labels: {}, permissions: [] };
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Collect screen resource specs
|
|
66
|
-
prdContextMap[entityName].screens.push({
|
|
67
|
-
sectionCode: section.code,
|
|
68
|
-
sectionType: section.sectionType,
|
|
69
|
-
resourceType: resource.type,
|
|
70
|
-
columns: resource.columns || null,
|
|
71
|
-
fields: resource.fields || null,
|
|
72
|
-
actions: resource.actions || [],
|
|
73
|
-
defaultSort: resource.defaultSort || null,
|
|
74
|
-
defaultPageSize: resource.defaultPageSize || 20
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
// Collect section labels (4 languages)
|
|
78
|
-
if (section.labels) {
|
|
79
|
-
prdContextMap[entityName].labels[section.code] = section.labels;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Collect permissions
|
|
83
|
-
if (section.permission) {
|
|
84
|
-
prdContextMap[entityName].permissions.push(section.permission);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
Then, for each entity, serialize the PRD context into a text block to inject into `/ui-components`:
|
|
92
|
-
|
|
93
|
-
```javascript
|
|
94
|
-
function buildPrdBlock(entityName) {
|
|
95
|
-
const ctx = prdContextMap[entityName];
|
|
96
|
-
if (!ctx || ctx.screens.length === 0) return '';
|
|
97
|
-
|
|
98
|
-
let block = '\n--- PRD SPECIFICATION (AUTHORITATIVE — use these EXACT definitions) ---\n';
|
|
99
|
-
|
|
100
|
-
// SmartTable columns
|
|
101
|
-
const tableScreens = ctx.screens.filter(s => s.resourceType === 'SmartTable' && s.columns);
|
|
102
|
-
for (const screen of tableScreens) {
|
|
103
|
-
block += `\nCOLUMNS for DataTable (section: "${screen.sectionCode}") — use ALL, in this EXACT order:\n`;
|
|
104
|
-
for (const col of screen.columns) {
|
|
105
|
-
block += ` - key: "${col.field}", label_fr: "${col.label?.fr || col.field}", ` +
|
|
106
|
-
`label_en: "${col.label?.en || col.field}", format: "${col.format}", ` +
|
|
107
|
-
`sortable: ${col.sortable || false}\n`;
|
|
108
|
-
}
|
|
109
|
-
if (screen.actions.length > 0) {
|
|
110
|
-
block += `ACTIONS: ${screen.actions.join(', ')}\n`;
|
|
111
|
-
}
|
|
112
|
-
if (screen.defaultSort) {
|
|
113
|
-
block += `DEFAULT SORT: field="${screen.defaultSort.field}", direction="${screen.defaultSort.direction}"\n`;
|
|
114
|
-
}
|
|
115
|
-
block += `PAGE SIZE: ${screen.defaultPageSize}\n`;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// SmartForm fields
|
|
119
|
-
const formScreens = ctx.screens.filter(s => s.resourceType === 'SmartForm' && s.fields);
|
|
120
|
-
for (const screen of formScreens) {
|
|
121
|
-
block += `\nFORM FIELDS (section: "${screen.sectionCode}"):\n`;
|
|
122
|
-
for (const field of screen.fields) {
|
|
123
|
-
block += ` - name: "${field.name}", type: "${field.type}", required: ${field.required || false}\n`;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
// Labels
|
|
128
|
-
block += '\nSECTION LABELS (use for page titles, breadcrumbs, i18n — 4 languages):\n';
|
|
129
|
-
for (const [code, labels] of Object.entries(ctx.labels)) {
|
|
130
|
-
block += ` ${code}: fr="${labels.fr}" en="${labels.en}" it="${labels.it}" de="${labels.de}"\n`;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
// Permissions
|
|
134
|
-
if (ctx.permissions.length > 0) {
|
|
135
|
-
block += `\nPERMISSIONS: ${ctx.permissions.join(', ')}\n`;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
block += '--- END PRD SPECIFICATION ---\n';
|
|
139
|
-
return block;
|
|
140
|
-
}
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**Usage:** When invoking `Skill("ui-components")`, append `buildPrdBlock(entityName)` to the arguments.
|
|
144
|
-
The `/ui-components` skill reads free-text instructions — the structured block is parsed naturally.
|
|
145
|
-
|
|
146
|
-
### ⛔ HARD RULE — /ui-components is NON-NEGOTIABLE (read BEFORE any Layer 3 action)
|
|
147
|
-
|
|
148
|
-
> **VIOLATION CHECK:** If ANY .tsx page file was created by Write tool WITHOUT
|
|
149
|
-
> a prior Skill("ui-components") call in this execution, the frontend layer is INVALID.
|
|
150
|
-
>
|
|
151
|
-
> **You MUST NOT:**
|
|
152
|
-
> - Generate .tsx page code in Agent prompts and dispatch to Snipper agents
|
|
153
|
-
> - Write page content directly via the Write tool
|
|
154
|
-
> - Copy-paste page templates from your knowledge
|
|
155
|
-
>
|
|
156
|
-
> **You MUST:**
|
|
157
|
-
> - Call Skill("ui-components") which loads the style guide, responsive guidelines,
|
|
158
|
-
> accessibility rules, and pattern files (entity-card, data-table, dashboard-chart, grid-layout, kanban)
|
|
159
|
-
> - Let /ui-components generate all pages with correct conventions
|
|
160
|
-
>
|
|
161
|
-
> **Why this matters:** Without the skill, pages miss CSS variables, DataTable/EntityCard,
|
|
162
|
-
> memo()/useCallback, responsive mobile-first design, and accessibility patterns.
|
|
163
|
-
>
|
|
164
|
-
> **Agent boundary rule:** Snipper sub-agents DO NOT have access to the Skill tool.
|
|
165
|
-
> Therefore, .tsx page generation MUST NEVER be delegated to Snipper agents.
|
|
166
|
-
> Pages are ALWAYS generated by the principal agent via Skill("ui-components").
|
|
167
|
-
> Snipper agents handle: API clients, routes, wiring, i18n, tests — NOT pages.
|
|
168
|
-
|
|
169
|
-
### Load Frontend References (deferred from top of step)
|
|
170
|
-
|
|
171
|
-
- Read `references/smartstack-frontend.md` now — lazy loading, i18n, page structure, CSS variables, EntityLookup (sections 1-6)
|
|
172
|
-
- Read `references/smartstack-frontend-compliance.md` now — documentation, form testing, compliance gates (sections 7-9)
|
|
173
|
-
|
|
174
|
-
### Pre-flight: Shared component existence check
|
|
175
|
-
|
|
176
|
-
Before generating any page, verify shared components exist:
|
|
177
|
-
|
|
178
|
-
```
|
|
179
|
-
Glob("src/components/ui/DataTable.*")
|
|
180
|
-
Glob("src/components/ui/EntityCard.*")
|
|
181
|
-
Glob("src/components/ui/PageLoader.*")
|
|
182
|
-
Glob("src/components/ui/EntityLookup.*")
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
If ANY shared component is MISSING:
|
|
186
|
-
→ Log warning: "Shared component {Component} not found — will be generated locally"
|
|
187
|
-
→ When invoking Skill("ui-components"), add instruction:
|
|
188
|
-
"MISSING SHARED COMPONENTS: {list}. Generate these locally in src/components/ui/"
|
|
189
|
-
|
|
190
|
-
**EntityLookup special handling (FK fields):**
|
|
191
|
-
If ANY entity has FK Guid fields (e.g., EmployeeId, DepartmentId) AND EntityLookup is missing:
|
|
192
|
-
→ Include EntityLookup generation in the Skill("ui-components") invocation
|
|
193
|
-
→ Add to the skill prompt: "MISSING SHARED COMPONENT: EntityLookup. Generate EntityLookup in src/components/ui/EntityLookup.tsx"
|
|
194
|
-
→ The /ui-components skill has the EntityLookup pattern in smartstack-frontend.md section 6
|
|
195
|
-
→ Critical requirement for the skill: response parsing MUST use `(res.data.items || res.data).map(mapOption)`
|
|
196
|
-
→ Verify after generation: the component MUST contain `(res.data.items || res.data).map(mapOption)` — if not, fix it
|
|
197
|
-
→ Do NOT generate EntityLookup manually via Write tool — always via Skill("ui-components")
|
|
198
|
-
|
|
199
|
-
### Task Progress
|
|
200
|
-
TaskUpdate(taskId: layer3_task_id, status: "in_progress")
|
|
201
|
-
TaskUpdate(taskId: progress_tracker_id,
|
|
202
|
-
description: "Module: {module_code}. Current: step-03 (Execute), Layer 3",
|
|
203
|
-
activeForm: "Executing Layer 3")
|
|
204
|
-
|
|
205
|
-
> **Frontend patterns** are in `references/smartstack-frontend.md` (already loaded above):
|
|
206
|
-
> - API client generation (MCP scaffold_api_client)
|
|
207
|
-
> - Route scaffolding (MCP scaffold_routes) — section 1 + 3b
|
|
208
|
-
> - Page types (ListPage, DetailPage, CreatePage, EditPage) — section 3
|
|
209
|
-
> - FK field handling (EntityLookup component) — section 6
|
|
210
|
-
> - Form structure (no modals — all full pages) — section 3b
|
|
211
|
-
> - Detail page tabs (local state only) — section 3 "Tab Behavior Rules"
|
|
212
|
-
> - Testing patterns (co-located form tests) — section 8
|
|
213
|
-
> - Section-level routes and permissions — section 3b
|
|
214
|
-
> - I18n JSON structure and registration — section 2
|
|
215
|
-
> - Compliance gates (5 mandatory checks) — section 9
|
|
216
|
-
|
|
217
|
-
### Frontend Tasks (sequential or parallel within layer)
|
|
218
|
-
|
|
219
|
-
For each module:
|
|
220
|
-
- API client: MCP scaffold_api_client — **MANDATORY, do not skip or generate manually.**
|
|
221
|
-
→ The generated API client uses `apiClient` from `@/services/api` (auth, token refresh, tenant isolation).
|
|
222
|
-
→ Hooks MUST import from the generated API service, NEVER use raw `fetch()` or direct axios.
|
|
223
|
-
→ If `scaffold_api_client` is unavailable: generate the service manually using `apiClient` import,
|
|
224
|
-
but NEVER using `fetch()`. Pattern: `import apiClient from '@/services/api'; const res = await apiClient.get('/api/...');`
|
|
225
|
-
- Routes — TWO mandatory steps:
|
|
226
|
-
1. Generate registry: MCP scaffold_routes (source: 'controllers', outputFormat: 'componentRegistry', dryRun: false)
|
|
227
|
-
→ Creates/updates componentRegistry.generated.ts + navRoutes.generated.ts
|
|
228
|
-
2. Verify PageRegistry registration (see below)
|
|
229
|
-
- Pages per section: When a section exists (e.g., "list"), generate ALL 4 page types:
|
|
230
|
-
→ {Section}ListPage.tsx (index route)
|
|
231
|
-
→ {Section}DetailPage.tsx (/:id route) — click on list item navigates here
|
|
232
|
-
→ Create{Section}Page.tsx (/create route)
|
|
233
|
-
→ Edit{Section}Page.tsx (/:id/edit route)
|
|
234
|
-
"detail" is NEVER a separate section — it's the /:id route of the list section.
|
|
235
|
-
- **CRUD Page Completeness (MANDATORY for every entity section with a ListPage):**
|
|
236
|
-
1. ALL 4 page types MUST exist (List, Detail, Create/Form, Edit/Form)
|
|
237
|
-
2. **Create button on ListPage (MANDATORY):** Every ListPage MUST include a "New" / "Create" button
|
|
238
|
-
in the header that calls `navigate('create')`. Without this button, users cannot access the create form.
|
|
239
|
-
3. **componentRegistry registration:** ALL page types MUST be registered via `PageRegistry.register()`.
|
|
240
|
-
After `scaffold_routes`, verify the registry contains keys for ALL pages.
|
|
241
|
-
If form pages (create/edit) are missing from registry, add them manually.
|
|
242
|
-
4. **POST-CHECK Gate PG-2b:** Grep every `*ListPage.tsx` for `navigate.*create`.
|
|
243
|
-
If absent → BLOCKING error — add the create button before proceeding.
|
|
244
|
-
- Pages: **MANDATORY — INVOKE Skill("ui-components")** for ALL page generation.
|
|
245
|
-
⚠ BLOCKING REQUIREMENT: You MUST call Skill("ui-components") for EVERY page (.tsx).
|
|
246
|
-
NEVER generate .tsx page code directly. NEVER write page content in Agent prompts.
|
|
247
|
-
NEVER use Write tool to create pages without first calling Skill("ui-components").
|
|
248
|
-
The skill loads the full style guide + patterns (entity-card, data-table, dashboard-chart, grid-layout).
|
|
249
|
-
Follow smartstack-frontend.md patterns:
|
|
250
|
-
→ React.lazy() for all page imports (named export wrapping)
|
|
251
|
-
→ `<Suspense fallback={<PageLoader />}>` around all lazy components
|
|
252
|
-
→ Page structure: hooks → useEffect(load) → loading → error → content
|
|
253
|
-
→ CSS variables only: bg-[var(--bg-card)], text-[var(--text-primary)]
|
|
254
|
-
→ DataTable/EntityCard (not raw HTML `<table>`)
|
|
255
|
-
→ If entity has FK Guid fields: generate EntityLookup component in @/components/ui/EntityLookup (see smartstack-frontend.md section 6)
|
|
256
|
-
→ Dashboard pages: generate StatCard + ChartCard locally (see ui-components patterns/dashboard-chart.md)
|
|
257
|
-
- Form pages: Create/Edit forms are full pages with own routes:
|
|
258
|
-
→ EntityCreatePage.tsx with route /{module}/create
|
|
259
|
-
→ EntityEditPage.tsx with route /{module}/:id/edit
|
|
260
|
-
→ Zero modals/popups/drawers/dialogs for forms
|
|
261
|
-
→ Back button with navigate(-1) on every form page
|
|
262
|
-
→ See smartstack-frontend.md section 3b for templates
|
|
263
|
-
- Tabs on detail pages: Tabs must switch content locally:
|
|
264
|
-
→ Tab click handler: setActiveTab(tabKey) only — do not navigate() to another page
|
|
265
|
-
→ Tab content: render inline with {activeTab === 'tabKey' && <TabContent />}
|
|
266
|
-
→ Sub-resource data: fetch via API filtered by parent ID, display in tab panel
|
|
267
|
-
→ Do not use navigate('../leaves?employee=${id}') in tab handler
|
|
268
|
-
→ See smartstack-frontend.md section 3 'Tab Behavior Rules'
|
|
269
|
-
- FK fields: Foreign key Guid fields (e.g., EmployeeId) must use EntityLookup:
|
|
270
|
-
→ Do not render FK fields as `<input>` — users cannot type GUIDs
|
|
271
|
-
→ Do not render FK fields as `<select>` — even with API-loaded options, `<select>` is not acceptable
|
|
272
|
-
→ Only use `<EntityLookup />` from @/components/ui/EntityLookup for searchable selection
|
|
273
|
-
→ Each FK field needs: apiEndpoint, mapOption (display name), search support on backend
|
|
274
|
-
→ Do not use `<select value={formData.departmentId}>`, `<option value={dept.id}>`, `e.target.value` for FK fields
|
|
275
|
-
→ See smartstack-frontend.md section 6 for the full EntityLookup pattern
|
|
276
|
-
<!-- TODO A12: Replace direct i18n generation with MCP scaffold_i18n when B4 is ready -->
|
|
277
|
-
- I18n: Generate 4 JSON files per module namespace (fr, en, it, de)
|
|
278
|
-
→ Follow JSON template from smartstack-frontend.md
|
|
279
|
-
→ Keys: actions, labels, errors, validation, columns, form, messages, empty
|
|
280
|
-
→ All t() calls must use namespace prefix + fallback: t('ns:key', 'Default text')
|
|
281
|
-
→ **UTF-8 accents are MANDATORY** — NEVER use ASCII-only text for accented languages:
|
|
282
|
-
- FR: "Département" (not "Departement"), "employés" (not "employes"), "trouvée" (not "trouvee")
|
|
283
|
-
- DE: "Übersicht" (not "Ubersicht"), "Beschäftigung" (not "Beschaftigung")
|
|
284
|
-
- IT: "attività" (not "attivita"), "dipendentì" (not "dipendenti")
|
|
285
|
-
- EN: no accents needed (but proper apostrophes: "employee's" not "employees")
|
|
286
|
-
→ **Register namespace in i18n config** (critical — POST-CHECK C39 + GATE PG-4 catch this, but fix it now):
|
|
287
|
-
1. Find i18n config: `Glob("src/**/i18n/config.ts")` or `index.ts` or `i18n.ts`
|
|
288
|
-
2. Read the config → find the resources/ns registration pattern
|
|
289
|
-
3. Add the new namespace import + registration for all 4 languages
|
|
290
|
-
4. If config uses dynamic imports: add namespace to the `ns` array
|
|
291
|
-
5. Verify: `grep -q "{module_namespace}" src/**/i18n/config.ts` → must match
|
|
292
|
-
6. **I18n File/Import Alignment Check:** Verify that every locale JSON file on disk for this module
|
|
293
|
-
has a corresponding import in the i18n config index.ts. Glob `src/**/i18n/locales/*/` for module files,
|
|
294
|
-
then verify each is imported. Missing imports cause silent translation failures (keys show as raw strings).
|
|
295
|
-
7. **If registration is missing after step 6:** This is a BLOCKING error. The page will show raw keys
|
|
296
|
-
(`list.title`, `form.department`) instead of translated text. Fix before proceeding.
|
|
297
|
-
- Permissions: Call MCP generate_permissions for the module permission root (2 segments: {app}.{module}),
|
|
298
|
-
then also call MCP generate_permissions for each section (3 segments: {app}.{module}.{section}).
|
|
299
|
-
- Section routes: Ensure navigation seed data has ComponentKey matching PageRegistry keys.
|
|
300
|
-
ComponentKey convention: `{app_code}.{module_code}.{section_code}` (dot-separated, lowercase).
|
|
301
|
-
DynamicRouter generates the URL paths from seed data Route field.
|
|
302
|
-
**CRITICAL: PageRegistry keys use DOTS as hierarchy separator, NEVER hyphens.**
|
|
303
|
-
- Correct: `PageRegistry.register('rh.employes.list', lazy(...))`
|
|
304
|
-
- WRONG: `PageRegistry.register('rh-employes-list', lazy(...))`
|
|
305
|
-
NavigationService computes `ComponentKey = "{app.Code}.{module.Code}.{section.Code}"` at runtime.
|
|
306
|
-
DynamicRouter calls `PageRegistry.resolve(componentKey)` — keys MUST match exactly.
|
|
307
|
-
For client projects: `import { PageRegistry } from '@atlashub/smartstack';`
|
|
308
|
-
For SmartStack core: `import { PageRegistry } from '@/extensions/PageRegistry';`
|
|
309
|
-
- MUST use src/pages/{App}/{Module}/ hierarchy (NOT flat)
|
|
310
|
-
|
|
311
|
-
### Documentation (after frontend pages exist)
|
|
312
|
-
|
|
313
|
-
> **After frontend pages are created, generate module documentation via `/documentation` skill.**
|
|
314
|
-
|
|
315
|
-
```
|
|
316
|
-
Invoke /documentation {module_code} --type user
|
|
317
|
-
|
|
318
|
-
This generates:
|
|
319
|
-
- src/pages/docs/business/{app}/{module}/doc-data.ts (data file)
|
|
320
|
-
- src/pages/docs/business/{app}/{module}/index.tsx (page wrapper)
|
|
321
|
-
- src/i18n/locales/fr/docs-{app}-{module}.json (French doc translations)
|
|
322
|
-
- Updates App.tsx routing for doc page
|
|
323
|
-
- Updates docs-manifest.json
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
**Verify DocToggleButton presence in list/detail pages:**
|
|
327
|
-
- Every `*ListPage.tsx` and `*DetailPage.tsx` MUST import and render `DocToggleButton` in their header
|
|
328
|
-
- Import: `import { DocToggleButton } from '@/components/docs/DocToggleButton';`
|
|
329
|
-
- Placement: inside the header actions area (see `smartstack-frontend.md` section 7)
|
|
330
|
-
|
|
331
|
-
### If NOT economy_mode AND multiple entities: Parallel Agents (within layer)
|
|
332
|
-
|
|
333
|
-
> **Protocol:** See `references/parallel-execution.md`
|
|
334
|
-
|
|
335
|
-
```
|
|
336
|
-
IF NOT economy_mode AND entities.length > 1:
|
|
337
|
-
# PHASE A — Parallel: infrastructure frontend (NO page generation)
|
|
338
|
-
# Snipper agents DO NOT have access to the Skill tool, so they CANNOT call /ui-components.
|
|
339
|
-
# Pages MUST be generated by the principal agent in Phase B.
|
|
340
|
-
For each entity, launch in parallel (single message):
|
|
341
|
-
Agent(subagent_type='Snipper', model='opus',
|
|
342
|
-
prompt='Execute Layer 3 INFRASTRUCTURE for {EntityName}:
|
|
343
|
-
**MANDATORY: Read references/smartstack-frontend.md FIRST**
|
|
344
|
-
- API client: MCP scaffold_api_client
|
|
345
|
-
- Routes: MCP scaffold_routes (outputFormat: "componentRegistry", dryRun: false)
|
|
346
|
-
→ MUST generate componentRegistry.generated.ts + navRoutes.generated.ts
|
|
347
|
-
- Verify: componentRegistry.generated.ts has PageRegistry.register() for new pages
|
|
348
|
-
- Verify: main.tsx imports componentRegistry.generated (one-time check)
|
|
349
|
-
- NO manual App.tsx wiring needed — DynamicRouter handles routing
|
|
350
|
-
- I18n: 4 JSON files (fr, en, it, de) + REGISTER namespace in i18n config
|
|
351
|
-
- DO NOT generate any .tsx page files — pages are handled by the principal agent
|
|
352
|
-
- Your task ID is {task_id}. Call TaskUpdate(status: "in_progress") before starting.
|
|
353
|
-
- Call TaskUpdate(status: "completed", metadata: { files_created: [...] }) when done.')
|
|
354
|
-
# Wait for all agents to complete
|
|
355
|
-
|
|
356
|
-
# PHASE B — Sequential: pages via /ui-components (principal agent)
|
|
357
|
-
# Snipper agents cannot call Skill() — only the principal agent can.
|
|
358
|
-
For each entity (sequentially):
|
|
359
|
-
**INVOKE Skill("ui-components")** — pass entity context + PRD spec:
|
|
360
|
-
- Entity: {EntityName}, Module: {ModuleName}, App: {AppName}
|
|
361
|
-
- Page types: List, Detail, Create, Edit (+ Dashboard if applicable)
|
|
362
|
-
- "CSS: Use CSS variables ONLY — bg-[var(--bg-card)], text-[var(--text-primary)]"
|
|
363
|
-
- "Forms: Create/Edit are FULL PAGES with own routes (/create, /:id/edit)"
|
|
364
|
-
- "FK FIELDS: EntityLookup for ALL FK Guid fields"
|
|
365
|
-
- "I18n: ALL text uses t('namespace:key', 'Fallback')"
|
|
366
|
-
- {buildPrdBlock(EntityName)} — append the PRD specification block from companion specs
|
|
367
|
-
- "COLUMNS ARE AUTHORITATIVE: Do NOT infer columns from entity attributes. Use ALL columns from the PRD SPECIFICATION block above, in the EXACT order listed. Do NOT add, remove, or reorder columns."
|
|
368
|
-
- "LABELS ARE AUTHORITATIVE: Use PRD SECTION LABELS for i18n t() fallback text and page titles. Do NOT invent labels."
|
|
369
|
-
- "ACTIONS ARE AUTHORITATIVE: Implement ALL action buttons listed in the PRD SPECIFICATION (create, edit, delete, approve, reject, export, etc.)."
|
|
370
|
-
Generate form tests: co-located .test.tsx for Create and Edit pages
|
|
371
|
-
|
|
372
|
-
ELSE:
|
|
373
|
-
# Economy mode: Agent principal handles all entities SEQUENTIALLY.
|
|
374
|
-
# MANDATORY: You MUST still call Skill("ui-components") for page generation.
|
|
375
|
-
# economy_mode only disables parallel agents — it does NOT skip /ui-components.
|
|
376
|
-
For each entity (sequentially):
|
|
377
|
-
1. MCP scaffold_api_client
|
|
378
|
-
2. MCP scaffold_routes (outputFormat: 'componentRegistry')
|
|
379
|
-
3. Verify PageRegistry registration (componentRegistry.generated.ts)
|
|
380
|
-
No manual App.tsx wiring needed — DynamicRouter resolves at runtime
|
|
381
|
-
4. **INVOKE Skill("ui-components")** — pass entity context + PRD spec:
|
|
382
|
-
- Entity: {EntityName}, Module: {ModuleName}, App: {AppName}
|
|
383
|
-
- Page types: List, Detail, Create, Edit (+ Dashboard if applicable)
|
|
384
|
-
- "CSS: Use CSS variables ONLY — bg-[var(--bg-card)], text-[var(--text-primary)]"
|
|
385
|
-
- "Forms: Create/Edit are FULL PAGES with own routes (/create, /:id/edit)"
|
|
386
|
-
- "I18n: ALL text uses t('namespace:key', 'Fallback')"
|
|
387
|
-
- {buildPrdBlock(EntityName)} — append the PRD specification block from companion specs
|
|
388
|
-
- "COLUMNS ARE AUTHORITATIVE: Do NOT infer columns from entity attributes. Use ALL columns from the PRD SPECIFICATION block above, in the EXACT order listed."
|
|
389
|
-
- "LABELS ARE AUTHORITATIVE: Use PRD SECTION LABELS for i18n t() fallback text."
|
|
390
|
-
- "ACTIONS ARE AUTHORITATIVE: Implement ALL action buttons listed in the PRD SPECIFICATION."
|
|
391
|
-
5. I18n: 4 JSON files (fr, en, it, de) + register namespace in i18n config
|
|
392
|
-
6. Form tests: co-located .test.tsx for Create and Edit pages
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
### Parallel Agents + TaskCreate Integration
|
|
396
|
-
|
|
397
|
-
When launching agents for multi-entity layers:
|
|
398
|
-
- Each agent receives its task ID and metadata context in the prompt
|
|
399
|
-
- Agent must call TaskUpdate(status: "in_progress") before starting
|
|
400
|
-
- Agent must call TaskUpdate(status: "completed", metadata: { files_created: [...] }) when done
|
|
401
|
-
- Agent principal monitors via TaskList() after all agents complete
|
|
402
|
-
- Agent principal updates activeForm after each entity completion:
|
|
403
|
-
`TaskUpdate(taskId: layer3_task_id, activeForm: "Building {EntityName} frontend (2/5 entities)")`
|
|
404
|
-
|
|
405
|
-
### Frontend Compliance Gate
|
|
406
|
-
|
|
407
|
-
> See `references/smartstack-frontend-compliance.md` section 9 "Compliance Gates" for all 6 required checks:
|
|
408
|
-
> 1. CSS Variables (theme system)
|
|
409
|
-
> 2. Forms as Pages (zero modals/drawers/slide-overs)
|
|
410
|
-
> 3. I18n File Structure (4 languages, separate JSON files)
|
|
411
|
-
> 4. Lazy Loading (React.lazy() — no static imports)
|
|
412
|
-
> 5. useTranslation in Pages (all text translated)
|
|
413
|
-
> 6. SmartStack Components (no raw HTML tables — DataTable/EntityCard required)
|
|
414
|
-
|
|
415
|
-
Do not commit frontend changes until all 6 gates pass.
|
|
416
|
-
|
|
417
|
-
When delegating to `/ui-components` skill, include explicit instructions:
|
|
418
|
-
- "CSS: Use CSS variables ONLY — `bg-[var(--bg-card)]`, `text-[var(--text-primary)]`."
|
|
419
|
-
- "Forms: Create/Edit forms are FULL PAGES with own routes (e.g., `/create`, `/:id/edit`)."
|
|
420
|
-
- "I18n: ALL text must use `t('namespace:key', 'Fallback')`. Generate JSON files in `src/i18n/locales/`."
|
|
421
|
-
- "Hooks: MUST use apiClient from @/services/api — NEVER raw fetch() or direct axios import."
|
|
422
|
-
- "PRD COLUMNS: If a `--- PRD SPECIFICATION ---` block is present, use its columns[] as the EXACT DataTable columns. Do NOT add, remove, or reorder. Do NOT infer columns from entity attributes — the PRD is the source of truth."
|
|
423
|
-
- "PRD LABELS: If a `--- PRD SPECIFICATION ---` block is present, use its SECTION LABELS for page titles and i18n fallback text in all 4 languages."
|
|
424
|
-
- "PRD ACTIONS: If a `--- PRD SPECIFICATION ---` block lists actions (approve, reject, export, etc.), generate the corresponding buttons and handlers."
|
|
425
|
-
|
|
426
|
-
### ⛔ POST-GENERATION VERIFICATION GATES (MANDATORY — run after ALL pages are created)
|
|
427
|
-
|
|
428
|
-
> **These checks are BLOCKING.** Do not commit until ALL pass. Each check targets a known failure mode
|
|
429
|
-
> observed in production runs where the agent bypassed /ui-components or delegated pages to Snipper agents.
|
|
430
|
-
|
|
431
|
-
```
|
|
432
|
-
### GATE PG-1: /ui-components Skill Invocation Check
|
|
433
|
-
# Verify that Skill("ui-components") was actually called during this layer execution.
|
|
434
|
-
# The HARD RULE says: "If ANY .tsx page was created by Write tool WITHOUT a prior
|
|
435
|
-
# Skill('ui-components') call, the frontend layer is INVALID."
|
|
436
|
-
#
|
|
437
|
-
# How to verify: Review your own tool call history in this conversation.
|
|
438
|
-
# IF you created ANY .tsx file in src/pages/ WITHOUT calling Skill("ui-components") first:
|
|
439
|
-
# → FAIL — delete ALL pages in src/pages/, invoke Skill("ui-components"), regenerate.
|
|
440
|
-
# → This is NOT optional. Pages generated without the skill WILL use fictional CSS classes,
|
|
441
|
-
# raw HTML <table>, and miss DataTable/EntityCard/CSS variables/responsive design.
|
|
442
|
-
|
|
443
|
-
### GATE PG-2: Page Completeness Check (4 page types per section)
|
|
444
|
-
# For each section that has a ListPage, verify ALL 4 page types exist:
|
|
445
|
-
for section_dir in $(find src/pages -mindepth 2 -maxdepth 3 -type d); do
|
|
446
|
-
section_name=$(basename "$section_dir")
|
|
447
|
-
has_list=$(find "$section_dir" -name "*List*Page.tsx" | head -1)
|
|
448
|
-
if [ -n "$has_list" ]; then
|
|
449
|
-
has_detail=$(find "$section_dir" -name "*Detail*Page.tsx" | head -1)
|
|
450
|
-
has_create=$(find "$section_dir" -name "*Create*Page.tsx" -o -name "Create*Page.tsx" | head -1)
|
|
451
|
-
has_edit=$(find "$section_dir" -name "*Edit*Page.tsx" -o -name "Edit*Page.tsx" | head -1)
|
|
452
|
-
if [ -z "$has_detail" ] || [ -z "$has_create" ] || [ -z "$has_edit" ]; then
|
|
453
|
-
echo "FAIL PG-2: $section_dir missing pages: detail=${has_detail:-MISSING} create=${has_create:-MISSING} edit=${has_edit:-MISSING}"
|
|
454
|
-
# → Generate missing pages via Skill("ui-components")
|
|
455
|
-
fi
|
|
456
|
-
fi
|
|
457
|
-
done
|
|
458
|
-
|
|
459
|
-
### GATE PG-3: No Stub Pages ("Under development" detection)
|
|
460
|
-
# Pages must be fully implemented — not placeholders.
|
|
461
|
-
grep -rl "Under development\|Under construction\|TODO.*implement\|Coming soon" src/pages/ && {
|
|
462
|
-
echo "FAIL PG-3: Stub pages detected — all pages must be fully implemented"
|
|
463
|
-
# → For each stub: invoke Skill("ui-components") to generate the real implementation
|
|
464
|
-
# → Stubs are NEVER acceptable as deliverables
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
### GATE PG-4: I18n Namespace Registration Check
|
|
468
|
-
# JSON translation files MUST be imported in i18n config. Missing imports cause
|
|
469
|
-
# all translation keys to render as raw strings (e.g., "list.title" instead of "Liste des employés").
|
|
470
|
-
I18N_CONFIG=$(find src -path "*/i18n/index.ts" -o -path "*/i18n/config.ts" | head -1)
|
|
471
|
-
if [ -n "$I18N_CONFIG" ]; then
|
|
472
|
-
for json_file in $(find src -path "*/i18n/locales/fr/*.json" -type f); do
|
|
473
|
-
namespace=$(basename "$json_file" .json)
|
|
474
|
-
if ! grep -q "$namespace" "$I18N_CONFIG"; then
|
|
475
|
-
echo "FAIL PG-4: Namespace '$namespace' not registered in $I18N_CONFIG"
|
|
476
|
-
# → Add import + registration for all 4 languages (fr, en, it, de)
|
|
477
|
-
fi
|
|
478
|
-
done
|
|
479
|
-
fi
|
|
480
|
-
|
|
481
|
-
### GATE PG-5: No Raw fetch() in Hooks
|
|
482
|
-
# Hooks MUST use apiClient from @/services/api (which handles auth, token refresh, tenant isolation).
|
|
483
|
-
# Raw fetch() bypasses authentication and session management.
|
|
484
|
-
grep -rl "fetch(" src/hooks/ && {
|
|
485
|
-
echo "FAIL PG-5: Raw fetch() found in hooks — must use apiClient from @/services/api"
|
|
486
|
-
# → Rewrite hooks to use: import apiClient from '@/services/api';
|
|
487
|
-
# → Replace fetch() calls with apiClient.get(), apiClient.post(), etc.
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
### GATE PG-6: No Fictional CSS Classes
|
|
491
|
-
# Pages MUST use Tailwind + CSS variables. Fictional classes indicate /ui-components was bypassed.
|
|
492
|
-
FICTIONAL_CLASSES="page-container\|page-header\|page-actions\|filter-bar\|data-table\|btn btn-primary\|btn btn-outline\|btn-sm\|loading-spinner\|empty-state"
|
|
493
|
-
grep -rl "$FICTIONAL_CLASSES" src/pages/ && {
|
|
494
|
-
echo "FAIL PG-6: Fictional CSS classes found — pages were not generated by /ui-components"
|
|
495
|
-
# → Delete ALL pages, invoke Skill("ui-components"), regenerate from scratch
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
### GATE PG-7: Agent Boundary Verification
|
|
499
|
-
# This is a self-check: review all Agent() calls made during Layer 3.
|
|
500
|
-
# IF any Agent(subagent_type='Snipper') prompt contained "Page.tsx" or "pages/" file creation:
|
|
501
|
-
# → VIOLATION of the agent boundary rule (Snipper cannot generate pages)
|
|
502
|
-
# → Delete pages created by Snipper, regenerate via Skill("ui-components")
|
|
503
|
-
```
|
|
504
|
-
|
|
505
|
-
> **If ANY gate fails:** Fix the issue, then re-run ALL gates. Do not commit with failures.
|
|
506
|
-
|
|
507
|
-
### Frontend Tests Inline
|
|
508
|
-
|
|
509
|
-
> **Tests are scaffolded and run WITHIN Layer 3, not deferred to step-07.**
|
|
510
|
-
|
|
511
|
-
```
|
|
512
|
-
1. Scaffold frontend tests:
|
|
513
|
-
→ For each module with create/edit pages:
|
|
514
|
-
→ Generate EntityCreatePage.test.tsx and EntityEditPage.test.tsx
|
|
515
|
-
→ Co-located next to the page component (NOT in __tests__/ folder)
|
|
516
|
-
→ Cover: rendering, validation, submit, pre-fill, navigation, errors
|
|
517
|
-
→ Tools: Vitest + React Testing Library + @testing-library/user-event
|
|
518
|
-
→ Mock API: vi.mock() or MSW — NEVER real API calls
|
|
519
|
-
|
|
520
|
-
2. Run tests:
|
|
521
|
-
WEB_DIR=$(find . -name "vitest.config.ts" -not -path "*/node_modules/*" -exec dirname {} \; 2>/dev/null | head -1)
|
|
522
|
-
if [ -n "$WEB_DIR" ]; then
|
|
523
|
-
(cd "$WEB_DIR" && npm run test)
|
|
524
|
-
fi
|
|
525
|
-
|
|
526
|
-
3. Fix loop (max 3 iterations):
|
|
527
|
-
IF tests fail:
|
|
528
|
-
→ Identify root cause (ALWAYS code bug, not test bug)
|
|
529
|
-
→ Fix production CODE
|
|
530
|
-
→ Re-run tests
|
|
531
|
-
→ Repeat until pass or max 3
|
|
532
|
-
|
|
533
|
-
4. If still failing after 3 iterations: note failures, continue.
|
|
534
|
-
Step-07 "Final Test Sweep" will handle remaining failures.
|
|
535
|
-
```
|
|
536
|
-
|
|
537
|
-
### Typecheck Gate
|
|
538
|
-
|
|
539
|
-
```bash
|
|
540
|
-
npm run typecheck
|
|
541
|
-
```
|
|
542
|
-
|
|
543
|
-
Must pass before commit.
|
|
544
|
-
|
|
545
|
-
TaskUpdate(taskId: layer3_task_id, status: "completed",
|
|
546
|
-
metadata: { build_gate: "pass" })
|
|
547
|
-
|
|
548
|
-
### Layer 3 Commits
|
|
549
|
-
|
|
550
|
-
```
|
|
551
|
-
feat({module}): [frontend] pages, routes, i18n, documentation
|
|
552
|
-
test({module}): frontend form tests
|
|
553
|
-
```
|
|
554
|
-
|
|
555
|
-
---
|
|
556
|
-
|
|
557
|
-
## NEXT SUB-STEP (MANDATORY — IMMEDIATE)
|
|
558
|
-
|
|
559
|
-
> **DO NOT STOP.** DO NOT ask the user. DO NOT present options. IMMEDIATELY load the next sub-step.
|
|
560
|
-
> Stopping here is a VIOLATION of the execution guarantee.
|
|
561
|
-
|
|
562
|
-
Load `steps/step-03e-layer4-devdata.md`
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-03e-layer4-devdata
|
|
3
|
-
description: "Layer 4: Development test data (optional)"
|
|
4
|
-
model: opus
|
|
5
|
-
parent_step: steps/step-03-execute.md
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
**ULTRA THINK about dev data coverage: all NEW entities need realistic test data.**
|
|
9
|
-
|
|
10
|
-
## Layer 4 — DevData (optional)
|
|
11
|
-
|
|
12
|
-
### Task Progress
|
|
13
|
-
IF layer4 task exists: TaskUpdate(taskId: layer4_task_id, status: "in_progress")
|
|
14
|
-
IF layer4 task exists: TaskUpdate(taskId: progress_tracker_id,
|
|
15
|
-
description: "Module: {module_code}. Current: step-03 (Execute), Layer 4",
|
|
16
|
-
activeForm: "Executing Layer 4")
|
|
17
|
-
|
|
18
|
-
> **Business test data for development/demo environments.**
|
|
19
|
-
> Skip this layer if no meaningful test data is needed.
|
|
20
|
-
|
|
21
|
-
```
|
|
22
|
-
1. Create DevDataSeeder:
|
|
23
|
-
→ Infrastructure/Persistence/Seeding/DevData/{Module}DevDataSeeder.cs
|
|
24
|
-
→ ALL entities MUST include TenantId
|
|
25
|
-
→ Realistic business data for demo purposes
|
|
26
|
-
|
|
27
|
-
2. Build gate:
|
|
28
|
-
dotnet build → MUST PASS
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
<!-- TODO A13: Replace with MCP scaffold_extension(type: "devdata") when B5 is ready -->
|
|
32
|
-
|
|
33
|
-
IF layer4 task exists: TaskUpdate(taskId: layer4_task_id, status: "completed",
|
|
34
|
-
metadata: { build_gate: "pass" })
|
|
35
|
-
|
|
36
|
-
### Layer 4 Commit (if applicable)
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
feat({module}): [devdata] test data for development
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## SUB-STEPS COMPLETE
|
|
45
|
-
|
|
46
|
-
Return to `steps/step-03-execute.md` for PRD State Update, State Auto-Save, and routing to step-04.
|