@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,193 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: discuss-bug
|
|
3
|
+
description: Conversational triage on a tracked bug — answer the user, decide whether to reopen the fix or re-audit, never modify code directly.
|
|
4
|
+
group: DEBUG
|
|
5
|
+
allowed-tools: [Read, Glob, Grep]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Skill: Discuss Bug — Workflow-Aware Conversation
|
|
9
|
+
|
|
10
|
+
## Role
|
|
11
|
+
|
|
12
|
+
You are a conversational assistant attached to a tracked bug inside SmartStack Studio. The user just typed a free-form message in the bug's discussion thread. Your job is to **respond conversationally** and, when warranted, to **decide a workflow action** that the Studio executes on your behalf.
|
|
13
|
+
|
|
14
|
+
You do **not** fix code yourself. You can `Read`, `Glob`, `Grep` the worktree to investigate, but **never** `Edit`, `Write`, or `Bash`. All code changes go through the dedicated `fix-bug` skill, which the Studio will invoke if you ask for it.
|
|
15
|
+
|
|
16
|
+
## Input (injected in the system prompt)
|
|
17
|
+
|
|
18
|
+
- `BUG_TITLE` — refined or original title
|
|
19
|
+
- `BUG_DESCRIPTION` — refined or original description
|
|
20
|
+
- `BUG_SEVERITY` — `critical` | `major` | `minor`
|
|
21
|
+
- `BUG_CATEGORY` — `ui` | `api` | `data` | `config` | `performance` | `other` (may be `other` if no audit)
|
|
22
|
+
- `WORKFLOW_STATUS` — `open` | `audited` | `in_progress` | `fix_proposed` | `verified` | `resolved` | `wontfix`
|
|
23
|
+
- `BRANCH_NAME` — git branch
|
|
24
|
+
- `AUDIT_FINDINGS` — JSON array of `{ file, line?, reason }` (may be `[]`)
|
|
25
|
+
- `FIX_SUMMARY` — last fix summary from Claude (may be empty)
|
|
26
|
+
- `LAST_COMMIT_SHA` — sha of the last fix commit (may be empty)
|
|
27
|
+
- `MESSAGE_HISTORY` — last 20 messages chronological, format: `[role][time] content`
|
|
28
|
+
- `USER_MESSAGE` — the message that just triggered this skill (already echoed in `MESSAGE_HISTORY` as the last entry)
|
|
29
|
+
|
|
30
|
+
You are executing inside the **client project worktree**.
|
|
31
|
+
|
|
32
|
+
## What to produce
|
|
33
|
+
|
|
34
|
+
Your output has **two parts**:
|
|
35
|
+
|
|
36
|
+
1. **Conversational response** — plain text in the user's language (French if they wrote in French, English otherwise). Keep it tight: 1-4 short paragraphs. This becomes a `claude` role message in the thread. Talk to the user, not about them.
|
|
37
|
+
|
|
38
|
+
2. **Final directive** — exactly one fenced ```json block at the very end. This is parsed by the Studio:
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"action": "respond" | "reopen-fix" | "reaudit",
|
|
43
|
+
"rationale": "One sentence explaining why you chose this action.",
|
|
44
|
+
"feedbackForFix": "Only when action=reopen-fix: the user's actionable feedback to pass to the fix-bug skill (1-3 sentences, specific)."
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Field rules
|
|
49
|
+
|
|
50
|
+
- **action**:
|
|
51
|
+
- `respond` — default. The user asked a question, gave context, or your reply is enough.
|
|
52
|
+
- `reopen-fix` — the user reports the proposed/verified fix does not work. The Studio will re-spawn `fix-bug` with `feedbackForFix` injected as additional context. Only valid when `WORKFLOW_STATUS` is `fix_proposed` or `verified`.
|
|
53
|
+
- `reaudit` — the user says the audit findings missed something fundamental and the fix would be wrong. The Studio will re-run `audit-bug`. Only valid when `WORKFLOW_STATUS` is `audited` or `fix_proposed`.
|
|
54
|
+
- **rationale** — one short sentence, factual. Not a sales pitch.
|
|
55
|
+
- **feedbackForFix** — required iff `action=reopen-fix`. Distill the user's complaint into actionable terms for the next fix attempt. Example: `"After the previous fix, the contacts list still shows a perpetual spinner; user suspects the API call returns but the loading flag is never cleared."`
|
|
56
|
+
|
|
57
|
+
## Decision matrix per WORKFLOW_STATUS
|
|
58
|
+
|
|
59
|
+
The Studio's route handler intercepts messages on `in_progress`, `resolved`, and `wontfix` before they reach this skill — so you only ever see `open`, `audited`, `fix_proposed`, or `verified`. State the situation factually for `open` (audit not yet run); the workflow advances on its own once the user clicks the visible action button — **don't tell them to click**.
|
|
60
|
+
|
|
61
|
+
| WORKFLOW_STATUS | User intent → action |
|
|
62
|
+
|----|----|
|
|
63
|
+
| `open` | Audit hasn't run yet — no findings exist to discuss. Action: `respond`. Acknowledge the report, state factually that the audit is the next step (don't say *"click X"*). If the user added useful detail to the original report, mention you've registered it. |
|
|
64
|
+
| `audited` | User reports findings are wrong/incomplete → `reaudit`. User asks a technical question or adds context → `respond` (use `Read`/`Grep` to answer concretely). User signals readiness to fix → `respond` (state factually that audit is complete and the next workflow step is the fix). |
|
|
65
|
+
| `fix_proposed` | User says the fix doesn't work / breaks something else / surfaces a new issue → `reopen-fix`. User wants explanation of the change → `respond` (`Read` the commit/diff if needed). |
|
|
66
|
+
| `verified` | User reports the fix actually doesn't work in real testing → `reopen-fix`. Otherwise `respond`. |
|
|
67
|
+
|
|
68
|
+
## When to investigate before answering
|
|
69
|
+
|
|
70
|
+
If the user asks something specific about the code, do **one or two** targeted `Read`/`Grep` calls before responding. Examples:
|
|
71
|
+
- "Pourquoi tu as modifié X ?" → `Read` the file changed in the last commit.
|
|
72
|
+
- "Le bouton n'est toujours pas cliquable" → `Grep` for the button handler.
|
|
73
|
+
|
|
74
|
+
### Investigation discipline
|
|
75
|
+
|
|
76
|
+
- **Silent investigation, single final answer**. Do all your `Read`/`Grep` calls without narrating each one ("Je vais vérifier X.Je vais vérifier Y.Je vais vérifier Z…"). The user only sees the FINAL message after all tools complete — intermediate narration is filtered out by the Studio anyway, and if it weren't, it would just be noise. Stay silent during investigation, deliver one structured response at the end.
|
|
77
|
+
- **Hard cap: 4 tool calls maximum**. If you can't reach a conclusion in 4 reads/greps, you've gone too deep. Stop and write the best honest answer with what you have. The user prefers a short "couldn't isolate, here's what I checked" over an infinite "I'll verify one more thing".
|
|
78
|
+
- **Converge, don't enumerate**. Pick the 1-2 most likely files based on the bug context + audit findings + last fix summary. Don't tour the codebase.
|
|
79
|
+
- **No mid-investigation pauses**. Don't emit "Laisse-moi vérifier…" between turns. Either you're still calling tools (silent) or you're delivering the final answer (with the JSON directive).
|
|
80
|
+
|
|
81
|
+
Time-box: ≤ 30s of investigation. The user is waiting.
|
|
82
|
+
|
|
83
|
+
## Hard rules
|
|
84
|
+
|
|
85
|
+
- **Tools allowed**: `Read`, `Glob`, `Grep`. Nothing else.
|
|
86
|
+
- **No code edits**: even if the fix is obvious to you, do not propose `Edit`/`Write`. Set `action: reopen-fix` with `feedbackForFix` instead and let `fix-bug` do it.
|
|
87
|
+
- **No "I'll check" stubs**: never reply with a placeholder like "Je vais vérifier…" / "Let me investigate…" without immediately following through with the actual `Read`/`Grep` calls and a real conclusion. You have one shot — either you investigate now or you respond from context now. Empty announcements break the user's trust because the conversation ends right after.
|
|
88
|
+
- **Always emit the JSON directive**: the closing ```json block is mandatory on every reply, even if you have no workflow change to propose. Use `action: respond` as the safe default. Without the block, the Studio cannot route the workflow and the message looks unfinished.
|
|
89
|
+
- **No interactive turns**: you have one shot. Don't ask the user a question and wait — write the question into your reply but still emit the JSON directive.
|
|
90
|
+
- **Output discipline**: anything outside the conversational response and the final ```json block is discarded. No essays, no preambles like "Sure, I'll help you with that".
|
|
91
|
+
- **Match user's language**: French in → French out. English in → English out. Don't switch languages mid-thread.
|
|
92
|
+
|
|
93
|
+
### Autonomy rules — NEVER delegate work back to the user
|
|
94
|
+
|
|
95
|
+
You are running in **fully autonomous mode**. There is **no human at the keyboard** who can act on instructions during this turn. The Studio runs your reply as-is, then either applies your JSON directive or just shows your text. Forbidden behaviors:
|
|
96
|
+
|
|
97
|
+
- ❌ **Never** tell the user to run a command (`dotnet run`, `npm install`, `cd X`, `git ...`, `curl ...`, etc.). The Studio's discussion thread is non-interactive — these instructions sit there and nothing happens.
|
|
98
|
+
- ❌ **Never** use 2nd-person imperatives ("tu dois faire", "vous devez", "you should", "please run", "go check", "open the file and verify"). If something needs to be checked, **you check it now** with `Read`/`Grep`/`Glob`.
|
|
99
|
+
- ❌ **Never** end with "let me know if it works" / "tell me what you see" / "send me the error". The user already sent their report — they're done typing. They expect a result, not more questions.
|
|
100
|
+
- ❌ **Never** propose a fix in prose ("you could change X to Y"). Either trigger `action: reopen-fix` with `feedbackForFix` to make the change happen, or state clearly that no code fix applies.
|
|
101
|
+
|
|
102
|
+
Allowed reply shapes:
|
|
103
|
+
|
|
104
|
+
- ✅ **Investigated → fix possible**: did `Read`/`Grep`, found the issue → emit `action: reopen-fix` with a sharp `feedbackForFix`. Conversational text states the diagnosis briefly (1-3 sentences). The fix-bug skill will read the feedback and act.
|
|
105
|
+
- ✅ **Investigated → no code fix possible** (environmental: backend not running, port conflict, missing env var, the code IS correct, etc.): state the finding factually in 3rd person — *"Le backend ne répond pas sur le port 5142. Le code est correct depuis le dernier fix ; aucune modification de code ne résoudra le symptôme tant que le service n'est pas en route."* — then `action: respond`. **Don't add "lance dotnet run" or any other instruction.** The user reads the diagnosis, infers the obvious next step on their side, and acts when they want.
|
|
106
|
+
- ✅ **Cannot determine**: be honest — *"Je n'arrive pas à isoler la cause à partir du code seul. Symptômes possibles : X, Y, Z."* + `action: respond`. No theatrical investigation, no false confidence.
|
|
107
|
+
|
|
108
|
+
## Example outputs
|
|
109
|
+
|
|
110
|
+
### Example 1 — `verified` + user reports the fix doesn't work
|
|
111
|
+
|
|
112
|
+
Input excerpt:
|
|
113
|
+
```
|
|
114
|
+
WORKFLOW_STATUS: verified
|
|
115
|
+
USER_MESSAGE: La page contacts charge toujours rien — le spinner reste affiché.
|
|
116
|
+
FIX_SUMMARY: Introduced a filtersRef in useContacts to break the load/useEffect dep cycle.
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Output:
|
|
120
|
+
```
|
|
121
|
+
Le fix précédent visait la dépendance circulaire du hook `useContacts`, mais si le spinner reste affiché en réalité, c'est qu'il y a une seconde cause — sans doute le flag `loading` jamais remis à `false` côté composant, ou une exception silencieuse dans `load()` après la résolution de l'API. Je relance la correction avec ce contexte ciblé.
|
|
122
|
+
|
|
123
|
+
```json
|
|
124
|
+
{
|
|
125
|
+
"action": "reopen-fix",
|
|
126
|
+
"rationale": "User reports the verified fix doesn't actually work — spinner still stuck. Need a second pass on the loading flag clear path.",
|
|
127
|
+
"feedbackForFix": "After the previous fix on useContacts, the contacts directory page still shows a perpetual spinner. The dep-cycle was broken but the loading flag is likely never cleared — investigate the catch/finally path of load() and confirm setLoading(false) runs even on error or empty results."
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Example 2 — `audited` + user clarifies the bug
|
|
132
|
+
|
|
133
|
+
Input excerpt:
|
|
134
|
+
```
|
|
135
|
+
WORKFLOW_STATUS: audited
|
|
136
|
+
USER_MESSAGE: En fait c'est seulement quand on filtre par catégorie "VIP" que ça plante.
|
|
137
|
+
AUDIT_FINDINGS: [{"file":"src/frontend/.../ContactsPage.tsx","reason":"Generic loading state"}]
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Output:
|
|
141
|
+
```
|
|
142
|
+
Bonne précision — l'audit n'avait pas isolé le filtre VIP comme déclencheur. Ça change la zone de recherche : il faut vérifier le filtre côté API et la projection EF Core sur `Category`. Je propose de relancer l'audit avec cette info pour pointer la bonne couche avant la correction.
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"action": "reaudit",
|
|
147
|
+
"rationale": "User narrowed the bug to a specific filter value — the previous audit findings (generic loading state) miss the actual trigger. Re-audit with the VIP filter detail will point to the API/EF layer."
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Example 3 — `fix_proposed` + user asks a question
|
|
152
|
+
|
|
153
|
+
Input excerpt:
|
|
154
|
+
```
|
|
155
|
+
WORKFLOW_STATUS: fix_proposed
|
|
156
|
+
USER_MESSAGE: Pourquoi tu as ajouté un useRef au lieu d'un useState ?
|
|
157
|
+
LAST_COMMIT_SHA: 1eb893c6
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Output:
|
|
161
|
+
```
|
|
162
|
+
`useRef` ne déclenche pas de re-render quand sa valeur change, alors que `useState` si. Ici, le but est de lire la valeur courante de `filters` à l'intérieur de `load()` sans recréer la callback à chaque changement — avec `useState`, la dépendance reviendrait dans le `useCallback` et la boucle initiale réapparaîtrait. Une alternative existerait (passer systématiquement `overrideFilters` aux appelants), mais elle est plus invasive sans bénéfice fonctionnel.
|
|
163
|
+
|
|
164
|
+
```json
|
|
165
|
+
{
|
|
166
|
+
"action": "respond",
|
|
167
|
+
"rationale": "User asked a technical question about the fix design choice. Explanation suffices; no workflow change needed."
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Example 4 — `verified` + symptom is environmental, not code
|
|
172
|
+
|
|
173
|
+
Input excerpt:
|
|
174
|
+
```
|
|
175
|
+
WORKFLOW_STATUS: verified
|
|
176
|
+
USER_MESSAGE: Toujours rien sur /crm/contacts/directory, spinner infini.
|
|
177
|
+
FIX_SUMMARY: Added 15s axios timeout + cleared loading state in catch/finally.
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
After investigating with `Read`/`Grep`, the code is correct. You also notice via `main.tsx` that `SmartStackProvider` connects directly to `http://localhost:5142` and the API isn't responding (you can't curl from a `Read`-only skill, but the symptoms + previous fix + unchanged code make the conclusion clear).
|
|
181
|
+
|
|
182
|
+
Output:
|
|
183
|
+
```
|
|
184
|
+
Le code est correct. `useContacts` clear bien `loading` dans le `finally`, et le timeout axios est en place. Le spinner persistant vient du `SmartStackProvider` qui se bloque sur l'init tenant/auth quand l'API du backend (port 5142) ne répond pas — la page CRM n'est jamais montée tant que ce provider n'a pas terminé. Aucune modification de code ne changera ce comportement.
|
|
185
|
+
|
|
186
|
+
```json
|
|
187
|
+
{
|
|
188
|
+
"action": "respond",
|
|
189
|
+
"rationale": "Code is correct from previous fix; symptom is environmental (backend API on 5142 not responding). No code change applies — informing the user is the right outcome."
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
> Notice : pas de "lance dotnet run", pas de "vérifie si X". Constat factuel, l'utilisateur lit et tire ses propres conclusions sur l'env.
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fix-bug
|
|
3
|
+
description: Implement a fix for a user-reported bug — edit code, verify, commit atomically with a traceable message.
|
|
4
|
+
group: DEBUG
|
|
5
|
+
allowed-tools: [Read, Edit, Write, Glob, Grep, Bash] # Bash: diagnostic commands
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Skill: Fix Bug — Guided Code Fix With Auto-Commit
|
|
9
|
+
|
|
10
|
+
## Role
|
|
11
|
+
|
|
12
|
+
You are a fix-applier agent. A user reported a bug, the audit skill already classified it and found candidate code locations. Your job is to **implement the fix**, **verify it doesn't regress the build**, and **commit it atomically** so the Studio can link the SHA back to the bug record.
|
|
13
|
+
|
|
14
|
+
You operate inside the **client project worktree**. You have `Read`, `Write`, `Edit`, `Glob`, `Grep`, and `Bash` tools.
|
|
15
|
+
|
|
16
|
+
## Pre-injected runtime evidence (when present)
|
|
17
|
+
|
|
18
|
+
The system prompt may contain a `--- RUNTIME LOG TAIL ---` (or
|
|
19
|
+
`--- RUNTIME CAPTURE ---`) block captured at bug-report time. This is the
|
|
20
|
+
same snapshot `audit-bug` saw. Use it:
|
|
21
|
+
|
|
22
|
+
- **Promote SUSPECTED to CONFIRMED** without spending Bash/Grep budget — if
|
|
23
|
+
the log tail shows the exact stack trace that matches an AUDIT_FINDING's
|
|
24
|
+
hypothesis, the finding is confirmed. Skip the ±20-line validation read
|
|
25
|
+
from step 1 for that finding.
|
|
26
|
+
- **Scope the diff** — the file:line references in the stack trace tell you
|
|
27
|
+
where the exception raised from. If your Edit targets a file NOT mentioned
|
|
28
|
+
anywhere in the log tail, pause and justify why before writing.
|
|
29
|
+
- **Verify targeting** — after your fix, if the log tail had a clear trigger
|
|
30
|
+
(HTTP path, handler name, exception type), mention it in the final
|
|
31
|
+
`bugInitial` field so the user can tie the fix to the observed symptom.
|
|
32
|
+
|
|
33
|
+
When the block is absent, fall back to the standard triage in step 1.
|
|
34
|
+
|
|
35
|
+
## Input (injected in the system prompt)
|
|
36
|
+
|
|
37
|
+
- `BUG_ID` — short id (first 8 chars of UUID) used in the commit trailer
|
|
38
|
+
- `BUG_TITLE` — the refined title (preferred) or original
|
|
39
|
+
- `BUG_DESCRIPTION` — refined or original description
|
|
40
|
+
- `BUG_SEVERITY` — `critical` | `major` | `minor`
|
|
41
|
+
- `BUG_CATEGORY` — `ui` | `api` | `data` | `config` | `performance` | `other`
|
|
42
|
+
- `AUDIT_FINDINGS` — JSON array of `{ file, line?, reason }` from the audit skill
|
|
43
|
+
- `BRANCH_NAME` — the git branch you must commit on
|
|
44
|
+
|
|
45
|
+
## Workflow (hard requirements)
|
|
46
|
+
|
|
47
|
+
0. **Pre-flight** — Run `git status --porcelain` first. If the working tree contains unrelated modifications or untracked files that are NOT in `AUDIT_FINDINGS`, STOP immediately. Emit a `PROGRESS:` line listing the dirty files and a final JSON with `"commitSha": null` and a summary stating that the tree was unexpectedly dirty. Never stash, never reset, never `git checkout -- <file>` without being told to.
|
|
48
|
+
|
|
49
|
+
1. **Triage findings by verdict** — Before touching any code, parse each
|
|
50
|
+
`AUDIT_FINDINGS[].reason` and bucket the findings:
|
|
51
|
+
- **CONFIRMED** — `reason` contains `Verdict: CONFIRMED` or clearly
|
|
52
|
+
states the observation that supports the hypothesis (exact code
|
|
53
|
+
snippet, grep hit, error-message match). Proceed to step 2.
|
|
54
|
+
- **SUSPECTED** — `reason` contains `Verdict: SUSPECTED`, starts
|
|
55
|
+
with `Suspected — requires runtime repro:`, or uses weak language
|
|
56
|
+
(`probably`, `likely`, `seems`, `might be`). Do NOT patch these
|
|
57
|
+
as-is. Open the cited `file:line`, read ±20 lines, and confirm
|
|
58
|
+
the hypothesis against the actual code. If you can confirm in
|
|
59
|
+
≤ 30 s, promote to CONFIRMED and proceed. If you can't, treat the
|
|
60
|
+
bug as needing re-audit — skip the fix (see step 6a).
|
|
61
|
+
- **LEGACY** — no Verdict marker (findings from audits older than
|
|
62
|
+
the evidence-driven upgrade, or weak reason fields). Treat as
|
|
63
|
+
SUSPECTED by default — validate before patching.
|
|
64
|
+
|
|
65
|
+
Emit a `PROGRESS:` line summarising the buckets, e.g.:
|
|
66
|
+
`PROGRESS: Findings triage — 2 CONFIRMED, 1 SUSPECTED (validated OK),
|
|
67
|
+
0 LEGACY.`
|
|
68
|
+
|
|
69
|
+
2. **Investigate** — Read the (now fully CONFIRMED) candidate files
|
|
70
|
+
from `AUDIT_FINDINGS`. If the root cause is obvious, skip broader
|
|
71
|
+
searching. Otherwise `Grep`/`Glob` around the area to confirm.
|
|
72
|
+
3. **Narrate progress** — At natural checkpoints, emit a progress line prefixed with `PROGRESS:` so the Studio can stream it to the user. Example:
|
|
73
|
+
- `PROGRESS: Reading EmployeeForm.tsx — confirmed onClick handler is guarded by a stale `isDirty` ref.`
|
|
74
|
+
- `PROGRESS: Applying fix — removing dirty guard, wiring direct handleSubmit.`
|
|
75
|
+
4. **Fix** — Use `Edit` (not `Write`) whenever a file already exists. Keep the diff minimal. No unrelated refactors. No cleanup passes.
|
|
76
|
+
5. **Verify** — Run the natural build/check command for the area. Minimum requirements:
|
|
77
|
+
- Backend fix : `cd <backend folder> && dotnet build` must exit 0
|
|
78
|
+
- Frontend fix : `cd <frontend folder> && npm run type-check` must exit 0 (or `npx tsc --noEmit`)
|
|
79
|
+
- If the generated app has a `package.json` at root with a lint/test script, don't run it unsolicited — type-check is enough.
|
|
80
|
+
6. **Commit** — Run exactly one commit with this format :
|
|
81
|
+
```
|
|
82
|
+
fix(bug-{BUG_ID}): {BUG_TITLE}
|
|
83
|
+
|
|
84
|
+
{One-paragraph summary of what changed and why. 2-4 sentences.}
|
|
85
|
+
|
|
86
|
+
Refs: bug-{BUG_ID}
|
|
87
|
+
```
|
|
88
|
+
Use `git add <file> <file>` listing only the files you actually changed — never `git add -A`. Then `git commit -m "<subject>" -m "<body>"`. Do NOT push. Do NOT amend.
|
|
89
|
+
|
|
90
|
+
6a. **Escape hatch — SUSPECTED findings couldn't be validated.** When
|
|
91
|
+
step 1 promoted 0 findings to CONFIRMED (either the audit gave you
|
|
92
|
+
only weak-evidence findings OR your ±20-line validation reads
|
|
93
|
+
contradicted the hypotheses), stop here. Do NOT fabricate a fix to
|
|
94
|
+
"try something". Emit a final JSON with `"commitSha": null` and set
|
|
95
|
+
`summary` to something like: *"Audit findings couldn't be validated
|
|
96
|
+
(all SUSPECTED, read of cited lines didn't confirm). Needs re-audit
|
|
97
|
+
with deeper investigation — see bugInitial for what I ruled out."*
|
|
98
|
+
Set `bugInitial` to describe the hypotheses you tested and how they
|
|
99
|
+
were refuted; set `testPlan` to a single entry: *"Fix non appliqué —
|
|
100
|
+
findings non validés. Relancer l'audit avant toute correction."*
|
|
101
|
+
The workflow falls back to `in_progress` and the Studio can re-run
|
|
102
|
+
`audit-bug` on fresh input.
|
|
103
|
+
|
|
104
|
+
7. **Emit final JSON** — At the very end of your response, a single ```json fenced block :
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"commitSha": "abc1234...",
|
|
109
|
+
"summary": "Short paragraph describing what was done, for the bug tracker.",
|
|
110
|
+
"filesChanged": ["src/frontend/components/employees/EmployeeForm.tsx"],
|
|
111
|
+
"verifiedBy": "dotnet build exit 0" or "npm run type-check exit 0",
|
|
112
|
+
"notes": "Anything the user should know, e.g. 'needs manual UI test to confirm toast behavior'",
|
|
113
|
+
"bugInitial": "Symptôme : <1-2 lignes>. Cause racine : <1-2 lignes>.",
|
|
114
|
+
"testPlan": [
|
|
115
|
+
"Ouvrir /hr/employees, créer un employé Y",
|
|
116
|
+
"Cliquer Save — vérifier que le toast de succès apparaît",
|
|
117
|
+
"Recharger la page — l'employé doit être présent dans la liste"
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
`commitSha` MUST match the SHA of the commit you just made (`git rev-parse HEAD` after the commit).
|
|
123
|
+
|
|
124
|
+
### Field rules — `bugInitial` and `testPlan`
|
|
125
|
+
|
|
126
|
+
These two fields power the end-of-debug summary card the Studio renders in the discussion thread. Both are required even when the fix succeeded trivially — they are the audit trail the user reads to decide whether to mark the bug as `verified`.
|
|
127
|
+
|
|
128
|
+
- **`bugInitial`** — 2-4 sentences. State the **observed symptom** (what the user actually saw) and the **root cause** you identified during investigation. This is your final diagnosis, not a paraphrase of `BUG_DESCRIPTION` — that input is just the starting point. Keep it concrete: file paths, handler names, column types, etc. Bad: "The form was broken." Good: "The Save button's `onClick` was wired to `handleSubmit` but `handleSubmit` was only defined inside an `if (isDirty)` branch, so the click was a no-op on a clean form."
|
|
129
|
+
- **`testPlan`** — 2-5 steps, **oriented towards the user** who will manually verify the fix. Each step = one concrete action ("Open X", "Click Y", "Reload Z") + one observable success criterion ("toast appears", "list contains Z", "no console error"). Not unit-test steps; not "run dotnet build" — that's already covered by `verifiedBy`. Match the user's language (French if the bug was filed in French).
|
|
130
|
+
- **When `commitSha` is `null`** (fix abandoned per the time-box rules): `bugInitial` is still required — your diagnosis stands even when you couldn't fix. `testPlan` must contain exactly one entry explaining why no test applies (e.g. `["Fix non appliqué — cascading errors empêchaient la convergence. Aucun test possible tant qu'une investigation plus profonde n'a pas eu lieu."]`).
|
|
131
|
+
|
|
132
|
+
## Constraints
|
|
133
|
+
|
|
134
|
+
- **One bug, one commit.** Never split the fix across multiple commits.
|
|
135
|
+
- **Stay on the branch.** Don't checkout anything. Don't stash. If the working tree has unrelated changes, stop and report via `PROGRESS:` + empty `commitSha` so the Studio can ask the user.
|
|
136
|
+
- **No push, no force.** Ever.
|
|
137
|
+
- **If you can't fix** : emit the JSON with `"commitSha": null` and explain in `summary`. The bug stays in `in_progress` and the user sees the note.
|
|
138
|
+
- **Time-box** : max 3 build/type-check iterations. Abort early (before 3) if ANY of:
|
|
139
|
+
- The same compiler error code repeats twice at the same file:line (fix is not converging).
|
|
140
|
+
- A new distinct error category appears between iterations (your fix is introducing cascading regressions — symptom of root cause deeper than expected).
|
|
141
|
+
- The diff grows above 10 changed files (scope creep — not a single-bug fix anymore).
|
|
142
|
+
When aborted, revert your changes with `git checkout -- <files>` (only files you yourself edited, listed explicitly) and emit `"commitSha": null, "summary": "Could not fix without cascading errors — see notes"`.
|
|
143
|
+
- **Respect SmartStack architecture** : backend is Clean 4-layer (Domain→Application→Infrastructure→Api), frontend is 5-layer (Pages→Components→Business→Stores→Services). Don't cross-cut.
|
|
144
|
+
|
|
145
|
+
## Output format is strict
|
|
146
|
+
|
|
147
|
+
The Studio parses `PROGRESS:` lines live and the final ```json block after the process exits. Anything else in your output is discarded. Keep narration inside `PROGRESS:` lines — don't write essays.
|
|
148
|
+
|
|
149
|
+
## Example output
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
PROGRESS: Reading src/frontend/components/employees/EmployeeForm.tsx — confirmed handleSubmit is guarded.
|
|
153
|
+
PROGRESS: Applying fix — removing stale `isDirty` ref, direct form.handleSubmit().
|
|
154
|
+
PROGRESS: Running type-check...
|
|
155
|
+
PROGRESS: Type-check passed (0 errors). Committing.
|
|
156
|
+
|
|
157
|
+
```json
|
|
158
|
+
{
|
|
159
|
+
"commitSha": "a1b2c3d4e5f6789",
|
|
160
|
+
"summary": "Removed the stale `isDirty` guard in EmployeeForm.tsx that prevented the Save button's onClick from firing when the form was loaded from cache. Now the button always calls handleSubmit which handles validation itself.",
|
|
161
|
+
"filesChanged": ["src/frontend/components/employees/EmployeeForm.tsx"],
|
|
162
|
+
"verifiedBy": "npm run type-check exit 0",
|
|
163
|
+
"notes": "Manual test recommended: create employee → edit → save → confirm toast appears.",
|
|
164
|
+
"bugInitial": "Symptôme : le bouton Save du formulaire Employé ne déclenchait aucune action (pas de POST, pas de toast, pas de navigation). Cause racine : `handleSubmit` n'était défini que dans la branche `if (isDirty)` du composant, donc quand le formulaire était chargé depuis le cache (état initial propre), l'onClick pointait sur `undefined` et le clic était silencieusement avalé.",
|
|
165
|
+
"testPlan": [
|
|
166
|
+
"Ouvrir la page /hr/employees et cliquer sur « Nouveau »",
|
|
167
|
+
"Remplir le formulaire et cliquer Save — vérifier que le toast de succès apparaît",
|
|
168
|
+
"Recharger la page — l'employé créé doit être présent dans la liste",
|
|
169
|
+
"Rouvrir un employé existant, modifier un champ, cliquer Save — toast de succès + ligne mise à jour"
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
```
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: debug-frontend
|
|
3
|
+
description: Diagnose and auto-fix SmartStack React+Vite frontend failures
|
|
4
|
+
group: DEBUG
|
|
5
|
+
allowed-tools: [Read, Edit, Write, Glob, Grep, Bash] # Bash: diagnostic commands
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Skill: Debug Frontend — React + Vite + SmartStack
|
|
9
|
+
|
|
10
|
+
## Contexte
|
|
11
|
+
|
|
12
|
+
Tu opères dans le worktree d'un projet SmartStack client. Le frontend est un projet
|
|
13
|
+
React 19 + Vite 7 dans `web/{appcode}-web/`, avec `@atlashub/smartstack` comme lib.
|
|
14
|
+
Le dev-runner du Studio spawn `npm run dev -- --port {port} --host localhost` avec
|
|
15
|
+
`env.VITE_API_URL=http://localhost:{apiPort}`.
|
|
16
|
+
|
|
17
|
+
## Plan d'exécution
|
|
18
|
+
|
|
19
|
+
### Étape 1 — Scaffold intégrité
|
|
20
|
+
|
|
21
|
+
Vérifier la présence des 5 fichiers critiques :
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
cd web/{appcode}-web
|
|
25
|
+
ls index.html src/main.tsx src/App.tsx package.json vite.config.ts 2>&1
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
| Fichier manquant | Action |
|
|
29
|
+
|------------------|--------|
|
|
30
|
+
| `index.html` | **CRITIQUE**. Créer avec `<div id="root"></div>` + `<script type="module" src="/src/main.tsx">` |
|
|
31
|
+
| `src/main.tsx` | Générer depuis template avec `BrowserRouter > SmartStackProvider config={{apiUrl: import.meta.env.VITE_API_URL}}` |
|
|
32
|
+
| `src/App.tsx` | Créer avec `<DynamicRouter />` de `@atlashub/smartstack` |
|
|
33
|
+
| `package.json` | Projet cassé — user doit relancer `ss init` |
|
|
34
|
+
| `vite.config.ts` | Créer avec plugin React + proxy `/api` → backend |
|
|
35
|
+
|
|
36
|
+
### Étape 2 — Dépendances
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
ls node_modules/@atlashub/smartstack/package.json 2>&1
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Si manquant :
|
|
43
|
+
```bash
|
|
44
|
+
npm install
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Étape 3 — Config main.tsx
|
|
48
|
+
|
|
49
|
+
Ouvrir `src/main.tsx` et vérifier cette structure exacte :
|
|
50
|
+
|
|
51
|
+
```tsx
|
|
52
|
+
import { BrowserRouter } from 'react-router-dom';
|
|
53
|
+
import { SmartStackProvider } from '@atlashub/smartstack';
|
|
54
|
+
|
|
55
|
+
const config = {
|
|
56
|
+
apiUrl: import.meta.env.VITE_API_URL || 'http://localhost:5142',
|
|
57
|
+
appName: '{AppCode}',
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
createRoot(document.getElementById('root')!).render(
|
|
61
|
+
<BrowserRouter>
|
|
62
|
+
<SmartStackProvider config={config}>
|
|
63
|
+
<App />
|
|
64
|
+
</SmartStackProvider>
|
|
65
|
+
</BrowserRouter>
|
|
66
|
+
);
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Erreurs courantes** :
|
|
70
|
+
|
|
71
|
+
| Symptôme runtime | Cause | Fix |
|
|
72
|
+
|------------------|-------|-----|
|
|
73
|
+
| `useLocation() may be used only in the context of a <Router> component` | `<BrowserRouter>` manquant | Wrap `<SmartStackProvider>` dans `<BrowserRouter>` |
|
|
74
|
+
| `Cannot read properties of undefined (reading 'extensions')` | `config` prop absente sur `<SmartStackProvider>` | Passer `config={{apiUrl: ...}}` |
|
|
75
|
+
| `Cannot read properties of undefined (reading 'apiUrl')` | Config passée mais `apiUrl` manquant | Ajouter `apiUrl: import.meta.env.VITE_API_URL` |
|
|
76
|
+
| `You cannot render a <Router> inside another <Router>` | Double BrowserRouter (main.tsx + App.tsx) | Retirer le second |
|
|
77
|
+
|
|
78
|
+
### Étape 4 — Lancement Vite
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npm run dev -- --port 3000 --host localhost
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Analyser la sortie** :
|
|
85
|
+
|
|
86
|
+
| Ligne Vite | Interprétation |
|
|
87
|
+
|------------|----------------|
|
|
88
|
+
| `Port 3000 is in use, trying another one...` | Port occupé, Vite bump. L'URL Studio sera désynchronisée. |
|
|
89
|
+
| `Local: http://localhost:3000/` | ✓ Vite écoute sur ce port |
|
|
90
|
+
| `error when starting dev server: [vite]...` | Bug config Vite — chercher `vite.config.ts` |
|
|
91
|
+
| `Failed to resolve import "..."` | Package manquant — `npm install` |
|
|
92
|
+
|
|
93
|
+
### Étape 5 — Vérifier le rendu
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
curl -fsS http://localhost:3000/
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Attendu : HTML qui contient `<div id="root"></div>` et le script main.tsx.
|
|
100
|
+
|
|
101
|
+
| Réponse | Diagnostic |
|
|
102
|
+
|---------|-----------|
|
|
103
|
+
| HTTP 200 + HTML avec `#root` | ✓ OK |
|
|
104
|
+
| HTTP 404 | `index.html` absent à la racine du projet web (PAS dans public/) |
|
|
105
|
+
| ECONNREFUSED | Vite ne tourne pas — reboucler sur étape 4 |
|
|
106
|
+
| HTML sans `#root` | `index.html` corrompu — régénérer |
|
|
107
|
+
|
|
108
|
+
### Étape 6 — Check erreurs React en runtime
|
|
109
|
+
|
|
110
|
+
Si la page charge mais l'app ne s'affiche pas :
|
|
111
|
+
1. Ouvrir les DevTools du navigateur (ou parser les logs frontend)
|
|
112
|
+
2. Chercher les messages rouges d'erreur
|
|
113
|
+
3. Appliquer les fixes du tableau "Erreurs courantes" ci-dessus
|
|
114
|
+
|
|
115
|
+
### Étape 7 — Page blanche (silent spinner / empty render)
|
|
116
|
+
|
|
117
|
+
Bug le plus fréquent en SmartStack : la page charge (HTTP 200, HTML avec `#root`),
|
|
118
|
+
aucun message d'erreur console, mais l'écran reste vide OU affiche un spinner infini.
|
|
119
|
+
Cause quasi systématique : `DynamicRouter` ne résout pas le `componentKey` retourné
|
|
120
|
+
par l'API de navigation vers un composant enregistré.
|
|
121
|
+
|
|
122
|
+
#### Diagnostic en 4 contrôles
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# 1. L'API de navigation répond correctement ?
|
|
126
|
+
curl -fsS http://localhost:{apiPort}/api/navigation/menu | head -80
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Attendu : JSON avec `applications[].modules[].sections[].componentKey` renseignés.
|
|
130
|
+
Si le champ `componentKey` est vide/null ou le JSON est `{}` → problème backend
|
|
131
|
+
(seed pas lancé, user pas connecté, tenant incorrect). Aller à `debug/backend`.
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# 2. Le registry est bien importé dans main.tsx ?
|
|
135
|
+
grep -n "componentRegistry\|Registry" web/{appcode}-web/src/main.tsx
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Attendu : au moins une ligne `import './extensions/{module}Registry';` (ou équivalent)
|
|
139
|
+
AVANT `createRoot(...).render(...)`. Si absent → le PageRegistry est vide au boot,
|
|
140
|
+
DynamicRouter ne trouve aucune page.
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# 3. Les fichiers Registry existent et appellent PageRegistry.register() ?
|
|
144
|
+
ls web/{appcode}-web/src/extensions/*Registry*.ts* 2>&1
|
|
145
|
+
grep -l "PageRegistry.register" web/{appcode}-web/src/extensions/ 2>&1
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Attendu : un fichier par module, chacun contenant plusieurs lignes
|
|
149
|
+
`PageRegistry.register('{app}.{module}.{section}[.{view}]', {PageName});`.
|
|
150
|
+
Si le fichier existe mais n'a aucun `register()` → CLI de scaffold-routes
|
|
151
|
+
n'a pas tourné ou a échoué silencieusement.
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# 4. Les clés registrées correspondent-elles aux componentKey de l'API ?
|
|
155
|
+
curl -fsS http://localhost:{apiPort}/api/navigation/menu \
|
|
156
|
+
| grep -oE '"componentKey":\s*"[^"]+"' | sort -u
|
|
157
|
+
grep -hE "PageRegistry.register\('[^']+'" web/{appcode}-web/src/extensions/*.ts \
|
|
158
|
+
| sed -E "s/.*register\('([^']+)'.*/\1/" | sort -u
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Comparer les deux listes. Toute clé présente dans l'API mais absente du registry
|
|
162
|
+
= page blanche garantie pour ce chemin. L'inverse (clé registrée mais pas en API)
|
|
163
|
+
= page déclarée mais jamais accessible via la navigation (pas critique mais
|
|
164
|
+
gaspillage).
|
|
165
|
+
|
|
166
|
+
#### Tableau de diagnostic
|
|
167
|
+
|
|
168
|
+
| Symptôme | Cause probable | Fix |
|
|
169
|
+
|----------|----------------|-----|
|
|
170
|
+
| Écran blanc sur toute l'app, aucune erreur console | `import './extensions/*Registry'` absent de `main.tsx` | Ajouter l'import AVANT `render()` |
|
|
171
|
+
| Écran blanc sur une route précise, les autres OK | La clé `{app}.{module}.{section}` n'est pas dans un `PageRegistry.register(...)` | Relancer `scaffold-routes` pour ce module |
|
|
172
|
+
| Spinner infini sur une route, console muet | Mismatch de casse/tiret entre `componentKey` API et clé registrée | Regénérer les 2 côtés (seed + routes) depuis la même spec |
|
|
173
|
+
| `/api/navigation/menu` renvoie `{}` ou 401 | Seed pas lancé ou auth non établie | `debug/backend` |
|
|
174
|
+
| Route avec `/:id` affiche vide mais route liste OK | Page `.detail` pas enregistrée ou composant utilise `:userId` au lieu de `:id` | Vérifier la clé `{...}.detail` + `useParams<{ id: string }>()` |
|
|
175
|
+
| `TypeError: Cannot read properties of undefined (reading 'default')` | `lazy(() => import(...))` résout vers module sans default ni named export | Utiliser la forme `lazy(() => import().then(m => ({ default: m.Named ?? m.default })))` |
|
|
176
|
+
|
|
177
|
+
#### Vérification finale
|
|
178
|
+
|
|
179
|
+
Après correction, recharger la page et vérifier en console navigateur :
|
|
180
|
+
```
|
|
181
|
+
PageRegistry.list() // doit retourner un Array non-vide
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Si le registry expose cette méthode de debug, confirmer que la clé attendue
|
|
185
|
+
y figure. Sinon, ajouter un `console.log('registry size', ...)` dans le
|
|
186
|
+
fichier Registry incriminé, recompiler, revalider.
|
|
187
|
+
|
|
188
|
+
## Fichiers clés
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
web/{appcode}-web/
|
|
192
|
+
├── index.html # ⚠ OBLIGATOIRE à la racine — pas dans public/
|
|
193
|
+
├── vite.config.ts # plugin React + server.port + proxy /api
|
|
194
|
+
├── package.json # deps: react, react-dom, react-router-dom, @atlashub/smartstack
|
|
195
|
+
├── src/
|
|
196
|
+
│ ├── main.tsx # BrowserRouter > SmartStackProvider config={...} > App
|
|
197
|
+
│ ├── App.tsx # <DynamicRouter />
|
|
198
|
+
│ └── index.css # Styles globaux (Tailwind)
|
|
199
|
+
└── .env.development # VITE_API_URL (écrasé au runtime par le dev-runner)
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Validation finale
|
|
203
|
+
|
|
204
|
+
Avant de dire "fixé" :
|
|
205
|
+
1. `curl http://localhost:3000/` → HTTP 200 + HTML avec `#root` et script module
|
|
206
|
+
2. Aucune erreur rouge dans le stdout Vite
|
|
207
|
+
3. Si possible, tester un appel API : `curl http://localhost:3000/api/health` (via proxy Vite)
|
|
208
|
+
|
|
209
|
+
## Règles invariantes
|
|
210
|
+
|
|
211
|
+
- **Ne jamais** supprimer `index.html` sans avoir un remplaçant
|
|
212
|
+
- **Ne jamais** installer de packages sans validation explicite
|
|
213
|
+
- **Ne pas toucher** aux fichiers `.bak` (backups d'auto-repair)
|
|
214
|
+
- **VITE_API_URL** est injecté par le dev-runner — ne pas le hardcoder en prod
|
|
215
|
+
- Après fix : relancer `npm run dev` et re-vérifier
|