@atlashub/smartstack-cli 3.39.0 → 3.40.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/apex.html +644 -644
- package/.documentation/css/styles.css +2320 -2320
- package/.documentation/init.html +1377 -1377
- package/.documentation/js/app.js +780 -780
- package/.documentation/prd-json-v2.0.0.md +396 -396
- package/.documentation/testing-ba-e2e.md +462 -462
- package/config/default-config.json +95 -95
- package/config/mcp-defaults.json +62 -62
- package/config/settings.json +53 -53
- package/config/settings.local.example.json +16 -16
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +6 -4
- package/dist/mcp-entry.mjs.map +1 -1
- package/package.json +115 -115
- package/scripts/extract-api-endpoints.ts +325 -325
- package/scripts/extract-business-rules.ts +440 -440
- package/scripts/generate-doc-with-mock-ui.ts +804 -804
- package/scripts/health-check.sh +168 -168
- package/scripts/postinstall.js +18 -18
- package/templates/agents/action.md +37 -37
- package/templates/agents/ba-reader.md +378 -378
- package/templates/agents/ba-writer.md +861 -861
- package/templates/agents/code-reviewer.md +163 -163
- package/templates/agents/db-reader.md +149 -149
- package/templates/agents/docs-context-reader.md +143 -143
- package/templates/agents/docs-sync-checker.md +122 -122
- package/templates/agents/efcore/conflicts.md +84 -84
- package/templates/agents/efcore/db-deploy.md +74 -74
- package/templates/agents/efcore/db-reset.md +85 -85
- package/templates/agents/efcore/db-seed.md +61 -61
- package/templates/agents/efcore/db-status.md +86 -86
- package/templates/agents/efcore/migration.md +186 -186
- package/templates/agents/efcore/rebase-snapshot.md +108 -108
- package/templates/agents/efcore/scan.md +92 -92
- package/templates/agents/efcore/squash.md +161 -161
- package/templates/agents/explore-codebase.md +66 -66
- package/templates/agents/explore-docs.md +98 -98
- package/templates/agents/fix-grammar.md +50 -50
- package/templates/agents/gitflow/abort.md +45 -45
- package/templates/agents/gitflow/cleanup.md +96 -96
- package/templates/agents/gitflow/commit.md +236 -236
- package/templates/agents/gitflow/exec.md +48 -48
- package/templates/agents/gitflow/finish.md +146 -146
- package/templates/agents/gitflow/init-clone.md +199 -199
- package/templates/agents/gitflow/init-detect.md +137 -137
- package/templates/agents/gitflow/init-validate.md +225 -225
- package/templates/agents/gitflow/init.md +340 -340
- package/templates/agents/gitflow/merge.md +145 -145
- package/templates/agents/gitflow/plan.md +42 -42
- package/templates/agents/gitflow/pr.md +191 -191
- package/templates/agents/gitflow/review.md +49 -49
- package/templates/agents/gitflow/start.md +147 -147
- package/templates/agents/gitflow/status.md +95 -95
- package/templates/agents/mcp-healthcheck.md +163 -163
- package/templates/agents/snipper.md +37 -37
- package/templates/agents/websearch.md +46 -46
- package/templates/hooks/appsettings-guard.sh +76 -76
- package/templates/hooks/docs-drift-check.md +96 -96
- package/templates/hooks/ef-migration-check.md +139 -139
- package/templates/hooks/hooks.json +58 -58
- package/templates/hooks/mcp-check.md +64 -64
- package/templates/hooks/ralph-mcp-logger.sh +46 -46
- package/templates/hooks/ralph-session-end.sh +69 -69
- package/templates/hooks/stop-hook.sh +177 -177
- package/templates/hooks/wsl-dotnet-cleanup.sh +24 -24
- package/templates/mcp-scaffolding/component.tsx.hbs +318 -318
- package/templates/mcp-scaffolding/controller.cs.hbs +192 -192
- package/templates/mcp-scaffolding/entity-extension.cs.hbs +239 -239
- package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +116 -116
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -133
- package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +126 -126
- package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +261 -261
- package/templates/mcp-scaffolding/service-extension.cs.hbs +53 -53
- package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +436 -436
- package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +239 -239
- package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +441 -441
- package/templates/mcp-scaffolding/tests/security.test.cs.hbs +442 -442
- package/templates/mcp-scaffolding/tests/service.test.cs.hbs +402 -402
- package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +428 -428
- package/templates/project/DependencyInjection.Application.cs.template +25 -25
- package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -61
- package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -70
- package/templates/project/ExampleEntity.cs.template +116 -116
- package/templates/project/ExampleEntityConfiguration.cs.template +64 -64
- package/templates/project/ExampleService.cs.template +146 -146
- package/templates/project/ExtensionsDbContext.cs.template +41 -41
- package/templates/project/IExtensionsDbContext.cs.template +22 -22
- package/templates/project/Program.cs.template +47 -47
- package/templates/project/README.md +79 -79
- package/templates/project/api.ts.template +12 -12
- package/templates/project/appsettings.json.template +170 -170
- package/templates/project/claude-settings.json.template +5 -5
- package/templates/project/test-frontend/msw/handlers.ts +58 -58
- package/templates/project/test-frontend/msw/server.ts +25 -25
- package/templates/project/test-frontend/setup.ts +16 -16
- package/templates/project/test-frontend/test-utils.tsx +59 -59
- package/templates/project/test-frontend/vitest.config.ts +31 -31
- package/templates/ralph/README.md +93 -93
- package/templates/ralph/ralph.config.yaml +113 -113
- package/templates/scripts/setup-ralph-loop.sh +173 -173
- package/templates/skills/_resources/config-safety.md +61 -61
- package/templates/skills/_resources/context-digest-template.md +53 -53
- package/templates/skills/_resources/doc-context-cache.md +60 -60
- package/templates/skills/_resources/docs-manifest-schema.md +155 -155
- package/templates/skills/_resources/formatting-guide.md +124 -124
- package/templates/skills/_resources/mcp-validate-documentation-spec.md +181 -181
- package/templates/skills/_shared.md +228 -228
- package/templates/skills/admin/SKILL.md +48 -48
- package/templates/skills/ai-prompt/SKILL.md +107 -107
- package/templates/skills/ai-prompt/steps/step-00-init.md +47 -47
- package/templates/skills/ai-prompt/steps/step-01-implementation.md +122 -122
- package/templates/skills/apex/SKILL.md +168 -168
- package/templates/skills/apex/_shared.md +141 -141
- package/templates/skills/apex/references/agent-teams-protocol.md +164 -164
- package/templates/skills/apex/references/analysis-methods.md +141 -141
- package/templates/skills/apex/references/challenge-questions.md +145 -145
- package/templates/skills/apex/references/code-generation.md +412 -412
- package/templates/skills/apex/references/core-seed-data.md +1437 -1437
- package/templates/skills/apex/references/error-classification.md +144 -144
- package/templates/skills/apex/references/examine-build-validation.md +82 -82
- package/templates/skills/apex/references/execution-frontend-gates.md +177 -177
- package/templates/skills/apex/references/execution-frontend-patterns.md +105 -105
- package/templates/skills/apex/references/execution-layer1-rules.md +96 -96
- package/templates/skills/apex/references/initialization-challenge-flow.md +110 -110
- package/templates/skills/apex/references/planning-layer-mapping.md +151 -151
- package/templates/skills/apex/references/post-checks.md +1584 -1584
- package/templates/skills/apex/references/smartstack-api.md +1053 -1053
- package/templates/skills/apex/references/smartstack-frontend.md +1571 -1571
- package/templates/skills/apex/references/smartstack-layers.md +402 -402
- package/templates/skills/apex/steps/step-00-init.md +307 -307
- package/templates/skills/apex/steps/step-01-analyze.md +165 -165
- package/templates/skills/apex/steps/step-02-plan.md +144 -144
- package/templates/skills/apex/steps/step-03-execute.md +328 -328
- package/templates/skills/apex/steps/step-04-examine.md +263 -263
- package/templates/skills/apex/steps/step-05-deep-review.md +129 -129
- package/templates/skills/apex/steps/step-06-resolve.md +101 -101
- package/templates/skills/apex/steps/step-07-tests.md +238 -238
- package/templates/skills/apex/steps/step-08-run-tests.md +125 -125
- package/templates/skills/application/SKILL.md +4 -4
- package/templates/skills/application/references/application-roles-template.md +227 -227
- package/templates/skills/application/references/backend-controller-hierarchy.md +58 -58
- package/templates/skills/application/references/backend-entity-seeding.md +72 -72
- package/templates/skills/application/references/backend-seeding-and-dto-output.md +83 -83
- package/templates/skills/application/references/backend-table-prefix-mapping.md +79 -79
- package/templates/skills/application/references/backend-verification.md +88 -88
- package/templates/skills/application/references/frontend-i18n-and-output.md +67 -67
- package/templates/skills/application/references/frontend-route-naming.md +117 -117
- package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +107 -107
- package/templates/skills/application/references/frontend-verification.md +156 -156
- package/templates/skills/application/references/migration-checklist-troubleshooting.md +1 -1
- package/templates/skills/application/references/provider-template.md +177 -177
- package/templates/skills/application/references/roles-client-project-handling.md +55 -55
- package/templates/skills/application/references/roles-fallback-procedure.md +149 -149
- package/templates/skills/application/references/test-coverage-requirements.md +213 -213
- package/templates/skills/application/references/test-frontend.md +73 -73
- package/templates/skills/application/references/test-prerequisites.md +72 -72
- package/templates/skills/application/steps/step-05-frontend.md +176 -176
- package/templates/skills/application/steps/step-06-migration.md +193 -193
- package/templates/skills/application/steps/step-07-tests.md +356 -356
- package/templates/skills/application/steps/step-08-documentation.md +137 -137
- package/templates/skills/application/templates-backend.md +463 -463
- package/templates/skills/application/templates-frontend.md +685 -685
- package/templates/skills/application/templates-i18n.md +520 -520
- package/templates/skills/application/templates-seed.md +1096 -1096
- package/templates/skills/business-analyse/SKILL.md +327 -327
- package/templates/skills/business-analyse/_architecture.md +123 -123
- package/templates/skills/business-analyse/_elicitation.md +206 -206
- package/templates/skills/business-analyse/_module-loop.md +115 -115
- package/templates/skills/business-analyse/_shared.md +383 -383
- package/templates/skills/business-analyse/_suggestions.md +34 -34
- package/templates/skills/business-analyse/html/ba-interactive.html +4477 -4477
- package/templates/skills/business-analyse/html/build-html.js +77 -77
- package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +150 -150
- package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +227 -227
- package/templates/skills/business-analyse/html/src/scripts/03-render-cadrage.js +199 -199
- package/templates/skills/business-analyse/html/src/scripts/04-render-modules.js +205 -205
- package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +647 -647
- package/templates/skills/business-analyse/html/src/scripts/06-render-consolidation.js +195 -195
- package/templates/skills/business-analyse/html/src/scripts/07-render-handoff.js +92 -92
- package/templates/skills/business-analyse/html/src/scripts/08-editing.js +135 -135
- package/templates/skills/business-analyse/html/src/scripts/09-export.js +168 -168
- package/templates/skills/business-analyse/html/src/scripts/10-comments.js +171 -171
- package/templates/skills/business-analyse/html/src/scripts/11-review-panel.js +166 -166
- package/templates/skills/business-analyse/html/src/styles/01-variables.css +38 -38
- package/templates/skills/business-analyse/html/src/styles/02-layout.css +101 -101
- package/templates/skills/business-analyse/html/src/styles/03-navigation.css +120 -120
- package/templates/skills/business-analyse/html/src/styles/04-cards.css +196 -196
- package/templates/skills/business-analyse/html/src/styles/05-modules.css +454 -454
- package/templates/skills/business-analyse/html/src/styles/06-wireframes.css +272 -272
- package/templates/skills/business-analyse/html/src/styles/07-comments.css +184 -184
- package/templates/skills/business-analyse/html/src/styles/08-review-panel.css +241 -241
- package/templates/skills/business-analyse/html/src/template.html +516 -516
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +546 -546
- package/templates/skills/business-analyse/questionnaire/00-application.md +160 -160
- package/templates/skills/business-analyse/questionnaire/00b-project.md +85 -85
- package/templates/skills/business-analyse/questionnaire/01-context.md +185 -185
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +189 -189
- package/templates/skills/business-analyse/questionnaire/03-scope.md +164 -164
- package/templates/skills/business-analyse/questionnaire/04-data.md +88 -88
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +58 -58
- package/templates/skills/business-analyse/questionnaire/06-security.md +68 -68
- package/templates/skills/business-analyse/questionnaire/07-ui.md +76 -76
- package/templates/skills/business-analyse/questionnaire/08-performance.md +42 -42
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +45 -45
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +43 -43
- package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +59 -59
- package/templates/skills/business-analyse/questionnaire/12-migration.md +58 -58
- package/templates/skills/business-analyse/questionnaire/13-cross-module.md +69 -69
- package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +135 -135
- package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +136 -136
- package/templates/skills/business-analyse/questionnaire.md +337 -337
- package/templates/skills/business-analyse/react/application-viewer.md +242 -242
- package/templates/skills/business-analyse/react/components.md +551 -551
- package/templates/skills/business-analyse/react/i18n-template.md +306 -306
- package/templates/skills/business-analyse/references/acceptance-criteria.md +169 -169
- package/templates/skills/business-analyse/references/agent-module-prompt.md +362 -362
- package/templates/skills/business-analyse/references/agent-pooling-best-practices.md +557 -557
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +190 -190
- package/templates/skills/business-analyse/references/cache-warming-strategy.md +566 -566
- package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +41 -41
- package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +74 -74
- package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +115 -115
- package/templates/skills/business-analyse/references/cadrage-shared-modules.md +68 -69
- package/templates/skills/business-analyse/references/cadrage-structure-cards.md +85 -85
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +297 -297
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +107 -107
- package/templates/skills/business-analyse/references/deploy-data-build.md +180 -180
- package/templates/skills/business-analyse/references/deploy-modes.md +118 -118
- package/templates/skills/business-analyse/references/detection-strategies.md +424 -424
- package/templates/skills/business-analyse/references/entity-architecture-decision.md +218 -218
- package/templates/skills/business-analyse/references/handoff-file-templates.md +120 -120
- package/templates/skills/business-analyse/references/handoff-mappings.md +81 -81
- package/templates/skills/business-analyse/references/handoff-seeddata-generation.md +312 -312
- package/templates/skills/business-analyse/references/html-data-mapping.md +299 -299
- package/templates/skills/business-analyse/references/init-schema-deployment.md +65 -65
- package/templates/skills/business-analyse/references/naming-conventions.md +243 -243
- package/templates/skills/business-analyse/references/prd-generation.md +258 -258
- package/templates/skills/business-analyse/references/review-data-mapping.md +363 -363
- package/templates/skills/business-analyse/references/robustness-checks.md +542 -542
- package/templates/skills/business-analyse/references/spec-auto-inference.md +111 -111
- package/templates/skills/business-analyse/references/team-orchestration.md +1022 -1022
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +85 -85
- package/templates/skills/business-analyse/references/ui-resource-cards.md +259 -259
- package/templates/skills/business-analyse/references/validate-incremental-html.md +121 -121
- package/templates/skills/business-analyse/references/validation-checklist.md +347 -347
- package/templates/skills/business-analyse/references/wireframe-svg-style-guide.md +335 -335
- package/templates/skills/business-analyse/schemas/application-schema.json +453 -453
- package/templates/skills/business-analyse/schemas/feature-schema.json +53 -53
- package/templates/skills/business-analyse/schemas/project-schema.json +485 -485
- package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +201 -201
- package/templates/skills/business-analyse/schemas/sections/discovery-schema.json +82 -82
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +80 -80
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +70 -70
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +547 -547
- package/templates/skills/business-analyse/schemas/sections/validation-schema.json +93 -93
- package/templates/skills/business-analyse/schemas/shared/common-defs.json +226 -226
- package/templates/skills/business-analyse/steps/step-00-init.md +575 -576
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +767 -767
- package/templates/skills/business-analyse/steps/step-01b-applications.md +419 -419
- package/templates/skills/business-analyse/steps/step-02-decomposition.md +387 -387
- package/templates/skills/business-analyse/steps/step-03a-data.md +16 -16
- package/templates/skills/business-analyse/steps/step-03a1-setup.md +506 -506
- package/templates/skills/business-analyse/steps/step-03a2-analysis.md +252 -252
- package/templates/skills/business-analyse/steps/step-03b-ui.md +425 -425
- package/templates/skills/business-analyse/steps/step-03c-compile.md +611 -611
- package/templates/skills/business-analyse/steps/step-03d-validate.md +783 -783
- package/templates/skills/business-analyse/steps/step-04-consolidation.md +17 -17
- package/templates/skills/business-analyse/steps/step-04a-collect.md +415 -415
- package/templates/skills/business-analyse/steps/step-04b-analyze.md +163 -163
- package/templates/skills/business-analyse/steps/step-04c-decide.md +186 -186
- package/templates/skills/business-analyse/steps/step-05a-handoff.md +840 -840
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +522 -522
- package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +703 -703
- package/templates/skills/business-analyse/steps/step-06-review.md +278 -278
- package/templates/skills/business-analyse/templates/tpl-frd.md +168 -168
- package/templates/skills/business-analyse/templates/tpl-handoff.md +186 -186
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +59 -59
- package/templates/skills/business-analyse/templates/tpl-progress.md +172 -172
- package/templates/skills/business-analyse/templates-frd.md +476 -476
- package/templates/skills/business-analyse/templates-react.md +574 -574
- package/templates/skills/cc-agent/SKILL.md +129 -129
- package/templates/skills/cc-agent/references/agent-behavior-patterns.md +95 -95
- package/templates/skills/cc-agent/references/agent-frontmatter.md +213 -213
- package/templates/skills/cc-agent/references/permission-modes.md +102 -102
- package/templates/skills/cc-agent/references/tools-reference.md +144 -144
- package/templates/skills/cc-agent/steps/step-00-init.md +134 -134
- package/templates/skills/cc-agent/steps/step-01-design.md +186 -186
- package/templates/skills/cc-agent/steps/step-02-generate.md +131 -131
- package/templates/skills/cc-agent/steps/step-03-validate.md +130 -130
- package/templates/skills/cc-agent/templates/agent-categorized.md +67 -67
- package/templates/skills/cc-agent/templates/agent-standalone.md +56 -56
- package/templates/skills/cc-agent/templates/agent-with-skills.md +94 -94
- package/templates/skills/cc-audit/SKILL.md +108 -108
- package/templates/skills/cc-audit/references/agent-checklist.md +91 -91
- package/templates/skills/cc-audit/references/hook-checklist.md +110 -110
- package/templates/skills/cc-audit/references/skill-checklist.md +70 -70
- package/templates/skills/cc-audit/steps/step-00-init.md +98 -98
- package/templates/skills/cc-audit/steps/step-01-scan.md +142 -142
- package/templates/skills/cc-audit/steps/step-02-analyze.md +158 -158
- package/templates/skills/cc-audit/steps/step-03-report.md +142 -142
- package/templates/skills/cc-skill/SKILL.md +134 -134
- package/templates/skills/cc-skill/references/best-practices.md +167 -167
- package/templates/skills/cc-skill/references/frontmatter-reference.md +182 -182
- package/templates/skills/cc-skill/references/skill-patterns.md +199 -199
- package/templates/skills/cc-skill/steps/step-00-init.md +119 -119
- package/templates/skills/cc-skill/steps/step-01-design.md +199 -199
- package/templates/skills/cc-skill/steps/step-02-generate.md +145 -145
- package/templates/skills/cc-skill/steps/step-03-steps.md +151 -151
- package/templates/skills/cc-skill/steps/step-04-validate.md +124 -124
- package/templates/skills/cc-skill/templates/skill-forked.md +85 -85
- package/templates/skills/cc-skill/templates/skill-progressive.md +102 -102
- package/templates/skills/cc-skill/templates/skill-simple.md +75 -75
- package/templates/skills/cc-skill/templates/step-template.md +82 -82
- package/templates/skills/check-version/SKILL.md +196 -196
- package/templates/skills/controller/SKILL.md +162 -162
- package/templates/skills/controller/postman-templates.md +614 -614
- package/templates/skills/controller/references/controller-code-templates.md +159 -159
- package/templates/skills/controller/references/mcp-scaffold-workflow.md +209 -209
- package/templates/skills/controller/references/permission-sync-templates.md +149 -149
- package/templates/skills/controller/steps/step-00-init.md +193 -191
- package/templates/skills/controller/steps/step-01-analyze.md +146 -146
- package/templates/skills/controller/steps/step-02-plan.md +176 -176
- package/templates/skills/controller/steps/step-03-generate.md +189 -189
- package/templates/skills/controller/steps/step-04-perms.md +80 -80
- package/templates/skills/controller/steps/step-05-validate.md +107 -107
- package/templates/skills/controller/templates.md +1555 -1555
- package/templates/skills/debug/SKILL.md +70 -70
- package/templates/skills/debug/references/team-protocol.md +232 -232
- package/templates/skills/debug/steps/step-00-init.md +57 -57
- package/templates/skills/debug/steps/step-01-analyze.md +219 -219
- package/templates/skills/debug/steps/step-02-resolve.md +85 -85
- package/templates/skills/documentation/SKILL.md +132 -132
- package/templates/skills/documentation/data-schema.md +227 -227
- package/templates/skills/documentation/steps/step-00-init.md +70 -70
- package/templates/skills/documentation/steps/step-01-scan.md +113 -113
- package/templates/skills/documentation/steps/step-02-generate.md +231 -231
- package/templates/skills/documentation/steps/step-03-validate.md +251 -238
- package/templates/skills/documentation/templates.md +662 -663
- package/templates/skills/efcore/SKILL.md +167 -167
- package/templates/skills/efcore/references/both-contexts.md +32 -32
- package/templates/skills/efcore/references/database-operations.md +67 -67
- package/templates/skills/efcore/references/destructive-operations.md +38 -38
- package/templates/skills/efcore/references/reset-operations.md +81 -81
- package/templates/skills/efcore/references/seed-methods.md +86 -86
- package/templates/skills/efcore/references/shared-init-functions.md +250 -250
- package/templates/skills/efcore/references/sql-objects-injection.md +61 -61
- package/templates/skills/efcore/references/troubleshooting.md +81 -81
- package/templates/skills/efcore/references/zero-downtime-patterns.md +227 -227
- package/templates/skills/efcore/steps/db/step-deploy.md +217 -217
- package/templates/skills/efcore/steps/db/step-reset.md +186 -186
- package/templates/skills/efcore/steps/db/step-seed.md +166 -166
- package/templates/skills/efcore/steps/db/step-status.md +173 -173
- package/templates/skills/efcore/steps/migration/step-00-init.md +102 -102
- package/templates/skills/efcore/steps/migration/step-01-check.md +164 -164
- package/templates/skills/efcore/steps/migration/step-02-create.md +160 -160
- package/templates/skills/efcore/steps/migration/step-03-validate.md +168 -168
- package/templates/skills/efcore/steps/rebase-snapshot/step-00-init.md +173 -173
- package/templates/skills/efcore/steps/rebase-snapshot/step-01-backup.md +100 -100
- package/templates/skills/efcore/steps/rebase-snapshot/step-02-fetch.md +115 -115
- package/templates/skills/efcore/steps/rebase-snapshot/step-03-create.md +112 -112
- package/templates/skills/efcore/steps/rebase-snapshot/step-04-validate.md +157 -157
- package/templates/skills/efcore/steps/shared/step-00-init.md +131 -131
- package/templates/skills/efcore/steps/squash/step-00-init.md +141 -141
- package/templates/skills/efcore/steps/squash/step-01-backup.md +120 -120
- package/templates/skills/efcore/steps/squash/step-02-fetch.md +168 -168
- package/templates/skills/efcore/steps/squash/step-03-create.md +184 -184
- package/templates/skills/efcore/steps/squash/step-04-validate.md +174 -174
- package/templates/skills/explore/SKILL.md +98 -98
- package/templates/skills/feature-full/SKILL.md +111 -111
- package/templates/skills/feature-full/steps/step-00-init.md +57 -57
- package/templates/skills/feature-full/steps/step-01-implementation.md +120 -120
- package/templates/skills/gitflow/SKILL.md +377 -377
- package/templates/skills/gitflow/_shared.md +620 -620
- package/templates/skills/gitflow/phases/abort.md +189 -189
- package/templates/skills/gitflow/phases/cleanup.md +234 -234
- package/templates/skills/gitflow/phases/status.md +192 -192
- package/templates/skills/gitflow/references/commit-message-generation.md +58 -58
- package/templates/skills/gitflow/references/commit-migration-validation.md +49 -49
- package/templates/skills/gitflow/references/finish-cleanup.md +55 -55
- package/templates/skills/gitflow/references/finish-version-bumping.md +45 -45
- package/templates/skills/gitflow/references/init-config-template.md +135 -135
- package/templates/skills/gitflow/references/init-environment-detection.md +41 -41
- package/templates/skills/gitflow/references/init-name-normalization.md +103 -103
- package/templates/skills/gitflow/references/init-questions.md +185 -185
- package/templates/skills/gitflow/references/init-structure-creation.md +75 -75
- package/templates/skills/gitflow/references/init-version-detection.md +21 -21
- package/templates/skills/gitflow/references/init-workspace-detection.md +43 -43
- package/templates/skills/gitflow/references/merge-ci-status.md +36 -36
- package/templates/skills/gitflow/references/merge-execution.md +62 -62
- package/templates/skills/gitflow/references/merge-pr-context.md +76 -76
- package/templates/skills/gitflow/references/plan-template.md +69 -69
- package/templates/skills/gitflow/references/pr-build-checks.md +60 -60
- package/templates/skills/gitflow/references/pr-generation.md +58 -58
- package/templates/skills/gitflow/references/start-branch-normalization.md +28 -28
- package/templates/skills/gitflow/references/start-efcore-preflight.md +70 -70
- package/templates/skills/gitflow/references/start-local-config.md +113 -113
- package/templates/skills/gitflow/references/start-worktree-creation.md +50 -50
- package/templates/skills/gitflow/references/sync-push-verify.md +44 -44
- package/templates/skills/gitflow/references/sync-rebase-conflicts.md +38 -38
- package/templates/skills/gitflow/steps/step-commit.md +199 -199
- package/templates/skills/gitflow/steps/step-finish.md +147 -147
- package/templates/skills/gitflow/steps/step-init.md +190 -190
- package/templates/skills/gitflow/steps/step-merge.md +85 -85
- package/templates/skills/gitflow/steps/step-plan.md +151 -151
- package/templates/skills/gitflow/steps/step-pr.md +199 -199
- package/templates/skills/gitflow/steps/step-start.md +195 -195
- package/templates/skills/gitflow/steps/step-sync.md +161 -161
- package/templates/skills/gitflow/templates/config.json +72 -72
- package/templates/skills/mcp/SKILL.md +62 -62
- package/templates/skills/mcp/steps/step-01-healthcheck.md +108 -108
- package/templates/skills/mcp/steps/step-02-tools.md +73 -73
- package/templates/skills/notification/SKILL.md +173 -173
- package/templates/skills/quick-search/SKILL.md +99 -99
- package/templates/skills/ralph-loop/SKILL.md +234 -234
- package/templates/skills/ralph-loop/references/category-completeness.md +185 -185
- package/templates/skills/ralph-loop/references/category-rules.md +96 -96
- package/templates/skills/ralph-loop/references/compact-loop.md +300 -300
- package/templates/skills/ralph-loop/references/init-resume-recovery.md +127 -127
- package/templates/skills/ralph-loop/references/module-transition.md +151 -151
- package/templates/skills/ralph-loop/references/multi-module-queue.md +171 -171
- package/templates/skills/ralph-loop/references/parallel-execution.md +246 -246
- package/templates/skills/ralph-loop/references/section-splitting.md +439 -439
- package/templates/skills/ralph-loop/references/task-transform-legacy.md +256 -256
- package/templates/skills/ralph-loop/references/team-orchestration.md +547 -547
- package/templates/skills/ralph-loop/steps/step-00-init.md +150 -150
- package/templates/skills/ralph-loop/steps/step-01-task.md +174 -174
- package/templates/skills/ralph-loop/steps/step-02-execute.md +177 -177
- package/templates/skills/ralph-loop/steps/step-03-commit.md +92 -92
- package/templates/skills/ralph-loop/steps/step-04-check.md +207 -207
- package/templates/skills/ralph-loop/steps/step-05-report.md +175 -175
- package/templates/skills/refactor/SKILL.md +56 -56
- package/templates/skills/refactor/steps/step-01-discover.md +60 -60
- package/templates/skills/refactor/steps/step-02-execute.md +67 -67
- package/templates/skills/review-code/SKILL.md +94 -94
- package/templates/skills/review-code/references/clean-code-principles.md +292 -292
- package/templates/skills/review-code/references/code-quality-metrics.md +174 -174
- package/templates/skills/review-code/references/feedback-patterns.md +149 -149
- package/templates/skills/review-code/references/owasp-api-top10.md +243 -243
- package/templates/skills/review-code/references/security-checklist.md +212 -212
- package/templates/skills/review-code/steps/step-01-smartstack.md +96 -96
- package/templates/skills/review-code/steps/step-02-detailed-review.md +80 -80
- package/templates/skills/review-code/steps/step-03-react.md +44 -44
- package/templates/skills/ui-components/SKILL.md +137 -137
- package/templates/skills/ui-components/accessibility.md +170 -170
- package/templates/skills/ui-components/patterns/dashboard-chart.md +327 -327
- package/templates/skills/ui-components/patterns/data-table.md +39 -39
- package/templates/skills/ui-components/patterns/entity-card.md +77 -77
- package/templates/skills/ui-components/patterns/grid-layout.md +91 -91
- package/templates/skills/ui-components/patterns/kanban.md +43 -43
- package/templates/skills/ui-components/responsive-guidelines.md +278 -278
- package/templates/skills/ui-components/style-guide.md +113 -113
- package/templates/skills/utils/SKILL.md +44 -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/SKILL.md +181 -181
- package/templates/skills/validate-feature/SKILL.md +101 -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/workflow/SKILL.md +127 -127
- package/templates/skills/workflow/steps/step-00-init.md +57 -57
- package/templates/skills/workflow/steps/step-01-implementation.md +84 -84
- package/templates/test-web/api-health.json +38 -38
- package/templates/test-web/minimal.json +19 -19
- package/templates/test-web/npm-package.json +46 -46
- package/templates/test-web/seo-check.json +54 -54
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: efcore-db-status
|
|
3
|
-
description: EF Core database status - fast migration state check
|
|
4
|
-
color: blue
|
|
5
|
-
model: haiku
|
|
6
|
-
tools: Bash, Glob
|
|
7
|
-
mcp: mcp__smartstack__check_migrations
|
|
8
|
-
steps:
|
|
9
|
-
- steps/shared/step-00-init.md
|
|
10
|
-
- steps/db/step-status.md
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# EF Core Database Status Agent
|
|
14
|
-
|
|
15
|
-
Fast check of EF Core migration state using **SmartStack MCP**.
|
|
16
|
-
|
|
17
|
-
**Progressive Steps:** Load `steps/db/step-status.md` for detailed instructions.
|
|
18
|
-
|
|
19
|
-
## Workflow
|
|
20
|
-
|
|
21
|
-
1. **Invoke MCP** for migration list and naming validation
|
|
22
|
-
2. **Test** DB connection with `dotnet ef`
|
|
23
|
-
3. **Count** applied vs pending
|
|
24
|
-
4. **Verify** 1 migration per feature rule
|
|
25
|
-
5. **Output** compact summary
|
|
26
|
-
|
|
27
|
-
## MCP Integration
|
|
28
|
-
|
|
29
|
-
**Primary method:** Get structured migration data
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
CALL mcp__smartstack__check_migrations WITH:
|
|
33
|
-
- branch: {current_branch}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
**Response fields used:**
|
|
37
|
-
- `migrations[]` - List with name, context, version, sequence
|
|
38
|
-
- `conflicts[]` - Any naming issues
|
|
39
|
-
|
|
40
|
-
## Fallback Commands (if MCP unavailable)
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
# Migrations
|
|
44
|
-
dotnet ef migrations list --no-build 2>/dev/null | grep -v "^Build"
|
|
45
|
-
|
|
46
|
-
# Branch
|
|
47
|
-
git branch --show-current
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Output Format
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
================================================================================
|
|
54
|
-
EF CORE - DATABASE STATUS
|
|
55
|
-
================================================================================
|
|
56
|
-
|
|
57
|
-
CORE CONTEXT (CoreDbContext)
|
|
58
|
-
Schema: core
|
|
59
|
-
History: core.__EFMigrationsHistory
|
|
60
|
-
Migrations: {applied}/{total} | {pending} pending
|
|
61
|
-
|
|
62
|
-
EXTENSIONS CONTEXT (ExtensionsDbContext)
|
|
63
|
-
Schema: extensions
|
|
64
|
-
History: extensions.__EFMigrationsHistory
|
|
65
|
-
Migrations: {applied}/{total} | {pending} pending
|
|
66
|
-
|
|
67
|
-
BRANCH STATUS
|
|
68
|
-
Branch: {branch}
|
|
69
|
-
Core migrations: {n}
|
|
70
|
-
Extensions migrations: {n}
|
|
71
|
-
Naming: {ok|warnings}
|
|
72
|
-
1-migration rule: {ok|warning}
|
|
73
|
-
|
|
74
|
-
================================================================================
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Dual DbContext Notes
|
|
78
|
-
|
|
79
|
-
- **Core migrations** use `--context CoreDbContext`
|
|
80
|
-
- **Extensions migrations** use `--context ExtensionsDbContext`
|
|
81
|
-
- Each context has its own `__EFMigrationsHistory` table
|
|
82
|
-
- Check both contexts when verifying migration status
|
|
83
|
-
|
|
84
|
-
## Priority
|
|
85
|
-
|
|
86
|
-
Speed > Detail. Use MCP for structured data, dotnet ef for connection test.
|
|
1
|
+
---
|
|
2
|
+
name: efcore-db-status
|
|
3
|
+
description: EF Core database status - fast migration state check
|
|
4
|
+
color: blue
|
|
5
|
+
model: haiku
|
|
6
|
+
tools: Bash, Glob
|
|
7
|
+
mcp: mcp__smartstack__check_migrations
|
|
8
|
+
steps:
|
|
9
|
+
- steps/shared/step-00-init.md
|
|
10
|
+
- steps/db/step-status.md
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# EF Core Database Status Agent
|
|
14
|
+
|
|
15
|
+
Fast check of EF Core migration state using **SmartStack MCP**.
|
|
16
|
+
|
|
17
|
+
**Progressive Steps:** Load `steps/db/step-status.md` for detailed instructions.
|
|
18
|
+
|
|
19
|
+
## Workflow
|
|
20
|
+
|
|
21
|
+
1. **Invoke MCP** for migration list and naming validation
|
|
22
|
+
2. **Test** DB connection with `dotnet ef`
|
|
23
|
+
3. **Count** applied vs pending
|
|
24
|
+
4. **Verify** 1 migration per feature rule
|
|
25
|
+
5. **Output** compact summary
|
|
26
|
+
|
|
27
|
+
## MCP Integration
|
|
28
|
+
|
|
29
|
+
**Primary method:** Get structured migration data
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
CALL mcp__smartstack__check_migrations WITH:
|
|
33
|
+
- branch: {current_branch}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Response fields used:**
|
|
37
|
+
- `migrations[]` - List with name, context, version, sequence
|
|
38
|
+
- `conflicts[]` - Any naming issues
|
|
39
|
+
|
|
40
|
+
## Fallback Commands (if MCP unavailable)
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Migrations
|
|
44
|
+
dotnet ef migrations list --no-build 2>/dev/null | grep -v "^Build"
|
|
45
|
+
|
|
46
|
+
# Branch
|
|
47
|
+
git branch --show-current
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Output Format
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
================================================================================
|
|
54
|
+
EF CORE - DATABASE STATUS
|
|
55
|
+
================================================================================
|
|
56
|
+
|
|
57
|
+
CORE CONTEXT (CoreDbContext)
|
|
58
|
+
Schema: core
|
|
59
|
+
History: core.__EFMigrationsHistory
|
|
60
|
+
Migrations: {applied}/{total} | {pending} pending
|
|
61
|
+
|
|
62
|
+
EXTENSIONS CONTEXT (ExtensionsDbContext)
|
|
63
|
+
Schema: extensions
|
|
64
|
+
History: extensions.__EFMigrationsHistory
|
|
65
|
+
Migrations: {applied}/{total} | {pending} pending
|
|
66
|
+
|
|
67
|
+
BRANCH STATUS
|
|
68
|
+
Branch: {branch}
|
|
69
|
+
Core migrations: {n}
|
|
70
|
+
Extensions migrations: {n}
|
|
71
|
+
Naming: {ok|warnings}
|
|
72
|
+
1-migration rule: {ok|warning}
|
|
73
|
+
|
|
74
|
+
================================================================================
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Dual DbContext Notes
|
|
78
|
+
|
|
79
|
+
- **Core migrations** use `--context CoreDbContext`
|
|
80
|
+
- **Extensions migrations** use `--context ExtensionsDbContext`
|
|
81
|
+
- Each context has its own `__EFMigrationsHistory` table
|
|
82
|
+
- Check both contexts when verifying migration status
|
|
83
|
+
|
|
84
|
+
## Priority
|
|
85
|
+
|
|
86
|
+
Speed > Detail. Use MCP for structured data, dotnet ef for connection test.
|
|
@@ -1,186 +1,186 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: efcore-migration
|
|
3
|
-
description: EF Core migration manager - orchestrates MCP for naming (1 per feature)
|
|
4
|
-
color: magenta
|
|
5
|
-
model: sonnet
|
|
6
|
-
tools: Bash, Glob, Read, Edit
|
|
7
|
-
steps:
|
|
8
|
-
- steps/shared/step-00-init.md
|
|
9
|
-
- steps/migration/step-00-init.md
|
|
10
|
-
- steps/migration/step-01-check.md
|
|
11
|
-
- steps/migration/step-02-create.md
|
|
12
|
-
- steps/migration/step-03-validate.md
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# EF Core Migration Agent
|
|
16
|
-
|
|
17
|
-
Orchestrates migration creation with the "1 migration per feature" rule.
|
|
18
|
-
|
|
19
|
-
**Progressive Steps:** Load `steps/migration/` for detailed instructions.
|
|
20
|
-
|
|
21
|
-
> **IMPORTANT:** This agent **ORCHESTRATES** only. Naming is **DELEGATED TO MCP**.
|
|
22
|
-
|
|
23
|
-
> **CLAUDE INSTRUCTION:** The `AskUserQuestion({...})` blocks are instructions to use the `AskUserQuestion` tool **interactively**. You MUST execute the tool with these parameters to get the user's response BEFORE continuing.
|
|
24
|
-
|
|
25
|
-
## Principle: MCP Delegation
|
|
26
|
-
|
|
27
|
-
```
|
|
28
|
-
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
29
|
-
│ Agent (CLI) │─────▶│ MCP │─────▶│ dotnet ef │
|
|
30
|
-
│ Orchestrates │ │ Generates name │ │ Creates migr. │
|
|
31
|
-
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
**FORBIDDEN:** Computing migration name in this agent.
|
|
35
|
-
**MANDATORY:** Call `mcp__smartstack__suggest_migration` to get the name.
|
|
36
|
-
|
|
37
|
-
## Dual DbContext Architecture
|
|
38
|
-
|
|
39
|
-
SmartStack uses two separate DbContexts with separate migration histories:
|
|
40
|
-
|
|
41
|
-
| Context | DbContext | Schema | History Table | Use Case |
|
|
42
|
-
|---------|-----------|--------|---------------|----------|
|
|
43
|
-
| `core` | CoreDbContext | `core` | `core.__EFMigrationsHistory` | SmartStack platform entities |
|
|
44
|
-
| `extensions` | ExtensionsDbContext | `extensions` | `extensions.__EFMigrationsHistory` | Client-specific entities |
|
|
45
|
-
|
|
46
|
-
**Detection Logic:**
|
|
47
|
-
1. If project contains `SmartStack.Domain` → use `CoreDbContext`
|
|
48
|
-
2. If project contains `{ClientName}.Domain` with SmartStack NuGet → use `ExtensionsDbContext`
|
|
49
|
-
3. If unclear → ask user which context to use
|
|
50
|
-
|
|
51
|
-
## Workflow
|
|
52
|
-
|
|
53
|
-
1. **Detect** DbContext type (Core vs Extensions)
|
|
54
|
-
2. **Ask** user for migration description
|
|
55
|
-
3. **Call MCP** `mcp__smartstack__suggest_migration` with description and context
|
|
56
|
-
4. **Search** for existing migration for this branch
|
|
57
|
-
5. **If exists**: propose to recreate (delete + create)
|
|
58
|
-
6. **Create** migration with `dotnet ef migrations add <MCP_NAME> --context {DbContext}`
|
|
59
|
-
7. **Validate** generated content
|
|
60
|
-
|
|
61
|
-
## Naming: MCP Delegation
|
|
62
|
-
|
|
63
|
-
**ALWAYS call MCP for naming:**
|
|
64
|
-
|
|
65
|
-
```
|
|
66
|
-
mcp__smartstack__suggest_migration({
|
|
67
|
-
description: "<user_description>",
|
|
68
|
-
context: "core" | "extensions"
|
|
69
|
-
})
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
MCP returns the fully compliant name: `{context}_v{version}_{sequence}_{Description}`
|
|
73
|
-
|
|
74
|
-
**Examples of MCP-generated names:**
|
|
75
|
-
- `core_v1.8.0_001_CreateAuthUsers`
|
|
76
|
-
- `ext_v1.0.0_001_CreateOrders`
|
|
77
|
-
|
|
78
|
-
## Commands
|
|
79
|
-
|
|
80
|
-
**Prerequisite — ensure `dotnet ef` is on PATH (MANDATORY before any command):**
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
# Platform-aware dotnet-ef PATH fix (Windows Git Bash / Linux / macOS)
|
|
84
|
-
if ! dotnet ef --version &>/dev/null; then
|
|
85
|
-
for TOOLS_DIR in "$USERPROFILE/.dotnet/tools" "$HOME/.dotnet/tools" "$LOCALAPPDATA/Microsoft/dotnet/tools"; do
|
|
86
|
-
[ -n "$TOOLS_DIR" ] && [ -d "$TOOLS_DIR" ] && export PATH="$TOOLS_DIR:$PATH"
|
|
87
|
-
done
|
|
88
|
-
dotnet ef --version &>/dev/null || { echo "ERROR: dotnet-ef not found"; exit 1; }
|
|
89
|
-
fi
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
> **Windows pitfall:** `$USERPROFILE` (→ `C:\Users\xxx`) is tried FIRST.
|
|
93
|
-
> NEVER rely on `$HOME` alone — in WSL it resolves to `/home/{user}` where .NET SDK is absent.
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
# Existing migrations for Core
|
|
97
|
-
find Migrations -name "core_*.cs" | grep -v Designer | grep -v Snapshot
|
|
98
|
-
|
|
99
|
-
# Existing migrations for Extensions
|
|
100
|
-
find Persistence/Migrations -name "ext_*.cs" | grep -v Designer | grep -v Snapshot
|
|
101
|
-
|
|
102
|
-
# Create Core migration (use MCP_NAME from suggest_migration)
|
|
103
|
-
dotnet ef migrations add $MCP_NAME --context CoreDbContext -o Persistence/Migrations
|
|
104
|
-
|
|
105
|
-
# Create Extensions migration (use MCP_NAME from suggest_migration)
|
|
106
|
-
dotnet ef migrations add $MCP_NAME --context ExtensionsDbContext -o Persistence/Migrations
|
|
107
|
-
|
|
108
|
-
# Delete existing migration
|
|
109
|
-
rm Persistence/Migrations/*${OLD_NAME}*.cs
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
> **Note:** `$MCP_NAME` is obtained via MCP call, never computed locally.
|
|
113
|
-
|
|
114
|
-
## Context Detection
|
|
115
|
-
|
|
116
|
-
If unable to auto-detect:
|
|
117
|
-
```javascript
|
|
118
|
-
AskUserQuestion({
|
|
119
|
-
question: "Which DbContext should this migration target?",
|
|
120
|
-
header: "DbContext",
|
|
121
|
-
options: [
|
|
122
|
-
{ label: "CoreDbContext (SmartStack)", description: "For platform entities (User, Role, Navigation, etc.)" },
|
|
123
|
-
{ label: "ExtensionsDbContext (Client)", description: "For client-specific entities" }
|
|
124
|
-
]
|
|
125
|
-
})
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
## 1 Migration per Feature Rule
|
|
129
|
-
|
|
130
|
-
If existing migration detected:
|
|
131
|
-
```javascript
|
|
132
|
-
AskUserQuestion({
|
|
133
|
-
question: "Existing migration found. Recreate?",
|
|
134
|
-
header: "Migration",
|
|
135
|
-
options: [
|
|
136
|
-
{ label: "Recreate (recommended)", description: "Delete existing and create new" },
|
|
137
|
-
{ label: "Keep and add new", description: "Keep existing, add separate migration" },
|
|
138
|
-
{ label: "Cancel", description: "Do nothing" }
|
|
139
|
-
]
|
|
140
|
-
})
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## Output Format
|
|
144
|
-
|
|
145
|
-
```
|
|
146
|
-
MIGRATION
|
|
147
|
-
Context: {CoreDbContext|ExtensionsDbContext}
|
|
148
|
-
Schema: {core|extensions}
|
|
149
|
-
Branch: {branch}
|
|
150
|
-
Version: {version}
|
|
151
|
-
Name: {migration_name}
|
|
152
|
-
Action: {created|recreated}
|
|
153
|
-
Files: 3 (Migration + Designer + Snapshot)
|
|
154
|
-
HistoryTable: {schema}.__EFMigrationsHistory
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
## Conflict Management
|
|
158
|
-
|
|
159
|
-
After rebase on develop:
|
|
160
|
-
1. Accept ModelSnapshot from develop
|
|
161
|
-
2. Delete local migration
|
|
162
|
-
3. Recreate with this command
|
|
163
|
-
|
|
164
|
-
## Error Recovery
|
|
165
|
-
|
|
166
|
-
| Failure | Recovery Action |
|
|
167
|
-
|---------|----------------|
|
|
168
|
-
| MCP unavailable | Check `.claude/mcp-status.json`, run `/mcp healthcheck` |
|
|
169
|
-
| `dotnet ef` fails | Check build errors: `dotnet build`, fix compilation issues first |
|
|
170
|
-
| Migration file empty | Delete and recreate: `dotnet ef migrations remove --context $DBCONTEXT` |
|
|
171
|
-
| Snapshot corrupted | Use `/efcore rebase-snapshot` to reset from parent branch |
|
|
172
|
-
| Wrong context used | Delete migration files manually, re-run with correct context |
|
|
173
|
-
|
|
174
|
-
**Automatic recovery:** If migration creation fails mid-process, the agent should:
|
|
175
|
-
1. Check if partial files were created
|
|
176
|
-
2. Clean up incomplete migration files (`rm -f $MIGRATIONS_DIR/*$MIGRATION_NAME*`)
|
|
177
|
-
3. Report the error with dotnet output
|
|
178
|
-
4. Suggest corrective action
|
|
179
|
-
|
|
180
|
-
## Important Notes
|
|
181
|
-
|
|
182
|
-
- **Core migrations** go to `CoreDbContextModelSnapshot.cs`
|
|
183
|
-
- **Extensions migrations** go to `ExtensionsDbContextModelSnapshot.cs`
|
|
184
|
-
- Each DbContext has its **own** `__EFMigrationsHistory` table in its schema
|
|
185
|
-
- Extensions entities **cannot** have navigation properties to Core entities
|
|
186
|
-
- Use `ICoreDataService` to access Core data from Extensions context
|
|
1
|
+
---
|
|
2
|
+
name: efcore-migration
|
|
3
|
+
description: EF Core migration manager - orchestrates MCP for naming (1 per feature)
|
|
4
|
+
color: magenta
|
|
5
|
+
model: sonnet
|
|
6
|
+
tools: Bash, Glob, Read, Edit
|
|
7
|
+
steps:
|
|
8
|
+
- steps/shared/step-00-init.md
|
|
9
|
+
- steps/migration/step-00-init.md
|
|
10
|
+
- steps/migration/step-01-check.md
|
|
11
|
+
- steps/migration/step-02-create.md
|
|
12
|
+
- steps/migration/step-03-validate.md
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# EF Core Migration Agent
|
|
16
|
+
|
|
17
|
+
Orchestrates migration creation with the "1 migration per feature" rule.
|
|
18
|
+
|
|
19
|
+
**Progressive Steps:** Load `steps/migration/` for detailed instructions.
|
|
20
|
+
|
|
21
|
+
> **IMPORTANT:** This agent **ORCHESTRATES** only. Naming is **DELEGATED TO MCP**.
|
|
22
|
+
|
|
23
|
+
> **CLAUDE INSTRUCTION:** The `AskUserQuestion({...})` blocks are instructions to use the `AskUserQuestion` tool **interactively**. You MUST execute the tool with these parameters to get the user's response BEFORE continuing.
|
|
24
|
+
|
|
25
|
+
## Principle: MCP Delegation
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
29
|
+
│ Agent (CLI) │─────▶│ MCP │─────▶│ dotnet ef │
|
|
30
|
+
│ Orchestrates │ │ Generates name │ │ Creates migr. │
|
|
31
|
+
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**FORBIDDEN:** Computing migration name in this agent.
|
|
35
|
+
**MANDATORY:** Call `mcp__smartstack__suggest_migration` to get the name.
|
|
36
|
+
|
|
37
|
+
## Dual DbContext Architecture
|
|
38
|
+
|
|
39
|
+
SmartStack uses two separate DbContexts with separate migration histories:
|
|
40
|
+
|
|
41
|
+
| Context | DbContext | Schema | History Table | Use Case |
|
|
42
|
+
|---------|-----------|--------|---------------|----------|
|
|
43
|
+
| `core` | CoreDbContext | `core` | `core.__EFMigrationsHistory` | SmartStack platform entities |
|
|
44
|
+
| `extensions` | ExtensionsDbContext | `extensions` | `extensions.__EFMigrationsHistory` | Client-specific entities |
|
|
45
|
+
|
|
46
|
+
**Detection Logic:**
|
|
47
|
+
1. If project contains `SmartStack.Domain` → use `CoreDbContext`
|
|
48
|
+
2. If project contains `{ClientName}.Domain` with SmartStack NuGet → use `ExtensionsDbContext`
|
|
49
|
+
3. If unclear → ask user which context to use
|
|
50
|
+
|
|
51
|
+
## Workflow
|
|
52
|
+
|
|
53
|
+
1. **Detect** DbContext type (Core vs Extensions)
|
|
54
|
+
2. **Ask** user for migration description
|
|
55
|
+
3. **Call MCP** `mcp__smartstack__suggest_migration` with description and context
|
|
56
|
+
4. **Search** for existing migration for this branch
|
|
57
|
+
5. **If exists**: propose to recreate (delete + create)
|
|
58
|
+
6. **Create** migration with `dotnet ef migrations add <MCP_NAME> --context {DbContext}`
|
|
59
|
+
7. **Validate** generated content
|
|
60
|
+
|
|
61
|
+
## Naming: MCP Delegation
|
|
62
|
+
|
|
63
|
+
**ALWAYS call MCP for naming:**
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
mcp__smartstack__suggest_migration({
|
|
67
|
+
description: "<user_description>",
|
|
68
|
+
context: "core" | "extensions"
|
|
69
|
+
})
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
MCP returns the fully compliant name: `{context}_v{version}_{sequence}_{Description}`
|
|
73
|
+
|
|
74
|
+
**Examples of MCP-generated names:**
|
|
75
|
+
- `core_v1.8.0_001_CreateAuthUsers`
|
|
76
|
+
- `ext_v1.0.0_001_CreateOrders`
|
|
77
|
+
|
|
78
|
+
## Commands
|
|
79
|
+
|
|
80
|
+
**Prerequisite — ensure `dotnet ef` is on PATH (MANDATORY before any command):**
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Platform-aware dotnet-ef PATH fix (Windows Git Bash / Linux / macOS)
|
|
84
|
+
if ! dotnet ef --version &>/dev/null; then
|
|
85
|
+
for TOOLS_DIR in "$USERPROFILE/.dotnet/tools" "$HOME/.dotnet/tools" "$LOCALAPPDATA/Microsoft/dotnet/tools"; do
|
|
86
|
+
[ -n "$TOOLS_DIR" ] && [ -d "$TOOLS_DIR" ] && export PATH="$TOOLS_DIR:$PATH"
|
|
87
|
+
done
|
|
88
|
+
dotnet ef --version &>/dev/null || { echo "ERROR: dotnet-ef not found"; exit 1; }
|
|
89
|
+
fi
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
> **Windows pitfall:** `$USERPROFILE` (→ `C:\Users\xxx`) is tried FIRST.
|
|
93
|
+
> NEVER rely on `$HOME` alone — in WSL it resolves to `/home/{user}` where .NET SDK is absent.
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Existing migrations for Core
|
|
97
|
+
find Migrations -name "core_*.cs" | grep -v Designer | grep -v Snapshot
|
|
98
|
+
|
|
99
|
+
# Existing migrations for Extensions
|
|
100
|
+
find Persistence/Migrations -name "ext_*.cs" | grep -v Designer | grep -v Snapshot
|
|
101
|
+
|
|
102
|
+
# Create Core migration (use MCP_NAME from suggest_migration)
|
|
103
|
+
dotnet ef migrations add $MCP_NAME --context CoreDbContext -o Persistence/Migrations
|
|
104
|
+
|
|
105
|
+
# Create Extensions migration (use MCP_NAME from suggest_migration)
|
|
106
|
+
dotnet ef migrations add $MCP_NAME --context ExtensionsDbContext -o Persistence/Migrations
|
|
107
|
+
|
|
108
|
+
# Delete existing migration
|
|
109
|
+
rm Persistence/Migrations/*${OLD_NAME}*.cs
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
> **Note:** `$MCP_NAME` is obtained via MCP call, never computed locally.
|
|
113
|
+
|
|
114
|
+
## Context Detection
|
|
115
|
+
|
|
116
|
+
If unable to auto-detect:
|
|
117
|
+
```javascript
|
|
118
|
+
AskUserQuestion({
|
|
119
|
+
question: "Which DbContext should this migration target?",
|
|
120
|
+
header: "DbContext",
|
|
121
|
+
options: [
|
|
122
|
+
{ label: "CoreDbContext (SmartStack)", description: "For platform entities (User, Role, Navigation, etc.)" },
|
|
123
|
+
{ label: "ExtensionsDbContext (Client)", description: "For client-specific entities" }
|
|
124
|
+
]
|
|
125
|
+
})
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## 1 Migration per Feature Rule
|
|
129
|
+
|
|
130
|
+
If existing migration detected:
|
|
131
|
+
```javascript
|
|
132
|
+
AskUserQuestion({
|
|
133
|
+
question: "Existing migration found. Recreate?",
|
|
134
|
+
header: "Migration",
|
|
135
|
+
options: [
|
|
136
|
+
{ label: "Recreate (recommended)", description: "Delete existing and create new" },
|
|
137
|
+
{ label: "Keep and add new", description: "Keep existing, add separate migration" },
|
|
138
|
+
{ label: "Cancel", description: "Do nothing" }
|
|
139
|
+
]
|
|
140
|
+
})
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Output Format
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
MIGRATION
|
|
147
|
+
Context: {CoreDbContext|ExtensionsDbContext}
|
|
148
|
+
Schema: {core|extensions}
|
|
149
|
+
Branch: {branch}
|
|
150
|
+
Version: {version}
|
|
151
|
+
Name: {migration_name}
|
|
152
|
+
Action: {created|recreated}
|
|
153
|
+
Files: 3 (Migration + Designer + Snapshot)
|
|
154
|
+
HistoryTable: {schema}.__EFMigrationsHistory
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
## Conflict Management
|
|
158
|
+
|
|
159
|
+
After rebase on develop:
|
|
160
|
+
1. Accept ModelSnapshot from develop
|
|
161
|
+
2. Delete local migration
|
|
162
|
+
3. Recreate with this command
|
|
163
|
+
|
|
164
|
+
## Error Recovery
|
|
165
|
+
|
|
166
|
+
| Failure | Recovery Action |
|
|
167
|
+
|---------|----------------|
|
|
168
|
+
| MCP unavailable | Check `.claude/mcp-status.json`, run `/mcp healthcheck` |
|
|
169
|
+
| `dotnet ef` fails | Check build errors: `dotnet build`, fix compilation issues first |
|
|
170
|
+
| Migration file empty | Delete and recreate: `dotnet ef migrations remove --context $DBCONTEXT` |
|
|
171
|
+
| Snapshot corrupted | Use `/efcore rebase-snapshot` to reset from parent branch |
|
|
172
|
+
| Wrong context used | Delete migration files manually, re-run with correct context |
|
|
173
|
+
|
|
174
|
+
**Automatic recovery:** If migration creation fails mid-process, the agent should:
|
|
175
|
+
1. Check if partial files were created
|
|
176
|
+
2. Clean up incomplete migration files (`rm -f $MIGRATIONS_DIR/*$MIGRATION_NAME*`)
|
|
177
|
+
3. Report the error with dotnet output
|
|
178
|
+
4. Suggest corrective action
|
|
179
|
+
|
|
180
|
+
## Important Notes
|
|
181
|
+
|
|
182
|
+
- **Core migrations** go to `CoreDbContextModelSnapshot.cs`
|
|
183
|
+
- **Extensions migrations** go to `ExtensionsDbContextModelSnapshot.cs`
|
|
184
|
+
- Each DbContext has its **own** `__EFMigrationsHistory` table in its schema
|
|
185
|
+
- Extensions entities **cannot** have navigation properties to Core entities
|
|
186
|
+
- Use `ICoreDataService` to access Core data from Extensions context
|