@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,261 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* validate.ts — Validates the development plan and checks per-module readiness.
|
|
3
|
+
*
|
|
4
|
+
* Reads dev-plan.json (produced by /ba-create-plan-development) and verifies that
|
|
5
|
+
* each module has the required PRD files and a passing audit verdict.
|
|
6
|
+
*/
|
|
7
|
+
import path from 'node:path';
|
|
8
|
+
import {
|
|
9
|
+
fileExists,
|
|
10
|
+
directoryExists,
|
|
11
|
+
readJson,
|
|
12
|
+
readText,
|
|
13
|
+
} from '../../../../lib/fs.js';
|
|
14
|
+
import { PreflightInputSchema } from './types.js';
|
|
15
|
+
import type {
|
|
16
|
+
PreflightInput,
|
|
17
|
+
DevelopmentPlan,
|
|
18
|
+
ReadinessInfo,
|
|
19
|
+
ModulePreflight,
|
|
20
|
+
WavePreflight,
|
|
21
|
+
PreflightReport,
|
|
22
|
+
} from './types.js';
|
|
23
|
+
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Readiness verdict parsing (same regex as create-plan-development/parse.ts)
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
|
|
28
|
+
const VERDICT_RE =
|
|
29
|
+
/Verdict\s*:\s*(GO|NO-GO)(?:.*?score\s+(\d+))?(?:.*?(\d+)\s+err)?(?:.*?(\d+)\s+warn)?/;
|
|
30
|
+
|
|
31
|
+
async function parseReadiness(
|
|
32
|
+
auditPath: string,
|
|
33
|
+
): Promise<ReadinessInfo> {
|
|
34
|
+
const exists = await fileExists(auditPath);
|
|
35
|
+
if (!exists) return { verdict: 'UNKNOWN' };
|
|
36
|
+
|
|
37
|
+
const content = await readText(auditPath);
|
|
38
|
+
const match = VERDICT_RE.exec(content);
|
|
39
|
+
if (!match) return { verdict: 'UNKNOWN' };
|
|
40
|
+
|
|
41
|
+
return {
|
|
42
|
+
verdict: match[1] as 'GO' | 'NO-GO',
|
|
43
|
+
score: match[2] ? Number(match[2]) : undefined,
|
|
44
|
+
errCount: match[3] ? Number(match[3]) : undefined,
|
|
45
|
+
warnCount: match[4] ? Number(match[4]) : undefined,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// ---------------------------------------------------------------------------
|
|
50
|
+
// Public API
|
|
51
|
+
// ---------------------------------------------------------------------------
|
|
52
|
+
|
|
53
|
+
export interface ValidateResult {
|
|
54
|
+
valid: boolean;
|
|
55
|
+
errors: string[];
|
|
56
|
+
warnings: string[];
|
|
57
|
+
spec?: PreflightInput;
|
|
58
|
+
plan?: DevelopmentPlan;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Stage 1: Zod validation + plan file existence.
|
|
63
|
+
*/
|
|
64
|
+
export async function validateInput(raw: unknown): Promise<ValidateResult> {
|
|
65
|
+
const errors: string[] = [];
|
|
66
|
+
const warnings: string[] = [];
|
|
67
|
+
|
|
68
|
+
const parsed = PreflightInputSchema.safeParse(raw);
|
|
69
|
+
if (!parsed.success) {
|
|
70
|
+
const zodErrors = parsed.error.issues.map(
|
|
71
|
+
(i) => `${i.path.join('.')}: ${i.message}`,
|
|
72
|
+
);
|
|
73
|
+
return { valid: false, errors: zodErrors, warnings };
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const spec = parsed.data;
|
|
77
|
+
|
|
78
|
+
// Check baRoot exists
|
|
79
|
+
if (!(await directoryExists(spec.baRoot))) {
|
|
80
|
+
errors.push(`BA root not found: ${spec.baRoot}`);
|
|
81
|
+
return { valid: false, errors, warnings };
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Check dev-plan.json exists
|
|
85
|
+
const planPath = path.join(spec.baRoot, '_plan', 'dev-plan.json');
|
|
86
|
+
if (!(await fileExists(planPath))) {
|
|
87
|
+
errors.push(
|
|
88
|
+
`Development plan not found: ${planPath}. Run /ba-create-plan-development first.`,
|
|
89
|
+
);
|
|
90
|
+
return { valid: false, errors, warnings };
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Read and parse the plan
|
|
94
|
+
let plan: DevelopmentPlan;
|
|
95
|
+
try {
|
|
96
|
+
plan = await readJson<DevelopmentPlan>(planPath);
|
|
97
|
+
} catch (err) {
|
|
98
|
+
errors.push(
|
|
99
|
+
`Failed to parse dev-plan.json: ${err instanceof Error ? err.message : String(err)}`,
|
|
100
|
+
);
|
|
101
|
+
return { valid: false, errors, warnings };
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Basic plan validation
|
|
105
|
+
if (!plan.waves || plan.waves.length === 0) {
|
|
106
|
+
errors.push('Development plan has no waves');
|
|
107
|
+
return { valid: false, errors, warnings };
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Check projectPath exists
|
|
111
|
+
if (!(await directoryExists(spec.projectPath))) {
|
|
112
|
+
errors.push(`Project path not found: ${spec.projectPath}`);
|
|
113
|
+
return { valid: false, errors, warnings };
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// Warn about cycles
|
|
117
|
+
if (plan.cycles && plan.cycles.length > 0) {
|
|
118
|
+
warnings.push(
|
|
119
|
+
`Plan contains ${plan.cycles.length} circular dependency group(s) — co-develop those modules`,
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return { valid: true, errors, warnings, spec, plan };
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Stage 2: Per-module readiness check.
|
|
128
|
+
* Returns the full preflight report.
|
|
129
|
+
*/
|
|
130
|
+
export async function checkReadiness(
|
|
131
|
+
spec: PreflightInput,
|
|
132
|
+
plan: DevelopmentPlan,
|
|
133
|
+
): Promise<PreflightReport> {
|
|
134
|
+
const wavesToCheck = plan.waves.filter((w) => w.level > 0);
|
|
135
|
+
const wavePreflights: WavePreflight[] = [];
|
|
136
|
+
let readyCount = 0;
|
|
137
|
+
let blockedCount = 0;
|
|
138
|
+
let externalCount = 0;
|
|
139
|
+
|
|
140
|
+
// Wave 0: externals (just count them)
|
|
141
|
+
const wave0 = plan.waves.find((w) => w.level === 0);
|
|
142
|
+
if (wave0) {
|
|
143
|
+
externalCount = wave0.modules.length;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
for (const wave of wavesToCheck) {
|
|
147
|
+
// Filter waves if the user specified specific ones
|
|
148
|
+
if (spec.waves && spec.waves.length > 0 && !spec.waves.includes(wave.level)) {
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const modulePreflights: ModulePreflight[] = [];
|
|
153
|
+
const waveBlockers: string[] = [];
|
|
154
|
+
|
|
155
|
+
for (const mod of wave.modules) {
|
|
156
|
+
const preflight = await checkModule(spec.baRoot, mod.appCode, mod.moduleCode, wave.level);
|
|
157
|
+
modulePreflights.push(preflight);
|
|
158
|
+
|
|
159
|
+
if (preflight.status === 'ready') {
|
|
160
|
+
readyCount++;
|
|
161
|
+
} else {
|
|
162
|
+
blockedCount++;
|
|
163
|
+
waveBlockers.push(`${mod.key}: ${preflight.blockers.join('; ')}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
wavePreflights.push({
|
|
168
|
+
level: wave.level,
|
|
169
|
+
status: waveBlockers.length === 0 ? 'ready' : 'blocked',
|
|
170
|
+
modules: modulePreflights,
|
|
171
|
+
blockers: waveBlockers,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// Determine which waves can proceed
|
|
176
|
+
let firstReadyWave: number | null = null;
|
|
177
|
+
let lastReadyWave: number | null = null;
|
|
178
|
+
|
|
179
|
+
for (const wp of wavePreflights) {
|
|
180
|
+
if (wp.status === 'ready') {
|
|
181
|
+
if (firstReadyWave === null) firstReadyWave = wp.level;
|
|
182
|
+
lastReadyWave = wp.level;
|
|
183
|
+
} else {
|
|
184
|
+
// A blocked wave stops the chain
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return {
|
|
190
|
+
planDate: plan.generatedAt,
|
|
191
|
+
apps: plan.apps,
|
|
192
|
+
projectPath: spec.projectPath,
|
|
193
|
+
totalModules: readyCount + blockedCount,
|
|
194
|
+
readyModules: readyCount,
|
|
195
|
+
blockedModules: blockedCount,
|
|
196
|
+
externalDeps: externalCount,
|
|
197
|
+
hasCycles: (plan.cycles?.length ?? 0) > 0,
|
|
198
|
+
waves: wavePreflights,
|
|
199
|
+
canProceed: firstReadyWave !== null,
|
|
200
|
+
firstReadyWave,
|
|
201
|
+
lastReadyWave,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// ---------------------------------------------------------------------------
|
|
206
|
+
// Per-module check
|
|
207
|
+
// ---------------------------------------------------------------------------
|
|
208
|
+
|
|
209
|
+
async function checkModule(
|
|
210
|
+
baRoot: string,
|
|
211
|
+
appCode: string,
|
|
212
|
+
moduleCode: string,
|
|
213
|
+
waveLevel: number,
|
|
214
|
+
): Promise<ModulePreflight> {
|
|
215
|
+
const key = `${appCode}/${moduleCode}`;
|
|
216
|
+
const moduleDir = path.join(baRoot, appCode, moduleCode);
|
|
217
|
+
const blockers: string[] = [];
|
|
218
|
+
const warnings: string[] = [];
|
|
219
|
+
|
|
220
|
+
// Check PRD files
|
|
221
|
+
const prdFiles = {
|
|
222
|
+
prd: await fileExists(path.join(moduleDir, 'prd.md')),
|
|
223
|
+
entities: await fileExists(path.join(moduleDir, 'prd.entities.md')),
|
|
224
|
+
api: await fileExists(path.join(moduleDir, 'prd.api.md')),
|
|
225
|
+
frontend: await fileExists(path.join(moduleDir, 'prd.frontend.md')),
|
|
226
|
+
pagespecs: await directoryExists(path.join(moduleDir, 'pagespecs')),
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
if (!prdFiles.prd) blockers.push('prd.md missing — run /ba-create-prd');
|
|
230
|
+
if (!prdFiles.entities) blockers.push('prd.entities.md missing');
|
|
231
|
+
if (!prdFiles.api) blockers.push('prd.api.md missing');
|
|
232
|
+
if (!prdFiles.frontend) blockers.push('prd.frontend.md missing');
|
|
233
|
+
if (!prdFiles.pagespecs) warnings.push('pagespecs/ directory missing — frontend phase may have issues');
|
|
234
|
+
|
|
235
|
+
// Check audit readiness
|
|
236
|
+
const auditPath = path.join(moduleDir, '_audit', 'prd.md');
|
|
237
|
+
const readiness = await parseReadiness(auditPath);
|
|
238
|
+
|
|
239
|
+
if (readiness.verdict === 'UNKNOWN') {
|
|
240
|
+
blockers.push('_audit/prd.md missing — run /ba-audit-prd');
|
|
241
|
+
} else if (readiness.verdict === 'NO-GO') {
|
|
242
|
+
blockers.push(
|
|
243
|
+
`Audit verdict: NO-GO${readiness.score != null ? ` (score ${readiness.score}/100)` : ''}${readiness.errCount != null ? ` — ${readiness.errCount} err` : ''}`,
|
|
244
|
+
);
|
|
245
|
+
} else if (readiness.verdict === 'GO' && readiness.score != null && readiness.score < 80) {
|
|
246
|
+
blockers.push(`Audit score ${readiness.score}/100 < 80 — not dev-ready`);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
return {
|
|
250
|
+
appCode,
|
|
251
|
+
moduleCode,
|
|
252
|
+
key,
|
|
253
|
+
wave: waveLevel,
|
|
254
|
+
status: blockers.length === 0 ? 'ready' : 'not-ready',
|
|
255
|
+
moduleDir,
|
|
256
|
+
readiness,
|
|
257
|
+
prdFiles,
|
|
258
|
+
blockers,
|
|
259
|
+
warnings,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# _workflow — shared references for the BA skills (repo-only)
|
|
2
|
+
|
|
3
|
+
This folder holds the **shared conventions** the `business-analyse/` skills are
|
|
4
|
+
written against. It is NOT deployed: the installer skips `_workflow/` (and any
|
|
5
|
+
`CLAUDE.md` index) because Claude Code only registers skills that are direct
|
|
6
|
+
children of the skills root. Each `ba-*` skill **inlines** what it needs from
|
|
7
|
+
these files, so it is self-contained at runtime — these docs are the source of
|
|
8
|
+
truth used when authoring/maintaining the skills.
|
|
9
|
+
|
|
10
|
+
## The model in one line
|
|
11
|
+
|
|
12
|
+
There is no Studio, no database, no `[ACTION]`/`[QUESTION]` blocks, no injected
|
|
13
|
+
`--- CURRENT X ---` state. **The `.smartstack/ba/` markdown tree IS the state.**
|
|
14
|
+
Skills read it (Read/Glob/Grep), ask closed choices with **AskUserQuestion**, and
|
|
15
|
+
persist by **writing `.md` files** with the Write tool.
|
|
16
|
+
|
|
17
|
+
## Files here
|
|
18
|
+
|
|
19
|
+
| File | Role |
|
|
20
|
+
|------|------|
|
|
21
|
+
| `ba-files.md` | The file model: `.smartstack/ba/` layout, the Application→Module→Section→Resource tree, the six docs per node, the authority matrix (one authoritative level per concept, rollups are one-line pointers), `<!-- ba:* -->` anchors, read-as-state + Write-overwrites semantics. |
|
|
22
|
+
| `doc-templates.md` | Canonical markdown skeletons for every doc (`index`, `acteur`, `use-case`, `règles-métier`, `rbac`, `entité`, `screen`) + the rollup variant + the `_audit/<dimension>.md` verdict shape. The single parse target shared by authors, audits and `create-prd`. |
|
|
23
|
+
| `communication.md` | Cross-phase communication rules + ACK shape + safety (use your tools; talk like a business analyst, not a tool). |
|
|
24
|
+
| `code-discipline.md` | Verbatim copy rule + the identifier universe + the 7 historical code drifts. Source of truth = the files (Grep), not memory. |
|
|
25
|
+
| `context-documents.md` | How to use user-provided reference docs (read them with the Read tool). |
|
|
26
|
+
| `completeAuto-discipline.md` | Anti-hallucination guard for "complete (auto)" coverage runs — every proposal needs a verbatim trace in the tree. |
|
|
27
|
+
|
|
28
|
+
## Phase order (fixed)
|
|
29
|
+
|
|
30
|
+
`menu → actors → use cases → rules → RBAC → data model → screens`, then
|
|
31
|
+
`/ba-create-prd` → `/ba-audit-pre-dev` (GO) → `/ba-develop`.
|
|
32
|
+
Each per-dimension `/ba-audit-*` reads the tree and writes a `_audit/<dim>.md`
|
|
33
|
+
verdict; the definer does a light self-check before writing and hands off to the
|
|
34
|
+
next phase.
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ba-files
|
|
3
|
+
description: >
|
|
4
|
+
The file-based persistence model for the BA workflow in native Claude Code.
|
|
5
|
+
The `.smartstack/ba/` markdown tree IS the database — there is no Studio, no
|
|
6
|
+
SQLite, no `[ACTION]` blocks. Read the tree as state, write `.md` with the
|
|
7
|
+
Write tool. Replaces the Studio-era `output-schema.md`.
|
|
8
|
+
phase: '*'
|
|
9
|
+
kind: companion
|
|
10
|
+
mode_pinned: true
|
|
11
|
+
section_label: '_WORKFLOW — FILE MODEL (.smartstack/ba)'
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# BA file model — the markdown tree is the database
|
|
15
|
+
|
|
16
|
+
In native Claude Code there is **no Studio, no SQLite, no backend route, no
|
|
17
|
+
`[ACTION]`/`[QUESTION]` block, no injected `--- CURRENT X ---` state**. Your
|
|
18
|
+
state is the `.smartstack/ba/` directory in the user's project. You:
|
|
19
|
+
|
|
20
|
+
1. **Read** the tree (Glob + Read) at the start of every task to know what exists.
|
|
21
|
+
2. **Propose** in prose; ask closed choices with the **AskUserQuestion** tool.
|
|
22
|
+
3. **Write** `.md` files with the **Write** tool once the user validates.
|
|
23
|
+
|
|
24
|
+
There is no watchdog and no input lock. A skill that "persists" simply writes a
|
|
25
|
+
file. A skill that "reads current state" simply reads files.
|
|
26
|
+
|
|
27
|
+
## Output root & layout
|
|
28
|
+
|
|
29
|
+
Everything lives under **`.smartstack/ba/`** in the current project
|
|
30
|
+
(`.smartstack/` is already SmartStack's project-local config dir). Each node of
|
|
31
|
+
the Application → Module → Section → Resource hierarchy is a **folder named by
|
|
32
|
+
its code**, and every node folder carries `index.md` + the six concept docs:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
.smartstack/ba/
|
|
36
|
+
├─ index.md ← PROJECT metadata (name, context, global out-of-scope, app list)
|
|
37
|
+
└─ CRM/ ← Application (code UPPERCASE)
|
|
38
|
+
├─ index.md
|
|
39
|
+
├─ acteur.md
|
|
40
|
+
├─ entité.md
|
|
41
|
+
├─ use-case.md
|
|
42
|
+
├─ règles-métier.md
|
|
43
|
+
├─ screen.md
|
|
44
|
+
├─ rbac.md
|
|
45
|
+
├─ _audit/ ← audit verdicts for this node (menu.md, actors.md, …)
|
|
46
|
+
└─ PIPELINE/ ← Module (code UPPERCASE)
|
|
47
|
+
├─ index.md … (same 6 docs + _audit/)
|
|
48
|
+
├─ prd.md ← PRD synthesis (module level only — see create-prd)
|
|
49
|
+
├─ prd.entities.md / prd.api.md / prd.frontend.md
|
|
50
|
+
├─ pagespecs/<Entity>.<view>.md
|
|
51
|
+
├─ claude.md
|
|
52
|
+
├─ audit.json ← dev-readiness gate (generated, see audit-prd)
|
|
53
|
+
└─ opportunites/ ← Section (folder = code, lower-kebab ASCII)
|
|
54
|
+
├─ index.md … (same 6 docs)
|
|
55
|
+
└─ devis/ ← Resource (folder = code, lower-kebab ASCII)
|
|
56
|
+
└─ index.md … (same 6 docs)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The **folder structure encodes the menu hierarchy**; each folder is named by its
|
|
60
|
+
**node code** and each `index.md` holds the node metadata (incl. the accented
|
|
61
|
+
label). Codes are ASCII (UPPERCASE apps/modules, lower-kebab sections/resources),
|
|
62
|
+
so `Opportunités` (label) lives in a folder named `opportunites` (code).
|
|
63
|
+
Generated doc CONTENT is in the user's language; this SKILL.md and all skill
|
|
64
|
+
files stay in English.
|
|
65
|
+
|
|
66
|
+
> The six **doc filenames** are intentionally French and accented (`acteur.md`,
|
|
67
|
+
> `entité.md`, `use-case.md`, `règles-métier.md`, `screen.md`) — keep them
|
|
68
|
+
> verbatim. Only the **folder names** are ASCII codes.
|
|
69
|
+
|
|
70
|
+
## The six docs + index — what each holds
|
|
71
|
+
|
|
72
|
+
| File | Owner skill | Holds |
|
|
73
|
+
|------|-------------|-------|
|
|
74
|
+
| `index.md` | create-menu | node code, label, context, out_of_scope, list of children |
|
|
75
|
+
| `acteur.md` | create-actors | actors (`BA-{NNN}-AC-{NNN}`): label, type, description, scope |
|
|
76
|
+
| `use-case.md` | create-use-case | Cockburn UCs (`UC-{APP}-{MOD}-{SEC}-NNN`) |
|
|
77
|
+
| `règles-métier.md` | create-business-rules | rules (`BR-…`): condition, expression, valid/invalid examples, linked UCs |
|
|
78
|
+
| `rbac.md` | create-rbac | permission matrix: actor × action × scope |
|
|
79
|
+
| `entité.md` | create-data-model | MCD entities (`ENT-…`): attributes, relationships, indexes |
|
|
80
|
+
| `screen.md` | create-screen | screen specs (`SCR-…`): SmartComponent type, entity, config |
|
|
81
|
+
|
|
82
|
+
BA docs carry **no diagrams** — visual ERD / sequence rendering is a Studio
|
|
83
|
+
concern, not part of the file-based BA output.
|
|
84
|
+
|
|
85
|
+
## Authority matrix — single source of truth, no drift
|
|
86
|
+
|
|
87
|
+
The six docs **exist at every level** (uniform, predictable structure). To avoid
|
|
88
|
+
divergent duplication, **exactly one level is AUTHORITATIVE per concept**; the
|
|
89
|
+
other levels carry an **auto-generated rollup** — a short aggregated/filtered
|
|
90
|
+
view that links to the authoritative children and never contains hand-authored
|
|
91
|
+
prose.
|
|
92
|
+
|
|
93
|
+
| Doc | App | Module | Section | Resource | Authoritative level |
|
|
94
|
+
|-----|-----|--------|---------|----------|---------------------|
|
|
95
|
+
| `index.md` | author | author | author | author | every node (intrinsic metadata) |
|
|
96
|
+
| `acteur.md` | **author** | rollup | rollup | rollup | App (actors are app/project-scoped) |
|
|
97
|
+
| `rbac.md` | rollup | **author** | author | author | Module (perms attach to actor × target) |
|
|
98
|
+
| `use-case.md` | rollup | rollup | **author** | refine | Section (`UC-{APP}-{MOD}-{SEC}-NNN`) |
|
|
99
|
+
| `règles-métier.md` | author | author | author | author | the rule's deepest declared scope |
|
|
100
|
+
| `entité.md` | rollup | **author** | rollup | rollup | Module (MCD per module) |
|
|
101
|
+
| `screen.md` | rollup | rollup | **author** | author | Section / Resource (screen binds there) |
|
|
102
|
+
|
|
103
|
+
A rollup file starts with the marker `<!-- ba:rollup auto -->` immediately after
|
|
104
|
+
its anchor comment. **Never hand-edit a rollup** — it is regenerated from its
|
|
105
|
+
authoritative children. An authoritative file never carries the rollup marker.
|
|
106
|
+
|
|
107
|
+
## Anchor markers — how files are parsed back into state
|
|
108
|
+
|
|
109
|
+
Every doc starts with an HTML-comment anchor so a later turn (or an audit) can
|
|
110
|
+
reconstruct state by reading files:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
<!-- ba:node kind=acteur level=application code=CRM -->
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
- `kind` ∈ `node | acteur | use-case | rules | rbac | entité | screen | prd | audit`
|
|
117
|
+
- `level` ∈ `project | application | module | section | resource`
|
|
118
|
+
- `code` = the node code this doc is scoped to
|
|
119
|
+
- `depends` (optional, module-level `index.md` only) = comma-separated `APP/MODULE`
|
|
120
|
+
keys listing cross-module BA dependencies. Written by `/ba-create-ba-order`
|
|
121
|
+
(Phase 1.5). Example: `depends=ERP/REFERENCES,ERP/CUSTOMERS`.
|
|
122
|
+
Absent means "no dependencies declared yet" (not "none").
|
|
123
|
+
|
|
124
|
+
Individual items inside a doc use a `### {CODE} — {label}` heading so codes are
|
|
125
|
+
greppable. The code **prefixes are the functional identifiers** and are found by
|
|
126
|
+
Grep on the tree — not from any injected block:
|
|
127
|
+
|
|
128
|
+
| Identifier | Format | Found in |
|
|
129
|
+
|------------|--------|----------|
|
|
130
|
+
| application / module code | UPPERCASE | folder name + `index.md` anchor |
|
|
131
|
+
| section / resource code | lower-kebab | folder name + `index.md` anchor |
|
|
132
|
+
| actor code | `BA-{NNN}-AC-{NNN}` | `acteur.md` headings |
|
|
133
|
+
| use-case code | `UC-{APP}-{MOD}-{SEC}-NNN` | `use-case.md` headings |
|
|
134
|
+
| rule code | `BR-{NNN}` | `règles-métier.md` headings |
|
|
135
|
+
| entity code | `ENT-{NNN}` | `entité.md` headings |
|
|
136
|
+
| screen code | `SCR-{APP}-…-NNN` | `screen.md` headings |
|
|
137
|
+
|
|
138
|
+
## Reading the tree as state (do this first, every task)
|
|
139
|
+
|
|
140
|
+
1. `Glob .smartstack/ba/**/index.md` → the full node tree (folders = hierarchy).
|
|
141
|
+
2. Read the `index.md` of the node(s) in scope for metadata (label, context, out_of_scope).
|
|
142
|
+
3. For the concept you work on, Read the authoritative `<concept>.md` of the
|
|
143
|
+
relevant node(s). To reference a code, Grep it across the tree — if it is not
|
|
144
|
+
found, it does not exist (do not invent it; offer to create it).
|
|
145
|
+
|
|
146
|
+
If `.smartstack/ba/` does not exist, you are at project start: create it and
|
|
147
|
+
`index.md` as part of the first `create-menu` turn.
|
|
148
|
+
|
|
149
|
+
## Writing (Write tool — overwrite semantics)
|
|
150
|
+
|
|
151
|
+
- A persist = **Write the full authoritative doc** for the node. The Write
|
|
152
|
+
**overwrites** the file, so any item you omit is removed — re-list every item
|
|
153
|
+
that must survive (this replaces the old "orphan cleanup" discipline).
|
|
154
|
+
- The authoritative doc holds the real content. At every OTHER level the doc
|
|
155
|
+
still exists (uniform structure) but as a **rollup**. The **minimal, preferred
|
|
156
|
+
form of a rollup is a one-line pointer** to the authoritative doc
|
|
157
|
+
(`> Voir [chemin](...)`) — keep rollups pointer-thin so they cannot drift. An
|
|
158
|
+
aggregated list of child codes is optional, never required. Only refresh a
|
|
159
|
+
rollup when you are already touching that subtree; do not fan out across the
|
|
160
|
+
whole tree on every write.
|
|
161
|
+
- `create-menu` scaffolds each new node folder with `index.md` + six
|
|
162
|
+
placeholder docs (anchor + `_À définir via /<skill>_`), so the structure is
|
|
163
|
+
uniform from creation. Phase skills replace placeholders with real content at
|
|
164
|
+
the authoritative level.
|
|
165
|
+
- Confirm destructive edits (removing a node, an actor, a permission) with
|
|
166
|
+
AskUserQuestion before writing.
|
|
167
|
+
|
|
168
|
+
## Code discipline (carried over — still load-bearing)
|
|
169
|
+
|
|
170
|
+
The verbatim-copy rule survives, with the source of truth now being the `.md`
|
|
171
|
+
tree instead of injected blocks. Never translate, compose, or invent a code:
|
|
172
|
+
copy it verbatim from the file where it is authored. See `code-discipline.md`
|
|
173
|
+
for the seven historical drifts (label→SCREAMING_SNAKE, FR↔EN, dot-composition,
|
|
174
|
+
invented codes, …) — they all still apply.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-discipline
|
|
3
|
+
description: Verbatim copy rule + identifier discipline — anti-drift companion. Source of truth is the `.smartstack/ba/` markdown tree (read with Grep), not injected blocks.
|
|
4
|
+
phase: '*'
|
|
5
|
+
kind: companion
|
|
6
|
+
mode_pinned: true
|
|
7
|
+
section_label: '_WORKFLOW — CODE DISCIPLINE (verbatim copy rule)'
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Code discipline (verbatim copy rule)
|
|
11
|
+
|
|
12
|
+
Read this before writing any doc that references a code.
|
|
13
|
+
|
|
14
|
+
## ⚠️ Source of truth: the `.md` tree, NOT your memory (ALL PHASES)
|
|
15
|
+
|
|
16
|
+
State lives in `.smartstack/ba/` (see `ba-files.md`). The files contain the
|
|
17
|
+
**exact list of items that exist right now** — that is the only source of truth.
|
|
18
|
+
Your memory of the conversation can be stale (an item may have been removed by a
|
|
19
|
+
later write, or never written).
|
|
20
|
+
|
|
21
|
+
**Before referring to an item (BR-XYZ, UC-XYZ, BA-NNN-AC-NNN, ENT-NNN, …) as
|
|
22
|
+
"existing" / "already defined"**, Grep it across the tree. If it is absent:
|
|
23
|
+
|
|
24
|
+
✅ **Correct**:
|
|
25
|
+
> Vous mentionnez BR-CRM-002. Je ne le trouve pas dans les règles enregistrées —
|
|
26
|
+
> il n'a probablement jamais été défini. Voulez-vous que je le crée ?
|
|
27
|
+
|
|
28
|
+
❌ **Anti-pattern**:
|
|
29
|
+
> Les règles BR-002, BR-005 sont toujours en attente.
|
|
30
|
+
> *(alors qu'aucune n'apparaît dans `règles-métier.md`)*
|
|
31
|
+
|
|
32
|
+
### Per-turn check
|
|
33
|
+
|
|
34
|
+
1. `Glob`/`Read`/`Grep` the relevant docs in `.smartstack/ba/`.
|
|
35
|
+
2. Note the codes actually present.
|
|
36
|
+
3. Before mentioning a code in prose or a coverage recap:
|
|
37
|
+
- Present in a file → OK, speak in the present tense.
|
|
38
|
+
- Absent → either create it (write it into the authoritative doc) or flag the
|
|
39
|
+
gap. NEVER claim it exists when no file contains it.
|
|
40
|
+
|
|
41
|
+
## Verbatim copy rule (ABSOLUTE, ALL PHASES)
|
|
42
|
+
|
|
43
|
+
**Every identifier you write into a doc MUST be copied verbatim from the file
|
|
44
|
+
where it is authored.** Never translate, compose, transform, infer or invent a
|
|
45
|
+
code. Cross-references (a screen linking a UC, a rule linking a UC) break
|
|
46
|
+
silently if the code drifts.
|
|
47
|
+
|
|
48
|
+
| Category | Source of truth | Example of drift |
|
|
49
|
+
|----------|-----------------|------------------|
|
|
50
|
+
| **Identifier values** (codes) | the authoring `.md` file (Grep it) | `GESTIONNAIRE_STOCK` instead of `BA-002-AC-007` (label → SCREAMING_SNAKE); `MOVEMENTS` instead of `MOUVEMENTS` (FR→EN); `STOCK.MOUVEMENTS` instead of `STOCK` + `MOUVEMENTS`; `UC-STOCK-CATALOGUE-PARTS-003` invented |
|
|
51
|
+
| **Field/section names** in a doc | the relevant skill's doc template | renaming a template heading so a later parse/audit misses it |
|
|
52
|
+
|
|
53
|
+
If you can't find the exact string in a file, you're inventing it. Stop and
|
|
54
|
+
Grep.
|
|
55
|
+
|
|
56
|
+
## The identifier universe
|
|
57
|
+
|
|
58
|
+
| Identifier | Authored in | Format |
|
|
59
|
+
|------------|-------------|--------|
|
|
60
|
+
| `applicationCode` / `moduleCode` | folder name + `index.md` anchor | UPPERCASE (e.g. `STOCK`, `MOUVEMENTS` — never `MOVEMENTS`) |
|
|
61
|
+
| `sectionCode` / `resourceCode` | folder name + `index.md` anchor | lower-kebab (e.g. `exchange-history`) |
|
|
62
|
+
| `actorCode` | `acteur.md` headings | `BA-{NNN}-AC-{NNN}` — sequence-based, NOT label-derived |
|
|
63
|
+
| `useCaseCode` | `use-case.md` headings | `UC-{APP}-{MOD}-{SEC}-NNN` |
|
|
64
|
+
| `ruleCode` | `règles-métier.md` headings | `BR-{NNN}` |
|
|
65
|
+
| `entityCode` | `entité.md` headings | `ENT-{NNN}` |
|
|
66
|
+
| `screenCode` | `screen.md` headings | `SCR-{APP}-…-NNN` |
|
|
67
|
+
|
|
68
|
+
To assign the next code in a sequence, Grep the existing codes of that family in
|
|
69
|
+
scope and increment — never reuse a removed code in the same scope.
|
|
70
|
+
|
|
71
|
+
## The 7 drifts that cost real data
|
|
72
|
+
|
|
73
|
+
Each has happened. Recognise them and STOP before writing.
|
|
74
|
+
|
|
75
|
+
1. **SCREAMING_SNAKE from the label** — `GESTIONNAIRE_STOCK` from "Gestionnaire
|
|
76
|
+
de stock" when the real code is `BA-002-AC-007`. Label = UI text; code = key.
|
|
77
|
+
2. **French↔English translation** — `MOVEMENTS` when the module code is
|
|
78
|
+
`MOUVEMENTS`. Never translate — the code is whatever was validated in phase 1.
|
|
79
|
+
3. **Dot-notation composition** — `STOCK.MOUVEMENTS` when app and module are
|
|
80
|
+
separate codes (`STOCK`, `MOUVEMENTS`).
|
|
81
|
+
4. **SCREAMING_SNAKE the section label** — `EXCHANGE_HISTORY` when the section
|
|
82
|
+
code is `exchange-history`. Section codes are lower-kebab.
|
|
83
|
+
5. **Invented UC codes** — `UC-STOCK-CATALOGUE-PARTS-003` for a section never
|
|
84
|
+
detailed. A UC code MUST be visible in a `use-case.md` to be referenced.
|
|
85
|
+
6. **Invented item names** — referencing an entity/rule/screen that no file
|
|
86
|
+
authors. Grep first.
|
|
87
|
+
7. **"Prettier" actor codes** — `STOCK_MANAGER`, `GestionnaireStock`. Codes are
|
|
88
|
+
ugly by design (traceability > aesthetics). Copy them as-is.
|
|
89
|
+
|
|
90
|
+
## Verify references before you write
|
|
91
|
+
|
|
92
|
+
Before writing a doc that references codes from other docs (e.g. a `screen.md`
|
|
93
|
+
referencing a UC and an entity), restate the codes you are about to use and
|
|
94
|
+
confirm each one appears verbatim in its authoring file:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
Scope : STOCK / CATALOGUE / parts
|
|
98
|
+
Actors : BA-002-AC-007 (Gestionnaire de stock) ← acteur.md
|
|
99
|
+
Linked UCs : UC-STOCK-CATALOGUE-PARTS-001..005 ← use-case.md
|
|
100
|
+
Linked rules : BR-003, BR-007 ← règles-métier.md
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
If a code is not found in its authoring file, the referenced item does not
|
|
104
|
+
exist — defer to the phase that creates it rather than fabricating the code.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: communication-rules
|
|
3
|
+
description: Cross-phase communication rules + ACK shape + safety guards for the native Claude Code BA workflow. Replaces the Studio-era version (no [ACTION]/[QUESTION], no watchdog).
|
|
4
|
+
phase: '*'
|
|
5
|
+
kind: companion
|
|
6
|
+
mode_pinned: true
|
|
7
|
+
section_label: '_WORKFLOW — COMMUNICATION RULES'
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Communication rules (cross-phase)
|
|
11
|
+
|
|
12
|
+
These rules apply to **every** turn, regardless of phase or mode.
|
|
13
|
+
|
|
14
|
+
## Communication language
|
|
15
|
+
|
|
16
|
+
Respond in the user's language (French → French, German → German). Only file
|
|
17
|
+
names, code identifiers, and `code` values stay in English/ASCII.
|
|
18
|
+
|
|
19
|
+
## You ARE a Claude Code session with tools
|
|
20
|
+
|
|
21
|
+
The state lives in the `.smartstack/ba/` markdown tree (see `ba-files.md`). You
|
|
22
|
+
read it with **Read / Glob / Grep** and persist with the **Write** tool. There
|
|
23
|
+
is no Studio, no SQLite, no `[ACTION]`/`[QUESTION]` block, no watchdog, no input
|
|
24
|
+
lock. Closed choices are asked with the **AskUserQuestion** tool.
|
|
25
|
+
|
|
26
|
+
## What NOT to say (talk like a business analyst, not a tool)
|
|
27
|
+
|
|
28
|
+
The user is doing business analysis with you — keep the plumbing invisible.
|
|
29
|
+
|
|
30
|
+
- ❌ **Skill names** in prose (`create-rbac`, `create-menu`, …). If you need to
|
|
31
|
+
point the user to a next step, describe the activity ("on définit les rôles"),
|
|
32
|
+
not the skill name.
|
|
33
|
+
- ❌ **Internal paths** (`.smartstack/ba/...`, `~/.claude/`, `skills/…`) unless
|
|
34
|
+
the user asks where their files are.
|
|
35
|
+
- ❌ **Auto-explain the file mechanics** unprompted ("I'm writing acteur.md and
|
|
36
|
+
regenerating the rollups"). The user wants the next analysis step, not the
|
|
37
|
+
making-of. If they ask explicitly, be brief.
|
|
38
|
+
- ❌ **Autobiographical recap** after a write ("I analysed X, cross-referenced Y,
|
|
39
|
+
wrote the file"). Confirm the business outcome and move on.
|
|
40
|
+
|
|
41
|
+
## ACK shape after a successful write (3 lines max, user's language)
|
|
42
|
+
|
|
43
|
+
1. Factual business confirmation ("3 entités enregistrées : BudgetTag,
|
|
44
|
+
BudgetAuditLog, BudgetAlertSubscription"). No `ENT-NNN` codes, no internal
|
|
45
|
+
params unless asked.
|
|
46
|
+
2. One next step. The phase order is dictated by the workflow — never ask
|
|
47
|
+
"what next?".
|
|
48
|
+
3. Optional AskUserQuestion only when several reasonable paths remain.
|
|
49
|
+
|
|
50
|
+
## Safety (cross-phase)
|
|
51
|
+
|
|
52
|
+
- ✅ **Use your tools.** Read/Glob/Grep to load state; Write to persist; Edit for
|
|
53
|
+
surgical changes; AskUserQuestion for closed choices. (This INVERTS the
|
|
54
|
+
Studio-era rule that forbade tools — the tools ARE the persistence mechanism
|
|
55
|
+
now.)
|
|
56
|
+
- ❌ **Don't write outside `.smartstack/ba/`** during a BA phase. Generating
|
|
57
|
+
project code is a separate, later activity (`ba-develop`).
|
|
58
|
+
- ❌ **Don't produce two phases in a single response.** The active phase carries
|
|
59
|
+
everything you need; jumping ahead breaks the workflow's gates.
|
|
60
|
+
- ❌ **Don't confirm a code exists from memory.** Grep the tree first — if a code
|
|
61
|
+
is not in a file, it does not exist (offer to create it; never fabricate it).
|
|
62
|
+
- ✅ **Confirm before destructive writes** (removing a node, actor, or
|
|
63
|
+
permission) with AskUserQuestion — a Write overwrites the whole file.
|