@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,160 +1,160 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-02-create
|
|
3
|
-
description: Create migration with MCP naming
|
|
4
|
-
next_step: step-03-validate.md
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Step 2: Create Migration
|
|
8
|
-
|
|
9
|
-
## YOUR TASK:
|
|
10
|
-
|
|
11
|
-
Get migration description from user, call MCP for compliant name, and create migration.
|
|
12
|
-
|
|
13
|
-
**MANDATORY:** Use MCP `suggest_migration` for naming. NEVER hardcode.
|
|
14
|
-
|
|
15
|
-
**Previous step:** `step-01-check.md`
|
|
16
|
-
|
|
17
|
-
---
|
|
18
|
-
|
|
19
|
-
## EXECUTION SEQUENCE:
|
|
20
|
-
|
|
21
|
-
### 1. Get Description from User
|
|
22
|
-
|
|
23
|
-
**If NOT force mode with predefined description:**
|
|
24
|
-
|
|
25
|
-
```yaml
|
|
26
|
-
AskUserQuestion:
|
|
27
|
-
header: "Description"
|
|
28
|
-
question: "Short description for the migration (e.g., 'Add User Roles'):"
|
|
29
|
-
options:
|
|
30
|
-
- label: "Add..."
|
|
31
|
-
description: "Adding tables/columns"
|
|
32
|
-
- label: "Update..."
|
|
33
|
-
description: "Modifying structure"
|
|
34
|
-
- label: "Fix..."
|
|
35
|
-
description: "Schema correction"
|
|
36
|
-
- label: "Remove..."
|
|
37
|
-
description: "Deleting elements"
|
|
38
|
-
multiSelect: false
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**User can also provide free text (Other option).**
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
# DESCRIPTION = user response or predefined value
|
|
45
|
-
# Examples: "Add User Roles", "Update Tenant Schema", "Fix Foreign Keys"
|
|
46
|
-
|
|
47
|
-
echo ""
|
|
48
|
-
echo "Description: $DESCRIPTION"
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### 2. Verify MCP Availability
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
# Check MCP cache before calling suggest_migration
|
|
55
|
-
MCP_STATUS_FILE=".claude/mcp-status.json"
|
|
56
|
-
|
|
57
|
-
if [ -f "$MCP_STATUS_FILE" ]; then
|
|
58
|
-
MCP_STATUS=$(cat "$MCP_STATUS_FILE" | grep -o '"status":"[^"]*"' | head -1 | cut -d'"' -f4)
|
|
59
|
-
if [ "$MCP_STATUS" = "error" ]; then
|
|
60
|
-
echo "ERROR: MCP server is unavailable (status: error)"
|
|
61
|
-
echo "Run: /mcp healthcheck to diagnose"
|
|
62
|
-
exit 1
|
|
63
|
-
fi
|
|
64
|
-
fi
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### 3. Call MCP for Migration Name (MANDATORY)
|
|
68
|
-
|
|
69
|
-
```javascript
|
|
70
|
-
// DESCRIPTION = from user input (e.g., "Add User Roles")
|
|
71
|
-
// DBCONTEXT_TYPE = "core" or "extensions" (from detect_dbcontext)
|
|
72
|
-
|
|
73
|
-
const result = await mcp__smartstack__suggest_migration({
|
|
74
|
-
description: DESCRIPTION,
|
|
75
|
-
context: DBCONTEXT_TYPE // NEVER hardcode!
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
// Result example: core_v1.8.0_001_AddUserRoles
|
|
79
|
-
MIGRATION_NAME = result.migrationName;
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
**FORBIDDEN:**
|
|
83
|
-
- Calculating name manually
|
|
84
|
-
- Hardcoding context as "core"
|
|
85
|
-
- Using wrong version format
|
|
86
|
-
|
|
87
|
-
### 4. Display Migration Name
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
echo ""
|
|
91
|
-
echo "Migration name: $MIGRATION_NAME"
|
|
92
|
-
echo "Context: $DBCONTEXT"
|
|
93
|
-
echo ""
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### 5. Create Migration
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
echo "Creating migration..."
|
|
100
|
-
echo ""
|
|
101
|
-
|
|
102
|
-
dotnet ef migrations add "$MIGRATION_NAME" \
|
|
103
|
-
--context "$DBCONTEXT" \
|
|
104
|
-
--project "$INFRA_PROJECT" \
|
|
105
|
-
--startup-project "$STARTUP_PROJECT" \
|
|
106
|
-
-o Persistence/Migrations \
|
|
107
|
-
--verbose
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### 6. Verify Creation
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
# Check files were created
|
|
114
|
-
MIGRATION_FILE="$MIGRATIONS_DIR/${MIGRATION_NAME}.cs"
|
|
115
|
-
DESIGNER_FILE="$MIGRATIONS_DIR/${MIGRATION_NAME}.Designer.cs"
|
|
116
|
-
|
|
117
|
-
if [ ! -f "$MIGRATION_FILE" ]; then
|
|
118
|
-
echo ""
|
|
119
|
-
echo "ERROR: Migration file not created"
|
|
120
|
-
echo "Expected: $MIGRATION_FILE"
|
|
121
|
-
exit 1
|
|
122
|
-
fi
|
|
123
|
-
|
|
124
|
-
echo ""
|
|
125
|
-
echo "Migration created:"
|
|
126
|
-
echo " $MIGRATION_FILE"
|
|
127
|
-
echo " $DESIGNER_FILE"
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## STATE OUTPUT:
|
|
133
|
-
|
|
134
|
-
| Variable | Description |
|
|
135
|
-
|----------|-------------|
|
|
136
|
-
| `{description}` | User-provided description |
|
|
137
|
-
| `{migration_name}` | Name from MCP |
|
|
138
|
-
| `{migration_file}` | Path to .cs file |
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## ERROR HANDLING:
|
|
143
|
-
|
|
144
|
-
| Error | Resolution |
|
|
145
|
-
|-------|------------|
|
|
146
|
-
| MCP unavailable | Check connection, retry |
|
|
147
|
-
| Creation fails | Check dotnet ef output |
|
|
148
|
-
| File not created | Verify paths and permissions |
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## SUCCESS CRITERIA:
|
|
153
|
-
|
|
154
|
-
- Description captured
|
|
155
|
-
- MCP called successfully
|
|
156
|
-
- Migration files created
|
|
157
|
-
|
|
158
|
-
## NEXT STEP:
|
|
159
|
-
|
|
160
|
-
→ `step-03-validate.md`
|
|
1
|
+
---
|
|
2
|
+
name: step-02-create
|
|
3
|
+
description: Create migration with MCP naming
|
|
4
|
+
next_step: step-03-validate.md
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 2: Create Migration
|
|
8
|
+
|
|
9
|
+
## YOUR TASK:
|
|
10
|
+
|
|
11
|
+
Get migration description from user, call MCP for compliant name, and create migration.
|
|
12
|
+
|
|
13
|
+
**MANDATORY:** Use MCP `suggest_migration` for naming. NEVER hardcode.
|
|
14
|
+
|
|
15
|
+
**Previous step:** `step-01-check.md`
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## EXECUTION SEQUENCE:
|
|
20
|
+
|
|
21
|
+
### 1. Get Description from User
|
|
22
|
+
|
|
23
|
+
**If NOT force mode with predefined description:**
|
|
24
|
+
|
|
25
|
+
```yaml
|
|
26
|
+
AskUserQuestion:
|
|
27
|
+
header: "Description"
|
|
28
|
+
question: "Short description for the migration (e.g., 'Add User Roles'):"
|
|
29
|
+
options:
|
|
30
|
+
- label: "Add..."
|
|
31
|
+
description: "Adding tables/columns"
|
|
32
|
+
- label: "Update..."
|
|
33
|
+
description: "Modifying structure"
|
|
34
|
+
- label: "Fix..."
|
|
35
|
+
description: "Schema correction"
|
|
36
|
+
- label: "Remove..."
|
|
37
|
+
description: "Deleting elements"
|
|
38
|
+
multiSelect: false
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**User can also provide free text (Other option).**
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# DESCRIPTION = user response or predefined value
|
|
45
|
+
# Examples: "Add User Roles", "Update Tenant Schema", "Fix Foreign Keys"
|
|
46
|
+
|
|
47
|
+
echo ""
|
|
48
|
+
echo "Description: $DESCRIPTION"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. Verify MCP Availability
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Check MCP cache before calling suggest_migration
|
|
55
|
+
MCP_STATUS_FILE=".claude/mcp-status.json"
|
|
56
|
+
|
|
57
|
+
if [ -f "$MCP_STATUS_FILE" ]; then
|
|
58
|
+
MCP_STATUS=$(cat "$MCP_STATUS_FILE" | grep -o '"status":"[^"]*"' | head -1 | cut -d'"' -f4)
|
|
59
|
+
if [ "$MCP_STATUS" = "error" ]; then
|
|
60
|
+
echo "ERROR: MCP server is unavailable (status: error)"
|
|
61
|
+
echo "Run: /mcp healthcheck to diagnose"
|
|
62
|
+
exit 1
|
|
63
|
+
fi
|
|
64
|
+
fi
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### 3. Call MCP for Migration Name (MANDATORY)
|
|
68
|
+
|
|
69
|
+
```javascript
|
|
70
|
+
// DESCRIPTION = from user input (e.g., "Add User Roles")
|
|
71
|
+
// DBCONTEXT_TYPE = "core" or "extensions" (from detect_dbcontext)
|
|
72
|
+
|
|
73
|
+
const result = await mcp__smartstack__suggest_migration({
|
|
74
|
+
description: DESCRIPTION,
|
|
75
|
+
context: DBCONTEXT_TYPE // NEVER hardcode!
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
// Result example: core_v1.8.0_001_AddUserRoles
|
|
79
|
+
MIGRATION_NAME = result.migrationName;
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**FORBIDDEN:**
|
|
83
|
+
- Calculating name manually
|
|
84
|
+
- Hardcoding context as "core"
|
|
85
|
+
- Using wrong version format
|
|
86
|
+
|
|
87
|
+
### 4. Display Migration Name
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
echo ""
|
|
91
|
+
echo "Migration name: $MIGRATION_NAME"
|
|
92
|
+
echo "Context: $DBCONTEXT"
|
|
93
|
+
echo ""
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 5. Create Migration
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
echo "Creating migration..."
|
|
100
|
+
echo ""
|
|
101
|
+
|
|
102
|
+
dotnet ef migrations add "$MIGRATION_NAME" \
|
|
103
|
+
--context "$DBCONTEXT" \
|
|
104
|
+
--project "$INFRA_PROJECT" \
|
|
105
|
+
--startup-project "$STARTUP_PROJECT" \
|
|
106
|
+
-o Persistence/Migrations \
|
|
107
|
+
--verbose
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 6. Verify Creation
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Check files were created
|
|
114
|
+
MIGRATION_FILE="$MIGRATIONS_DIR/${MIGRATION_NAME}.cs"
|
|
115
|
+
DESIGNER_FILE="$MIGRATIONS_DIR/${MIGRATION_NAME}.Designer.cs"
|
|
116
|
+
|
|
117
|
+
if [ ! -f "$MIGRATION_FILE" ]; then
|
|
118
|
+
echo ""
|
|
119
|
+
echo "ERROR: Migration file not created"
|
|
120
|
+
echo "Expected: $MIGRATION_FILE"
|
|
121
|
+
exit 1
|
|
122
|
+
fi
|
|
123
|
+
|
|
124
|
+
echo ""
|
|
125
|
+
echo "Migration created:"
|
|
126
|
+
echo " $MIGRATION_FILE"
|
|
127
|
+
echo " $DESIGNER_FILE"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## STATE OUTPUT:
|
|
133
|
+
|
|
134
|
+
| Variable | Description |
|
|
135
|
+
|----------|-------------|
|
|
136
|
+
| `{description}` | User-provided description |
|
|
137
|
+
| `{migration_name}` | Name from MCP |
|
|
138
|
+
| `{migration_file}` | Path to .cs file |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## ERROR HANDLING:
|
|
143
|
+
|
|
144
|
+
| Error | Resolution |
|
|
145
|
+
|-------|------------|
|
|
146
|
+
| MCP unavailable | Check connection, retry |
|
|
147
|
+
| Creation fails | Check dotnet ef output |
|
|
148
|
+
| File not created | Verify paths and permissions |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## SUCCESS CRITERIA:
|
|
153
|
+
|
|
154
|
+
- Description captured
|
|
155
|
+
- MCP called successfully
|
|
156
|
+
- Migration files created
|
|
157
|
+
|
|
158
|
+
## NEXT STEP:
|
|
159
|
+
|
|
160
|
+
→ `step-03-validate.md`
|
|
@@ -1,168 +1,168 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-03-validate
|
|
3
|
-
description: Validate migration and optionally deploy
|
|
4
|
-
next_step: null
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Step 3: Validate Migration
|
|
8
|
-
|
|
9
|
-
## YOUR TASK:
|
|
10
|
-
|
|
11
|
-
Validate the created migration and optionally apply it to the local database.
|
|
12
|
-
|
|
13
|
-
**Previous step:** `step-02-create.md`
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## EXECUTION SEQUENCE:
|
|
18
|
-
|
|
19
|
-
### 1. Build Project
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
echo "Building project..."
|
|
23
|
-
echo ""
|
|
24
|
-
|
|
25
|
-
dotnet build "$INFRA_PROJECT" --no-restore
|
|
26
|
-
|
|
27
|
-
if [ $? -ne 0 ]; then
|
|
28
|
-
echo ""
|
|
29
|
-
echo "ERROR: Build failed"
|
|
30
|
-
echo "Please fix compilation errors and retry."
|
|
31
|
-
exit 1
|
|
32
|
-
fi
|
|
33
|
-
|
|
34
|
-
echo "Build: OK"
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### 2. Show Migration Content Summary
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
echo ""
|
|
41
|
-
echo "Migration content:"
|
|
42
|
-
echo ""
|
|
43
|
-
|
|
44
|
-
# Count operations in migration
|
|
45
|
-
UP_TABLES=$(grep -c "CreateTable" "$MIGRATION_FILE" || echo "0")
|
|
46
|
-
UP_COLUMNS=$(grep -c "AddColumn" "$MIGRATION_FILE" || echo "0")
|
|
47
|
-
UP_INDEXES=$(grep -c "CreateIndex" "$MIGRATION_FILE" || echo "0")
|
|
48
|
-
UP_FOREIGN=$(grep -c "AddForeignKey" "$MIGRATION_FILE" || echo "0")
|
|
49
|
-
|
|
50
|
-
echo " Tables: $UP_TABLES"
|
|
51
|
-
echo " Columns: $UP_COLUMNS"
|
|
52
|
-
echo " Indexes: $UP_INDEXES"
|
|
53
|
-
echo " Foreign Keys:$UP_FOREIGN"
|
|
54
|
-
|
|
55
|
-
# Detect destructive operations
|
|
56
|
-
DROP_COL=$(grep -c "DropColumn" "$MIGRATION_FILE" || echo "0")
|
|
57
|
-
RENAME_COL=$(grep -c "RenameColumn" "$MIGRATION_FILE" || echo "0")
|
|
58
|
-
ALTER_COL=$(grep -c "AlterColumn" "$MIGRATION_FILE" || echo "0")
|
|
59
|
-
DROP_TABLE=$(grep -c "DropTable" "$MIGRATION_FILE" || echo "0")
|
|
60
|
-
DESTRUCTIVE=$((DROP_COL + RENAME_COL + ALTER_COL + DROP_TABLE))
|
|
61
|
-
|
|
62
|
-
if [ "$DESTRUCTIVE" -gt 0 ]; then
|
|
63
|
-
echo ""
|
|
64
|
-
echo "WARNING: Destructive operations detected:"
|
|
65
|
-
[ "$DROP_COL" -gt 0 ] && echo " DropColumn: $DROP_COL"
|
|
66
|
-
[ "$RENAME_COL" -gt 0 ] && echo " RenameColumn: $RENAME_COL"
|
|
67
|
-
[ "$ALTER_COL" -gt 0 ] && echo " AlterColumn: $ALTER_COL"
|
|
68
|
-
[ "$DROP_TABLE" -gt 0 ] && echo " DropTable: $DROP_TABLE"
|
|
69
|
-
echo ""
|
|
70
|
-
echo "For production deployments, consider zero-downtime migration patterns."
|
|
71
|
-
echo "See: references/zero-downtime-patterns.md"
|
|
72
|
-
fi
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### 3. Ask User to Validate
|
|
76
|
-
|
|
77
|
-
**If NOT auto mode:**
|
|
78
|
-
|
|
79
|
-
```yaml
|
|
80
|
-
AskUserQuestion:
|
|
81
|
-
header: "Validation"
|
|
82
|
-
question: "Migration created. What do you want to do?"
|
|
83
|
-
options:
|
|
84
|
-
- label: "Apply to local DB"
|
|
85
|
-
description: "Run /efcore db-deploy now"
|
|
86
|
-
- label: "Keep without applying"
|
|
87
|
-
description: "Apply later manually"
|
|
88
|
-
- label: "Delete and retry"
|
|
89
|
-
description: "Remove migration, start over"
|
|
90
|
-
multiSelect: false
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
See: `references/destructive-operations.md` for zero-downtime patterns.
|
|
94
|
-
|
|
95
|
-
### 4. Handle Response
|
|
96
|
-
|
|
97
|
-
```javascript
|
|
98
|
-
if (answer === "Apply to local DB") {
|
|
99
|
-
// Apply migration
|
|
100
|
-
ACTION = "deploy";
|
|
101
|
-
} else if (answer === "Keep without applying") {
|
|
102
|
-
ACTION = "keep";
|
|
103
|
-
} else {
|
|
104
|
-
// Delete and start over
|
|
105
|
-
ACTION = "delete";
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### 5. Execute Action
|
|
110
|
-
|
|
111
|
-
**If deploy:**
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
echo ""
|
|
115
|
-
echo "Applying migration..."
|
|
116
|
-
|
|
117
|
-
dotnet ef database update \
|
|
118
|
-
--context "$DBCONTEXT" \
|
|
119
|
-
--project "$INFRA_PROJECT" \
|
|
120
|
-
--startup-project "$STARTUP_PROJECT" \
|
|
121
|
-
--verbose
|
|
122
|
-
|
|
123
|
-
if [ $? -eq 0 ]; then
|
|
124
|
-
echo ""
|
|
125
|
-
echo "Migration applied successfully."
|
|
126
|
-
else
|
|
127
|
-
echo ""
|
|
128
|
-
echo "ERROR: Migration failed to apply."
|
|
129
|
-
echo "Database may need reset: /efcore db-reset"
|
|
130
|
-
fi
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
**If delete:**
|
|
134
|
-
|
|
135
|
-
```bash
|
|
136
|
-
echo ""
|
|
137
|
-
echo "Removing migration..."
|
|
138
|
-
|
|
139
|
-
dotnet ef migrations remove \
|
|
140
|
-
--context "$DBCONTEXT" \
|
|
141
|
-
--project "$INFRA_PROJECT" \
|
|
142
|
-
--startup-project "$STARTUP_PROJECT" \
|
|
143
|
-
--force
|
|
144
|
-
|
|
145
|
-
echo "Migration removed. Run /efcore migration to start over."
|
|
146
|
-
exit 0
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
### 6. Final Summary
|
|
150
|
-
|
|
151
|
-
Create summary output showing:
|
|
152
|
-
- Branch, DbContext, DbContext Type
|
|
153
|
-
- Migration name and files
|
|
154
|
-
- Content statistics (tables, columns, indexes, foreign keys)
|
|
155
|
-
- Status (Applied or Created)
|
|
156
|
-
- Next steps
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## SUCCESS CRITERIA:
|
|
161
|
-
|
|
162
|
-
- Build passes
|
|
163
|
-
- Migration content reviewed
|
|
164
|
-
- User action executed
|
|
165
|
-
|
|
166
|
-
## COMPLETION:
|
|
167
|
-
|
|
168
|
-
Migration workflow complete.
|
|
1
|
+
---
|
|
2
|
+
name: step-03-validate
|
|
3
|
+
description: Validate migration and optionally deploy
|
|
4
|
+
next_step: null
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 3: Validate Migration
|
|
8
|
+
|
|
9
|
+
## YOUR TASK:
|
|
10
|
+
|
|
11
|
+
Validate the created migration and optionally apply it to the local database.
|
|
12
|
+
|
|
13
|
+
**Previous step:** `step-02-create.md`
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## EXECUTION SEQUENCE:
|
|
18
|
+
|
|
19
|
+
### 1. Build Project
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
echo "Building project..."
|
|
23
|
+
echo ""
|
|
24
|
+
|
|
25
|
+
dotnet build "$INFRA_PROJECT" --no-restore
|
|
26
|
+
|
|
27
|
+
if [ $? -ne 0 ]; then
|
|
28
|
+
echo ""
|
|
29
|
+
echo "ERROR: Build failed"
|
|
30
|
+
echo "Please fix compilation errors and retry."
|
|
31
|
+
exit 1
|
|
32
|
+
fi
|
|
33
|
+
|
|
34
|
+
echo "Build: OK"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 2. Show Migration Content Summary
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
echo ""
|
|
41
|
+
echo "Migration content:"
|
|
42
|
+
echo ""
|
|
43
|
+
|
|
44
|
+
# Count operations in migration
|
|
45
|
+
UP_TABLES=$(grep -c "CreateTable" "$MIGRATION_FILE" || echo "0")
|
|
46
|
+
UP_COLUMNS=$(grep -c "AddColumn" "$MIGRATION_FILE" || echo "0")
|
|
47
|
+
UP_INDEXES=$(grep -c "CreateIndex" "$MIGRATION_FILE" || echo "0")
|
|
48
|
+
UP_FOREIGN=$(grep -c "AddForeignKey" "$MIGRATION_FILE" || echo "0")
|
|
49
|
+
|
|
50
|
+
echo " Tables: $UP_TABLES"
|
|
51
|
+
echo " Columns: $UP_COLUMNS"
|
|
52
|
+
echo " Indexes: $UP_INDEXES"
|
|
53
|
+
echo " Foreign Keys:$UP_FOREIGN"
|
|
54
|
+
|
|
55
|
+
# Detect destructive operations
|
|
56
|
+
DROP_COL=$(grep -c "DropColumn" "$MIGRATION_FILE" || echo "0")
|
|
57
|
+
RENAME_COL=$(grep -c "RenameColumn" "$MIGRATION_FILE" || echo "0")
|
|
58
|
+
ALTER_COL=$(grep -c "AlterColumn" "$MIGRATION_FILE" || echo "0")
|
|
59
|
+
DROP_TABLE=$(grep -c "DropTable" "$MIGRATION_FILE" || echo "0")
|
|
60
|
+
DESTRUCTIVE=$((DROP_COL + RENAME_COL + ALTER_COL + DROP_TABLE))
|
|
61
|
+
|
|
62
|
+
if [ "$DESTRUCTIVE" -gt 0 ]; then
|
|
63
|
+
echo ""
|
|
64
|
+
echo "WARNING: Destructive operations detected:"
|
|
65
|
+
[ "$DROP_COL" -gt 0 ] && echo " DropColumn: $DROP_COL"
|
|
66
|
+
[ "$RENAME_COL" -gt 0 ] && echo " RenameColumn: $RENAME_COL"
|
|
67
|
+
[ "$ALTER_COL" -gt 0 ] && echo " AlterColumn: $ALTER_COL"
|
|
68
|
+
[ "$DROP_TABLE" -gt 0 ] && echo " DropTable: $DROP_TABLE"
|
|
69
|
+
echo ""
|
|
70
|
+
echo "For production deployments, consider zero-downtime migration patterns."
|
|
71
|
+
echo "See: references/zero-downtime-patterns.md"
|
|
72
|
+
fi
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 3. Ask User to Validate
|
|
76
|
+
|
|
77
|
+
**If NOT auto mode:**
|
|
78
|
+
|
|
79
|
+
```yaml
|
|
80
|
+
AskUserQuestion:
|
|
81
|
+
header: "Validation"
|
|
82
|
+
question: "Migration created. What do you want to do?"
|
|
83
|
+
options:
|
|
84
|
+
- label: "Apply to local DB"
|
|
85
|
+
description: "Run /efcore db-deploy now"
|
|
86
|
+
- label: "Keep without applying"
|
|
87
|
+
description: "Apply later manually"
|
|
88
|
+
- label: "Delete and retry"
|
|
89
|
+
description: "Remove migration, start over"
|
|
90
|
+
multiSelect: false
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
See: `references/destructive-operations.md` for zero-downtime patterns.
|
|
94
|
+
|
|
95
|
+
### 4. Handle Response
|
|
96
|
+
|
|
97
|
+
```javascript
|
|
98
|
+
if (answer === "Apply to local DB") {
|
|
99
|
+
// Apply migration
|
|
100
|
+
ACTION = "deploy";
|
|
101
|
+
} else if (answer === "Keep without applying") {
|
|
102
|
+
ACTION = "keep";
|
|
103
|
+
} else {
|
|
104
|
+
// Delete and start over
|
|
105
|
+
ACTION = "delete";
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 5. Execute Action
|
|
110
|
+
|
|
111
|
+
**If deploy:**
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
echo ""
|
|
115
|
+
echo "Applying migration..."
|
|
116
|
+
|
|
117
|
+
dotnet ef database update \
|
|
118
|
+
--context "$DBCONTEXT" \
|
|
119
|
+
--project "$INFRA_PROJECT" \
|
|
120
|
+
--startup-project "$STARTUP_PROJECT" \
|
|
121
|
+
--verbose
|
|
122
|
+
|
|
123
|
+
if [ $? -eq 0 ]; then
|
|
124
|
+
echo ""
|
|
125
|
+
echo "Migration applied successfully."
|
|
126
|
+
else
|
|
127
|
+
echo ""
|
|
128
|
+
echo "ERROR: Migration failed to apply."
|
|
129
|
+
echo "Database may need reset: /efcore db-reset"
|
|
130
|
+
fi
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**If delete:**
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
echo ""
|
|
137
|
+
echo "Removing migration..."
|
|
138
|
+
|
|
139
|
+
dotnet ef migrations remove \
|
|
140
|
+
--context "$DBCONTEXT" \
|
|
141
|
+
--project "$INFRA_PROJECT" \
|
|
142
|
+
--startup-project "$STARTUP_PROJECT" \
|
|
143
|
+
--force
|
|
144
|
+
|
|
145
|
+
echo "Migration removed. Run /efcore migration to start over."
|
|
146
|
+
exit 0
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### 6. Final Summary
|
|
150
|
+
|
|
151
|
+
Create summary output showing:
|
|
152
|
+
- Branch, DbContext, DbContext Type
|
|
153
|
+
- Migration name and files
|
|
154
|
+
- Content statistics (tables, columns, indexes, foreign keys)
|
|
155
|
+
- Status (Applied or Created)
|
|
156
|
+
- Next steps
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## SUCCESS CRITERIA:
|
|
161
|
+
|
|
162
|
+
- Build passes
|
|
163
|
+
- Migration content reviewed
|
|
164
|
+
- User action executed
|
|
165
|
+
|
|
166
|
+
## COMPLETION:
|
|
167
|
+
|
|
168
|
+
Migration workflow complete.
|