@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
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: business-analyse-develop
|
|
3
|
-
description: Autonomous development from PRD — implements the full application with MCP validation, quality gates, and completion guarantees.
|
|
4
|
-
argument-hint: "[-m N] [-c TEXT] [-v] <task description>"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
<objective>
|
|
8
|
-
Execute the Ralph Weegund technique — module orchestration with autonomous code generation. Ralph reads PRDs from `/business-analyse-handoff`, resolves dependencies, and delegates all code generation to `/apex -d`.
|
|
9
|
-
|
|
10
|
-
**Key principle:** Ralph ORCHESTRATES (module sequencing, quality gates, reporting). All code generation is delegated to `/apex`.
|
|
11
|
-
</objective>
|
|
12
|
-
|
|
13
|
-
<quick_start>
|
|
14
|
-
|
|
15
|
-
**From Business Analysis (RECOMMENDED):**
|
|
16
|
-
```bash
|
|
17
|
-
/business-analyse MyFeature
|
|
18
|
-
# Then: /business-analyse-handoff
|
|
19
|
-
# Then: /business-analyse-develop -r
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
**Manual start:**
|
|
23
|
-
```bash
|
|
24
|
-
/business-analyse-develop implement user authentication
|
|
25
|
-
/business-analyse-develop -c "COMPLETE" -m 20 refactor cache layer
|
|
26
|
-
/business-analyse-develop -r # Resume previous
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
**Flags:** `-m N` (max iterations), `-c TEXT` (completion promise), `-v` (verbose), `-r` (resume), `-p` (parallel)
|
|
30
|
-
|
|
31
|
-
</quick_start>
|
|
32
|
-
|
|
33
|
-
<parameters>
|
|
34
|
-
| Short | Long | Description |
|
|
35
|
-
|-------|------|-------------|
|
|
36
|
-
| `-m N` | `--max-iterations N` | Max iterations (default: 50, v4: adaptive) |
|
|
37
|
-
| `-c TEXT` | `--completion-promise TEXT` | Completion signal text |
|
|
38
|
-
| `-v` | `--verbose` | Detailed logging |
|
|
39
|
-
| `-r` | `--resume` | Resume from previous state |
|
|
40
|
-
| `-p` | `--parallel` | Teams mode: Phase 0 sequential, then parallel per module |
|
|
41
|
-
</parameters>
|
|
42
|
-
|
|
43
|
-
<prd_format_detection>
|
|
44
|
-
|
|
45
|
-
## PRD Format Detection
|
|
46
|
-
|
|
47
|
-
Ralph supports two PRD formats:
|
|
48
|
-
|
|
49
|
-
| | PRD v3 (task-oriented) | PRD v4 (spec-oriented) |
|
|
50
|
-
|---|---|---|
|
|
51
|
-
| **Detection** | `$version === '3.0.0'` + `tasks[]` present | `$version === '4.0.0'` + `objectives[]` present |
|
|
52
|
-
| **Execution model** | Batch iterations (compact-loop) | Continuous session (compaction manages context) |
|
|
53
|
-
| **Context management** | Manual: "Read Once" rule, max 5 tasks/batch | Automatic: server-side compaction |
|
|
54
|
-
| **Progress tracking** | progress.txt as state machine | Optional checkpoints |
|
|
55
|
-
| **Splitting** | By token budget (>4 entities) | By logical feature (by section) |
|
|
56
|
-
| **Steps** | 6 steps + compact-loop.md | 3 steps: init → execute → verify |
|
|
57
|
-
|
|
58
|
-
**Backward compatibility:** v3 PRDs execute with the EXACT same behavior as before. v4 is opt-in via `/business-analyse-handoff --v4`.
|
|
59
|
-
|
|
60
|
-
</prd_format_detection>
|
|
61
|
-
|
|
62
|
-
<workflow>
|
|
63
|
-
|
|
64
|
-
## v4 Workflow (spec-oriented — RECOMMENDED)
|
|
65
|
-
|
|
66
|
-
**Single module:**
|
|
67
|
-
1. **Init** (step-00): parse flags, verify MCP, load PRD v4, detect modules
|
|
68
|
-
2. **Execute** (step-01-v4): delegate entire module to `/apex -d` as one continuous session
|
|
69
|
-
- `/apex` reads the spec (architecture, objectives, acceptance criteria)
|
|
70
|
-
- `/apex` decides execution order (domain → infra → app → api → seed → frontend → tests)
|
|
71
|
-
- Ralph intercepts at natural checkpoints for quality gates
|
|
72
|
-
- Server-side compaction manages context automatically
|
|
73
|
-
3. **Verify + Report** (step-02-v4): run ALL quality gates, generate report
|
|
74
|
-
|
|
75
|
-
**Multi-module:**
|
|
76
|
-
1. Init: detect prd-*.json files, build topological order
|
|
77
|
-
2. For each module in order → Execute (continuous session per module)
|
|
78
|
-
3. Cross-module verify + final report
|
|
79
|
-
|
|
80
|
-
**Quality gates (same as v3):**
|
|
81
|
-
- `dotnet build` (BLOCKING)
|
|
82
|
-
- `dotnet test` (BLOCKING after build)
|
|
83
|
-
- `npm test` / `npm run typecheck` (BLOCKING for frontend)
|
|
84
|
-
- MCP `validate_security` + `validate_conventions`
|
|
85
|
-
- BR coverage check (each BR has implementation)
|
|
86
|
-
- File reconciliation (expectedFiles vs disk)
|
|
87
|
-
- Stub test detection (reject empty tests)
|
|
88
|
-
|
|
89
|
-
## v3 Workflow (task-oriented — LEGACY)
|
|
90
|
-
|
|
91
|
-
**Single module:**
|
|
92
|
-
1. Init: parse flags, verify MCP, setup .ralph/ (step-00)
|
|
93
|
-
2. Load tasks from prd.json — unified v3 has pre-computed tasks (step-01, step FILE read once)
|
|
94
|
-
3. Execute first task (step-02, step FILE read once)
|
|
95
|
-
4. Commit + update progress (step-03, step FILE read once)
|
|
96
|
-
5. Check completion → enter COMPACT LOOP (step-04)
|
|
97
|
-
6. **COMPACT LOOP** (step-04 → references/compact-loop.md):
|
|
98
|
-
- Find eligible → batch by category (max 5) → execute → test → commit → loop
|
|
99
|
-
7. Report (step-05)
|
|
100
|
-
|
|
101
|
-
**Multi-module with `-p` (parallel mode):**
|
|
102
|
-
1. Init: detect prd-*.json, parse `-p` flag (step-00)
|
|
103
|
-
2. **Phase 0 (Ralph sequential):** ALL entities from ALL modules via `/apex --foundation`
|
|
104
|
-
3. **Phase 1-N (Teams parallel):** Spawn teammates per module
|
|
105
|
-
4. Report with per-module aggregation (step-05)
|
|
106
|
-
|
|
107
|
-
**Multi-module WITHOUT `-p` (sequential — legacy):**
|
|
108
|
-
1. Init: detect prd-*.json, read dependency layers (step-00)
|
|
109
|
-
2. Compact loop per module in topological order
|
|
110
|
-
3. Report with per-module aggregation (step-05)
|
|
111
|
-
|
|
112
|
-
</workflow>
|
|
113
|
-
|
|
114
|
-
<state_variables>
|
|
115
|
-
| Variable | Type | v3 | v4 | Description |
|
|
116
|
-
|----------|------|----|----|-------------|
|
|
117
|
-
| `{max_iterations}` | number | Yes | Adaptive | Max iterations |
|
|
118
|
-
| `{current_iteration}` | number | Yes | No | Current iteration counter |
|
|
119
|
-
| `{current_module}` | string | Yes | Yes | Current module being processed |
|
|
120
|
-
| `{modules_queue}` | object | Yes | Yes | Module queue (multi-module) |
|
|
121
|
-
| `{prd_version}` | '3.0.0' \| '4.0.0' | Yes | Yes | Detected PRD format |
|
|
122
|
-
| `{section_split_mode}` | boolean | Yes | No | v3 only: section splitting active |
|
|
123
|
-
| `{parallel_mode}` | boolean | Yes | Yes | Teams mode via `-p` |
|
|
124
|
-
</state_variables>
|
|
125
|
-
|
|
126
|
-
<mcp_requirements>
|
|
127
|
-
**MANDATORY before any work:**
|
|
128
|
-
1. `mcp__smartstack__validate_conventions` — verify connectivity
|
|
129
|
-
2. `mcp__context7__resolve-library-id` — verify connectivity
|
|
130
|
-
|
|
131
|
-
**During work:** All MCP tool calls are handled by `/apex` during delegation.
|
|
132
|
-
</mcp_requirements>
|
|
133
|
-
|
|
134
|
-
<execution_guarantee>
|
|
135
|
-
|
|
136
|
-
## EXECUTION GUARANTEE — READ THIS FIRST
|
|
137
|
-
|
|
138
|
-
**Ralph-loop executes ALL work from start to finish. No exceptions.**
|
|
139
|
-
|
|
140
|
-
When the user invokes `/business-analyse-develop`, they are giving you the instruction to:
|
|
141
|
-
1. Initialize (step-00)
|
|
142
|
-
2. Execute ALL modules autonomously
|
|
143
|
-
3. Run quality gates
|
|
144
|
-
4. Generate the final report
|
|
145
|
-
|
|
146
|
-
**You MUST NOT:**
|
|
147
|
-
- Stop to "ask for confirmation"
|
|
148
|
-
- Set `max_iterations = 1` or any reduced value
|
|
149
|
-
- Ask the user to choose between supervised/autonomous mode
|
|
150
|
-
- Wait for user input between modules
|
|
151
|
-
- Delegate the loop to sub-agents (except team mode and /apex delegation)
|
|
152
|
-
- Display a progress report then ask "shall I continue?" or present options (1/2/3)
|
|
153
|
-
- Pause because the scope is "large" or "ambitious" — execute ALL of it regardless of size
|
|
154
|
-
|
|
155
|
-
**The ONLY valid stop conditions are:**
|
|
156
|
-
- ALL objectives met / ALL tasks completed (→ report)
|
|
157
|
-
- `max_iterations` reached (v3 only)
|
|
158
|
-
- Dead-end (all remaining blocked/failed after retries)
|
|
159
|
-
- User Ctrl+C
|
|
160
|
-
|
|
161
|
-
**If you stop for any other reason, you have VIOLATED this guarantee.**
|
|
162
|
-
|
|
163
|
-
</execution_guarantee>
|
|
164
|
-
|
|
165
|
-
<entry_point>
|
|
166
|
-
**FIRST ACTION:** Load `steps/step-00-init.md` — then execute ALL steps through to completion without stopping.
|
|
167
|
-
</entry_point>
|
|
168
|
-
|
|
169
|
-
<step_files>
|
|
170
|
-
|
|
171
|
-
### v4 Steps (spec-oriented)
|
|
172
|
-
| Step | File | Purpose |
|
|
173
|
-
|------|------|---------|
|
|
174
|
-
| 00 | `steps/step-00-init.md` | Parse args, verify MCP, detect format, init state |
|
|
175
|
-
| 01-v4 | `steps/step-01-v4-execute.md` | Continuous execution: delegate to /apex, run gates |
|
|
176
|
-
| 02-v4 | `steps/step-02-v4-verify.md` | Final gates, file reconciliation, BR coverage, report |
|
|
177
|
-
|
|
178
|
-
### v3 Steps (task-oriented — legacy)
|
|
179
|
-
| Step | File | Purpose |
|
|
180
|
-
|------|------|---------|
|
|
181
|
-
| 00 | `steps/step-00-init.md` | Parse args, verify MCP, init state |
|
|
182
|
-
| 01 | `steps/step-01-task.md` | Load/create tasks from prd.json |
|
|
183
|
-
| 02 | `steps/step-02-execute.md` | Delegate module to /apex -d |
|
|
184
|
-
| 03 | `steps/step-03-commit.md` | Commit, update prd.json/progress.txt |
|
|
185
|
-
| 04 | `steps/step-04-check.md` | Check completion, compact loop entry |
|
|
186
|
-
| 05 | `steps/step-05-report.md` | Generate final report |
|
|
187
|
-
|
|
188
|
-
**v3 "Read Once" rule:** Step files read once, compact-loop.md drives iterations 2+.
|
|
189
|
-
**v4:** No "Read Once" rule needed — compaction manages context automatically.
|
|
190
|
-
|
|
191
|
-
**Reference files (loaded conditionally):**
|
|
192
|
-
| File | Loaded when |
|
|
193
|
-
|------|-------------|
|
|
194
|
-
| `references/compact-loop.md` | v3 only: Step-04 section 5 |
|
|
195
|
-
| `references/section-splitting.md` | v3 only: >4 entities + >1 section |
|
|
196
|
-
| `references/category-completeness.md` | v3: step-01/step-04; v4: step-02-v4 |
|
|
197
|
-
| `references/init-resume-recovery.md` | Both: Step-00 section 4 (resume mode) |
|
|
198
|
-
| `references/multi-module-queue.md` | Both: multi-module initialization |
|
|
199
|
-
| `references/quality-gates.md` | v4: step-01-v4 and step-02-v4 |
|
|
200
|
-
</step_files>
|
|
201
|
-
|
|
202
|
-
<file_structure>
|
|
203
|
-
```
|
|
204
|
-
.ralph/
|
|
205
|
-
├── prd.json # v3: unified task list OR v4: spec document
|
|
206
|
-
├── prd-{module}.json # Per-module PRDs (from business-analyse-handoff)
|
|
207
|
-
├── progress.txt # v3: state machine; v4: optional checkpoints
|
|
208
|
-
├── modules-queue.json # Multi-module tracking
|
|
209
|
-
├── logs/
|
|
210
|
-
└── reports/
|
|
211
|
-
└── {feature}.md
|
|
212
|
-
```
|
|
213
|
-
</file_structure>
|
|
214
|
-
|
|
215
|
-
<execution_rules>
|
|
216
|
-
|
|
217
|
-
### NON-NEGOTIABLE — Autonomous Full Execution
|
|
218
|
-
- **EXECUTE ALL WORK** — from first module to last, no user interaction
|
|
219
|
-
- **NEVER ask the user** — no mode selection, no "shall I continue?"
|
|
220
|
-
- **NEVER stop prematurely** — only valid stops listed in execution_guarantee
|
|
221
|
-
- **VERIFY MCP FIRST** — never skip
|
|
222
|
-
|
|
223
|
-
### Quality Gates (both v3 and v4)
|
|
224
|
-
- **BUILD GATE** — `dotnet build` must pass (BLOCKING)
|
|
225
|
-
- **BACKEND TEST GATE** — `dotnet test` must pass (BLOCKING)
|
|
226
|
-
- **FRONTEND TEST GATE** — `npm test` / `npm run typecheck` (BLOCKING)
|
|
227
|
-
- **STUB TEST DETECTION** — reject `Assert.True(true)` or empty test methods
|
|
228
|
-
- **MCP SECURITY** — validate_security + validate_conventions
|
|
229
|
-
- **BR COVERAGE** — every business rule has implementation + test
|
|
230
|
-
- **FILE RECONCILIATION** — expectedFiles vs actual files on disk
|
|
231
|
-
- **MIGRATION** — after EF configs, before tests
|
|
232
|
-
|
|
233
|
-
### Error Recovery
|
|
234
|
-
- **v3:** Failed tasks retry up to 3 times, context NOT enriched
|
|
235
|
-
- **v4:** Failures handled in same session — Claude has full error context via compaction, retries naturally with different approach
|
|
236
|
-
|
|
237
|
-
</execution_rules>
|
|
238
|
-
|
|
239
|
-
<success_criteria>
|
|
240
|
-
- All objectives met (v4) / all tasks completed (v3)
|
|
241
|
-
- MCP validations pass (validate_security + validate_conventions)
|
|
242
|
-
- All quality gates pass (build, test, BR coverage, file reconciliation)
|
|
243
|
-
- Git commits atomic with commit_hash tracked
|
|
244
|
-
- Tests pass (dotnet test + npm test)
|
|
245
|
-
- Migrations created and applied
|
|
246
|
-
- Seed data complete (navigation, permissions, roles via MCP)
|
|
247
|
-
- Frontend in correct hierarchy (Context/App/Module)
|
|
248
|
-
- Report generated in .ralph/reports/
|
|
249
|
-
- Multi-module: all modules processed, cross-module report
|
|
250
|
-
</success_criteria>
|
|
@@ -1,326 +0,0 @@
|
|
|
1
|
-
# Category Completeness Check
|
|
2
|
-
|
|
3
|
-
> **Reference for:** step-01-task.md section 4b and step-04-check.md section 1.7
|
|
4
|
-
> **Purpose:** Ensure PRD contains tasks for ALL required categories before/during execution
|
|
5
|
-
> **Frequency:** On load (step-01) and every iteration (step-04)
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## The Problem
|
|
10
|
-
|
|
11
|
-
**Test-v4-005 Failure Mode:**
|
|
12
|
-
- PRD generated with only backend categories (domain, infrastructure, application, api, seedData)
|
|
13
|
-
- Frontend and test categories were entirely absent
|
|
14
|
-
- Result: 0 frontend pages, 0 tests generated across 3 modules
|
|
15
|
-
- Root cause: No guardrail detection during load
|
|
16
|
-
|
|
17
|
-
## The Solution: Required Categories
|
|
18
|
-
|
|
19
|
-
**CRITICAL:** Every PRD MUST have tasks for these categories:
|
|
20
|
-
|
|
21
|
-
```javascript
|
|
22
|
-
const REQUIRED_CATEGORIES = ['domain', 'infrastructure', 'application', 'api', 'seedData', 'frontend', 'test'];
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
> **Why seedData is required:**
|
|
26
|
-
> - Without it: Navigation/Permissions are not seeded
|
|
27
|
-
> - Result: Frontend/test tasks execute against empty database
|
|
28
|
-
> - Guardrail must inject NavigationApplicationSeedData, ApplicationRolesSeedData, etc.
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Completeness Check Function
|
|
33
|
-
|
|
34
|
-
```javascript
|
|
35
|
-
function checkCategoryCompleteness(prd) {
|
|
36
|
-
const presentCategories = new Set(prd.tasks.map(t => t.category));
|
|
37
|
-
const REQUIRED_CATEGORIES = ['domain', 'infrastructure', 'application', 'api', 'seedData', 'frontend', 'test'];
|
|
38
|
-
const missingCategories = REQUIRED_CATEGORIES.filter(c => !presentCategories.has(c));
|
|
39
|
-
|
|
40
|
-
if (missingCategories.length === 0) {
|
|
41
|
-
return { missing: [], guardrailsNeeded: [] };
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
console.warn(`⚠ PRD MISSING CATEGORIES: ${missingCategories.join(', ')}`);
|
|
45
|
-
|
|
46
|
-
// Calculate max ID for new guardrails
|
|
47
|
-
let maxIdNum = Math.max(...prd.tasks.map(t => {
|
|
48
|
-
const num = parseInt(t.id.replace(/[^0-9]/g, ''), 10);
|
|
49
|
-
return isNaN(num) ? 0 : num;
|
|
50
|
-
}), 0);
|
|
51
|
-
|
|
52
|
-
const prefix = prd.tasks[0]?.id?.replace(/[0-9]+$/, '') || 'GUARD-';
|
|
53
|
-
const lastApiTask = prd.tasks.filter(t => t.category === 'api').pop()?.id;
|
|
54
|
-
const lastSeedDataTask = prd.tasks.filter(t => t.category === 'seedData').pop()?.id;
|
|
55
|
-
|
|
56
|
-
// Dependency chain: domain → infrastructure → application → api → seedData → frontend → test
|
|
57
|
-
// Frontend MUST depend on seedData (navigation/permissions must be seeded first)
|
|
58
|
-
const frontendDep = lastSeedDataTask || lastApiTask;
|
|
59
|
-
|
|
60
|
-
const guardrailTasks = [];
|
|
61
|
-
|
|
62
|
-
for (const cat of missingCategories) {
|
|
63
|
-
maxIdNum++;
|
|
64
|
-
const taskId = `${prefix}${String(maxIdNum).padStart(3, '0')}`;
|
|
65
|
-
|
|
66
|
-
// Determine dependencies based on category order
|
|
67
|
-
let deps;
|
|
68
|
-
if (cat === 'seedData') {
|
|
69
|
-
deps = [lastApiTask]; // seedData depends on API infrastructure
|
|
70
|
-
} else if (cat === 'frontend') {
|
|
71
|
-
deps = [frontendDep]; // frontend depends on seedData (navigation must be seeded)
|
|
72
|
-
} else if (cat === 'test') {
|
|
73
|
-
deps = [frontendDep]; // test depends on seedData too
|
|
74
|
-
} else {
|
|
75
|
-
deps = [];
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const guardrailTask = {
|
|
79
|
-
id: taskId,
|
|
80
|
-
description: `[GUARDRAIL] Generate ${cat} layer for ${prd.project?.module || 'module'}`,
|
|
81
|
-
status: 'pending',
|
|
82
|
-
category: cat,
|
|
83
|
-
dependencies: deps,
|
|
84
|
-
acceptance_criteria: determineAcceptanceCriteria(cat),
|
|
85
|
-
started_at: null,
|
|
86
|
-
completed_at: null,
|
|
87
|
-
iteration: null,
|
|
88
|
-
commit_hash: null,
|
|
89
|
-
files_changed: [],
|
|
90
|
-
validation: null,
|
|
91
|
-
error: null
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
guardrailTasks.push(guardrailTask);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
return { missing: missingCategories, guardrailsNeeded: guardrailTasks };
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function determineAcceptanceCriteria(category) {
|
|
101
|
-
const criteria = {
|
|
102
|
-
domain: 'Entity classes created with required properties',
|
|
103
|
-
infrastructure: 'EF Core configs, migrations created, dotnet build passes',
|
|
104
|
-
application: 'Service classes implementing business logic',
|
|
105
|
-
api: 'REST controllers with [RequirePermission] attributes',
|
|
106
|
-
seedData: 'NavigationApplicationSeedData + ApplicationRolesSeedData + PermissionsSeedData created, IClientSeedDataProvider wired, startup test passes',
|
|
107
|
-
frontend: 'React pages created via MCP scaffold_api_client + scaffold_routes, wired to App.tsx, navigation seed data verified in DB',
|
|
108
|
-
test: 'Unit + Integration test projects created, scaffold_tests MCP called, dotnet test passes'
|
|
109
|
-
};
|
|
110
|
-
return criteria[category] || `${category} layer fully implemented per category-rules.md`;
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
## Application in step-01
|
|
115
|
-
|
|
116
|
-
```javascript
|
|
117
|
-
// After loading prd.json or generating tasks
|
|
118
|
-
const { missing, guardrailsNeeded } = checkCategoryCompleteness(prd);
|
|
119
|
-
|
|
120
|
-
if (guardrailsNeeded.length > 0) {
|
|
121
|
-
console.log(`PRD updated: ${prd.tasks.length} → ${prd.tasks.length + guardrailsNeeded.length} tasks (${guardrailsNeeded.length} guardrails added)`);
|
|
122
|
-
prd.tasks.push(...guardrailsNeeded);
|
|
123
|
-
|
|
124
|
-
// Update frontendDep for any frontend guardrail if seedData was just injected
|
|
125
|
-
if (missing.includes('seedData')) {
|
|
126
|
-
const seedDataGuard = guardrailsNeeded.find(t => t.category === 'seedData');
|
|
127
|
-
const frontendGuard = prd.tasks.find(t => t.category === 'frontend' && t.description.includes('[GUARDRAIL]'));
|
|
128
|
-
if (frontendGuard && seedDataGuard) {
|
|
129
|
-
frontendGuard.dependencies = [seedDataGuard.id];
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
writeJSON(currentPrdPath, prd);
|
|
134
|
-
}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
## Application in step-04 (every iteration)
|
|
138
|
-
|
|
139
|
-
```javascript
|
|
140
|
-
// RUNS EVERY ITERATION — not just once
|
|
141
|
-
const { missing, guardrailsNeeded } = checkCategoryCompleteness(prd);
|
|
142
|
-
|
|
143
|
-
if (guardrailsNeeded.length > 0) {
|
|
144
|
-
prd.tasks.push(...guardrailsNeeded);
|
|
145
|
-
writeJSON(currentPrdPath, prd);
|
|
146
|
-
|
|
147
|
-
const newPending = prd.tasks.filter(t => t.status === 'pending').length;
|
|
148
|
-
console.log(`PRD updated: +${guardrailsNeeded.length} guardrails, ${newPending} pending tasks`);
|
|
149
|
-
}
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
## Artifact Verification
|
|
153
|
-
|
|
154
|
-
After category check, verify artifacts actually exist for completed tasks.
|
|
155
|
-
|
|
156
|
-
> **Patterns read from PRD metadata first** (`prd.metadata.artifactPatterns`), falling back to SmartStack defaults.
|
|
157
|
-
> This allows non-standard project structures to work without hardcoded paths.
|
|
158
|
-
|
|
159
|
-
```javascript
|
|
160
|
-
const completedCats = new Set(prd.tasks.filter(t => t.status === 'completed').map(t => t.category));
|
|
161
|
-
|
|
162
|
-
// Read custom patterns from PRD metadata (set by ss business-analyse-handoff based on project structure)
|
|
163
|
-
const customPatterns = prd.metadata?.artifactPatterns || {};
|
|
164
|
-
|
|
165
|
-
const artifactChecks = {
|
|
166
|
-
'frontend': () => {
|
|
167
|
-
const patterns = customPatterns.frontend || ['**/src/pages/**/*.tsx', '**/src/app/**/*.tsx'];
|
|
168
|
-
return patterns.some(p => glob.sync(p).length > 0);
|
|
169
|
-
},
|
|
170
|
-
'test': () => {
|
|
171
|
-
const patterns = customPatterns.test || ['tests/**/*Tests.cs', '**/*.spec.ts', '**/*.test.ts'];
|
|
172
|
-
return patterns.some(p => glob.sync(p).length > 0);
|
|
173
|
-
},
|
|
174
|
-
'api': () => {
|
|
175
|
-
const patterns = customPatterns.api || ['src/*/Controllers/**/*Controller.cs', 'src/**/controllers/**/*.ts'];
|
|
176
|
-
return patterns.some(p => glob.sync(p).length > 0);
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
for (const [cat, check] of Object.entries(artifactChecks)) {
|
|
181
|
-
if (completedCats.has(cat) && !check()) {
|
|
182
|
-
console.warn(`ARTIFACT MISSING: ${cat} tasks marked completed but no files found — resetting to pending`);
|
|
183
|
-
prd.tasks.filter(t => t.category === cat && t.status === 'completed')
|
|
184
|
-
.forEach(t => {
|
|
185
|
-
t.status = 'pending';
|
|
186
|
-
t.error = 'Artifacts missing — re-execute';
|
|
187
|
-
t.completed_at = null;
|
|
188
|
-
});
|
|
189
|
-
writeJSON(currentPrdPath, prd);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
## Entity-Level File Completeness Check (BLOCKING)
|
|
195
|
-
|
|
196
|
-
> **LESSON LEARNED (audit ba-002):** Artifact verification checked "at least one file per category"
|
|
197
|
-
> but never reconciled against the **handoff contract** (`prd.implementation.filesToCreate`).
|
|
198
|
-
> Result: 4/17 API endpoints were missing but the category showed "complete" because *some* controllers existed.
|
|
199
|
-
|
|
200
|
-
```javascript
|
|
201
|
-
// BLOCKING: Verify EVERY file from prd.implementation.filesToCreate exists on disk
|
|
202
|
-
const filesToCreate = prd.implementation?.filesToCreate;
|
|
203
|
-
if (filesToCreate) {
|
|
204
|
-
const handoffMissing = [];
|
|
205
|
-
const handoffPresent = [];
|
|
206
|
-
|
|
207
|
-
for (const [category, files] of Object.entries(filesToCreate)) {
|
|
208
|
-
for (const file of (files || [])) {
|
|
209
|
-
const filePath = file.path || file;
|
|
210
|
-
if (fileExists(filePath)) {
|
|
211
|
-
handoffPresent.push({ category, path: filePath });
|
|
212
|
-
} else {
|
|
213
|
-
handoffMissing.push({ category, path: filePath });
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
const totalHandoff = handoffPresent.length + handoffMissing.length;
|
|
219
|
-
const coveragePct = totalHandoff > 0 ? Math.round((handoffPresent.length / totalHandoff) * 100) : 100;
|
|
220
|
-
console.log(`Handoff file coverage: ${handoffPresent.length}/${totalHandoff} (${coveragePct}%)`);
|
|
221
|
-
|
|
222
|
-
if (handoffMissing.length > 0) {
|
|
223
|
-
console.error(`BLOCKING: ${handoffMissing.length} files from handoff contract missing on disk`);
|
|
224
|
-
|
|
225
|
-
// Group missing files by category for targeted remediation
|
|
226
|
-
const missingByCategory = {};
|
|
227
|
-
for (const m of handoffMissing) {
|
|
228
|
-
if (!missingByCategory[m.category]) missingByCategory[m.category] = [];
|
|
229
|
-
missingByCategory[m.category].push(m.path);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
// Inject remediation tasks for each missing file
|
|
233
|
-
let maxIdNum = Math.max(...prd.tasks.map(t => {
|
|
234
|
-
const num = parseInt(t.id.replace(/[^0-9]/g, ''), 10);
|
|
235
|
-
return isNaN(num) ? 0 : num;
|
|
236
|
-
}), 0);
|
|
237
|
-
const prefix = prd.tasks[0]?.id?.replace(/[0-9]+$/, '') || 'HNDOFF-';
|
|
238
|
-
|
|
239
|
-
for (const [cat, paths] of Object.entries(missingByCategory)) {
|
|
240
|
-
for (const p of paths) {
|
|
241
|
-
// Skip if a remediation task already exists for this file
|
|
242
|
-
const alreadyExists = prd.tasks.some(t =>
|
|
243
|
-
t.description.includes(p) && t.description.includes('[HANDOFF-REMEDIATION]')
|
|
244
|
-
);
|
|
245
|
-
if (alreadyExists) continue;
|
|
246
|
-
|
|
247
|
-
maxIdNum++;
|
|
248
|
-
prd.tasks.push({
|
|
249
|
-
id: `${prefix}${String(maxIdNum).padStart(3, '0')}`,
|
|
250
|
-
description: `[HANDOFF-REMEDIATION] Create missing file: ${p}`,
|
|
251
|
-
status: 'pending',
|
|
252
|
-
category: cat,
|
|
253
|
-
dependencies: [],
|
|
254
|
-
acceptance_criteria: `File ${p} exists on disk and compiles`,
|
|
255
|
-
started_at: null, completed_at: null, iteration: null,
|
|
256
|
-
commit_hash: null, files_changed: [], validation: null, error: null
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
console.error(` ${cat}: ${paths.length} missing — ${paths.map(p => p.split('/').pop()).join(', ')}`);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
writeJSON(currentPrdPath, prd);
|
|
263
|
-
}
|
|
264
|
-
} // end filesToCreate check
|
|
265
|
-
```
|
|
266
|
-
|
|
267
|
-
## Type Reference Verification (Cross-File Integrity)
|
|
268
|
-
|
|
269
|
-
> **LESSON LEARNED (audit ba-002):** Artifact verification counted files but didn't check
|
|
270
|
-
> that types referenced in code actually exist. `EmployeeListDto` was used in services
|
|
271
|
-
> but the file was missing — a "phantom reference" that artifact file-counting missed.
|
|
272
|
-
|
|
273
|
-
```javascript
|
|
274
|
-
// After artifact checks, verify cross-file type references for completed categories
|
|
275
|
-
if (completedCats.has('application') && completedCats.has('api')) {
|
|
276
|
-
const serviceFiles = glob('src/**/Services/**/*Service.cs');
|
|
277
|
-
const dtoFiles = glob('src/**/DTOs/**/*.cs');
|
|
278
|
-
const entityFiles = glob('src/**/Domain/**/*.cs');
|
|
279
|
-
|
|
280
|
-
// Extract all DTO type names from actual files
|
|
281
|
-
const existingTypes = new Set();
|
|
282
|
-
for (const f of [...dtoFiles, ...entityFiles]) {
|
|
283
|
-
const content = readFile(f);
|
|
284
|
-
const typeMatches = content.matchAll(/(?:class|record|struct|enum|interface)\s+(\w+)/g);
|
|
285
|
-
for (const m of typeMatches) existingTypes.add(m[1]);
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
// Check service files for references to types that don't exist
|
|
289
|
-
const phantomRefs = [];
|
|
290
|
-
for (const f of serviceFiles) {
|
|
291
|
-
const content = readFile(f);
|
|
292
|
-
// Look for Dto/Entity type references in return types and method params
|
|
293
|
-
const typeRefs = content.matchAll(/(?:<|,\s*|\(|new\s+)(\w+(?:Dto|Entity|Exception))\b/g);
|
|
294
|
-
for (const m of typeRefs) {
|
|
295
|
-
if (!existingTypes.has(m[1]) && !m[1].startsWith('I')) {
|
|
296
|
-
phantomRefs.push({ file: f, type: m[1] });
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
if (phantomRefs.length > 0) {
|
|
302
|
-
console.error(`PHANTOM TYPE REFERENCES DETECTED (${phantomRefs.length}):`);
|
|
303
|
-
phantomRefs.forEach(r => console.error(` ${r.file}: references ${r.type} — TYPE DOES NOT EXIST`));
|
|
304
|
-
|
|
305
|
-
// Reset application category tasks to pending — code references non-existent types
|
|
306
|
-
prd.tasks.filter(t => t.category === 'application' && t.status === 'completed')
|
|
307
|
-
.forEach(t => {
|
|
308
|
-
t.status = 'pending';
|
|
309
|
-
t.error = `Phantom type references: ${phantomRefs.map(r=>r.type).join(', ')}`;
|
|
310
|
-
t.completed_at = null;
|
|
311
|
-
});
|
|
312
|
-
writeJSON(currentPrdPath, prd);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
## Key Rules
|
|
320
|
-
|
|
321
|
-
- **Inject EVERY iteration:** Not just once during load
|
|
322
|
-
- **Frontend depends on seedData:** Not just API
|
|
323
|
-
- **Check artifacts:** Mark tasks pending if files don't exist
|
|
324
|
-
- **Check type references:** Verify types used in code actually exist (phantom reference detection)
|
|
325
|
-
- **Check handoff files:** Verify EVERY file from `prd.implementation.filesToCreate` exists on disk
|
|
326
|
-
- **Never skip:** This is the blocker for "missing frontend/test" failures
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
# Category Ordering & Dependency Rules
|
|
2
|
-
|
|
3
|
-
> **Loaded by:** step-02 (task ordering validation) and compact-loop.md (batch grouping)
|
|
4
|
-
> **Purpose:** Defines execution order, dependencies, and batch grouping rules.
|
|
5
|
-
> **Note:** All execution rules, MCP tool usage, conventions, and POST-CHECKs are in `/apex` references.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Execution Order
|
|
10
|
-
|
|
11
|
-
Tasks MUST be executed in this order. Each category depends on the previous ones.
|
|
12
|
-
|
|
13
|
-
| Order | Category | Depends On | Description |
|
|
14
|
-
|-------|----------|------------|-------------|
|
|
15
|
-
| 0 | `domain` | — | Entities, enums, value objects |
|
|
16
|
-
| 1 | `infrastructure` | domain | EF configs, migrations, seed data |
|
|
17
|
-
| 2 | `application` | infrastructure | Services, DTOs, validators, DI |
|
|
18
|
-
| 3 | `api` | application | Controllers, route attributes |
|
|
19
|
-
| 4 | `seedData` | api | Navigation, permissions, roles, dev data |
|
|
20
|
-
| 5 | `frontend` | seedData | Pages, routes, i18n, components |
|
|
21
|
-
| 6 | `test` | frontend | Unit tests, integration tests, coverage |
|
|
22
|
-
|
|
23
|
-
> **Key dependency:** `frontend` depends on `seedData` (not just `api`).
|
|
24
|
-
> Navigation seed data drives the menu — without it, frontend routes have no menu entries.
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## Dependency Rules
|
|
29
|
-
|
|
30
|
-
1. **A task can only start when ALL its dependencies are `completed`**
|
|
31
|
-
2. **If a dependency is `failed` or `blocked`, the task becomes `blocked`**
|
|
32
|
-
3. **Cross-category dependencies are implicit** — domain before infrastructure, etc.
|
|
33
|
-
4. **Same-category tasks MAY run in parallel** (batched together)
|
|
34
|
-
5. **PRD `dependencies[]` array overrides implicit ordering** — explicit deps always checked first
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## Person Role Entities
|
|
39
|
-
|
|
40
|
-
Entities with `personRoleConfig` (Person Extension Pattern) have a special architectural requirement:
|
|
41
|
-
|
|
42
|
-
- **ICoreDbContext access required**: Person Extension entities need to read User data from the core schema
|
|
43
|
-
- This is an **exception** to the normal pattern where extension entities only use `IExtensionsDbContext`
|
|
44
|
-
- Service must inject BOTH `IExtensionsDbContext` (for the entity) AND `ICoreDbContext` (for User reads)
|
|
45
|
-
- Service must `Include(x => x.User)` on all queries
|
|
46
|
-
- For mandatory mode: search on `User.FirstName`, `User.LastName`, `User.Email`
|
|
47
|
-
- For optional mode: search with fallback (`User?.FirstName ?? x.FirstName`)
|
|
48
|
-
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
## Batch Grouping Rules
|
|
52
|
-
|
|
53
|
-
When selecting tasks for a batch:
|
|
54
|
-
|
|
55
|
-
1. **Group by category** — take the first eligible category with pending tasks
|
|
56
|
-
2. **Max batch size: 5 tasks** — prevents overloading a single apex invocation
|
|
57
|
-
3. **Same category only** — never mix domain + infrastructure in one batch
|
|
58
|
-
4. **Order within batch: by task ID** (ascending) — preserves PRD creation order
|
|
59
|
-
|
|
60
|
-
```javascript
|
|
61
|
-
const eligible = prd.tasks.filter(/* pending + deps met */);
|
|
62
|
-
const firstCategory = eligible[0].category;
|
|
63
|
-
const batch = eligible.filter(t => t.category === firstCategory).slice(0, 5);
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## PRD Category Completeness
|
|
69
|
-
|
|
70
|
-
A valid PRD MUST contain tasks in these categories:
|
|
71
|
-
|
|
72
|
-
- `domain` — at least 1 entity task
|
|
73
|
-
- `infrastructure` — at least 1 EF config + migration task
|
|
74
|
-
- `application` — at least 1 service task
|
|
75
|
-
- `api` — at least 1 controller task
|
|
76
|
-
- `seedData` — at least 1 navigation/permission task
|
|
77
|
-
- `frontend` — at least 1 page task
|
|
78
|
-
- `test` — at least 1 test task
|
|
79
|
-
|
|
80
|
-
If any category is missing, ralph step-01 injects a guardrail task.
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## Section-Level Splitting (>4 Entities)
|
|
85
|
-
|
|
86
|
-
When a module has many entities, a single `/apex -d` call saturates the context window.
|
|
87
|
-
Section-level splitting breaks the module into smaller, manageable phases.
|
|
88
|
-
|
|
89
|
-
**Activation threshold:** `> 4 domain tasks` AND `> 1 architecture section`
|
|
90
|
-
|
|
91
|
-
| Phase | Content | Depends On |
|
|
92
|
-
|-------|---------|------------|
|
|
93
|
-
| Phase 0 | ALL domain + infrastructure + migration + module seed data | — |
|
|
94
|
-
| Phase 1 | Section A: services, controllers, section seed, pages, i18n, tests | Phase 0 |
|
|
95
|
-
| Phase 2 | Section B: idem | Phase 0 (+ Phase 1 if FK cross-section) |
|
|
96
|
-
| Phase N | Section N: idem | Phase 0 (+ earlier phases if FK) |
|
|
97
|
-
| Final | Cross-validation (dotnet build, typecheck, MCP validate) | All phases |
|
|
98
|
-
|
|
99
|
-
**Key rules:**
|
|
100
|
-
- Phase 0 creates ALL entity classes + ALL EF configs + ONE migration (avoids ModelSnapshot conflicts)
|
|
101
|
-
- Section phases NEVER create entities or migrations — only services, controllers, pages on top
|
|
102
|
-
- FK cross-section dependencies determine section execution order (topological sort)
|
|
103
|
-
- Orphan entities (not in any section) are included in Phase 0 with their services/controllers
|
|
104
|
-
- Each phase produces a temporary PRD file: `.ralph/prd-{module}-phase0.json`, `.ralph/prd-{module}-section-{code}.json`
|
|
105
|
-
- Temporary PRD files are cleaned up in step-05 (report)
|
|
106
|
-
|
|
107
|
-
**Backward compatible:** Modules with `<= 4 domain tasks` or `1 section` → standard execution, zero impact.
|
|
108
|
-
|
|
109
|
-
See `references/section-splitting.md` for full detection, mapping, and execution logic.
|