@atlashub/smartstack-cli 4.80.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.documentation/agents.html +124 -585
- package/.documentation/ba-develop.html +852 -0
- package/.documentation/ba-skills.html +465 -0
- package/.documentation/business-analyse.html +385 -1570
- package/.documentation/cli-commands.html +162 -799
- package/.documentation/commands.html +902 -1338
- package/.documentation/css/styles.css +34 -1
- package/.documentation/efcore.html +161 -2599
- package/.documentation/gitflow.html +62 -105
- package/.documentation/hooks.html +94 -343
- package/.documentation/index.html +116 -385
- package/.documentation/init.html +217 -1566
- package/.documentation/installation.html +121 -1470
- package/.documentation/license.html +90 -450
- package/.documentation/ralph-loop.html +105 -602
- package/dist/index.js +9421 -79036
- package/dist/index.js.map +1 -1
- package/package.json +5 -20
- package/scripts/generate-docs/README.md +87 -0
- package/scripts/generate-docs/index.ts +175 -0
- package/scripts/generate-docs/lib/context-builder.ts +81 -0
- package/scripts/generate-docs/lib/handlebars-setup.ts +162 -0
- package/scripts/generate-docs/lib/markdown-parser.ts +86 -0
- package/scripts/generate-docs/lib/sidebar-builder.ts +80 -0
- package/scripts/generate-docs/lib/skill-parser.ts +171 -0
- package/scripts/generate-docs/lib/stats.ts +32 -0
- package/scripts/generate-docs/lib/version.ts +17 -0
- package/scripts/generate-docs/templates/layout.hbs +33 -0
- package/scripts/generate-docs/templates/pages/_generic.hbs +12 -0
- package/scripts/generate-docs/templates/pages/ba-develop.hbs +10 -0
- package/scripts/generate-docs/templates/pages/ba-skills.hbs +8 -0
- package/scripts/generate-docs/templates/pages/business-analyse.hbs +1 -0
- package/scripts/generate-docs/templates/pages/commands.hbs +13 -0
- package/scripts/generate-docs/templates/pages/gitflow.hbs +2164 -0
- package/scripts/generate-docs/templates/pages/index.hbs +5 -0
- package/scripts/generate-docs/templates/partials/breadcrumb.hbs +6 -0
- package/scripts/generate-docs/templates/partials/header.hbs +22 -0
- package/scripts/generate-docs/templates/partials/sidebar.hbs +32 -0
- package/scripts/generate-docs/templates/partials/skill-card.hbs +22 -0
- package/scripts/generate-docs/templates/partials/skill-grid.hbs +5 -0
- package/scripts/generate-docs/templates/partials/skill-table.hbs +18 -0
- package/scripts/generate-docs/templates/partials/stats-bar.hbs +20 -0
- package/scripts/test-migration-program-cs.mts +94 -0
- package/templates/agents/explore-codebase.md +2 -3
- package/templates/agents/explore-docs.md +5 -5
- package/templates/hooks/hooks.json +0 -9
- package/templates/project/Program.cs.template +17 -5
- package/templates/project/appsettings.json.template +208 -195
- package/templates/project/claude-md/api.CLAUDE.md.template +27 -2
- package/templates/project/patch-smartstack-theme.cjs.template +42 -0
- package/templates/scripts/statusline/README.md +47 -0
- package/templates/scripts/statusline/index.js +224 -0
- package/templates/skills/CLAUDE.md +235 -0
- package/templates/skills/ba-develop/SKILL.md +310 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/__tests__/compute-page-diff.test.ts +177 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/compute-diff.ts +51 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/disk-drift.ts +55 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/index.ts +89 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/scan-pagespecs.ts +115 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/types.ts +63 -0
- package/templates/skills/ba-develop/cli/compute-page-diff/validate.ts +20 -0
- package/templates/skills/ba-develop/cli/update-snapshot/__tests__/update-snapshot.test.ts +73 -0
- package/templates/skills/ba-develop/cli/update-snapshot/execute.ts +24 -0
- package/templates/skills/ba-develop/cli/update-snapshot/index.ts +61 -0
- package/templates/skills/ba-develop/cli/update-snapshot/types.ts +40 -0
- package/templates/skills/ba-develop/cli/update-snapshot/validate.ts +17 -0
- package/templates/skills/ba-develop/references/anti-patterns.md +101 -0
- package/templates/skills/ba-develop/references/auto-healing.md +191 -0
- package/templates/skills/ba-develop/references/commit-checkpoints.md +79 -0
- package/templates/skills/ba-develop/references/gates.md +380 -0
- package/templates/skills/ba-develop/references/output-contract.md +95 -0
- package/templates/skills/ba-develop/references/phases-detail.md +592 -0
- package/templates/skills/ba-develop-plan/SKILL.md +239 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/__tests__/validate.test.ts +225 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/index.ts +102 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/types.ts +121 -0
- package/templates/skills/ba-develop-plan/cli/preflight-develop-plan/validate.ts +261 -0
- package/templates/skills/business-analyse/_workflow/README.md +34 -0
- package/templates/skills/business-analyse/_workflow/ba-files.md +174 -0
- package/templates/skills/business-analyse/_workflow/code-discipline.md +104 -0
- package/templates/skills/business-analyse/_workflow/communication.md +63 -0
- package/templates/skills/business-analyse/_workflow/completeAuto-discipline.md +79 -0
- package/templates/skills/business-analyse/_workflow/context-documents.md +45 -0
- package/templates/skills/business-analyse/_workflow/doc-templates.md +318 -0
- package/templates/skills/business-analyse/audit-actors/SKILL.md +97 -0
- package/templates/skills/business-analyse/audit-cross-dimension/SKILL.md +127 -0
- package/templates/skills/business-analyse/audit-cross-ref-code/SKILL.md +119 -0
- package/templates/skills/business-analyse/audit-data-model/SKILL.md +343 -0
- package/templates/skills/business-analyse/audit-menu/SKILL.md +97 -0
- package/templates/skills/business-analyse/audit-prd/SKILL.md +479 -0
- package/templates/skills/business-analyse/audit-pre-dev/SKILL.md +135 -0
- package/templates/skills/business-analyse/audit-rbac/SKILL.md +93 -0
- package/templates/skills/business-analyse/audit-rules/SKILL.md +182 -0
- package/templates/skills/business-analyse/audit-screens/SKILL.md +169 -0
- package/templates/skills/business-analyse/audit-sections/SKILL.md +174 -0
- package/templates/skills/business-analyse/audit-use-cases/SKILL.md +245 -0
- package/templates/skills/business-analyse/create-actors/SKILL.md +129 -0
- package/templates/skills/business-analyse/create-ba-order/SKILL.md +182 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/__tests__/generate.test.ts +151 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/__tests__/graph.test.ts +173 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/generate.ts +273 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/graph.ts +193 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/index.ts +108 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/types.ts +106 -0
- package/templates/skills/business-analyse/create-ba-order/cli/create-ba-order/validate.ts +79 -0
- package/templates/skills/business-analyse/create-business-rules/SKILL.md +302 -0
- package/templates/skills/business-analyse/create-business-rules/levels/access-rules.md +105 -0
- package/templates/skills/business-analyse/create-business-rules/levels/elaborate.md +193 -0
- package/templates/skills/business-analyse/create-business-rules/levels/identify.md +157 -0
- package/templates/skills/business-analyse/create-business-rules/levels/link.md +86 -0
- package/templates/skills/business-analyse/create-data-model/SKILL.md +319 -0
- package/templates/skills/business-analyse/create-data-model/levels/attributes.md +130 -0
- package/templates/skills/business-analyse/create-data-model/levels/identify.md +100 -0
- package/templates/skills/business-analyse/create-data-model/levels/relationships.md +97 -0
- package/templates/skills/business-analyse/create-menu/SKILL.md +191 -0
- package/templates/skills/business-analyse/create-menu/levels/applications.md +85 -0
- package/templates/skills/business-analyse/create-menu/levels/modules.md +81 -0
- package/templates/skills/business-analyse/create-menu/levels/resources.md +75 -0
- package/templates/skills/business-analyse/create-menu/levels/sections.md +82 -0
- package/templates/skills/business-analyse/create-plan-development/SKILL.md +93 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/__tests__/graph.test.ts +271 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/__tests__/parse.test.ts +177 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/generate.ts +317 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/graph.ts +233 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/index.ts +106 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/parse.ts +346 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/types.ts +160 -0
- package/templates/skills/business-analyse/create-plan-development/cli/create-plan-development/validate.ts +118 -0
- package/templates/skills/business-analyse/create-prd/SKILL.md +228 -0
- package/templates/skills/business-analyse/create-rbac/SKILL.md +255 -0
- package/templates/skills/business-analyse/create-rbac/levels/detail.md +86 -0
- package/templates/skills/business-analyse/create-rbac/levels/discovery.md +63 -0
- package/templates/skills/business-analyse/create-rbac/levels/review.md +66 -0
- package/templates/skills/business-analyse/create-screen/SKILL.md +386 -0
- package/templates/skills/business-analyse/create-screen/levels/dashboard-screens.md +94 -0
- package/templates/skills/business-analyse/create-screen/levels/form-screens.md +142 -0
- package/templates/skills/business-analyse/create-screen/levels/home-screens.md +151 -0
- package/templates/skills/business-analyse/create-screen/levels/kanban-screens.md +86 -0
- package/templates/skills/business-analyse/create-screen/levels/list-screens.md +134 -0
- package/templates/skills/business-analyse/create-screen/references/post-check.md +101 -0
- package/templates/skills/business-analyse/create-screen/references/react-templates.md +252 -0
- package/templates/skills/business-analyse/create-screen/references/smartcomponents.md +419 -0
- package/templates/skills/business-analyse/create-screen/references/type-mapping.md +150 -0
- package/templates/skills/business-analyse/create-use-case/SKILL.md +347 -0
- package/templates/skills/business-analyse/create-use-case/levels/detail.md +136 -0
- package/templates/skills/business-analyse/create-use-case/levels/discovery.md +110 -0
- package/templates/skills/business-analyse/loop/SKILL.md +401 -0
- package/templates/skills/business-analyse/modeling-detail/SKILL.md +241 -0
- package/templates/skills/business-analyse/modeling-inventory/SKILL.md +174 -0
- package/templates/skills/business-analyse/reconcile-menu/SKILL.md +180 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/clean.test.ts +266 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/detect.test.ts +231 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/__tests__/scan.test.ts +154 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/clean.ts +319 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/detect.ts +256 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/index.ts +126 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/scan.ts +175 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/types.ts +136 -0
- package/templates/skills/business-analyse/reconcile-menu/cli/reconcile-menu/validate.ts +32 -0
- package/templates/skills/check-version/SKILL.md +196 -196
- package/templates/skills/cli-app-sync/SKILL.md +9 -9
- package/templates/skills/cli-app-sync/references/comparison-map.md +4 -4
- package/templates/skills/cli-app-sync/references/diff-entities.md +6 -6
- package/templates/skills/conventions/SKILL.md +64 -0
- package/templates/skills/dev-start/SKILL.md +190 -237
- package/templates/skills/development/SKILL.md +87 -0
- package/templates/skills/development/audit/SKILL.md +156 -0
- package/templates/skills/development/audit/routing-dynamic/SKILL.md +196 -0
- package/templates/skills/development/audit-dev-api/SKILL.md +331 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/__tests__/end-to-end.test.ts +364 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/audit.ts +646 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/index.ts +140 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/types.ts +158 -0
- package/templates/skills/development/audit-dev-api/cli/audit-dev-api/validate.ts +45 -0
- package/templates/skills/development/audit-dev-core/SKILL.md +182 -0
- package/templates/skills/development/audit-dev-data/SKILL.md +195 -0
- package/templates/skills/development/audit-dev-domain/SKILL.md +184 -0
- package/templates/skills/development/audit-dev-frontend/SKILL.md +530 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/__tests__/end-to-end.test.ts +202 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/apply.ts +31 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/audit.ts +734 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/index.ts +125 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/types.ts +165 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/validate.ts +36 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/__tests__/dev-ui-022.test.ts +193 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/apply.ts +374 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/audit.ts +1126 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/index.ts +141 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/types.ts +218 -0
- package/templates/skills/development/audit-dev-frontend/cli/audit-dev-frontend/validate.ts +80 -0
- package/templates/skills/development/audit-dev-tests/SKILL.md +82 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/__tests__/audit.test.ts +220 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/audit.ts +185 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/index.ts +84 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/types.ts +48 -0
- package/templates/skills/development/audit-dev-tests/cli/audit-dev-tests/validate.ts +36 -0
- package/templates/skills/development/audit-dev-wire/SKILL.md +144 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/__tests__/audit.test.ts +171 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/audit.ts +307 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/index.ts +139 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/types.ts +110 -0
- package/templates/skills/development/audit-dev-wire/cli/audit-dev-wire/validate.ts +16 -0
- package/templates/skills/development/backend/business-layer/SKILL.md +255 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/__tests__/generate.test.ts +254 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/generate.ts +842 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/index.ts +56 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/types.ts +112 -0
- package/templates/skills/development/backend/business-layer/cli/scaffold-business/validate.ts +24 -0
- package/templates/skills/development/backend/controller/SKILL.md +154 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/__tests__/generate.test.ts +345 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/generate.ts +280 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/index.ts +49 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/types.ts +72 -0
- package/templates/skills/development/backend/controller/cli/scaffold-controller/validate.ts +14 -0
- package/templates/skills/development/backend/core-seed/SKILL.md +177 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/build-spec.test.ts +163 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/generate.test.ts +330 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/__tests__/validate.test.ts +126 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/build-spec.ts +287 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/generate.ts +826 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/index.ts +188 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/types.ts +163 -0
- package/templates/skills/development/backend/core-seed/cli/scaffold-core-seed/validate.ts +129 -0
- package/templates/skills/development/backend/data-layer/SKILL.md +163 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/__tests__/generate.test.ts +155 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/generate.ts +232 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/index.ts +34 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/types.ts +60 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-entity/validate.ts +42 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/execute.ts +13 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/index.ts +25 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/types.ts +11 -0
- package/templates/skills/development/backend/data-layer/cli/scaffold-migration/validate.ts +9 -0
- package/templates/skills/development/backend/screen-controller/SKILL.md +169 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/generate.test.ts +329 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/hub-views.test.ts +105 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/__tests__/parse-pagespec.test.ts +137 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/generate.ts +437 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/index.ts +108 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/parse-pagespec.ts +104 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/types.ts +101 -0
- package/templates/skills/development/backend/screen-controller/cli/scaffold-screen-controller/validate.ts +26 -0
- package/templates/skills/development/backend/seed-data/SKILL.md +91 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/generate.ts +471 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/index.ts +74 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/types.ts +104 -0
- package/templates/skills/development/backend/seed-data/cli/scaffold-seed/validate.ts +63 -0
- package/templates/skills/development/backend/structure/SKILL.md +47 -0
- package/templates/skills/development/debug/SKILL.md +62 -0
- package/templates/skills/development/debug/audit-bug/SKILL.md +185 -0
- package/templates/skills/development/debug/backend/SKILL.md +114 -0
- package/templates/skills/development/debug/discuss-bug/SKILL.md +193 -0
- package/templates/skills/development/debug/fix-bug/SKILL.md +172 -0
- package/templates/skills/development/debug/frontend/SKILL.md +215 -0
- package/templates/skills/development/frontend/api-client/SKILL.md +158 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/generate.test.ts +1180 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/screen-strata-contract.test.ts +261 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/__tests__/url-parity.test.ts +201 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/generate.ts +875 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/index.ts +36 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/types.ts +251 -0
- package/templates/skills/development/frontend/api-client/cli/scaffold-api-client/validate.ts +10 -0
- package/templates/skills/development/frontend/auth/SKILL.md +77 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/generate.ts +306 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/index.ts +179 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/types.ts +22 -0
- package/templates/skills/development/frontend/auth/cli/scaffold-frontend-auth/validate.ts +37 -0
- package/templates/skills/development/frontend/component/SKILL.md +347 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/__tests__/generate.test.ts +1237 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/generate.ts +1923 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/index.ts +155 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/types.ts +290 -0
- package/templates/skills/development/frontend/component/cli/scaffold-component/validate.ts +16 -0
- package/templates/skills/development/frontend/component/cli/validate-page/__tests__/execute.test.ts +231 -0
- package/templates/skills/development/frontend/component/cli/validate-page/execute.ts +598 -0
- package/templates/skills/development/frontend/component/cli/validate-page/index.ts +88 -0
- package/templates/skills/development/frontend/component/cli/validate-page/types.ts +58 -0
- package/templates/skills/development/frontend/component/cli/validate-page/validate.ts +28 -0
- package/templates/skills/development/frontend/component/patterns/README.md +42 -0
- package/templates/skills/development/frontend/component/patterns/detail-page.md +133 -0
- package/templates/skills/development/frontend/component/patterns/entity-card.md +148 -0
- package/templates/skills/development/frontend/component/patterns/form-page.md +191 -0
- package/templates/skills/development/frontend/component/patterns/kanban-board.md +195 -0
- package/templates/skills/development/frontend/component/patterns/list-page.md +175 -0
- package/templates/skills/development/frontend/extension-config/SKILL.md +108 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/generate.ts +64 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/index.ts +70 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/types.ts +27 -0
- package/templates/skills/development/frontend/extension-config/cli/scaffold-extension-config/validate.ts +16 -0
- package/templates/skills/development/frontend/layout/SKILL.md +52 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/__tests__/generate.test.ts +66 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/generate.ts +175 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/index.ts +104 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/types.ts +17 -0
- package/templates/skills/development/frontend/layout/cli/scaffold-layout/validate.ts +37 -0
- package/templates/skills/development/frontend/routes/SKILL.md +152 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/generate.ts +216 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/index.ts +121 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/types.ts +69 -0
- package/templates/skills/development/frontend/routes/cli/aggregate-component-registry/validate.ts +23 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/__tests__/generate.test.ts +292 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/generate.ts +270 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/index.ts +42 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/types.ts +114 -0
- package/templates/skills/development/frontend/routes/cli/scaffold-routes/validate.ts +68 -0
- package/templates/skills/development/frontend/structure/SKILL.md +119 -0
- package/templates/skills/development/frontend/theme/SKILL.md +48 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/__tests__/generate.test.ts +53 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/generate.ts +129 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/index.ts +102 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/types.ts +48 -0
- package/templates/skills/development/frontend/theme/cli/scaffold-theme/validate.ts +37 -0
- package/templates/skills/development/frontend/ui-polish/SKILL.md +192 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r18.test.ts +153 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r19.test.ts +307 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/r20.test.ts +167 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/__tests__/shared-scan.test.ts +262 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/apply.ts +580 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/audit.ts +825 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/index.ts +133 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/types.ts +121 -0
- package/templates/skills/development/frontend/ui-polish/cli/ui-polish/validate.ts +73 -0
- package/templates/skills/development/frontend/ui-polish/tokens.json +292 -0
- package/templates/skills/development/frontend/ui-primitives/SKILL.md +88 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/__tests__/generate.test.ts +158 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/generate.ts +345 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/index.ts +142 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/types.ts +27 -0
- package/templates/skills/development/frontend/ui-primitives/cli/scaffold-ui-primitives/validate.ts +37 -0
- package/templates/skills/development/run/SKILL.md +61 -0
- package/templates/skills/development/run/backend/SKILL.md +106 -0
- package/templates/skills/development/run/frontend/SKILL.md +116 -0
- package/templates/skills/development/smoke-test/SKILL.md +99 -0
- package/templates/skills/development/smoke-test/cli/run-smoke/execute.ts +424 -0
- package/templates/skills/development/smoke-test/cli/run-smoke/index.ts +75 -0
- package/templates/skills/development/smoke-test/cli/run-smoke/types.ts +100 -0
- package/templates/skills/development/testing/SKILL.md +148 -0
- package/templates/skills/development/testing/cli/scaffold-tests/generate.ts +530 -0
- package/templates/skills/development/testing/cli/scaffold-tests/index.ts +83 -0
- package/templates/skills/development/testing/cli/scaffold-tests/types.ts +51 -0
- package/templates/skills/development/testing/cli/scaffold-tests/validate.ts +33 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/__tests__/generate.test.ts +188 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/__tests__/parse-ac.test.ts +191 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/generate.ts +190 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/index.ts +138 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/parse-ac.ts +172 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/types.ts +104 -0
- package/templates/skills/development/testing/cli/scaffold-tests-from-ac/validate.ts +57 -0
- package/templates/skills/development/testing/cli/test-report/execute.ts +140 -0
- package/templates/skills/development/testing/cli/test-report/index.ts +96 -0
- package/templates/skills/development/testing/cli/test-report/types.ts +52 -0
- package/templates/skills/development/testing/cli/test-report/validate.ts +26 -0
- package/templates/skills/development/testing/fix-build/SKILL.md +81 -0
- package/templates/skills/development/testing/smoke-http/SKILL.md +123 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/execute.ts +129 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/index.ts +113 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/types.ts +62 -0
- package/templates/skills/development/testing/smoke-http/cli/smoke-http/validate.ts +36 -0
- package/templates/skills/development/testing/ui-test/SKILL.md +128 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/generate.ts +129 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/index.ts +80 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/types.ts +72 -0
- package/templates/skills/development/testing/ui-test/cli/build-manifest/validate.ts +44 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/execute.ts +136 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/index.ts +75 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/lib/dev-browser-driver.ts +250 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/delete.js.hbs +83 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/detail.js.hbs +87 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/edit.js.hbs +91 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/form-submit.js.hbs +82 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/list.js.hbs +125 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/templates/permission-negative.js.hbs +65 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/types.ts +57 -0
- package/templates/skills/development/testing/ui-test/cli/run-ui-test/validate.ts +56 -0
- package/templates/skills/documentation/SKILL.md +168 -139
- package/templates/skills/documentation/cli/extract-doc/__tests__/forbidden.test.ts +136 -0
- package/templates/skills/documentation/cli/extract-doc/__tests__/overflow.test.ts +76 -0
- package/templates/skills/documentation/cli/extract-doc/__tests__/required.test.ts +147 -0
- package/templates/skills/documentation/cli/extract-doc/extract.ts +657 -0
- package/templates/skills/documentation/cli/extract-doc/index.ts +102 -0
- package/templates/skills/documentation/cli/extract-doc/types.ts +133 -0
- package/templates/skills/documentation/cli/extract-doc/validate.ts +35 -0
- package/templates/skills/documentation/cli/scaffold-doc/generate.ts +198 -0
- package/templates/skills/documentation/cli/scaffold-doc/index.ts +61 -0
- package/templates/skills/documentation/cli/scaffold-doc/types.ts +72 -0
- package/templates/skills/documentation/cli/scaffold-doc/validate.ts +33 -0
- package/templates/skills/documentation/data-schema.md +18 -38
- package/templates/skills/documentation/steps/step-01-scan.md +59 -113
- package/templates/skills/documentation/steps/step-02-generate.md +158 -231
- package/templates/skills/documentation/steps/step-03-validate.md +101 -280
- package/templates/skills/documentation/templates.md +403 -92
- package/templates/skills/efcore/SKILL.md +88 -308
- package/templates/skills/efcore/_shared.md +140 -0
- package/templates/skills/efcore/agents/create.md +69 -0
- package/templates/skills/efcore/agents/db-update.md +58 -0
- package/templates/skills/efcore/agents/list.md +35 -0
- package/templates/skills/efcore/agents/rebase-snapshot.md +50 -0
- package/templates/skills/efcore/agents/recreate-db.md +78 -0
- package/templates/skills/efcore/agents/squash.md +78 -0
- package/templates/skills/efcore/agents/status.md +35 -0
- package/templates/skills/efcore/cli/create/execute.ts +164 -0
- package/templates/skills/efcore/cli/create/index.ts +51 -0
- package/templates/skills/efcore/cli/create/types.ts +35 -0
- package/templates/skills/efcore/cli/create/validate.ts +29 -0
- package/templates/skills/efcore/cli/lib/detect-dbcontexts.ts +195 -0
- package/templates/skills/efcore/cli/lib/ef-runner.ts +144 -0
- package/templates/skills/efcore/cli/lib/migration-name.ts +56 -0
- package/templates/skills/efcore/cli/lib/parse-csproj-version.ts +45 -0
- package/templates/skills/efcore/cli/list/execute.ts +83 -0
- package/templates/skills/efcore/cli/list/index.ts +60 -0
- package/templates/skills/efcore/cli/list/types.ts +46 -0
- package/templates/skills/efcore/cli/list/validate.ts +20 -0
- package/templates/skills/efcore/cli/rebase-snapshot/execute.ts +21 -0
- package/templates/skills/efcore/cli/rebase-snapshot/index.ts +53 -0
- package/templates/skills/efcore/cli/rebase-snapshot/types.ts +20 -0
- package/templates/skills/efcore/cli/rebase-snapshot/validate.ts +25 -0
- package/templates/skills/efcore/cli/squash/execute.ts +298 -0
- package/templates/skills/efcore/cli/squash/index.ts +57 -0
- package/templates/skills/efcore/cli/squash/types.ts +38 -0
- package/templates/skills/efcore/cli/squash/validate.ts +30 -0
- package/templates/skills/efcore/cli/status/execute.ts +152 -0
- package/templates/skills/efcore/cli/status/index.ts +45 -0
- package/templates/skills/efcore/cli/status/types.ts +32 -0
- package/templates/skills/efcore/cli/status/validate.ts +20 -0
- package/templates/skills/external/context7/SKILL.md +121 -0
- package/templates/skills/external/dev-browser/SKILL.md +134 -0
- package/templates/skills/gitflow/SKILL.md +139 -392
- package/templates/skills/gitflow/_shared.md +24 -620
- package/templates/skills/gitflow/agents/abort.md +47 -0
- package/templates/skills/gitflow/agents/cleanup.md +50 -0
- package/templates/skills/gitflow/agents/commit.md +41 -0
- package/templates/skills/gitflow/agents/finish.md +47 -0
- package/templates/skills/gitflow/agents/init.md +41 -0
- package/templates/skills/gitflow/agents/merge.md +44 -0
- package/templates/skills/gitflow/agents/pr.md +39 -0
- package/templates/skills/gitflow/agents/start.md +42 -0
- package/templates/skills/gitflow/agents/status.md +39 -0
- package/templates/skills/gitflow/agents/sync.md +38 -0
- package/templates/skills/gitflow/cli/abort/execute.ts +61 -0
- package/templates/skills/gitflow/cli/abort/index.ts +116 -0
- package/templates/skills/gitflow/cli/abort/types.ts +21 -0
- package/templates/skills/gitflow/cli/abort/validate.ts +38 -0
- package/templates/skills/gitflow/cli/cleanup/execute.ts +107 -0
- package/templates/skills/gitflow/cli/cleanup/index.ts +122 -0
- package/templates/skills/gitflow/cli/cleanup/types.ts +26 -0
- package/templates/skills/gitflow/cli/cleanup/validate.ts +33 -0
- package/templates/skills/gitflow/cli/commit/execute.ts +146 -0
- package/templates/skills/gitflow/cli/commit/index.ts +77 -0
- package/templates/skills/gitflow/cli/commit/types.ts +36 -0
- package/templates/skills/gitflow/cli/commit/validate.ts +38 -0
- package/templates/skills/gitflow/cli/finish/execute.ts +127 -0
- package/templates/skills/gitflow/cli/finish/index.ts +106 -0
- package/templates/skills/gitflow/cli/finish/types.ts +25 -0
- package/templates/skills/gitflow/cli/finish/validate.ts +44 -0
- package/templates/skills/gitflow/cli/generate-msg/execute.ts +51 -0
- package/templates/skills/gitflow/cli/generate-msg/index.ts +73 -0
- package/templates/skills/gitflow/cli/generate-msg/types.ts +37 -0
- package/templates/skills/gitflow/cli/generate-msg/validate.ts +42 -0
- package/templates/skills/gitflow/cli/init/execute.ts +186 -0
- package/templates/skills/gitflow/cli/init/index.ts +127 -0
- package/templates/skills/gitflow/cli/init/types.ts +63 -0
- package/templates/skills/gitflow/cli/init/validate.ts +56 -0
- package/templates/skills/gitflow/cli/lib/branch.ts +83 -0
- package/templates/skills/gitflow/cli/lib/config.ts +149 -0
- package/templates/skills/gitflow/cli/lib/efcore.ts +136 -0
- package/templates/skills/gitflow/cli/lib/git.ts +212 -0
- package/templates/skills/gitflow/cli/lib/output.ts +49 -0
- package/templates/skills/gitflow/cli/lib/paths.ts +54 -0
- package/templates/skills/gitflow/cli/lib/platform.ts +44 -0
- package/templates/skills/gitflow/cli/lib/provider.ts +147 -0
- package/templates/skills/gitflow/cli/lib/types.ts +189 -0
- package/templates/skills/gitflow/cli/lib/version.ts +152 -0
- package/templates/skills/gitflow/cli/lib/worktree.ts +170 -0
- package/templates/skills/gitflow/cli/merge/execute.ts +93 -0
- package/templates/skills/gitflow/cli/merge/index.ts +109 -0
- package/templates/skills/gitflow/cli/merge/types.ts +24 -0
- package/templates/skills/gitflow/cli/merge/validate.ts +33 -0
- package/templates/skills/gitflow/cli/pr/execute.ts +131 -0
- package/templates/skills/gitflow/cli/pr/index.ts +115 -0
- package/templates/skills/gitflow/cli/pr/types.ts +27 -0
- package/templates/skills/gitflow/cli/pr/validate.ts +27 -0
- package/templates/skills/gitflow/cli/start/execute.ts +98 -0
- package/templates/skills/gitflow/cli/start/index.ts +75 -0
- package/templates/skills/gitflow/cli/start/types.ts +26 -0
- package/templates/skills/gitflow/cli/start/validate.ts +47 -0
- package/templates/skills/gitflow/cli/status/execute.ts +251 -0
- package/templates/skills/gitflow/cli/status/index.ts +154 -0
- package/templates/skills/gitflow/cli/status/types.ts +75 -0
- package/templates/skills/gitflow/cli/status/validate.ts +38 -0
- package/templates/skills/gitflow/cli/sync/execute.ts +84 -0
- package/templates/skills/gitflow/cli/sync/index.ts +75 -0
- package/templates/skills/gitflow/cli/sync/types.ts +25 -0
- package/templates/skills/gitflow/cli/sync/validate.ts +34 -0
- package/templates/skills/gitflow/commit-message.md +46 -0
- package/templates/skills/init/SKILL.md +54 -0
- package/templates/skills/lib/__tests__/canonical-hash.test.ts +45 -0
- package/templates/skills/lib/__tests__/page-spec-actions.test.ts +232 -0
- package/templates/skills/lib/canonical-hash.ts +40 -0
- package/templates/skills/lib/detector.ts +243 -0
- package/templates/skills/lib/dotnet.ts +238 -0
- package/templates/skills/lib/frontend-fixers.ts +151 -0
- package/templates/skills/lib/fs.ts +238 -0
- package/templates/skills/lib/git.ts +134 -0
- package/templates/skills/lib/graph.ts +138 -0
- package/templates/skills/lib/navroute-parser.ts +51 -0
- package/templates/skills/lib/output.ts +117 -0
- package/templates/skills/lib/page-spec-actions.ts +350 -0
- package/templates/skills/lib/skill-slug.ts +121 -0
- package/templates/skills/lib/string-utils.ts +140 -0
- package/templates/skills/lib/template-loader.ts +115 -0
- package/templates/skills/lib/url-conventions.ts +151 -0
- package/templates/skills/package.json +5 -0
- package/templates/skills/quick-search/SKILL.md +99 -99
- package/templates/skills/review/SKILL.md +56 -0
- package/templates/skills/smoke-generation/SKILL.md +18 -16
- package/templates/skills/ui-components/SKILL.md +136 -457
- package/templates/skills/upgrade/SKILL.md +36 -0
- package/templates/skills/utils/SKILL.md +45 -44
- package/templates/skills/utils/subcommands/test-web-config.md +152 -152
- package/templates/skills/utils/subcommands/test-web.md +123 -123
- package/templates/skills/validate-feature/SKILL.md +102 -101
- package/templates/skills/validate-feature/references/api-smoke-tests.md +140 -140
- package/templates/skills/validate-feature/references/db-validation-checks.md +180 -180
- package/templates/skills/validate-feature/steps/step-00-dependencies.md +121 -121
- package/templates/skills/validate-feature/steps/step-01-compile.md +39 -39
- package/templates/skills/validate-feature/steps/step-02-unit-tests.md +45 -45
- package/templates/skills/validate-feature/steps/step-03-integration-tests.md +53 -53
- package/templates/skills/validate-feature/steps/step-04-api-smoke.md +94 -94
- package/templates/skills/validate-feature/steps/step-05-db-validation.md +149 -149
- package/templates/skills/validation/conventions/SKILL.md +193 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/execute.ts +368 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/index.ts +67 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/types.ts +91 -0
- package/templates/skills/validation/conventions/cli/validate-conventions/validate.ts +36 -0
- package/templates/skills/validation/cross-validate/SKILL.md +83 -0
- package/templates/skills/validation/cross-validate/cli/execute.ts +576 -0
- package/templates/skills/validation/cross-validate/cli/index.ts +87 -0
- package/templates/skills/validation/cross-validate/cli/types.ts +85 -0
- package/templates/skills/validation/cross-validate/cli/validate.ts +54 -0
- package/templates/skills/validation/eslint/SKILL.md +65 -0
- package/templates/skills/validation/eslint/cli/execute.ts +413 -0
- package/templates/skills/validation/eslint/cli/index.ts +102 -0
- package/templates/skills/validation/eslint/cli/types.ts +48 -0
- package/templates/skills/validation/eslint/cli/validate.ts +43 -0
- package/templates/skills/validation/project-inventory/SKILL.md +166 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/execute.ts +397 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/index.ts +80 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/types.ts +89 -0
- package/templates/skills/validation/project-inventory/cli/project-inventory/validate.ts +35 -0
- package/templates/skills/validation/readiness-report/SKILL.md +109 -0
- package/templates/skills/validation/readiness-report/cli/execute.ts +236 -0
- package/templates/skills/validation/readiness-report/cli/index.ts +234 -0
- package/templates/skills/validation/readiness-report/cli/types.ts +61 -0
- package/templates/skills/validation/readiness-report/cli/validate.ts +54 -0
- package/templates/skills/validation/roslyn/SKILL.md +103 -0
- package/templates/skills/validation/roslyn/cli/execute.ts +616 -0
- package/templates/skills/validation/roslyn/cli/index.ts +86 -0
- package/templates/skills/validation/roslyn/cli/types.ts +50 -0
- package/templates/skills/validation/roslyn/cli/validate.ts +43 -0
- package/.documentation/apex.html +0 -649
- package/dist/mcp-entry.mjs +0 -68888
- package/dist/mcp-entry.mjs.map +0 -1
- package/scripts/extract-api-endpoints.ts +0 -325
- package/scripts/extract-business-rules.ts +0 -440
- package/scripts/generate-doc-with-mock-ui.ts +0 -804
- package/templates/agents/ba-reader.md +0 -386
- package/templates/agents/ba-writer.md +0 -810
- package/templates/agents/efcore/migration.md +0 -204
- package/templates/agents/efcore/rebase-snapshot.md +0 -202
- package/templates/agents/efcore/squash.md +0 -269
- package/templates/agents/gitflow/abort.md +0 -45
- package/templates/agents/gitflow/cleanup.md +0 -107
- package/templates/agents/gitflow/commit.md +0 -236
- package/templates/agents/gitflow/exec.md +0 -48
- package/templates/agents/gitflow/finish.md +0 -146
- package/templates/agents/gitflow/init-clone.md +0 -199
- package/templates/agents/gitflow/init-detect.md +0 -137
- package/templates/agents/gitflow/init-validate.md +0 -225
- package/templates/agents/gitflow/init.md +0 -509
- package/templates/agents/gitflow/merge.md +0 -145
- package/templates/agents/gitflow/plan.md +0 -42
- package/templates/agents/gitflow/pr.md +0 -191
- package/templates/agents/gitflow/review.md +0 -49
- package/templates/agents/gitflow/start.md +0 -147
- package/templates/agents/gitflow/status.md +0 -95
- package/templates/agents/mcp-healthcheck.md +0 -163
- package/templates/hooks/docs-drift-check.md +0 -96
- package/templates/hooks/ef-migration-check.md +0 -139
- package/templates/hooks/mcp-check.md +0 -64
- package/templates/hooks/ralph-mcp-logger.sh +0 -46
- package/templates/mcp-scaffolding/component.tsx.hbs +0 -318
- package/templates/mcp-scaffolding/controller.cs.hbs +0 -118
- package/templates/mcp-scaffolding/entity-extension.cs.hbs +0 -239
- package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +0 -117
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +0 -133
- package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +0 -261
- package/templates/mcp-scaffolding/service-extension.cs.hbs +0 -53
- package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +0 -436
- package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +0 -239
- package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +0 -441
- package/templates/mcp-scaffolding/tests/security.test.cs.hbs +0 -442
- package/templates/mcp-scaffolding/tests/service.test.cs.hbs +0 -402
- package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +0 -428
- package/templates/skills/_resources/config-safety.md +0 -61
- package/templates/skills/_resources/context-digest-template.md +0 -53
- package/templates/skills/_resources/doc-context-cache.md +0 -60
- package/templates/skills/_resources/docs-manifest-schema.md +0 -155
- package/templates/skills/_resources/formatting-guide.md +0 -124
- package/templates/skills/_resources/mcp-validate-documentation-spec.md +0 -181
- package/templates/skills/_shared.md +0 -228
- package/templates/skills/admin/SKILL.md +0 -48
- package/templates/skills/ai-prompt/SKILL.md +0 -171
- package/templates/skills/ai-prompt/references/ai-agent-modes.md +0 -89
- package/templates/skills/ai-prompt/references/eval-framework.md +0 -129
- package/templates/skills/ai-prompt/steps/step-00-init.md +0 -47
- package/templates/skills/ai-prompt/steps/step-01-implementation.md +0 -122
- package/templates/skills/apex/SKILL.md +0 -234
- package/templates/skills/apex/_shared.md +0 -197
- package/templates/skills/apex/references/analysis-methods.md +0 -178
- package/templates/skills/apex/references/challenge-questions.md +0 -359
- package/templates/skills/apex/references/checks/architecture-checks.sh +0 -154
- package/templates/skills/apex/references/checks/backend-checks.sh +0 -208
- package/templates/skills/apex/references/checks/frontend-checks.sh +0 -560
- package/templates/skills/apex/references/checks/infrastructure-checks.sh +0 -292
- package/templates/skills/apex/references/checks/security-checks.sh +0 -153
- package/templates/skills/apex/references/checks/seed-checks.sh +0 -610
- package/templates/skills/apex/references/code-generation.md +0 -412
- package/templates/skills/apex/references/core-seed-data.md +0 -1502
- package/templates/skills/apex/references/domain-events-pattern.md +0 -45
- package/templates/skills/apex/references/entity-hooks-pattern.md +0 -68
- package/templates/skills/apex/references/error-classification.md +0 -168
- package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +0 -91
- package/templates/skills/apex/references/licensing-enforcement.md +0 -52
- package/templates/skills/apex/references/parallel-execution.md +0 -187
- package/templates/skills/apex/references/person-extension-pattern.md +0 -619
- package/templates/skills/apex/references/post-checks.md +0 -162
- package/templates/skills/apex/references/smartstack-api.md +0 -591
- package/templates/skills/apex/references/smartstack-frontend-compliance.md +0 -616
- package/templates/skills/apex/references/smartstack-frontend.md +0 -442
- package/templates/skills/apex/references/smartstack-layers.md +0 -551
- package/templates/skills/apex/steps/step-00-init.md +0 -405
- package/templates/skills/apex/steps/step-01-analyze.md +0 -210
- package/templates/skills/apex/steps/step-02-plan.md +0 -303
- package/templates/skills/apex/steps/step-03-execute.md +0 -194
- package/templates/skills/apex/steps/step-03a-layer0-domain.md +0 -144
- package/templates/skills/apex/steps/step-03b-layer1-seed.md +0 -339
- package/templates/skills/apex/steps/step-03c-layer2-backend.md +0 -401
- package/templates/skills/apex/steps/step-03d-layer3-frontend.md +0 -562
- package/templates/skills/apex/steps/step-03e-layer4-devdata.md +0 -46
- package/templates/skills/apex/steps/step-04-examine.md +0 -404
- package/templates/skills/apex/steps/step-05-deep-review.md +0 -140
- package/templates/skills/apex/steps/step-06-resolve.md +0 -120
- package/templates/skills/apex/steps/step-07-tests.md +0 -271
- package/templates/skills/apex/steps/step-08-run-tests.md +0 -135
- package/templates/skills/apex-verify/SKILL.md +0 -110
- package/templates/skills/apex-verify/references/audit-rules.md +0 -50
- package/templates/skills/apex-verify/steps/step-00-init.md +0 -119
- package/templates/skills/apex-verify/steps/step-01-nav-audit.md +0 -96
- package/templates/skills/apex-verify/steps/step-02-crud-audit.md +0 -127
- package/templates/skills/apex-verify/steps/step-03-perm-audit.md +0 -119
- package/templates/skills/apex-verify/steps/step-04-route-audit.md +0 -98
- package/templates/skills/apex-verify/steps/step-05-report.md +0 -110
- package/templates/skills/application/SKILL.md +0 -241
- package/templates/skills/application/references/application-roles-template.md +0 -228
- package/templates/skills/application/references/backend-controller-hierarchy.md +0 -68
- package/templates/skills/application/references/backend-entity-seeding.md +0 -73
- package/templates/skills/application/references/backend-seeding-and-dto-output.md +0 -83
- package/templates/skills/application/references/backend-table-prefix-mapping.md +0 -80
- package/templates/skills/application/references/backend-verification.md +0 -88
- package/templates/skills/application/references/contexts-cheatsheet.md +0 -86
- package/templates/skills/application/references/extensions-system.md +0 -158
- package/templates/skills/application/references/frontend-i18n-and-output.md +0 -67
- package/templates/skills/application/references/frontend-route-naming.md +0 -123
- package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +0 -91
- package/templates/skills/application/references/frontend-verification.md +0 -158
- package/templates/skills/application/references/init-parameter-detection.md +0 -121
- package/templates/skills/application/references/migration-checklist-troubleshooting.md +0 -88
- package/templates/skills/application/references/nav-fallback-procedure.md +0 -198
- package/templates/skills/application/references/provider-template.md +0 -191
- package/templates/skills/application/references/roles-client-project-handling.md +0 -55
- package/templates/skills/application/references/roles-fallback-procedure.md +0 -144
- package/templates/skills/application/references/smartstack-provider.md +0 -118
- package/templates/skills/application/references/test-coverage-requirements.md +0 -213
- package/templates/skills/application/references/test-frontend.md +0 -73
- package/templates/skills/application/references/test-prerequisites.md +0 -72
- package/templates/skills/application/references/themes-db-driven.md +0 -484
- package/templates/skills/application/steps/step-00-init.md +0 -130
- package/templates/skills/application/steps/step-01-navigation.md +0 -170
- package/templates/skills/application/steps/step-02-permissions.md +0 -196
- package/templates/skills/application/steps/step-03-roles.md +0 -182
- package/templates/skills/application/steps/step-03b-provider.md +0 -134
- package/templates/skills/application/steps/step-04-backend.md +0 -174
- package/templates/skills/application/steps/step-05-frontend.md +0 -189
- package/templates/skills/application/steps/step-06-migration.md +0 -189
- package/templates/skills/application/steps/step-07-tests.md +0 -356
- package/templates/skills/application/steps/step-08-documentation.md +0 -137
- package/templates/skills/application/templates-backend.md +0 -463
- package/templates/skills/application/templates-frontend.md +0 -950
- package/templates/skills/application/templates-i18n.md +0 -520
- package/templates/skills/application/templates-seed.md +0 -1110
- package/templates/skills/audit-route/SKILL.md +0 -107
- package/templates/skills/audit-route/references/routing-pattern.md +0 -131
- package/templates/skills/audit-route/steps/step-00-init.md +0 -128
- package/templates/skills/audit-route/steps/step-01-inventory.md +0 -157
- package/templates/skills/audit-route/steps/step-02-conformity.md +0 -193
- package/templates/skills/audit-route/steps/step-03-report.md +0 -201
- package/templates/skills/business-analyse/SKILL.md +0 -252
- package/templates/skills/business-analyse/_shared.md +0 -276
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +0 -560
- package/templates/skills/business-analyse/questionnaire/01-context.md +0 -43
- package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +0 -111
- package/templates/skills/business-analyse/questionnaire/03-data-ui.md +0 -125
- package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +0 -6
- package/templates/skills/business-analyse/questionnaire/05-cross-module.md +0 -69
- package/templates/skills/business-analyse/questionnaire.md +0 -156
- package/templates/skills/business-analyse/react/application-viewer.md +0 -242
- package/templates/skills/business-analyse/react/components.md +0 -532
- package/templates/skills/business-analyse/react/i18n-template.md +0 -306
- package/templates/skills/business-analyse/react/schema.md +0 -831
- package/templates/skills/business-analyse/references/03-json-schemas.md +0 -221
- package/templates/skills/business-analyse/references/03-post-check-validation.md +0 -208
- package/templates/skills/business-analyse/references/03-smartstack-entity-guards.md +0 -32
- package/templates/skills/business-analyse/references/04-cross-module-validation.md +0 -95
- package/templates/skills/business-analyse/references/04-file-allocation.md +0 -162
- package/templates/skills/business-analyse/references/04-naming-audit-checks.md +0 -174
- package/templates/skills/business-analyse/references/04-semantic-validation-matrix.md +0 -118
- package/templates/skills/business-analyse/references/acceptance-criteria.md +0 -164
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +0 -190
- package/templates/skills/business-analyse/references/canonical-json-formats.md +0 -204
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +0 -297
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +0 -124
- package/templates/skills/business-analyse/references/detection-strategies.md +0 -424
- package/templates/skills/business-analyse/references/domain-research-playbook.md +0 -234
- package/templates/skills/business-analyse/references/entity-architecture-decision.md +0 -240
- package/templates/skills/business-analyse/references/entity-sourcing-presentation.md +0 -166
- package/templates/skills/business-analyse/references/init-resume-logic.md +0 -70
- package/templates/skills/business-analyse/references/init-schema-deployment.md +0 -65
- package/templates/skills/business-analyse/references/module-completeness-challenge.md +0 -174
- package/templates/skills/business-analyse/references/multi-app-detection.md +0 -149
- package/templates/skills/business-analyse/references/naming-conventions.md +0 -253
- package/templates/skills/business-analyse/references/portal-classification.md +0 -52
- package/templates/skills/business-analyse/references/robustness-checks.md +0 -426
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +0 -85
- package/templates/skills/business-analyse/references/ui-resource-cards.md +0 -259
- package/templates/skills/business-analyse/references/validation-checklist.md +0 -378
- package/templates/skills/business-analyse/schemas/application-schema.json +0 -481
- package/templates/skills/business-analyse/schemas/feature-schema.json +0 -53
- package/templates/skills/business-analyse/schemas/index-schema.json +0 -47
- package/templates/skills/business-analyse/schemas/project-schema.json +0 -481
- package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +0 -245
- package/templates/skills/business-analyse/schemas/sections/discovery-schema.json +0 -80
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +0 -82
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +0 -70
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +0 -567
- package/templates/skills/business-analyse/schemas/sections/validation-schema.json +0 -93
- package/templates/skills/business-analyse/schemas/shared/common-defs.json +0 -227
- package/templates/skills/business-analyse/steps/step-00-init.md +0 -463
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +0 -901
- package/templates/skills/business-analyse/steps/step-02-structure.md +0 -315
- package/templates/skills/business-analyse/steps/step-03-specify.md +0 -986
- package/templates/skills/business-analyse/steps/step-04-consolidate.md +0 -928
- package/templates/skills/business-analyse/templates/tpl-frd.md +0 -168
- package/templates/skills/business-analyse/templates/tpl-handoff.md +0 -189
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +0 -59
- package/templates/skills/business-analyse/templates-frd.md +0 -476
- package/templates/skills/business-analyse/templates-react.md +0 -574
- package/templates/skills/business-analyse-design/SKILL.md +0 -101
- package/templates/skills/business-analyse-design/references/screens-post-check.md +0 -221
- package/templates/skills/business-analyse-design/references/screens-type-mapping.md +0 -138
- package/templates/skills/business-analyse-design/references/smartcomponents-templates.md +0 -225
- package/templates/skills/business-analyse-design/references/spec-auto-inference.md +0 -117
- package/templates/skills/business-analyse-design/steps/step-01-screens.md +0 -108
- package/templates/skills/business-analyse-design/steps/step-02-wireframes.md +0 -155
- package/templates/skills/business-analyse-design/steps/step-03-navigation.md +0 -189
- package/templates/skills/business-analyse-develop/SKILL.md +0 -250
- package/templates/skills/business-analyse-develop/references/category-completeness.md +0 -326
- package/templates/skills/business-analyse-develop/references/category-rules.md +0 -109
- package/templates/skills/business-analyse-develop/references/compact-loop.md +0 -478
- package/templates/skills/business-analyse-develop/references/handoff-quality-gate.md +0 -132
- package/templates/skills/business-analyse-develop/references/init-resume-recovery.md +0 -183
- package/templates/skills/business-analyse-develop/references/module-transition.md +0 -246
- package/templates/skills/business-analyse-develop/references/multi-module-queue.md +0 -171
- package/templates/skills/business-analyse-develop/references/parallel-execution.md +0 -246
- package/templates/skills/business-analyse-develop/references/prd-v3-transformation.md +0 -326
- package/templates/skills/business-analyse-develop/references/quality-gates.md +0 -160
- package/templates/skills/business-analyse-develop/references/report-reconciliation.md +0 -140
- package/templates/skills/business-analyse-develop/references/report-template.md +0 -142
- package/templates/skills/business-analyse-develop/references/section-splitting.md +0 -439
- package/templates/skills/business-analyse-develop/references/task-transform-legacy.md +0 -256
- package/templates/skills/business-analyse-develop/references/team-orchestration.md +0 -547
- package/templates/skills/business-analyse-develop/steps/step-00-init.md +0 -242
- package/templates/skills/business-analyse-develop/steps/step-01-task.md +0 -182
- package/templates/skills/business-analyse-develop/steps/step-01-v4-execute.md +0 -139
- package/templates/skills/business-analyse-develop/steps/step-02-execute.md +0 -216
- package/templates/skills/business-analyse-develop/steps/step-02-v4-verify.md +0 -176
- package/templates/skills/business-analyse-develop/steps/step-03-commit.md +0 -107
- package/templates/skills/business-analyse-develop/steps/step-04-check.md +0 -419
- package/templates/skills/business-analyse-develop/steps/step-05-report.md +0 -137
- package/templates/skills/business-analyse-handoff/SKILL.md +0 -101
- package/templates/skills/business-analyse-handoff/references/acceptance-criteria.md +0 -318
- package/templates/skills/business-analyse-handoff/references/agent-handoff-transform-prompt.md +0 -211
- package/templates/skills/business-analyse-handoff/references/context-isolation-pattern.md +0 -47
- package/templates/skills/business-analyse-handoff/references/entity-canonicalization.md +0 -158
- package/templates/skills/business-analyse-handoff/references/entity-domain-mapping.md +0 -115
- package/templates/skills/business-analyse-handoff/references/handoff-file-inventory.md +0 -49
- package/templates/skills/business-analyse-handoff/references/handoff-file-templates.md +0 -197
- package/templates/skills/business-analyse-handoff/references/handoff-global-validation.md +0 -142
- package/templates/skills/business-analyse-handoff/references/handoff-mappings.md +0 -108
- package/templates/skills/business-analyse-handoff/references/handoff-seeddata-generation.md +0 -314
- package/templates/skills/business-analyse-handoff/references/prd-generation.md +0 -362
- package/templates/skills/business-analyse-handoff/references/prd-validation-checks.md +0 -125
- package/templates/skills/business-analyse-handoff/references/project-index-update.md +0 -98
- package/templates/skills/business-analyse-handoff/references/readiness-scoring.md +0 -95
- package/templates/skills/business-analyse-handoff/schemas/handoff-schema.json +0 -95
- package/templates/skills/business-analyse-handoff/steps/step-00-validate.md +0 -158
- package/templates/skills/business-analyse-handoff/steps/step-01-transform.md +0 -85
- package/templates/skills/business-analyse-handoff/steps/step-02-export.md +0 -169
- package/templates/skills/business-analyse-handoff/templates/tpl-progress.md +0 -172
- package/templates/skills/business-analyse-html/SKILL.md +0 -89
- package/templates/skills/business-analyse-html/html/ba-interactive.html +0 -6134
- package/templates/skills/business-analyse-html/html/build-html.js +0 -137
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-context.html +0 -34
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-scope.html +0 -27
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-stakeholders.html +0 -55
- package/templates/skills/business-analyse-html/html/src/partials/cadrage-success.html +0 -34
- package/templates/skills/business-analyse-html/html/src/partials/consol-datamodel.html +0 -8
- package/templates/skills/business-analyse-html/html/src/partials/consol-flows.html +0 -29
- package/templates/skills/business-analyse-html/html/src/partials/consol-interactions.html +0 -8
- package/templates/skills/business-analyse-html/html/src/partials/consol-permissions.html +0 -8
- package/templates/skills/business-analyse-html/html/src/partials/decomp-dependencies.html +0 -38
- package/templates/skills/business-analyse-html/html/src/partials/decomp-modules.html +0 -43
- package/templates/skills/business-analyse-html/html/src/partials/handoff-summary.html +0 -24
- package/templates/skills/business-analyse-html/html/src/partials/module-spec-container.html +0 -4
- package/templates/skills/business-analyse-html/html/src/scripts/01-data-init.js +0 -313
- package/templates/skills/business-analyse-html/html/src/scripts/02-navigation.js +0 -316
- package/templates/skills/business-analyse-html/html/src/scripts/03-render-cadrage.js +0 -162
- package/templates/skills/business-analyse-html/html/src/scripts/04-render-modules.js +0 -203
- package/templates/skills/business-analyse-html/html/src/scripts/05-render-specs.js +0 -866
- package/templates/skills/business-analyse-html/html/src/scripts/06-render-consolidation.js +0 -196
- package/templates/skills/business-analyse-html/html/src/scripts/06-render-mockups.js +0 -564
- package/templates/skills/business-analyse-html/html/src/scripts/07-render-handoff.js +0 -108
- package/templates/skills/business-analyse-html/html/src/scripts/08-editing.js +0 -137
- package/templates/skills/business-analyse-html/html/src/scripts/09-export.js +0 -138
- package/templates/skills/business-analyse-html/html/src/scripts/10-comments.js +0 -221
- package/templates/skills/business-analyse-html/html/src/scripts/11-review-panel.js +0 -167
- package/templates/skills/business-analyse-html/html/src/scripts/12-render-diagrams.js +0 -162
- package/templates/skills/business-analyse-html/html/src/styles/01-variables.css +0 -38
- package/templates/skills/business-analyse-html/html/src/styles/02-layout.css +0 -216
- package/templates/skills/business-analyse-html/html/src/styles/03-navigation.css +0 -120
- package/templates/skills/business-analyse-html/html/src/styles/04-cards.css +0 -194
- package/templates/skills/business-analyse-html/html/src/styles/05-modules.css +0 -518
- package/templates/skills/business-analyse-html/html/src/styles/06-wireframes.css +0 -263
- package/templates/skills/business-analyse-html/html/src/styles/07-comments.css +0 -184
- package/templates/skills/business-analyse-html/html/src/styles/08-review-panel.css +0 -241
- package/templates/skills/business-analyse-html/html/src/styles/09-mockups-html.css +0 -220
- package/templates/skills/business-analyse-html/html/src/styles/10-diagrams.css +0 -73
- package/templates/skills/business-analyse-html/html/src/template.html +0 -449
- package/templates/skills/business-analyse-html/references/02-embedded-artifacts-building.md +0 -144
- package/templates/skills/business-analyse-html/references/02-feature-data-building.md +0 -143
- package/templates/skills/business-analyse-html/references/02-mapping-tables.md +0 -442
- package/templates/skills/business-analyse-html/references/02-normalization-helpers.md +0 -139
- package/templates/skills/business-analyse-html/references/02-screen-format-detection.md +0 -283
- package/templates/skills/business-analyse-html/references/02-self-check-validation.md +0 -199
- package/templates/skills/business-analyse-html/references/data-build.md +0 -215
- package/templates/skills/business-analyse-html/references/data-mapping.md +0 -452
- package/templates/skills/business-analyse-html/references/output-modes.md +0 -119
- package/templates/skills/business-analyse-html/references/wireframe-svg-style-guide.md +0 -335
- package/templates/skills/business-analyse-html/steps/step-01-collect.md +0 -140
- package/templates/skills/business-analyse-html/steps/step-02-build-data.md +0 -76
- package/templates/skills/business-analyse-html/steps/step-03-render.md +0 -95
- package/templates/skills/business-analyse-html/steps/step-04-verify.md +0 -224
- package/templates/skills/business-analyse-quick/SKILL.md +0 -807
- package/templates/skills/business-analyse-quick/references/domain-heuristics.md +0 -172
- package/templates/skills/business-analyse-quick/references/prd-schema.md +0 -268
- package/templates/skills/business-analyse-review/SKILL.md +0 -71
- package/templates/skills/business-analyse-review/references/review-data-mapping.md +0 -367
- package/templates/skills/business-analyse-review/steps/step-00-init.md +0 -111
- package/templates/skills/business-analyse-review/steps/step-01-apply.md +0 -304
- package/templates/skills/business-analyse-status/SKILL.md +0 -136
- package/templates/skills/cc-agent/SKILL.md +0 -129
- package/templates/skills/cc-agent/references/agent-behavior-patterns.md +0 -95
- package/templates/skills/cc-agent/references/agent-frontmatter.md +0 -213
- package/templates/skills/cc-agent/references/permission-modes.md +0 -102
- package/templates/skills/cc-agent/references/tools-reference.md +0 -144
- package/templates/skills/cc-agent/steps/step-00-init.md +0 -134
- package/templates/skills/cc-agent/steps/step-01-design.md +0 -186
- package/templates/skills/cc-agent/steps/step-02-generate.md +0 -131
- package/templates/skills/cc-agent/steps/step-03-validate.md +0 -130
- package/templates/skills/cc-agent/templates/agent-categorized.md +0 -67
- package/templates/skills/cc-agent/templates/agent-standalone.md +0 -56
- package/templates/skills/cc-agent/templates/agent-with-skills.md +0 -94
- package/templates/skills/cc-audit/SKILL.md +0 -108
- package/templates/skills/cc-audit/references/agent-checklist.md +0 -91
- package/templates/skills/cc-audit/references/hook-checklist.md +0 -110
- package/templates/skills/cc-audit/references/skill-checklist.md +0 -70
- package/templates/skills/cc-audit/steps/step-00-init.md +0 -98
- package/templates/skills/cc-audit/steps/step-01-scan.md +0 -142
- package/templates/skills/cc-audit/steps/step-02-analyze.md +0 -158
- package/templates/skills/cc-audit/steps/step-03-report.md +0 -142
- package/templates/skills/cc-skill/SKILL.md +0 -134
- package/templates/skills/cc-skill/references/best-practices.md +0 -167
- package/templates/skills/cc-skill/references/frontmatter-reference.md +0 -182
- package/templates/skills/cc-skill/references/skill-patterns.md +0 -199
- package/templates/skills/cc-skill/steps/step-00-init.md +0 -119
- package/templates/skills/cc-skill/steps/step-01-design.md +0 -199
- package/templates/skills/cc-skill/steps/step-02-generate.md +0 -145
- package/templates/skills/cc-skill/steps/step-03-steps.md +0 -151
- package/templates/skills/cc-skill/steps/step-04-validate.md +0 -124
- package/templates/skills/cc-skill/templates/skill-forked.md +0 -85
- package/templates/skills/cc-skill/templates/skill-progressive.md +0 -102
- package/templates/skills/cc-skill/templates/skill-simple.md +0 -75
- package/templates/skills/cc-skill/templates/step-template.md +0 -82
- package/templates/skills/controller/SKILL.md +0 -162
- package/templates/skills/controller/postman-templates.md +0 -614
- package/templates/skills/controller/references/controller-code-templates.md +0 -162
- package/templates/skills/controller/references/mcp-scaffold-workflow.md +0 -237
- package/templates/skills/controller/references/permission-sync-templates.md +0 -149
- package/templates/skills/controller/steps/step-00-init.md +0 -193
- package/templates/skills/controller/steps/step-01-analyze.md +0 -152
- package/templates/skills/controller/steps/step-02-plan.md +0 -176
- package/templates/skills/controller/steps/step-03-generate.md +0 -189
- package/templates/skills/controller/steps/step-04-perms.md +0 -80
- package/templates/skills/controller/steps/step-05-validate.md +0 -107
- package/templates/skills/controller/templates.md +0 -1556
- package/templates/skills/debug/SKILL.md +0 -70
- package/templates/skills/debug/references/team-protocol.md +0 -232
- package/templates/skills/debug/steps/step-00-init.md +0 -57
- package/templates/skills/debug/steps/step-01-analyze.md +0 -219
- package/templates/skills/debug/steps/step-02-resolve.md +0 -85
- package/templates/skills/efcore/references/database-operations.md +0 -66
- package/templates/skills/efcore/references/reset-operations.md +0 -81
- package/templates/skills/efcore/references/seed-methods.md +0 -86
- package/templates/skills/efcore/references/shared-init-functions.md +0 -250
- package/templates/skills/efcore/references/sql-objects-injection.md +0 -19
- package/templates/skills/efcore/references/troubleshooting.md +0 -81
- package/templates/skills/efcore/references/zero-downtime-patterns.md +0 -229
- package/templates/skills/explore/SKILL.md +0 -98
- package/templates/skills/feature-full/SKILL.md +0 -111
- package/templates/skills/feature-full/steps/step-00-init.md +0 -57
- package/templates/skills/feature-full/steps/step-01-implementation.md +0 -133
- package/templates/skills/gitflow/phases/abort.md +0 -189
- package/templates/skills/gitflow/phases/cleanup.md +0 -264
- package/templates/skills/gitflow/phases/status.md +0 -192
- package/templates/skills/gitflow/references/commit-message-generation.md +0 -58
- package/templates/skills/gitflow/references/commit-migration-validation.md +0 -53
- package/templates/skills/gitflow/references/finish-cleanup.md +0 -55
- package/templates/skills/gitflow/references/finish-version-bumping.md +0 -45
- package/templates/skills/gitflow/references/init-config-template.md +0 -143
- package/templates/skills/gitflow/references/init-environment-detection.md +0 -41
- package/templates/skills/gitflow/references/init-name-normalization.md +0 -118
- package/templates/skills/gitflow/references/init-questions.md +0 -193
- package/templates/skills/gitflow/references/init-structure-creation.md +0 -75
- package/templates/skills/gitflow/references/init-version-detection.md +0 -23
- package/templates/skills/gitflow/references/init-workspace-detection.md +0 -43
- package/templates/skills/gitflow/references/merge-ci-status.md +0 -36
- package/templates/skills/gitflow/references/merge-execution.md +0 -62
- package/templates/skills/gitflow/references/merge-pr-context.md +0 -76
- package/templates/skills/gitflow/references/plan-template.md +0 -69
- package/templates/skills/gitflow/references/pr-build-checks.md +0 -60
- package/templates/skills/gitflow/references/pr-generation.md +0 -58
- package/templates/skills/gitflow/references/start-branch-normalization.md +0 -28
- package/templates/skills/gitflow/references/start-efcore-preflight.md +0 -70
- package/templates/skills/gitflow/references/start-local-config.md +0 -113
- package/templates/skills/gitflow/references/start-worktree-creation.md +0 -50
- package/templates/skills/gitflow/references/sync-push-verify.md +0 -44
- package/templates/skills/gitflow/references/sync-rebase-conflicts.md +0 -38
- package/templates/skills/gitflow/steps/step-commit.md +0 -199
- package/templates/skills/gitflow/steps/step-finish.md +0 -147
- package/templates/skills/gitflow/steps/step-init.md +0 -230
- package/templates/skills/gitflow/steps/step-merge.md +0 -85
- package/templates/skills/gitflow/steps/step-plan.md +0 -151
- package/templates/skills/gitflow/steps/step-pr.md +0 -247
- package/templates/skills/gitflow/steps/step-start.md +0 -195
- package/templates/skills/gitflow/steps/step-sync.md +0 -161
- package/templates/skills/gitflow/templates/config.json +0 -72
- package/templates/skills/mcp/SKILL.md +0 -62
- package/templates/skills/mcp/steps/step-01-healthcheck.md +0 -108
- package/templates/skills/mcp/steps/step-02-tools.md +0 -73
- package/templates/skills/migrate/SKILL.md +0 -312
- package/templates/skills/migrate/references/v3.34-to-v3.46.md +0 -289
- package/templates/skills/notification/SKILL.md +0 -173
- package/templates/skills/refactor/SKILL.md +0 -56
- package/templates/skills/refactor/steps/step-01-discover.md +0 -60
- package/templates/skills/refactor/steps/step-02-execute.md +0 -67
- package/templates/skills/review-code/SKILL.md +0 -95
- package/templates/skills/review-code/references/clean-code-principles.md +0 -292
- package/templates/skills/review-code/references/code-quality-metrics.md +0 -174
- package/templates/skills/review-code/references/feedback-patterns.md +0 -149
- package/templates/skills/review-code/references/owasp-api-top10.md +0 -243
- package/templates/skills/review-code/references/security-checklist.md +0 -212
- package/templates/skills/review-code/references/smartstack-conventions.md +0 -568
- package/templates/skills/review-code/steps/step-01-smartstack.md +0 -96
- package/templates/skills/review-code/steps/step-02-detailed-review.md +0 -80
- package/templates/skills/review-code/steps/step-03-react.md +0 -44
- package/templates/skills/sketch/SKILL.md +0 -34
- package/templates/skills/ui-components/accessibility.md +0 -170
- package/templates/skills/ui-components/patterns/dashboard-chart.md +0 -327
- package/templates/skills/ui-components/patterns/data-table.md +0 -175
- package/templates/skills/ui-components/patterns/entity-card.md +0 -77
- package/templates/skills/ui-components/patterns/grid-layout.md +0 -91
- package/templates/skills/ui-components/patterns/kanban.md +0 -43
- package/templates/skills/ui-components/references/component-catalog.md +0 -82
- package/templates/skills/ui-components/responsive-guidelines.md +0 -278
- package/templates/skills/ui-components/style-guide.md +0 -113
- package/templates/skills/validate/SKILL.md +0 -181
- package/templates/skills/workflow/SKILL.md +0 -196
- package/templates/skills/workflow/steps/step-00-init.md +0 -57
- package/templates/skills/workflow/steps/step-01-implementation.md +0 -84
|
@@ -0,0 +1,852 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<!--
|
|
3
|
+
AUTO-GENERATED by scripts/generate-docs — do not edit by hand.
|
|
4
|
+
Edit docs-src/ba-develop.md (or templates/skills/<skill>/SKILL.md for skill data)
|
|
5
|
+
and run `npm run build:docs`. CI enforces drift via `npm run docs:check`.
|
|
6
|
+
-->
|
|
7
|
+
<html lang="fr">
|
|
8
|
+
<head>
|
|
9
|
+
<meta charset="UTF-8">
|
|
10
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
11
|
+
<title>BA Develop — pipeline de génération de code - SmartStack CLI</title>
|
|
12
|
+
<link rel="stylesheet" href="css/styles.css">
|
|
13
|
+
</head>
|
|
14
|
+
<body>
|
|
15
|
+
<div class="app-container">
|
|
16
|
+
<!-- Global Header (single unified element) -->
|
|
17
|
+
<header class="global-header">
|
|
18
|
+
<div class="logo">SS</div>
|
|
19
|
+
<span class="site-title">SmartStack CLI</span>
|
|
20
|
+
<span class="version-badge">v5.0.0</span>
|
|
21
|
+
<div class="header-divider"></div>
|
|
22
|
+
<span class="page-title">BA Develop</span>
|
|
23
|
+
<!-- Language Select -->
|
|
24
|
+
<select class="lang-select" id="lang-select" onchange="setLanguage(this.value); localStorage.setItem('doc-language', this.value);">
|
|
25
|
+
<option value="fr">🇫🇷 FR</option>
|
|
26
|
+
<option value="en">🇬🇧 EN</option>
|
|
27
|
+
</select>
|
|
28
|
+
<!-- Search -->
|
|
29
|
+
<div class="header-search">
|
|
30
|
+
<div class="search-input-wrapper">
|
|
31
|
+
<span class="search-icon">🔍</span>
|
|
32
|
+
<input type="text" id="search-input" class="search-input" placeholder="Rechercher..." data-placeholder-fr="Rechercher..." data-placeholder-en="Search..." autocomplete="off">
|
|
33
|
+
<span class="search-shortcut">Ctrl+K</span>
|
|
34
|
+
</div>
|
|
35
|
+
<div id="search-results" class="search-results"></div>
|
|
36
|
+
</div>
|
|
37
|
+
</header>
|
|
38
|
+
|
|
39
|
+
<div class="app-body">
|
|
40
|
+
<!-- Sidebar -->
|
|
41
|
+
<aside class="sidebar">
|
|
42
|
+
<button class="sidebar-toggle" title="Toggle sidebar">
|
|
43
|
+
<span class="toggle-icon-collapse">«</span>
|
|
44
|
+
<span class="toggle-icon-expand">»</span>
|
|
45
|
+
</button>
|
|
46
|
+
|
|
47
|
+
<nav class="sidebar-nav">
|
|
48
|
+
<div class="nav-section">
|
|
49
|
+
<div class="nav-section-title">
|
|
50
|
+
<span data-lang="fr">Démarrage</span><span data-lang="en">Getting Started</span>
|
|
51
|
+
</div>
|
|
52
|
+
<a href="index.html" class="nav-item">
|
|
53
|
+
<span class="icon">🏠</span>
|
|
54
|
+
<span class="nav-text" data-lang="fr">Accueil</span><span class="nav-text" data-lang="en">Home</span>
|
|
55
|
+
</a>
|
|
56
|
+
<a href="installation.html" class="nav-item">
|
|
57
|
+
<span class="icon">📦</span>
|
|
58
|
+
<span class="nav-text" data-lang="fr">Installation</span><span class="nav-text" data-lang="en">Installation</span>
|
|
59
|
+
</a>
|
|
60
|
+
<a href="init.html" class="nav-item">
|
|
61
|
+
<span class="icon">🚀</span>
|
|
62
|
+
<span class="nav-text" data-lang="fr">Projet Client</span><span class="nav-text" data-lang="en">Client Project</span>
|
|
63
|
+
</a>
|
|
64
|
+
<a href="license.html" class="nav-item">
|
|
65
|
+
<span class="icon">🔐</span>
|
|
66
|
+
<span class="nav-text" data-lang="fr">Licence</span><span class="nav-text" data-lang="en">License</span>
|
|
67
|
+
</a>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="nav-section">
|
|
70
|
+
<div class="nav-section-title">
|
|
71
|
+
<span data-lang="fr">Workflows</span><span data-lang="en">Workflows</span>
|
|
72
|
+
</div>
|
|
73
|
+
<a href="gitflow.html" class="nav-item">
|
|
74
|
+
<span class="icon">🔀</span>
|
|
75
|
+
<span class="nav-text" data-lang="fr">GitFlow</span><span class="nav-text" data-lang="en">GitFlow</span>
|
|
76
|
+
</a>
|
|
77
|
+
<a href="efcore.html" class="nav-item">
|
|
78
|
+
<span class="icon">🗄️</span>
|
|
79
|
+
<span class="nav-text" data-lang="fr">EF Core</span><span class="nav-text" data-lang="en">EF Core</span>
|
|
80
|
+
</a>
|
|
81
|
+
<a href="business-analyse.html" class="nav-item">
|
|
82
|
+
<span class="icon">📊</span>
|
|
83
|
+
<span class="nav-text" data-lang="fr">Business Analyse</span><span class="nav-text" data-lang="en">Business Analysis</span>
|
|
84
|
+
</a>
|
|
85
|
+
<a href="ba-develop.html" class="nav-item nav-item-child active">
|
|
86
|
+
<span class="icon">⚙️</span>
|
|
87
|
+
<span class="nav-text" data-lang="fr">BA Develop</span><span class="nav-text" data-lang="en">BA Develop</span>
|
|
88
|
+
</a>
|
|
89
|
+
<a href="ralph-loop.html" class="nav-item">
|
|
90
|
+
<span class="icon">🔄</span>
|
|
91
|
+
<span class="nav-text" data-lang="fr">Ralph Loop</span><span class="nav-text" data-lang="en">Ralph Loop</span>
|
|
92
|
+
</a>
|
|
93
|
+
</div>
|
|
94
|
+
<div class="nav-section">
|
|
95
|
+
<div class="nav-section-title">
|
|
96
|
+
<span data-lang="fr">Annuaire</span><span data-lang="en">Directory</span>
|
|
97
|
+
</div>
|
|
98
|
+
<a href="commands.html" class="nav-item">
|
|
99
|
+
<span class="icon">⚡</span>
|
|
100
|
+
<span class="nav-text" data-lang="fr">Commandes Claude</span><span class="nav-text" data-lang="en">Claude Commands</span>
|
|
101
|
+
</a>
|
|
102
|
+
<a href="cli-commands.html" class="nav-item">
|
|
103
|
+
<span class="icon">💻</span>
|
|
104
|
+
<span class="nav-text" data-lang="fr">CLI SmartStack</span><span class="nav-text" data-lang="en">SmartStack CLI</span>
|
|
105
|
+
</a>
|
|
106
|
+
<a href="ba-skills.html" class="nav-item">
|
|
107
|
+
<span class="icon">📋</span>
|
|
108
|
+
<span class="nav-text" data-lang="fr">Skills BA</span><span class="nav-text" data-lang="en">BA Skills</span>
|
|
109
|
+
</a>
|
|
110
|
+
<a href="agents.html" class="nav-item">
|
|
111
|
+
<span class="icon">🤖</span>
|
|
112
|
+
<span class="nav-text" data-lang="fr">Agents</span><span class="nav-text" data-lang="en">Agents</span>
|
|
113
|
+
</a>
|
|
114
|
+
<a href="hooks.html" class="nav-item">
|
|
115
|
+
<span class="icon">🔗</span>
|
|
116
|
+
<span class="nav-text" data-lang="fr">Hooks</span><span class="nav-text" data-lang="en">Hooks</span>
|
|
117
|
+
</a>
|
|
118
|
+
</div>
|
|
119
|
+
</nav>
|
|
120
|
+
|
|
121
|
+
</aside>
|
|
122
|
+
|
|
123
|
+
<main class="main-content">
|
|
124
|
+
<div class="content content-wide">
|
|
125
|
+
<nav class="breadcrumb">
|
|
126
|
+
<span class="breadcrumb-item"><span data-lang="fr">Workflows</span><span data-lang="en">Workflows</span></span>
|
|
127
|
+
<span class="breadcrumb-sep">›</span>
|
|
128
|
+
<span class="breadcrumb-item current">BA Develop</span>
|
|
129
|
+
|
|
130
|
+
</nav>
|
|
131
|
+
<h1><span data-lang="fr"><code>/ba-develop</code> — Du PRD au code</span><span data-lang="en"><code>/ba-develop</code> — From PRD to code</span></h1>
|
|
132
|
+
<p><span data-lang="fr">Une fois qu'une PRD a passé l'audit (score GO ≥ 80), <code>/ba-develop</code> orchestre 4 phases séquentielles pour générer le code complet d'un module. <strong>C'est la dernière commande que vous tapez</strong> : à sa sortie, le module est compilé, testé, et fonctionnel — aucune action manuelle requise derrière.</span>
|
|
133
|
+
<span data-lang="en">Once a PRD passes audit (GO score ≥ 80), <code>/ba-develop</code> orchestrates 4 sequential phases to generate the full module code. <strong>It is the last command you type</strong>: when it returns, the module compiles, passes tests, and is functional — no manual action required afterwards.</span></p>
|
|
134
|
+
<h2><span data-lang="fr">Vue d'ensemble du pipeline</span><span data-lang="en">Pipeline at a glance</span></h2>
|
|
135
|
+
<p><span data-lang="fr">4 phases séquentielles, chacune isolée dans son propre subagent, séparées par des <strong>gates bloquants</strong> qui interdisent toute progression sur un drift détecté. Les deux audits symétriques (<code>audit-dev-api</code> en sortie de Phase 2 et <code>audit-dev-frontend</code> en sortie de Phase 3) verrouillent l'alignement entre le pagespec (source de vérité métier) et le code généré.</span>
|
|
136
|
+
<span data-lang="en">4 sequential phases, each isolated in its own subagent, separated by <strong>blocking gates</strong> that forbid progression on any detected drift. The two symmetric audits (<code>audit-dev-api</code> exiting Phase 2 and <code>audit-dev-frontend</code> exiting Phase 3) lock the alignment between the pagespec (business source of truth) and the generated code.</span></p>
|
|
137
|
+
<div class="svg-diagram">
|
|
138
|
+
<svg viewBox="0 0 820 320" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="ba-develop pipeline overview">
|
|
139
|
+
<defs>
|
|
140
|
+
<marker id="ba-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
|
|
141
|
+
<path d="M0,0 L10,5 L0,10 z" fill="#475569"/>
|
|
142
|
+
</marker>
|
|
143
|
+
<marker id="ba-arrow-block" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
|
|
144
|
+
<path d="M0,0 L10,5 L0,10 z" fill="#06b6d4"/>
|
|
145
|
+
</marker>
|
|
146
|
+
</defs>
|
|
147
|
+
<!-- Input -->
|
|
148
|
+
<rect x="10" y="120" width="120" height="60" rx="8" fill="#1e293b" stroke="#f97316" stroke-width="2"/>
|
|
149
|
+
<text x="70" y="148" text-anchor="middle" fill="#f97316" font-family="Inter,sans-serif" font-size="13" font-weight="600">PRD GO</text>
|
|
150
|
+
<text x="70" y="166" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="11">score ≥ 80</text>
|
|
151
|
+
<line x1="130" y1="150" x2="170" y2="150" stroke="#475569" stroke-width="2" marker-end="url(#ba-arrow)"/>
|
|
152
|
+
<!-- Phase 0 -->
|
|
153
|
+
<rect x="170" y="120" width="120" height="60" rx="8" fill="#1e293b" stroke="#6366f1" stroke-width="2"/>
|
|
154
|
+
<text x="230" y="142" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 0</text>
|
|
155
|
+
<text x="230" y="160" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="11">Core Seed</text>
|
|
156
|
+
<text x="230" y="174" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">nav · roles · perms</text>
|
|
157
|
+
<line x1="290" y1="150" x2="310" y2="150" stroke="#475569" stroke-width="2" marker-end="url(#ba-arrow)"/>
|
|
158
|
+
<!-- Phase 1 -->
|
|
159
|
+
<rect x="310" y="120" width="120" height="60" rx="8" fill="#1e293b" stroke="#6366f1" stroke-width="2"/>
|
|
160
|
+
<text x="370" y="142" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 1</text>
|
|
161
|
+
<text x="370" y="160" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="11">Domain + Data</text>
|
|
162
|
+
<text x="370" y="174" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">entities · EF · seed</text>
|
|
163
|
+
<line x1="430" y1="150" x2="450" y2="150" stroke="#475569" stroke-width="2" marker-end="url(#ba-arrow)"/>
|
|
164
|
+
<!-- Phase 2 -->
|
|
165
|
+
<rect x="450" y="120" width="120" height="60" rx="8" fill="#1e293b" stroke="#6366f1" stroke-width="2"/>
|
|
166
|
+
<text x="510" y="142" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 2</text>
|
|
167
|
+
<text x="510" y="160" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="11">Business + API</text>
|
|
168
|
+
<text x="510" y="174" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">CQRS · controllers</text>
|
|
169
|
+
<!-- Gate Phase 2 (down) -->
|
|
170
|
+
<line x1="510" y1="180" x2="510" y2="220" stroke="#06b6d4" stroke-width="2" marker-end="url(#ba-arrow-block)"/>
|
|
171
|
+
<rect x="430" y="220" width="160" height="50" rx="6" fill="#0f172a" stroke="#06b6d4" stroke-width="1.5"/>
|
|
172
|
+
<text x="510" y="240" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="11" font-weight="600">Gate Phase 2</text>
|
|
173
|
+
<text x="510" y="256" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="10">audit-dev-api</text>
|
|
174
|
+
<text x="510" y="268" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">DEV-API-010 · 011</text>
|
|
175
|
+
<line x1="570" y1="150" x2="590" y2="150" stroke="#475569" stroke-width="2" marker-end="url(#ba-arrow)"/>
|
|
176
|
+
<!-- Phase 3 -->
|
|
177
|
+
<rect x="590" y="120" width="120" height="60" rx="8" fill="#1e293b" stroke="#6366f1" stroke-width="2"/>
|
|
178
|
+
<text x="650" y="142" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 3</text>
|
|
179
|
+
<text x="650" y="160" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="11">Frontend</text>
|
|
180
|
+
<text x="650" y="174" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">pages · hooks · btns</text>
|
|
181
|
+
<!-- Gate Phase 3 (down) -->
|
|
182
|
+
<line x1="650" y1="180" x2="650" y2="220" stroke="#06b6d4" stroke-width="2" marker-end="url(#ba-arrow-block)"/>
|
|
183
|
+
<rect x="570" y="220" width="160" height="50" rx="6" fill="#0f172a" stroke="#06b6d4" stroke-width="1.5"/>
|
|
184
|
+
<text x="650" y="240" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="11" font-weight="600">Gate Phase 3</text>
|
|
185
|
+
<text x="650" y="256" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="10">audit-dev-frontend</text>
|
|
186
|
+
<text x="650" y="268" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">DEV-UI-019 · 020 · 021</text>
|
|
187
|
+
<line x1="710" y1="150" x2="740" y2="150" stroke="#475569" stroke-width="2" marker-end="url(#ba-arrow)"/>
|
|
188
|
+
<!-- Output -->
|
|
189
|
+
<rect x="740" y="120" width="70" height="60" rx="8" fill="#1e293b" stroke="#22c55e" stroke-width="2"/>
|
|
190
|
+
<text x="775" y="148" text-anchor="middle" fill="#22c55e" font-family="Inter,sans-serif" font-size="12" font-weight="600">Module</text>
|
|
191
|
+
<text x="775" y="164" text-anchor="middle" fill="#22c55e" font-family="Inter,sans-serif" font-size="12" font-weight="600">ready</text>
|
|
192
|
+
<text x="775" y="180" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">200 OK</text>
|
|
193
|
+
<!-- Legend bar -->
|
|
194
|
+
<rect x="10" y="30" width="800" height="50" rx="6" fill="#0f172a" stroke="#334155" stroke-width="1"/>
|
|
195
|
+
<text x="30" y="50" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="11" font-weight="600">Symmetric blocking gates</text>
|
|
196
|
+
<text x="30" y="68" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">Every <tspan font-family="Fira Code,monospace" fill="#06b6d4">err</tspan> finding at a gate stops the pipeline with a precise message — no manual fix-up step is hidden after <tspan font-family="Fira Code,monospace" fill="#f97316">/ba-develop</tspan>.</text>
|
|
197
|
+
<circle cx="660" cy="50" r="6" fill="#6366f1"/>
|
|
198
|
+
<text x="675" y="54" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="10">Phase (subagent)</text>
|
|
199
|
+
<circle cx="660" cy="68" r="6" fill="#06b6d4"/>
|
|
200
|
+
<text x="675" y="72" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="10">Audit gate (CLI)</text>
|
|
201
|
+
</svg>
|
|
202
|
+
</div>
|
|
203
|
+
|
|
204
|
+
<h2><span data-lang="fr">Détail des 4 phases</span><span data-lang="en">The 4 phases in detail</span></h2>
|
|
205
|
+
<p><span data-lang="fr">Chaque phase est un subagent isolé qui reçoit UNE slice du PRD. Une porte (gate) vérifie compilation + tests + audit dédié avant d'autoriser la phase suivante.</span>
|
|
206
|
+
<span data-lang="en">Each phase runs as an isolated subagent that receives ONE PRD slice. A gate verifies compile + tests + dedicated audit before allowing the next phase to start.</span></p>
|
|
207
|
+
<table>
|
|
208
|
+
<thead>
|
|
209
|
+
<tr>
|
|
210
|
+
<th><span data-lang="fr">Phase</span><span data-lang="en">Phase</span></th>
|
|
211
|
+
<th><span data-lang="fr">Nom</span><span data-lang="en">Name</span></th>
|
|
212
|
+
<th><span data-lang="fr">Skills mobilisées</span><span data-lang="en">Mobilised skills</span></th>
|
|
213
|
+
<th><span data-lang="fr">Sortie</span><span data-lang="en">Output</span></th>
|
|
214
|
+
<th><span data-lang="fr">Gate</span><span data-lang="en">Gate</span></th>
|
|
215
|
+
</tr>
|
|
216
|
+
</thead>
|
|
217
|
+
<tbody><tr>
|
|
218
|
+
<td>0</td>
|
|
219
|
+
<td><span data-lang="fr">Core Foundation Seed</span><span data-lang="en">Core Foundation Seed</span></td>
|
|
220
|
+
<td><code>backend-core-seed</code></td>
|
|
221
|
+
<td><span data-lang="fr">Navigation, rôles, permissions de l'app</span><span data-lang="en">App navigation, roles, permissions</span></td>
|
|
222
|
+
<td>build + tests</td>
|
|
223
|
+
</tr>
|
|
224
|
+
<tr>
|
|
225
|
+
<td>1</td>
|
|
226
|
+
<td><span data-lang="fr">Domain + Data</span><span data-lang="en">Domain + Data</span></td>
|
|
227
|
+
<td><code>backend-data-layer</code>, <code>backend-seed-data</code></td>
|
|
228
|
+
<td><span data-lang="fr">Entités, EF configs, migrations, seed</span><span data-lang="en">Entities, EF configs, migrations, seed</span></td>
|
|
229
|
+
<td>build + tests</td>
|
|
230
|
+
</tr>
|
|
231
|
+
<tr>
|
|
232
|
+
<td>2</td>
|
|
233
|
+
<td><span data-lang="fr">Business + API</span><span data-lang="en">Business + API</span></td>
|
|
234
|
+
<td><code>backend-business-layer</code>, <code>backend-controller</code></td>
|
|
235
|
+
<td><span data-lang="fr">CQRS, validators, controllers RBAC, actions custom alignées sur le pagespec</span><span data-lang="en">CQRS, validators, RBAC controllers, custom actions aligned with the pagespec</span></td>
|
|
236
|
+
<td>build + tests + <code>/audit-dev-api</code> (DEV-API-010/011)</td>
|
|
237
|
+
</tr>
|
|
238
|
+
<tr>
|
|
239
|
+
<td>3</td>
|
|
240
|
+
<td><span data-lang="fr">Frontend</span><span data-lang="en">Frontend</span></td>
|
|
241
|
+
<td><code>scaffold-theme</code>, <code>scaffold-layout</code>, <code>frontend-component</code>, <code>frontend-api-client</code>, <code>frontend-auth</code></td>
|
|
242
|
+
<td><span data-lang="fr">Pages, routes, API client, hooks d'auth, boutons custom (kind:api → hook, kind:navigate → <code>navigate()</code>)</span><span data-lang="en">Pages, routes, API client, auth hooks, custom buttons (kind:api → hook, kind:navigate → <code>navigate()</code>)</span></td>
|
|
243
|
+
<td>build + tests + <code>/audit-dev-frontend</code> (DEV-UI-019..021) + smoke-test</td>
|
|
244
|
+
</tr>
|
|
245
|
+
</tbody></table>
|
|
246
|
+
<p><span data-lang="fr">À la sortie de la phase 3, le module est livré et fonctionnel (compilation + tests OK, smoke-test HTTP vert sur toutes les routes).</span>
|
|
247
|
+
<span data-lang="en">At the end of phase 3, the module is delivered and functional (compile + tests OK, HTTP smoke-test green on all routes).</span></p>
|
|
248
|
+
<h2><span data-lang="fr">Garanties</span><span data-lang="en">Guarantees</span></h2>
|
|
249
|
+
<ul>
|
|
250
|
+
<li><span data-lang="fr"><strong>Aucun stub</strong> : règles métier et use cases sont implémentés, pas laissés vides.</span><span data-lang="en"><strong>No stubs</strong>: business rules and use cases are implemented, not left empty.</span></li>
|
|
251
|
+
<li><span data-lang="fr"><strong>FK réelles</strong> : <code>relations[]</code> du PRD se traduit en <code>HasForeignKey()</code> + navigation + <code>OnDelete</code>.</span><span data-lang="en"><strong>Real FKs</strong>: PRD <code>relations[]</code> map to <code>HasForeignKey()</code> + navigation + <code>OnDelete</code>.</span></li>
|
|
252
|
+
<li><span data-lang="fr"><strong>Phase 0 déterministe</strong> : la navigation + les rôles + les permissions sont écrites en un seul shot.</span><span data-lang="en"><strong>Deterministic Phase 0</strong>: navigation + roles + permissions are written in a single shot.</span></li>
|
|
253
|
+
<li><span data-lang="fr"><strong>Gates entre phases</strong> : compile + tests + coverage avant de passer à la suivante.</span><span data-lang="en"><strong>Gates between phases</strong>: compile + tests + coverage before moving to the next.</span></li>
|
|
254
|
+
</ul>
|
|
255
|
+
<h2><span data-lang="fr">Propagation des actions custom</span><span data-lang="en">Custom-action propagation</span></h2>
|
|
256
|
+
<p><span data-lang="fr">Quand un pagespec déclare des actions au-delà des CRUD standard (par exemple <code>syncFromPce</code> kind:api ou <code>openHistory</code> kind:navigate), <code>/ba-develop</code> les propage <strong>verbatim</strong> à toutes les couches qui doivent les voir. Le champ <code>endpoint</code> du pagespec est l'unique source de vérité — il est compilé sans transformation dans le route attribute du Controller et dans l'URL axios du service.</span>
|
|
257
|
+
<span data-lang="en">When a pagespec declares actions beyond the standard CRUD (e.g. <code>syncFromPce</code> kind:api or <code>openHistory</code> kind:navigate), <code>/ba-develop</code> propagates them <strong>verbatim</strong> to every layer that must see them. The pagespec's <code>endpoint</code> field is the single source of truth — it is compiled without transformation into the Controller route attribute and into the service's axios URL.</span></p>
|
|
258
|
+
<div class="svg-diagram">
|
|
259
|
+
<svg viewBox="0 0 820 420" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Custom action verbatim propagation">
|
|
260
|
+
<defs>
|
|
261
|
+
<marker id="ca-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
|
|
262
|
+
<path d="M0,0 L10,5 L0,10 z" fill="#475569"/>
|
|
263
|
+
</marker>
|
|
264
|
+
<marker id="ca-arrow-ok" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
|
|
265
|
+
<path d="M0,0 L10,5 L0,10 z" fill="#22c55e"/>
|
|
266
|
+
</marker>
|
|
267
|
+
</defs>
|
|
268
|
+
<!-- Source of truth -->
|
|
269
|
+
<rect x="220" y="20" width="380" height="80" rx="8" fill="#1e293b" stroke="#f97316" stroke-width="2"/>
|
|
270
|
+
<text x="410" y="45" text-anchor="middle" fill="#f97316" font-family="Inter,sans-serif" font-size="13" font-weight="600">pagespec.actions[]</text>
|
|
271
|
+
<text x="410" y="63" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="11">single source of truth (written by /ba-create-prd from screen.md)</text>
|
|
272
|
+
<rect x="240" y="72" width="340" height="20" rx="3" fill="#0d1117" stroke="#334155"/>
|
|
273
|
+
<text x="410" y="86" text-anchor="middle" fill="#06b6d4" font-family="Fira Code,monospace" font-size="11">endpoint: "sync-from-proconcept" · httpMethod: POST · kind: api</text>
|
|
274
|
+
<!-- Split -->
|
|
275
|
+
<line x1="320" y1="100" x2="170" y2="155" stroke="#475569" stroke-width="2" marker-end="url(#ca-arrow)"/>
|
|
276
|
+
<line x1="500" y1="100" x2="650" y2="155" stroke="#475569" stroke-width="2" marker-end="url(#ca-arrow)"/>
|
|
277
|
+
<text x="220" y="125" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10" font-style="italic">kind: api → 2 sides</text>
|
|
278
|
+
<text x="560" y="125" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10" font-style="italic">kind: api → 2 sides</text>
|
|
279
|
+
<!-- Backend column -->
|
|
280
|
+
<rect x="40" y="160" width="260" height="80" rx="8" fill="#0f172a" stroke="#6366f1" stroke-width="1.5"/>
|
|
281
|
+
<text x="170" y="180" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 2 — Backend (C#)</text>
|
|
282
|
+
<rect x="55" y="190" width="230" height="20" rx="3" fill="#0d1117" stroke="#334155"/>
|
|
283
|
+
<text x="170" y="204" text-anchor="middle" fill="#22c55e" font-family="Fira Code,monospace" font-size="10">[HttpPost("sync-from-proconcept")]</text>
|
|
284
|
+
<text x="170" y="226" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="10">Controller method + Business service stub</text>
|
|
285
|
+
<!-- Frontend column -->
|
|
286
|
+
<rect x="520" y="160" width="260" height="80" rx="8" fill="#0f172a" stroke="#6366f1" stroke-width="1.5"/>
|
|
287
|
+
<text x="650" y="180" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="12" font-weight="600">Phase 3 — Frontend (TS)</text>
|
|
288
|
+
<rect x="535" y="190" width="230" height="20" rx="3" fill="#0d1117" stroke="#334155"/>
|
|
289
|
+
<text x="650" y="204" text-anchor="middle" fill="#22c55e" font-family="Fira Code,monospace" font-size="10">apiClient.post(".../sync-from-proconcept")</text>
|
|
290
|
+
<text x="650" y="226" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="10">service.ts method + useMutation hook + button</text>
|
|
291
|
+
<!-- Gate 2 -->
|
|
292
|
+
<line x1="170" y1="240" x2="170" y2="275" stroke="#06b6d4" stroke-width="2" marker-end="url(#ca-arrow-ok)"/>
|
|
293
|
+
<rect x="80" y="275" width="180" height="40" rx="6" fill="#0f172a" stroke="#06b6d4" stroke-width="1.5"/>
|
|
294
|
+
<text x="170" y="290" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="11" font-weight="600">audit-dev-api</text>
|
|
295
|
+
<text x="170" y="305" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">DEV-API-010 / 011</text>
|
|
296
|
+
<!-- Gate 3 -->
|
|
297
|
+
<line x1="650" y1="240" x2="650" y2="275" stroke="#06b6d4" stroke-width="2" marker-end="url(#ca-arrow-ok)"/>
|
|
298
|
+
<rect x="560" y="275" width="180" height="40" rx="6" fill="#0f172a" stroke="#06b6d4" stroke-width="1.5"/>
|
|
299
|
+
<text x="650" y="290" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="11" font-weight="600">audit-dev-frontend</text>
|
|
300
|
+
<text x="650" y="305" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">DEV-UI-019 / 020 / 021</text>
|
|
301
|
+
<!-- Navigate branch -->
|
|
302
|
+
<line x1="410" y1="100" x2="410" y2="335" stroke="#475569" stroke-width="2" stroke-dasharray="4,4" marker-end="url(#ca-arrow)"/>
|
|
303
|
+
<text x="425" y="220" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10" font-style="italic">kind: navigate</text>
|
|
304
|
+
<text x="425" y="234" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10" font-style="italic">→ frontend only</text>
|
|
305
|
+
<rect x="290" y="335" width="240" height="60" rx="8" fill="#0f172a" stroke="#eab308" stroke-width="1.5"/>
|
|
306
|
+
<text x="410" y="355" text-anchor="middle" fill="#eab308" font-family="Inter,sans-serif" font-size="12" font-weight="600">navigate(targetRoute)</text>
|
|
307
|
+
<text x="410" y="372" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="10">no axios · no hook · no Controller</text>
|
|
308
|
+
<text x="410" y="386" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">router-only button (e.g. "Open detail")</text>
|
|
309
|
+
</svg>
|
|
310
|
+
</div>
|
|
311
|
+
|
|
312
|
+
<table>
|
|
313
|
+
<thead>
|
|
314
|
+
<tr>
|
|
315
|
+
<th><span data-lang="fr">Phase</span><span data-lang="en">Phase</span></th>
|
|
316
|
+
<th><span data-lang="fr">Pour <code>kind: api</code></span><span data-lang="en">For <code>kind: api</code></span></th>
|
|
317
|
+
<th><span data-lang="fr">Pour <code>kind: navigate</code></span><span data-lang="en">For <code>kind: navigate</code></span></th>
|
|
318
|
+
</tr>
|
|
319
|
+
</thead>
|
|
320
|
+
<tbody><tr>
|
|
321
|
+
<td>2 (Business)</td>
|
|
322
|
+
<td><span data-lang="fr">Recette canonique ou stub <code>NotImplementedException</code> avec <code>// TODO[UC-…]</code></span><span data-lang="en">Canonical recipe or <code>NotImplementedException</code> stub with <code>// TODO[UC-…]</code></span></td>
|
|
323
|
+
<td>—</td>
|
|
324
|
+
</tr>
|
|
325
|
+
<tr>
|
|
326
|
+
<td>2 (Controller)</td>
|
|
327
|
+
<td><code>[HttpVerb("<endpoint>")]</code> + <code>[RequirePermission("…")]</code></td>
|
|
328
|
+
<td>—</td>
|
|
329
|
+
</tr>
|
|
330
|
+
<tr>
|
|
331
|
+
<td>3 (Service.ts)</td>
|
|
332
|
+
<td><code>apiClient.<verb>('/api/.../<endpoint>')</code> + <span data-lang="fr">hook React Query</span><span data-lang="en">React Query hook</span></td>
|
|
333
|
+
<td>—</td>
|
|
334
|
+
</tr>
|
|
335
|
+
<tr>
|
|
336
|
+
<td>3 (Bouton)</td>
|
|
337
|
+
<td><span data-lang="fr">Importe le hook + appelle <code>.mutate()</code> au clic</span><span data-lang="en">Imports the hook + calls <code>.mutate()</code> on click</span></td>
|
|
338
|
+
<td><span data-lang="fr">Importe <code>useNavigate</code> + appelle <code>navigate(targetRoute)</code>. <strong>Aucun hook, aucun appel axios.</strong></span><span data-lang="en">Imports <code>useNavigate</code> + calls <code>navigate(targetRoute)</code>. <strong>No hook, no axios call.</strong></span></td>
|
|
339
|
+
</tr>
|
|
340
|
+
<tr>
|
|
341
|
+
<td><span data-lang="fr">Gate Phase 2</span><span data-lang="en">Phase 2 gate</span></td>
|
|
342
|
+
<td><span data-lang="fr">Cross-check : chaque <code>kind:api</code> du pagespec doit avoir un <code>[HttpVerb("<endpoint>")]</code> matching côté Controller, sinon la phase échoue.</span><span data-lang="en">Cross-check: every pagespec <code>kind:api</code> action must have a matching <code>[HttpVerb("<endpoint>")]</code> on the Controller, otherwise the phase fails.</span></td>
|
|
343
|
+
<td></td>
|
|
344
|
+
</tr>
|
|
345
|
+
</tbody></table>
|
|
346
|
+
<p><span data-lang="fr">Les audits dev <strong>symétriques</strong> verrouillent l'alignement après génération :</span>
|
|
347
|
+
<span data-lang="en">The <strong>symmetric</strong> dev audits lock the alignment after generation:</span></p>
|
|
348
|
+
<table>
|
|
349
|
+
<thead>
|
|
350
|
+
<tr>
|
|
351
|
+
<th><span data-lang="fr">Phase</span><span data-lang="en">Phase</span></th>
|
|
352
|
+
<th><span data-lang="fr">Audit exécuté automatiquement</span><span data-lang="en">Audit invoked automatically</span></th>
|
|
353
|
+
<th><span data-lang="fr">Règles bloquantes</span><span data-lang="en">Blocking rules</span></th>
|
|
354
|
+
</tr>
|
|
355
|
+
</thead>
|
|
356
|
+
<tbody><tr>
|
|
357
|
+
<td>2 (Backend)</td>
|
|
358
|
+
<td><code>audit-dev-api --mode audit</code></td>
|
|
359
|
+
<td>DEV-API-010 (pagespec → controller), DEV-API-011 (warn)</td>
|
|
360
|
+
</tr>
|
|
361
|
+
<tr>
|
|
362
|
+
<td>3 (Frontend)</td>
|
|
363
|
+
<td><code>audit-dev-frontend --mode audit</code></td>
|
|
364
|
+
<td>DEV-UI-019 / DEV-UI-020 / DEV-UI-021</td>
|
|
365
|
+
</tr>
|
|
366
|
+
</tbody></table>
|
|
367
|
+
<p><span data-lang="fr"><strong>Garantie de fin de pipeline</strong> — un drift entre pagespec et Controller (cas classique Gesa : <code>POST /sync-from-pce</code> côté frontend, <code>[HttpPost("sync-from-proconcept")]</code> côté backend → 405 garanti) est <strong>bloqué au gate</strong> avant Phase 3, avec un message précis (« Controller manquant pour action <code><endpoint></code> du pagespec <code><file></code> »). <strong>Aucune commande utilisateur n'est requise après <code>/ba-develop</code></strong> — quand la commande retourne avec succès, le module est 100 % opérationnel.</span>
|
|
368
|
+
<span data-lang="en"><strong>End-of-pipeline guarantee</strong> — any drift between pagespec and Controller (classic Gesa case: <code>POST /sync-from-pce</code> on the frontend, <code>[HttpPost("sync-from-proconcept")]</code> on the backend → guaranteed 405) is <strong>blocked at the gate</strong> before Phase 3, with a precise message ("Controller missing for action <code><endpoint></code> from pagespec <code><file></code>"). <strong>No user command is required after <code>/ba-develop</code></strong> — when the command returns successfully, the module is 100 % operational.</span></p>
|
|
369
|
+
<h2><span data-lang="fr">Trois niveaux d'orchestration</span><span data-lang="en">Three orchestration levels</span></h2>
|
|
370
|
+
<p><span data-lang="fr">Selon la portée du travail, trois entrées sont disponibles. Elles partagent toutes le même moteur (les 4 phases ci-dessus) mais varient en cardinalité.</span>
|
|
371
|
+
<span data-lang="en">Depending on the scope of work, three entry points are available. They all share the same engine (the 4 phases above) but vary in cardinality.</span></p>
|
|
372
|
+
<table>
|
|
373
|
+
<thead>
|
|
374
|
+
<tr>
|
|
375
|
+
<th><span data-lang="fr">Portée</span><span data-lang="en">Scope</span></th>
|
|
376
|
+
<th><span data-lang="fr">Skill</span><span data-lang="en">Skill</span></th>
|
|
377
|
+
<th><span data-lang="fr">Lit</span><span data-lang="en">Reads</span></th>
|
|
378
|
+
<th><span data-lang="fr">Effet</span><span data-lang="en">Effect</span></th>
|
|
379
|
+
</tr>
|
|
380
|
+
</thead>
|
|
381
|
+
<tbody><tr>
|
|
382
|
+
<td>1 <span data-lang="fr">module</span><span data-lang="en">module</span></td>
|
|
383
|
+
<td><code>/ba-develop <APP>/<MODULE></code></td>
|
|
384
|
+
<td><code>prd.md</code> + slices + <code>pagespecs/*.md</code></td>
|
|
385
|
+
<td><span data-lang="fr">4 phases séquentielles sur ce module</span><span data-lang="en">4 sequential phases on that module</span></td>
|
|
386
|
+
</tr>
|
|
387
|
+
<tr>
|
|
388
|
+
<td>1+ <span data-lang="fr">applications</span><span data-lang="en">applications</span></td>
|
|
389
|
+
<td><code>/ba-create-plan-development <APP1> [APP2]…</code></td>
|
|
390
|
+
<td><code>entité.md</code> <span data-lang="fr">des apps</span><span data-lang="en">of the apps</span></td>
|
|
391
|
+
<td><span data-lang="fr">Construit le graphe FK cross-module + tri topologique → <code>dev-plan.md</code></span><span data-lang="en">Builds cross-module FK graph + topological sort → <code>dev-plan.md</code></span></td>
|
|
392
|
+
</tr>
|
|
393
|
+
<tr>
|
|
394
|
+
<td><span data-lang="fr">Exécution du plan</span><span data-lang="en">Plan execution</span></td>
|
|
395
|
+
<td><code>/ba-develop-plan [--waves 1,2]</code></td>
|
|
396
|
+
<td><code>dev-plan.json</code></td>
|
|
397
|
+
<td><span data-lang="fr">Lance une vague à la fois ; dans chaque vague, un <code>/ba-develop</code> par module en parallèle ; gate entre vagues</span><span data-lang="en">Runs one wave at a time; within a wave, one <code>/ba-develop</code> per module in parallel; gate between waves</span></td>
|
|
398
|
+
</tr>
|
|
399
|
+
</tbody></table>
|
|
400
|
+
<h3><span data-lang="fr">Cycle multi-module — comment ça marche</span><span data-lang="en">Multi-module cycle — how it works</span></h3>
|
|
401
|
+
<p><span data-lang="fr">Le multi-module fonctionne en deux temps :</span>
|
|
402
|
+
<span data-lang="en">Multi-module works in two steps:</span></p>
|
|
403
|
+
<ol>
|
|
404
|
+
<li><span data-lang="fr"><strong>Génération du plan</strong> : <code>/ba-create-plan-development APP_A APP_B</code> lit chaque <code>entité.md</code>, détecte les FK cross-module, trie les modules par dépendance en <strong>vagues parallélisables</strong>, et écrit <code>dev-plan.json</code>.</span><span data-lang="en"><strong>Plan generation</strong>: <code>/ba-create-plan-development APP_A APP_B</code> reads every <code>entité.md</code>, detects cross-module FKs, sorts modules by dependency into <strong>parallelisable waves</strong>, and writes <code>dev-plan.json</code>.</span></li>
|
|
405
|
+
<li><span data-lang="fr"><strong>Exécution du plan</strong> : <code>/ba-develop-plan</code> traite une vague à la fois. Dans chaque vague, il lance un subagent <code>/ba-develop</code> par module en parallèle ; une fois les N modules terminés, un gate compile + tests sur l'ensemble doit passer avant la vague suivante.</span><span data-lang="en"><strong>Plan execution</strong>: <code>/ba-develop-plan</code> processes one wave at a time. Within each wave it launches one <code>/ba-develop</code> subagent per module in parallel; once the N modules complete, a compile + tests gate over the whole set must pass before the next wave starts.</span></li>
|
|
406
|
+
</ol>
|
|
407
|
+
<p><span data-lang="fr">Exemple : un plan à 3 vagues sur 2 applications.</span>
|
|
408
|
+
<span data-lang="en">Example: a 3-wave plan over 2 applications.</span></p>
|
|
409
|
+
<div class="svg-diagram">
|
|
410
|
+
<svg viewBox="0 0 820 360" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Multi-module waves execution">
|
|
411
|
+
<defs>
|
|
412
|
+
<marker id="w-arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
|
|
413
|
+
<path d="M0,0 L10,5 L0,10 z" fill="#475569"/>
|
|
414
|
+
</marker>
|
|
415
|
+
<marker id="w-arrow-gate" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="6" markerHeight="6" orient="auto">
|
|
416
|
+
<path d="M0,0 L10,5 L0,10 z" fill="#06b6d4"/>
|
|
417
|
+
</marker>
|
|
418
|
+
</defs>
|
|
419
|
+
<!-- Wave 1 column -->
|
|
420
|
+
<text x="120" y="30" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="13" font-weight="600">Wave 1</text>
|
|
421
|
+
<text x="120" y="46" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">3 modules in parallel</text>
|
|
422
|
+
<rect x="20" y="60" width="200" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
|
|
423
|
+
<text x="120" y="78" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">APP_A/Module_A1</text>
|
|
424
|
+
<text x="120" y="92" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">/ba-develop subagent</text>
|
|
425
|
+
<rect x="20" y="110" width="200" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
|
|
426
|
+
<text x="120" y="128" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">APP_A/Module_A2</text>
|
|
427
|
+
<text x="120" y="142" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">/ba-develop subagent</text>
|
|
428
|
+
<rect x="20" y="160" width="200" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
|
|
429
|
+
<text x="120" y="178" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">APP_B/Module_B1</text>
|
|
430
|
+
<text x="120" y="192" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">/ba-develop subagent</text>
|
|
431
|
+
<!-- Wave 1 gate -->
|
|
432
|
+
<line x1="220" y1="130" x2="265" y2="130" stroke="#06b6d4" stroke-width="2" marker-end="url(#w-arrow-gate)"/>
|
|
433
|
+
<rect x="265" y="105" width="60" height="50" rx="6" fill="#0f172a" stroke="#06b6d4"/>
|
|
434
|
+
<text x="295" y="125" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="10" font-weight="600">Gate</text>
|
|
435
|
+
<text x="295" y="140" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="9">compile</text>
|
|
436
|
+
<text x="295" y="152" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="9">tests</text>
|
|
437
|
+
<line x1="325" y1="130" x2="370" y2="130" stroke="#06b6d4" stroke-width="2" marker-end="url(#w-arrow-gate)"/>
|
|
438
|
+
<!-- Wave 2 column -->
|
|
439
|
+
<text x="470" y="30" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="13" font-weight="600">Wave 2</text>
|
|
440
|
+
<text x="470" y="46" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">2 modules in parallel</text>
|
|
441
|
+
<rect x="370" y="85" width="200" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
|
|
442
|
+
<text x="470" y="103" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">APP_A/Module_A3</text>
|
|
443
|
+
<text x="470" y="117" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">depends on A1</text>
|
|
444
|
+
<rect x="370" y="135" width="200" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
|
|
445
|
+
<text x="470" y="153" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">APP_B/Module_B2</text>
|
|
446
|
+
<text x="470" y="167" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">depends on A2, B1</text>
|
|
447
|
+
<!-- Wave 2 gate -->
|
|
448
|
+
<line x1="570" y1="130" x2="615" y2="130" stroke="#06b6d4" stroke-width="2" marker-end="url(#w-arrow-gate)"/>
|
|
449
|
+
<rect x="615" y="105" width="60" height="50" rx="6" fill="#0f172a" stroke="#06b6d4"/>
|
|
450
|
+
<text x="645" y="125" text-anchor="middle" fill="#06b6d4" font-family="Inter,sans-serif" font-size="10" font-weight="600">Gate</text>
|
|
451
|
+
<text x="645" y="140" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="9">compile</text>
|
|
452
|
+
<text x="645" y="152" text-anchor="middle" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="9">tests</text>
|
|
453
|
+
<line x1="675" y1="130" x2="720" y2="130" stroke="#06b6d4" stroke-width="2" marker-end="url(#w-arrow-gate)"/>
|
|
454
|
+
<!-- Wave 3 column -->
|
|
455
|
+
<text x="760" y="30" text-anchor="middle" fill="#818cf8" font-family="Inter,sans-serif" font-size="13" font-weight="600">Wave 3</text>
|
|
456
|
+
<text x="760" y="46" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="10">1 module</text>
|
|
457
|
+
<rect x="720" y="110" width="90" height="40" rx="6" fill="#1e293b" stroke="#6366f1"/>
|
|
458
|
+
<text x="765" y="128" text-anchor="middle" fill="#c8d0dc" font-family="Fira Code,monospace" font-size="11">B/B3</text>
|
|
459
|
+
<text x="765" y="142" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">depends on B2</text>
|
|
460
|
+
<!-- Final output -->
|
|
461
|
+
<line x1="765" y1="150" x2="765" y2="180" stroke="#22c55e" stroke-width="2" marker-end="url(#w-arrow)"/>
|
|
462
|
+
<rect x="690" y="180" width="150" height="40" rx="6" fill="#1e293b" stroke="#22c55e" stroke-width="2"/>
|
|
463
|
+
<text x="765" y="200" text-anchor="middle" fill="#22c55e" font-family="Inter,sans-serif" font-size="11" font-weight="600">Final smoke-test</text>
|
|
464
|
+
<text x="765" y="214" text-anchor="middle" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="9">all apps green</text>
|
|
465
|
+
<!-- Caption -->
|
|
466
|
+
<rect x="20" y="260" width="790" height="80" rx="6" fill="#0f172a" stroke="#334155"/>
|
|
467
|
+
<text x="40" y="282" fill="#c8d0dc" font-family="Inter,sans-serif" font-size="12" font-weight="600">Why waves?</text>
|
|
468
|
+
<text x="40" y="302" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="11">A module whose entity is referenced as a foreign key by another module must ship before its dependents.</text>
|
|
469
|
+
<text x="40" y="318" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="11">Waves encode that ordering (topological sort on the FK graph) while letting independent modules run in parallel.</text>
|
|
470
|
+
<text x="40" y="334" fill="#8a9bb0" font-family="Inter,sans-serif" font-size="11">A gate between waves verifies the whole set compiles and passes its tests before unlocking the next wave.</text>
|
|
471
|
+
</svg>
|
|
472
|
+
</div>
|
|
473
|
+
|
|
474
|
+
<table>
|
|
475
|
+
<thead>
|
|
476
|
+
<tr>
|
|
477
|
+
<th><span data-lang="fr">Vague</span><span data-lang="en">Wave</span></th>
|
|
478
|
+
<th><span data-lang="fr">Modules développés en parallèle</span><span data-lang="en">Modules developed in parallel</span></th>
|
|
479
|
+
<th><span data-lang="fr">Gate de sortie</span><span data-lang="en">Exit gate</span></th>
|
|
480
|
+
</tr>
|
|
481
|
+
</thead>
|
|
482
|
+
<tbody><tr>
|
|
483
|
+
<td>1</td>
|
|
484
|
+
<td><code>APP_A/Module_A1</code>, <code>APP_A/Module_A2</code>, <code>APP_B/Module_B1</code></td>
|
|
485
|
+
<td><span data-lang="fr">compile + tests des 3 modules</span><span data-lang="en">compile + tests of the 3 modules</span></td>
|
|
486
|
+
</tr>
|
|
487
|
+
<tr>
|
|
488
|
+
<td>2</td>
|
|
489
|
+
<td><code>APP_A/Module_A3</code>, <code>APP_B/Module_B2</code></td>
|
|
490
|
+
<td><span data-lang="fr">compile + tests des 2 modules</span><span data-lang="en">compile + tests of the 2 modules</span></td>
|
|
491
|
+
</tr>
|
|
492
|
+
<tr>
|
|
493
|
+
<td>3</td>
|
|
494
|
+
<td><code>APP_B/Module_B3</code></td>
|
|
495
|
+
<td><span data-lang="fr">smoke-test final</span><span data-lang="en">final smoke-test</span></td>
|
|
496
|
+
</tr>
|
|
497
|
+
</tbody></table>
|
|
498
|
+
<p><span data-lang="fr"><strong>Pourquoi des vagues ?</strong> Un module qui possède une entité référencée comme FK par un autre module doit être livré avant ses dépendants. Les vagues encodent cet ordre tout en autorisant le maximum de parallélisme.</span>
|
|
499
|
+
<span data-lang="en"><strong>Why waves?</strong> A module whose entity is referenced as an FK by another module must ship before its dependents. Waves encode that ordering while allowing maximum parallelism.</span></p>
|
|
500
|
+
<h2><span data-lang="fr">Outil de remédiation — projets legacy</span><span data-lang="en">Remediation tool — legacy projects</span></h2>
|
|
501
|
+
<p><span data-lang="fr">Pour les projets qui ont été développés <strong>avant</strong> la propagation typée des actions (custom actions en texte libre dans <code>screen.md</code>, drifts <code>pagespec / Controller / service.ts</code> accumulés), un CLI standalone cartographie les désalignements sans rien modifier par défaut :</span>
|
|
502
|
+
<span data-lang="en">For projects developed <strong>before</strong> typed action propagation existed (free-text custom actions in <code>screen.md</code>, accumulated <code>pagespec / Controller / service.ts</code> drifts), a standalone CLI maps the misalignments without modifying anything by default:</span></p>
|
|
503
|
+
<pre><code class="language-pwsh">npx tsx templates/skills/development/audit-dev-frontend/cli/audit-dev-actions-alignment/index.ts `
|
|
504
|
+
--project-path "<chemin>/web/<app>-web" `
|
|
505
|
+
--backend-path "<chemin>" `
|
|
506
|
+
--module-path "<chemin>/.smartstack/ba/<APP>/<MODULE>" `
|
|
507
|
+
--mode report-only
|
|
508
|
+
</code></pre>
|
|
509
|
+
<p><span data-lang="fr">Sortie : <code>_audit/actions-alignment.md</code> listant les drifts par catégorie (<code>ACTION-DRIFT-001..005</code>) avec, pour chaque drift, le pagespec / Controller / service concerné et la commande de correction. Le mode <code>--mode apply</code> existe (opt-in) avec <code>--source-of-truth pagespec|controller</code> pour choisir qui gagne — toujours à utiliser avec un commit propre derrière.</span>
|
|
510
|
+
<span data-lang="en">Output: <code>_audit/actions-alignment.md</code> listing drifts per category (<code>ACTION-DRIFT-001..005</code>) with, for each, the affected pagespec / Controller / service and the fix command. The <code>--mode apply</code> mode exists (opt-in) with <code>--source-of-truth pagespec|controller</code> to choose who wins — always use it with a clean commit behind.</span></p>
|
|
511
|
+
<p><span data-lang="fr"><strong>Quand l'utiliser :</strong> on hérite d'un projet ancien ; on observe un bug HTTP 405 / 404 sur un bouton ; on veut auditer un module avant de le migrer au format custom actions typé.</span>
|
|
512
|
+
<span data-lang="en"><strong>When to use it:</strong> inheriting an old project; observing a 405 / 404 HTTP bug on a button; auditing a module before migrating it to typed custom actions.</span></p>
|
|
513
|
+
<h2><span data-lang="fr">Skills orchestrées</span><span data-lang="en">Orchestrated skills</span></h2>
|
|
514
|
+
<p><span data-lang="fr">La table ci-dessous liste toutes les skills mobilisées (planification, backend, frontend, audits, tests) :</span>
|
|
515
|
+
<span data-lang="en">The table below lists every mobilised skill (planning, backend, frontend, audits, tests):</span></p>
|
|
516
|
+
|
|
517
|
+
|
|
518
|
+
<section class="skills-section">
|
|
519
|
+
<h2 data-lang="fr">Skills orchestrées par <code>/ba-develop</code></h2>
|
|
520
|
+
<h2 data-lang="en">Skills orchestrated by <code>/ba-develop</code></h2>
|
|
521
|
+
<h3 id="phase-business-analyse">business-analyse <span class="skill-count">(1)</span></h3>
|
|
522
|
+
<div class="skill-grid">
|
|
523
|
+
<div class="skill-card" id="skill-ba-create-plan-development">
|
|
524
|
+
<div class="skill-card-header">
|
|
525
|
+
<code class="skill-slug">/ba-create-plan-development</code>
|
|
526
|
+
<span class="skill-badge skill-badge-phase">business-analyse</span>
|
|
527
|
+
</div>
|
|
528
|
+
<p class="skill-description">Generates a phased development plan ordering modules by their cross-module data-model dependencies. Reads entité.md across selected applications, builds a dependency graph, topological-sorts into parallel development waves, and writes dev-plan.md. Invoke between the BA audit phase and /ba-develop.</p>
|
|
529
|
+
<div class="skill-args"><span class="skill-args-label">args:</span> <code><APP1> [APP2] …</code></div>
|
|
530
|
+
<div class="skill-tools">
|
|
531
|
+
<span class="skill-tool-tag">Bash</span>
|
|
532
|
+
<span class="skill-tool-tag">Read</span>
|
|
533
|
+
<span class="skill-tool-tag">Glob</span>
|
|
534
|
+
</div>
|
|
535
|
+
</div>
|
|
536
|
+
</div>
|
|
537
|
+
<h3 id="phase-devapi">devApi <span class="skill-count">(1)</span></h3>
|
|
538
|
+
<div class="skill-grid">
|
|
539
|
+
<div class="skill-card" id="skill-audit-dev-api">
|
|
540
|
+
<div class="skill-card-header">
|
|
541
|
+
<code class="skill-slug">/audit-dev-api</code>
|
|
542
|
+
<span class="skill-badge skill-badge-phase">devApi</span>
|
|
543
|
+
</div>
|
|
544
|
+
<p class="skill-description">Audit code generated by the API phase against the PRD slice — controllers, routes, HTTP actions, RBAC attributes, DTOs, integration tests</p>
|
|
545
|
+
</div>
|
|
546
|
+
</div>
|
|
547
|
+
<h3 id="phase-devcore">devCore <span class="skill-count">(1)</span></h3>
|
|
548
|
+
<div class="skill-grid">
|
|
549
|
+
<div class="skill-card" id="skill-audit-dev-core">
|
|
550
|
+
<div class="skill-card-header">
|
|
551
|
+
<code class="skill-slug">/audit-dev-core</code>
|
|
552
|
+
<span class="skill-badge skill-badge-phase">devCore</span>
|
|
553
|
+
</div>
|
|
554
|
+
<p class="skill-description">Audit code generated by Phase 0 (Core Foundation Seed) — every PRD module must have nav + roles + permissions in the 5 Core providers, DI registration must be in place, and the providers must be deterministic (no hand-edits).</p>
|
|
555
|
+
</div>
|
|
556
|
+
</div>
|
|
557
|
+
<h3 id="phase-devdata">devData <span class="skill-count">(1)</span></h3>
|
|
558
|
+
<div class="skill-grid">
|
|
559
|
+
<div class="skill-card" id="skill-audit-dev-data">
|
|
560
|
+
<div class="skill-card-header">
|
|
561
|
+
<code class="skill-slug">/audit-dev-data</code>
|
|
562
|
+
<span class="skill-badge skill-badge-phase">devData</span>
|
|
563
|
+
</div>
|
|
564
|
+
<p class="skill-description">Audit code generated by the Data phase against the PRD slice — migrations, seed providers, navigation/permissions coverage, FK constraints, drift detection</p>
|
|
565
|
+
</div>
|
|
566
|
+
</div>
|
|
567
|
+
<h3 id="phase-devdomain">devDomain <span class="skill-count">(1)</span></h3>
|
|
568
|
+
<div class="skill-grid">
|
|
569
|
+
<div class="skill-card" id="skill-audit-dev-domain">
|
|
570
|
+
<div class="skill-card-header">
|
|
571
|
+
<code class="skill-slug">/audit-dev-domain</code>
|
|
572
|
+
<span class="skill-badge skill-badge-phase">devDomain</span>
|
|
573
|
+
</div>
|
|
574
|
+
<p class="skill-description">Audit code generated by the Domain phase against the PRD slice — entity files, FK pairing, naming, traceability, drift detection</p>
|
|
575
|
+
</div>
|
|
576
|
+
</div>
|
|
577
|
+
<h3 id="phase-development-audit">development/audit <span class="skill-count">(2)</span></h3>
|
|
578
|
+
<div class="skill-grid">
|
|
579
|
+
<div class="skill-card" id="skill-audit">
|
|
580
|
+
<div class="skill-card-header">
|
|
581
|
+
<code class="skill-slug">/audit</code>
|
|
582
|
+
<span class="skill-badge skill-badge-phase">development/audit</span>
|
|
583
|
+
</div>
|
|
584
|
+
<p class="skill-description">Audit du code genere contre les conventions SmartStack (i18n, React, structure, routing dynamique, RBAC, securite)</p>
|
|
585
|
+
</div>
|
|
586
|
+
<div class="skill-card" id="skill-audit-routing-dynamic">
|
|
587
|
+
<div class="skill-card-header">
|
|
588
|
+
<code class="skill-slug">/audit-routing-dynamic</code>
|
|
589
|
+
<span class="skill-badge skill-badge-phase">development/audit</span>
|
|
590
|
+
</div>
|
|
591
|
+
<p class="skill-description">Audit READ-ONLY des skills de developpement SmartStack pour verifier leur conformite a l'architecture de routing dynamique DB-driven (PageRegistry + componentRegistry + DynamicRouter). Produit un rapport textuel sans modifier aucun skill.</p>
|
|
592
|
+
</div>
|
|
593
|
+
</div>
|
|
594
|
+
<h3 id="phase-development-backend">development/backend <span class="skill-count">(6)</span></h3>
|
|
595
|
+
<div class="skill-grid">
|
|
596
|
+
<div class="skill-card" id="skill-backend-business-layer">
|
|
597
|
+
<div class="skill-card-header">
|
|
598
|
+
<code class="skill-slug">/backend-business-layer</code>
|
|
599
|
+
<span class="skill-badge skill-badge-phase">development/backend</span>
|
|
600
|
+
</div>
|
|
601
|
+
<p class="skill-description">Generates full CQRS stack — Commands, Queries, Handlers, DTOs, Validators, Service interface + implementation — on SmartStack NuGet abstractions (ICoreDbContext, MediatR, FluentValidation).</p>
|
|
602
|
+
</div>
|
|
603
|
+
<div class="skill-card" id="skill-backend-controller">
|
|
604
|
+
<div class="skill-card-header">
|
|
605
|
+
<code class="skill-slug">/backend-controller</code>
|
|
606
|
+
<span class="skill-badge skill-badge-phase">development/backend</span>
|
|
607
|
+
</div>
|
|
608
|
+
<p class="skill-description">Generates API controllers with NavRoute, RequirePermission, auto-mapped DTO → Command conversions, and module-scoped permission classes, consuming NuGet packages (SmartStack.Core, SmartStack.Api, MediatR).</p>
|
|
609
|
+
</div>
|
|
610
|
+
<div class="skill-card" id="skill-backend-core-seed">
|
|
611
|
+
<div class="skill-card-header">
|
|
612
|
+
<code class="skill-slug">/backend-core-seed</code>
|
|
613
|
+
<span class="skill-badge skill-badge-phase">development/backend</span>
|
|
614
|
+
</div>
|
|
615
|
+
<p class="skill-description">Phase 0 of /ba-develop — generates one Core Foundation Seed bundle per declared application (5 IClientSeedDataProvider classes per app covering navigation + roles + permissions + role-permission mappings + dev test users) by invoking the deterministic `scaffold-core-seed` CLI. Zero creative work for the agent: the spec is built by the Studio backend (`prepareCoreSeedContext`) from the BA menu / actors / permissions and dropped to a temp file before this skill runs.</p>
|
|
616
|
+
</div>
|
|
617
|
+
<div class="skill-card" id="skill-backend-data-layer">
|
|
618
|
+
<div class="skill-card-header">
|
|
619
|
+
<code class="skill-slug">/backend-data-layer</code>
|
|
620
|
+
<span class="skill-badge skill-badge-phase">development/backend</span>
|
|
621
|
+
</div>
|
|
622
|
+
<p class="skill-description">Generates Domain entities with BaseEntity (SmartStack.Core.Domain NuGet), domain events, soft-delete, EF Core configurations with schema targeting, and migrations.</p>
|
|
623
|
+
</div>
|
|
624
|
+
<div class="skill-card" id="skill-backend-seed-data">
|
|
625
|
+
<div class="skill-card-header">
|
|
626
|
+
<code class="skill-slug">/backend-seed-data</code>
|
|
627
|
+
<span class="skill-badge skill-badge-phase">development/backend</span>
|
|
628
|
+
</div>
|
|
629
|
+
<p class="skill-description">Generates module-scoped IClientSeedDataProvider implementations for reference data (lookup tables, enum codes) and per-module overrides. Cross-app navigation, roles, permissions, and role-permission mappings are NOT this skill's job — they live in scaffold-core-seed (Phase 0). Output goes under Persistence/Seeding/Applications/{AppPascal}/Modules/{ModuleCode}/ to mirror the per-application module layout.</p>
|
|
630
|
+
</div>
|
|
631
|
+
<div class="skill-card" id="skill-dotnet-structure">
|
|
632
|
+
<div class="skill-card-header">
|
|
633
|
+
<code class="skill-slug">/dotnet-structure</code>
|
|
634
|
+
<span class="skill-badge skill-badge-phase">development/backend</span>
|
|
635
|
+
</div>
|
|
636
|
+
<p class="skill-description">.NET Clean Architecture 4-layer SmartStack</p>
|
|
637
|
+
</div>
|
|
638
|
+
</div>
|
|
639
|
+
<h3 id="phase-development-debug">development/debug <span class="skill-count">(6)</span></h3>
|
|
640
|
+
<div class="skill-grid">
|
|
641
|
+
<div class="skill-card" id="skill-audit-bug">
|
|
642
|
+
<div class="skill-card-header">
|
|
643
|
+
<code class="skill-slug">/audit-bug</code>
|
|
644
|
+
<span class="skill-badge skill-badge-phase">development/debug</span>
|
|
645
|
+
</div>
|
|
646
|
+
<p class="skill-description">Refine a user-reported bug — rephrase, classify, and cross-reference the code in the current worktree.</p>
|
|
647
|
+
</div>
|
|
648
|
+
<div class="skill-card" id="skill-debug">
|
|
649
|
+
<div class="skill-card-header">
|
|
650
|
+
<code class="skill-slug">/debug</code>
|
|
651
|
+
<span class="skill-badge skill-badge-phase">development/debug</span>
|
|
652
|
+
</div>
|
|
653
|
+
<p class="skill-description">Diagnose and auto-fix SmartStack dev-runner issues (backend + frontend)</p>
|
|
654
|
+
</div>
|
|
655
|
+
<div class="skill-card" id="skill-debug-backend">
|
|
656
|
+
<div class="skill-card-header">
|
|
657
|
+
<code class="skill-slug">/debug-backend</code>
|
|
658
|
+
<span class="skill-badge skill-badge-phase">development/debug</span>
|
|
659
|
+
</div>
|
|
660
|
+
<p class="skill-description">Diagnose and auto-fix SmartStack .NET backend failures</p>
|
|
661
|
+
</div>
|
|
662
|
+
<div class="skill-card" id="skill-debug-frontend">
|
|
663
|
+
<div class="skill-card-header">
|
|
664
|
+
<code class="skill-slug">/debug-frontend</code>
|
|
665
|
+
<span class="skill-badge skill-badge-phase">development/debug</span>
|
|
666
|
+
</div>
|
|
667
|
+
<p class="skill-description">Diagnose and auto-fix SmartStack React+Vite frontend failures</p>
|
|
668
|
+
</div>
|
|
669
|
+
<div class="skill-card" id="skill-discuss-bug">
|
|
670
|
+
<div class="skill-card-header">
|
|
671
|
+
<code class="skill-slug">/discuss-bug</code>
|
|
672
|
+
<span class="skill-badge skill-badge-phase">development/debug</span>
|
|
673
|
+
</div>
|
|
674
|
+
<p class="skill-description">Conversational triage on a tracked bug — answer the user, decide whether to reopen the fix or re-audit, never modify code directly.</p>
|
|
675
|
+
</div>
|
|
676
|
+
<div class="skill-card" id="skill-fix-bug">
|
|
677
|
+
<div class="skill-card-header">
|
|
678
|
+
<code class="skill-slug">/fix-bug</code>
|
|
679
|
+
<span class="skill-badge skill-badge-phase">development/debug</span>
|
|
680
|
+
</div>
|
|
681
|
+
<p class="skill-description">Implement a fix for a user-reported bug — edit code, verify, commit atomically with a traceable message.</p>
|
|
682
|
+
</div>
|
|
683
|
+
</div>
|
|
684
|
+
<h3 id="phase-development-frontend">development/frontend <span class="skill-count">(7)</span></h3>
|
|
685
|
+
<div class="skill-grid">
|
|
686
|
+
<div class="skill-card" id="skill-frontend-api-client">
|
|
687
|
+
<div class="skill-card-header">
|
|
688
|
+
<code class="skill-slug">/frontend-api-client</code>
|
|
689
|
+
<span class="skill-badge skill-badge-phase">development/frontend</span>
|
|
690
|
+
</div>
|
|
691
|
+
<p class="skill-description">Generates TypeScript service clients + React Query hooks using smartstackClient (shared axios instance from @atlashub/smartstack npm package) and direct REST paths (/api/{module}/{plural}).</p>
|
|
692
|
+
</div>
|
|
693
|
+
<div class="skill-card" id="skill-frontend-auth">
|
|
694
|
+
<div class="skill-card-header">
|
|
695
|
+
<code class="skill-slug">/frontend-auth</code>
|
|
696
|
+
<span class="skill-badge skill-badge-phase">development/frontend</span>
|
|
697
|
+
</div>
|
|
698
|
+
<p class="skill-description">Scaffold the per-project useAuth hook + PermissionGuard component</p>
|
|
699
|
+
</div>
|
|
700
|
+
<div class="skill-card" id="skill-frontend-component">
|
|
701
|
+
<div class="skill-card-header">
|
|
702
|
+
<code class="skill-slug">/frontend-component</code>
|
|
703
|
+
<span class="skill-badge skill-badge-phase">development/frontend</span>
|
|
704
|
+
</div>
|
|
705
|
+
<p class="skill-description">Generates React page components (list, detail, form) consuming @atlashub/smartstack npm package: PermissionGuard, Slot, SmartStackProvider. i18n keys are split per entity to prevent concurrent-generation overwrites.</p>
|
|
706
|
+
</div>
|
|
707
|
+
<div class="skill-card" id="skill-frontend-extension-config">
|
|
708
|
+
<div class="skill-card-header">
|
|
709
|
+
<code class="skill-slug">/frontend-extension-config</code>
|
|
710
|
+
<span class="skill-badge skill-badge-phase">development/frontend</span>
|
|
711
|
+
</div>
|
|
712
|
+
<p class="skill-description">Generates ExtensionConfig (@atlashub/smartstack) with slot definitions that mirror the <Slot name="..."> calls emitted by frontend/component.</p>
|
|
713
|
+
</div>
|
|
714
|
+
<div class="skill-card" id="skill-frontend-routes">
|
|
715
|
+
<div class="skill-card-header">
|
|
716
|
+
<code class="skill-slug">/frontend-routes</code>
|
|
717
|
+
<span class="skill-badge skill-badge-phase">development/frontend</span>
|
|
718
|
+
</div>
|
|
719
|
+
<p class="skill-description">Generates PageRegistry registrations for SmartStack's DB-driven routing (DynamicRouter). Validates componentKey format before emission and fails loud on bad specs rather than producing silent-spinner registries.</p>
|
|
720
|
+
</div>
|
|
721
|
+
<div class="skill-card" id="skill-frontend-structure">
|
|
722
|
+
<div class="skill-card-header">
|
|
723
|
+
<code class="skill-slug">/frontend-structure</code>
|
|
724
|
+
<span class="skill-badge skill-badge-phase">development/frontend</span>
|
|
725
|
+
</div>
|
|
726
|
+
<p class="skill-description">React + Vite + Tailwind + SmartStack frontend structure (npm consumer of @atlashub/smartstack)</p>
|
|
727
|
+
</div>
|
|
728
|
+
<div class="skill-card" id="skill-ui-polish">
|
|
729
|
+
<div class="skill-card-header">
|
|
730
|
+
<code class="skill-slug">/ui-polish</code>
|
|
731
|
+
<span class="skill-badge skill-badge-phase">development/frontend</span>
|
|
732
|
+
</div>
|
|
733
|
+
<p class="skill-description">Audits and auto-fixes React pages in a generated SmartStack frontend against the customisation-ui design system standards (CSS variable tokens, PageTemplate wrapper, DataTable/EntityCard components, lucide-react icons, semantic badges, permission keys, i18n namespaces). Produces a violation report (audit mode) or applies mechanical fixes (apply mode) based on tokens.json. Invoked after Phase 4 of ba-develop to guarantee visual consistency with the reference app.</p>
|
|
734
|
+
</div>
|
|
735
|
+
</div>
|
|
736
|
+
<h3 id="phase-development-run">development/run <span class="skill-count">(3)</span></h3>
|
|
737
|
+
<div class="skill-grid">
|
|
738
|
+
<div class="skill-card" id="skill-run">
|
|
739
|
+
<div class="skill-card-header">
|
|
740
|
+
<code class="skill-slug">/run</code>
|
|
741
|
+
<span class="skill-badge skill-badge-phase">development/run</span>
|
|
742
|
+
</div>
|
|
743
|
+
<p class="skill-description">Kill orphans + launch backend + frontend, auto-retry on failure</p>
|
|
744
|
+
</div>
|
|
745
|
+
<div class="skill-card" id="skill-run-backend">
|
|
746
|
+
<div class="skill-card-header">
|
|
747
|
+
<code class="skill-slug">/run-backend</code>
|
|
748
|
+
<span class="skill-badge skill-badge-phase">development/run</span>
|
|
749
|
+
</div>
|
|
750
|
+
<p class="skill-description">Kill stale .Api processes, launch dotnet run, verify /health — retry loop</p>
|
|
751
|
+
</div>
|
|
752
|
+
<div class="skill-card" id="skill-run-frontend">
|
|
753
|
+
<div class="skill-card-header">
|
|
754
|
+
<code class="skill-slug">/run-frontend</code>
|
|
755
|
+
<span class="skill-badge skill-badge-phase">development/run</span>
|
|
756
|
+
</div>
|
|
757
|
+
<p class="skill-description">Kill stale Vite, npm run dev, verify /, retry loop</p>
|
|
758
|
+
</div>
|
|
759
|
+
</div>
|
|
760
|
+
<h3 id="phase-development-smoke-test">development/smoke-test <span class="skill-count">(1)</span></h3>
|
|
761
|
+
<div class="skill-grid">
|
|
762
|
+
<div class="skill-card" id="skill-smoke-test">
|
|
763
|
+
<div class="skill-card-header">
|
|
764
|
+
<code class="skill-slug">/smoke-test</code>
|
|
765
|
+
<span class="skill-badge skill-badge-phase">development/smoke-test</span>
|
|
766
|
+
</div>
|
|
767
|
+
<p class="skill-description">Runtime smoke-test for a freshly-generated SmartStack.app project. Starts the backend (`dotnet run`) and the frontend (`npm run dev`) in the background, waits for both to become reachable, then probes every page route and every API endpoint scaffolded by the pipeline. Fails the run if ANY endpoint returns a 4xx/5xx status code or if any page is missing from disk. Designed to be the final gate of `ba-develop` so cross-stack drift surfaces in CI rather than at the user's first manual `npm run dev`.</p>
|
|
768
|
+
</div>
|
|
769
|
+
</div>
|
|
770
|
+
<h3 id="phase-development-testing">development/testing <span class="skill-count">(3)</span></h3>
|
|
771
|
+
<div class="skill-grid">
|
|
772
|
+
<div class="skill-card" id="skill-development-testing-fix-build">
|
|
773
|
+
<div class="skill-card-header">
|
|
774
|
+
<code class="skill-slug">/development-testing-fix-build</code>
|
|
775
|
+
<span class="skill-badge skill-badge-phase">development/testing</span>
|
|
776
|
+
</div>
|
|
777
|
+
<p class="skill-description">Auto-correct a SINGLE compilation error surfaced by the Studio's Dev Runner (dotnet CS####, tsc TS####, vite resolve). The caller provides one `BuildError` with file/line/column/code/message. Your job is to apply the MINIMUM patch to make that specific error go away, without refactoring surrounding code. Invoked by `build-fix-runner.ts` in a retry loop (max 15 iterations, convergence guard, rebuild-and-reparse after each attempt).</p>
|
|
778
|
+
</div>
|
|
779
|
+
<div class="skill-card" id="skill-development-testing-ui-test">
|
|
780
|
+
<div class="skill-card-header">
|
|
781
|
+
<code class="skill-slug">/development-testing-ui-test</code>
|
|
782
|
+
<span class="skill-badge skill-badge-phase">development/testing</span>
|
|
783
|
+
</div>
|
|
784
|
+
<p class="skill-description">Phase 5 UI tests — drives dev-browser to navigate every scaffolded page, submit forms with role-based seeded users, and auto-correct failures via the existing fix-bug skill loop (max 50 iterations per test). Runs after the frontend scaffolders complete (routes + component + api-client + extension-config) and verifies the full backend ↔ frontend round-trip.</p>
|
|
785
|
+
</div>
|
|
786
|
+
<div class="skill-card" id="skill-smoke-http">
|
|
787
|
+
<div class="skill-card-header">
|
|
788
|
+
<code class="skill-slug">/smoke-http</code>
|
|
789
|
+
<span class="skill-badge skill-badge-phase">development/testing</span>
|
|
790
|
+
</div>
|
|
791
|
+
<p class="skill-description">HTTP smoke prober for generated SmartStack applications. Given a list of URLs (frontend routes + backend API endpoints), fetches each one, follows redirects, applies retry-on-startup, and returns a JSON report of 200/non-200 results. Invoked after Phase 4 of ba-develop to detect broken routes and missing API endpoints before the user ever sees a 404 in the browser.</p>
|
|
792
|
+
</div>
|
|
793
|
+
</div>
|
|
794
|
+
<h3 id="phase-devfrontend">devFrontend <span class="skill-count">(3)</span></h3>
|
|
795
|
+
<div class="skill-grid">
|
|
796
|
+
<div class="skill-card" id="skill-audit-dev-frontend">
|
|
797
|
+
<div class="skill-card-header">
|
|
798
|
+
<code class="skill-slug">/audit-dev-frontend</code>
|
|
799
|
+
<span class="skill-badge skill-badge-phase">devFrontend</span>
|
|
800
|
+
</div>
|
|
801
|
+
<p class="skill-description">Audit code generated by the Frontend phase against the PRD slice — page coverage, registry wiring, lazy-import integrity, i18n namespaces, drift detection</p>
|
|
802
|
+
</div>
|
|
803
|
+
<div class="skill-card" id="skill-scaffold-layout">
|
|
804
|
+
<div class="skill-card-header">
|
|
805
|
+
<code class="skill-slug">/scaffold-layout</code>
|
|
806
|
+
<span class="skill-badge skill-badge-phase">devFrontend</span>
|
|
807
|
+
</div>
|
|
808
|
+
<p class="skill-description">Scaffold the app-level layout shell (PageTemplate + AppShell) reading nav from /api/navigation/menu, honoring per-app branding via @customised marker.</p>
|
|
809
|
+
</div>
|
|
810
|
+
<div class="skill-card" id="skill-scaffold-theme">
|
|
811
|
+
<div class="skill-card-header">
|
|
812
|
+
<code class="skill-slug">/scaffold-theme</code>
|
|
813
|
+
<span class="skill-badge skill-badge-phase">devFrontend</span>
|
|
814
|
+
</div>
|
|
815
|
+
<p class="skill-description">Bootstrap src/index.css with Tailwind v4 + Shoelace token overrides + design tokens from the PRD theme slice (or SmartStack defaults). Idempotent overwrite.</p>
|
|
816
|
+
</div>
|
|
817
|
+
</div>
|
|
818
|
+
<h3 id="phase-infrastructure">infrastructure <span class="skill-count">(2)</span></h3>
|
|
819
|
+
<div class="skill-grid">
|
|
820
|
+
<div class="skill-card" id="skill-ba-develop">
|
|
821
|
+
<div class="skill-card-header">
|
|
822
|
+
<code class="skill-slug">/ba-develop</code>
|
|
823
|
+
<span class="skill-badge skill-badge-phase">infrastructure</span>
|
|
824
|
+
</div>
|
|
825
|
+
<p class="skill-description">Consumes a module's PRD on disk (`prd.md` + 3 phase slices + `pagespecs/*.md` under `.smartstack/ba/<APP>/<MODULE>/`) and drives development through 4 sequential phases (Core Foundation Seed → Entities → API → Frontend), each running as a subagent. Phase 0 is deterministic — the agent invokes scaffold-core-seed to write the per-app navigation + roles + permissions in one shot, eliminating the silent empty-module regression. Gates between phases verify compile + tests + per-module coverage before advancing. Invoked after `/ba-create-prd` + `/ba-audit-prd` (dev-ready GO, score ≥ 80).</p>
|
|
826
|
+
</div>
|
|
827
|
+
<div class="skill-card" id="skill-ba-develop-plan">
|
|
828
|
+
<div class="skill-card-header">
|
|
829
|
+
<code class="skill-slug">/ba-develop-plan</code>
|
|
830
|
+
<span class="skill-badge skill-badge-phase">infrastructure</span>
|
|
831
|
+
</div>
|
|
832
|
+
<p class="skill-description">Orchestrates multi-module development across applications by executing the phased plan from /ba-create-plan-development. Reads dev-plan.json, runs a preflight check, then drives wave-by-wave execution: for each wave, launches one /ba-develop subagent per module (parallel within a wave), gates between waves (compile + tests for all modules), and reports unified results.</p>
|
|
833
|
+
<div class="skill-args"><span class="skill-args-label">args:</span> <code>[--waves 1,2]</code></div>
|
|
834
|
+
<div class="skill-tools">
|
|
835
|
+
<span class="skill-tool-tag">Agent</span>
|
|
836
|
+
<span class="skill-tool-tag">Bash</span>
|
|
837
|
+
<span class="skill-tool-tag">Read</span>
|
|
838
|
+
<span class="skill-tool-tag">Glob</span>
|
|
839
|
+
<span class="skill-tool-tag">Grep</span>
|
|
840
|
+
<span class="skill-tool-tag">Skill</span>
|
|
841
|
+
</div>
|
|
842
|
+
</div>
|
|
843
|
+
</div>
|
|
844
|
+
</section>
|
|
845
|
+
|
|
846
|
+
</div>
|
|
847
|
+
</main>
|
|
848
|
+
</div>
|
|
849
|
+
</div>
|
|
850
|
+
<script src="js/app.js"></script>
|
|
851
|
+
</body>
|
|
852
|
+
</html>
|