@atlashub/smartstack-cli 3.39.0 → 3.41.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 +6 -3
- 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 +95 -84
- package/templates/agents/efcore/db-deploy.md +85 -74
- package/templates/agents/efcore/db-reset.md +96 -85
- package/templates/agents/efcore/db-seed.md +72 -61
- package/templates/agents/efcore/db-status.md +97 -86
- package/templates/agents/efcore/migration.md +197 -186
- package/templates/agents/efcore/rebase-snapshot.md +119 -108
- package/templates/agents/efcore/scan.md +103 -92
- package/templates/agents/efcore/squash.md +172 -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 +168 -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 +95 -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,167 +1,168 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: efcore
|
|
3
|
-
description: EF Core Commands - Migration and database management
|
|
4
|
-
argument-hint: "<command> [options]"
|
|
5
|
-
disable-model-invocation: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Current state (auto-injected)
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
/efcore db-
|
|
21
|
-
/efcore db-
|
|
22
|
-
/efcore db-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
/efcore
|
|
29
|
-
/efcore
|
|
30
|
-
/efcore
|
|
31
|
-
/efcore
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
| `db-
|
|
42
|
-
| `db-
|
|
43
|
-
| `db-
|
|
44
|
-
| `
|
|
45
|
-
| `
|
|
46
|
-
| `
|
|
47
|
-
| `
|
|
48
|
-
| `
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
| `--
|
|
56
|
-
| `--
|
|
57
|
-
| `--
|
|
58
|
-
| `--
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
| `{
|
|
70
|
-
| `{
|
|
71
|
-
| `{
|
|
72
|
-
| `{
|
|
73
|
-
| `{
|
|
74
|
-
| `{
|
|
75
|
-
| `{
|
|
76
|
-
| `{
|
|
77
|
-
| `{
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
| `db-
|
|
92
|
-
| `db-
|
|
93
|
-
| `db-
|
|
94
|
-
| `
|
|
95
|
-
| `
|
|
96
|
-
| `
|
|
97
|
-
| `
|
|
98
|
-
| `
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
- `
|
|
108
|
-
- `
|
|
109
|
-
- `
|
|
110
|
-
- `
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
- `
|
|
115
|
-
- `
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
| `
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
- `
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
- **
|
|
156
|
-
- **
|
|
157
|
-
- **
|
|
158
|
-
- **
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
-
|
|
167
|
-
|
|
1
|
+
---
|
|
2
|
+
name: efcore
|
|
3
|
+
description: EF Core Commands - Migration and database management
|
|
4
|
+
argument-hint: "<command> [options]"
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Current state (auto-injected)
|
|
9
|
+
- Preflight: !`if [ -f .git ] && grep -q '^gitdir: [A-Za-z]:' .git 2>/dev/null && grep -qi microsoft /proc/version 2>/dev/null; then p=$(sed 's/^gitdir: //' .git | tr -d '\r\n'); d=$(echo "${p:0:1}" | tr A-Z a-z); r="${p:2}"; r="${r//\\//}"; printf 'gitdir: %s\n' "$(realpath -m --relative-to="$(pwd)" "/mnt/$d$r")" > .git && echo "repaired"; else echo "ok"; fi`
|
|
10
|
+
- Branch: !`git branch --show-current 2>/dev/null || echo "UNAVAILABLE"`
|
|
11
|
+
- Recent migrations: _(detected in step-00-init)_
|
|
12
|
+
|
|
13
|
+
<objective>
|
|
14
|
+
Manage EF Core migrations and database operations with progressive step loading, MCP validation, and DbContext auto-detection.
|
|
15
|
+
</objective>
|
|
16
|
+
|
|
17
|
+
<quick_start>
|
|
18
|
+
**Database operations:**
|
|
19
|
+
```bash
|
|
20
|
+
/efcore db-status # Check migration status
|
|
21
|
+
/efcore db-deploy # Apply pending migrations
|
|
22
|
+
/efcore db-reset # Drop + recreate database
|
|
23
|
+
/efcore db-seed # Populate with test data
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Migration operations:**
|
|
27
|
+
```bash
|
|
28
|
+
/efcore migration # Create migration for current branch
|
|
29
|
+
/efcore squash # Consolidate branch migrations
|
|
30
|
+
/efcore rebase-snapshot # Sync snapshot with parent branch
|
|
31
|
+
/efcore scan # Scan for cross-branch conflicts
|
|
32
|
+
/efcore conflicts # Analyze migration conflicts
|
|
33
|
+
```
|
|
34
|
+
</quick_start>
|
|
35
|
+
|
|
36
|
+
<parameters>
|
|
37
|
+
|
|
38
|
+
<subcommands>
|
|
39
|
+
| Command | Description | Steps |
|
|
40
|
+
|---------|-------------|-------|
|
|
41
|
+
| `db-status` | Display migrations and database status | steps/db/status/ |
|
|
42
|
+
| `db-deploy` | Apply pending migrations | steps/db/deploy/ |
|
|
43
|
+
| `db-reset` | Drop + recreate database | steps/db/reset/ |
|
|
44
|
+
| `db-seed` | Populate with test data | steps/db/seed/ |
|
|
45
|
+
| `migration` | Create/recreate migration | steps/migration/ |
|
|
46
|
+
| `squash` | Consolidate migrations | steps/squash/ |
|
|
47
|
+
| `rebase-snapshot` | Sync snapshot with parent | steps/rebase-snapshot/ |
|
|
48
|
+
| `scan` | Scan for conflicts | (MCP-centric) |
|
|
49
|
+
| `conflicts` | Analyze conflicts | (MCP-centric) |
|
|
50
|
+
</subcommands>
|
|
51
|
+
|
|
52
|
+
<flags>
|
|
53
|
+
| Flag | Description |
|
|
54
|
+
|------|-------------|
|
|
55
|
+
| `--context <name>` | Specify DbContext (CoreDbContext/ExtensionsDbContext) |
|
|
56
|
+
| `--env <name>` | Use appsettings.{name}.json |
|
|
57
|
+
| `--verbose` | Show detailed output |
|
|
58
|
+
| `--force` | Skip confirmations |
|
|
59
|
+
| `--dry-run` | Preview without executing |
|
|
60
|
+
</flags>
|
|
61
|
+
|
|
62
|
+
</parameters>
|
|
63
|
+
|
|
64
|
+
<state_variables>
|
|
65
|
+
**Shared state across all steps:**
|
|
66
|
+
|
|
67
|
+
| Variable | Type | Description |
|
|
68
|
+
|----------|------|-------------|
|
|
69
|
+
| `{command}` | string | Current subcommand |
|
|
70
|
+
| `{dbcontext}` | string | CoreDbContext or ExtensionsDbContext |
|
|
71
|
+
| `{dbcontext_type}` | string | "core" or "extensions" |
|
|
72
|
+
| `{schema}` | string | Database schema |
|
|
73
|
+
| `{infra_project}` | string | Path to Infrastructure project |
|
|
74
|
+
| `{startup_project}` | string | Path to API/Web project |
|
|
75
|
+
| `{migrations_dir}` | string | Path to Migrations folder |
|
|
76
|
+
| `{base_branch}` | string | Parent branch (develop/main) |
|
|
77
|
+
| `{branch_type}` | string | feature/release/hotfix |
|
|
78
|
+
| `{auto_mode}` | boolean | Skip confirmations |
|
|
79
|
+
</state_variables>
|
|
80
|
+
|
|
81
|
+
<entry_point>
|
|
82
|
+
|
|
83
|
+
**ROUTING LOGIC:**
|
|
84
|
+
|
|
85
|
+
1. Parse command and flags from input
|
|
86
|
+
2. Load shared init step: `steps/shared/step-00-init.md`
|
|
87
|
+
3. Route to command-specific steps:
|
|
88
|
+
|
|
89
|
+
| Command | Route To |
|
|
90
|
+
|---------|----------|
|
|
91
|
+
| `db-status` | `steps/db/step-status.md` |
|
|
92
|
+
| `db-deploy` | `steps/db/step-deploy.md` |
|
|
93
|
+
| `db-reset` | `steps/db/step-reset.md` |
|
|
94
|
+
| `db-seed` | `steps/db/step-seed.md` |
|
|
95
|
+
| `migration` | `steps/migration/step-00-init.md` |
|
|
96
|
+
| `squash` | `steps/squash/step-00-init.md` |
|
|
97
|
+
| `rebase-snapshot` | `steps/rebase-snapshot/step-00-init.md` |
|
|
98
|
+
| `scan` | Use `commands/efcore/scan.md` (MCP-centric, no steps) |
|
|
99
|
+
| `conflicts` | Use `commands/efcore/conflicts.md` (MCP-centric, no steps) |
|
|
100
|
+
|
|
101
|
+
</entry_point>
|
|
102
|
+
|
|
103
|
+
<shared_functions>
|
|
104
|
+
**Always load first:** `steps/shared/step-00-init.md`
|
|
105
|
+
|
|
106
|
+
This step provides:
|
|
107
|
+
- `detect_efcore_project()` - Find EF Core project files
|
|
108
|
+
- `detect_dbcontext()` - Auto-detect Core vs Extensions
|
|
109
|
+
- `detect_environment()` - Load connection string
|
|
110
|
+
- `determine_base_branch()` - Find parent branch
|
|
111
|
+
- `block_production()` - Safety check
|
|
112
|
+
|
|
113
|
+
**MCP Integration:**
|
|
114
|
+
- `mcp__smartstack__suggest_migration` - Generate compliant names
|
|
115
|
+
- `mcp__smartstack__check_migrations` - Analyze conflicts
|
|
116
|
+
- `mcp__smartstack__validate_conventions` - Validate structure
|
|
117
|
+
</shared_functions>
|
|
118
|
+
|
|
119
|
+
<dual_dbcontext>
|
|
120
|
+
SmartStack uses **two separate DbContexts**:
|
|
121
|
+
|
|
122
|
+
| Context | DbContext | Schema | History Table |
|
|
123
|
+
|---------|-----------|--------|---------------|
|
|
124
|
+
| `core` | `CoreDbContext` | `core` | `core.__EFMigrationsHistory` |
|
|
125
|
+
| `extensions` | `ExtensionsDbContext` | `extensions` | `extensions.__EFMigrationsHistory` |
|
|
126
|
+
|
|
127
|
+
**Auto-detection priority:**
|
|
128
|
+
1. SmartStack.Domain exists → CoreDbContext
|
|
129
|
+
2. Client with SmartStack NuGet → ExtensionsDbContext
|
|
130
|
+
3. Code scan for DbContext classes
|
|
131
|
+
4. Ask user if ambiguous
|
|
132
|
+
</dual_dbcontext>
|
|
133
|
+
|
|
134
|
+
<naming_convention>
|
|
135
|
+
**Migration naming (MCP MANDATORY):**
|
|
136
|
+
|
|
137
|
+
Pattern: `{context}_v{version}_{sequence}_{Description}`
|
|
138
|
+
|
|
139
|
+
Examples:
|
|
140
|
+
- `core_v1.9.0_001_AddUserRoles`
|
|
141
|
+
- `extensions_v1.2.0_001_AddCustomFields`
|
|
142
|
+
|
|
143
|
+
**FORBIDDEN:** Manual name calculation. Always use MCP.
|
|
144
|
+
</naming_convention>
|
|
145
|
+
|
|
146
|
+
<safety_rules>
|
|
147
|
+
1. **Backup MANDATORY** for destructive operations
|
|
148
|
+
2. **Production BLOCKED** - Never run on production
|
|
149
|
+
3. **1 migration per feature** - Recreate, don't accumulate
|
|
150
|
+
4. **Snapshot + Migrations** - Always recover BOTH from parent
|
|
151
|
+
5. **MCP for naming** - Never hardcode migration names
|
|
152
|
+
</safety_rules>
|
|
153
|
+
|
|
154
|
+
<execution_rules>
|
|
155
|
+
- **Load one step at a time** - Progressive loading
|
|
156
|
+
- **State persists** - Variables carry across steps
|
|
157
|
+
- **Follow next_step** - Each step defines next
|
|
158
|
+
- **MCP validation** - Use SmartStack tools
|
|
159
|
+
- **Safety > Correctness > Speed**
|
|
160
|
+
</execution_rules>
|
|
161
|
+
|
|
162
|
+
<success_criteria>
|
|
163
|
+
- DbContext correctly detected
|
|
164
|
+
- Migrations created with MCP naming
|
|
165
|
+
- Database operations succeed
|
|
166
|
+
- Parent migrations preserved (for squash/rebase)
|
|
167
|
+
- Build passes after changes
|
|
168
|
+
</success_criteria>
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
# Both Contexts Deployment
|
|
2
|
-
|
|
3
|
-
When `RUN_BOTH=true` (auto-detected for client projects with SmartStack NuGet):
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
# 1. Deploy CoreDbContext first (system tables: Users, Roles, Tenants...)
|
|
7
|
-
echo "=== Deploying CoreDbContext (core schema) ==="
|
|
8
|
-
DBCONTEXT="CoreDbContext"
|
|
9
|
-
SCHEMA="core"
|
|
10
|
-
# Run steps 2-6 with CoreDbContext...
|
|
11
|
-
|
|
12
|
-
dotnet ef database update \
|
|
13
|
-
--context "CoreDbContext" \
|
|
14
|
-
--project "$INFRA_PROJECT" \
|
|
15
|
-
--startup-project "$STARTUP_PROJECT" \
|
|
16
|
-
--verbose
|
|
17
|
-
|
|
18
|
-
# 2. Then ExtensionsDbContext (client tables)
|
|
19
|
-
echo ""
|
|
20
|
-
echo "=== Deploying ExtensionsDbContext (extensions schema) ==="
|
|
21
|
-
DBCONTEXT="ExtensionsDbContext"
|
|
22
|
-
SCHEMA="extensions"
|
|
23
|
-
# Run steps 2-6 with ExtensionsDbContext...
|
|
24
|
-
|
|
25
|
-
dotnet ef database update \
|
|
26
|
-
--context "ExtensionsDbContext" \
|
|
27
|
-
--project "$INFRA_PROJECT" \
|
|
28
|
-
--startup-project "$STARTUP_PROJECT" \
|
|
29
|
-
--verbose
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**Order matters:** Core MUST be deployed first (Extensions may have foreign keys to Core tables).
|
|
1
|
+
# Both Contexts Deployment
|
|
2
|
+
|
|
3
|
+
When `RUN_BOTH=true` (auto-detected for client projects with SmartStack NuGet):
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# 1. Deploy CoreDbContext first (system tables: Users, Roles, Tenants...)
|
|
7
|
+
echo "=== Deploying CoreDbContext (core schema) ==="
|
|
8
|
+
DBCONTEXT="CoreDbContext"
|
|
9
|
+
SCHEMA="core"
|
|
10
|
+
# Run steps 2-6 with CoreDbContext...
|
|
11
|
+
|
|
12
|
+
dotnet ef database update \
|
|
13
|
+
--context "CoreDbContext" \
|
|
14
|
+
--project "$INFRA_PROJECT" \
|
|
15
|
+
--startup-project "$STARTUP_PROJECT" \
|
|
16
|
+
--verbose
|
|
17
|
+
|
|
18
|
+
# 2. Then ExtensionsDbContext (client tables)
|
|
19
|
+
echo ""
|
|
20
|
+
echo "=== Deploying ExtensionsDbContext (extensions schema) ==="
|
|
21
|
+
DBCONTEXT="ExtensionsDbContext"
|
|
22
|
+
SCHEMA="extensions"
|
|
23
|
+
# Run steps 2-6 with ExtensionsDbContext...
|
|
24
|
+
|
|
25
|
+
dotnet ef database update \
|
|
26
|
+
--context "ExtensionsDbContext" \
|
|
27
|
+
--project "$INFRA_PROJECT" \
|
|
28
|
+
--startup-project "$STARTUP_PROJECT" \
|
|
29
|
+
--verbose
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Order matters:** Core MUST be deployed first (Extensions may have foreign keys to Core tables).
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
# Database Operations
|
|
2
|
-
|
|
3
|
-
## Common Validation Checks
|
|
4
|
-
|
|
5
|
-
### Check Required Variables
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# Validate required variables from step-00-init
|
|
9
|
-
for VAR_NAME in DBCONTEXT DBCONTEXT_TYPE INFRA_PROJECT STARTUP_PROJECT SELECTED_ENV; do
|
|
10
|
-
eval VAR_VALUE=\$$VAR_NAME
|
|
11
|
-
if [ -z "$VAR_VALUE" ]; then
|
|
12
|
-
echo "ERROR: Required variable $VAR_NAME is not set"
|
|
13
|
-
echo "Run step-00-init first"
|
|
14
|
-
exit 1
|
|
15
|
-
fi
|
|
16
|
-
done
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Backup Command
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
BACKUP_DIR=".claude/gitflow/backup/database"
|
|
23
|
-
mkdir -p "$BACKUP_DIR"
|
|
24
|
-
|
|
25
|
-
BACKUP_FILE="$BACKUP_DIR/${DATABASE_NAME}_$(date +%Y%m%d_%H%M%S).bak"
|
|
26
|
-
|
|
27
|
-
echo "Creating backup: $BACKUP_FILE"
|
|
28
|
-
|
|
29
|
-
sqlcmd -S "$SERVER_NAME" -E -Q "BACKUP DATABASE [$DATABASE_NAME] TO DISK='$BACKUP_FILE'"
|
|
30
|
-
|
|
31
|
-
if [ $? -eq 0 ]; then
|
|
32
|
-
echo "Backup created: $BACKUP_FILE"
|
|
33
|
-
else
|
|
34
|
-
echo "WARNING: Backup failed. Continue anyway?"
|
|
35
|
-
fi
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Connection Test
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
CONNECTION_TEST=$(dotnet ef database list \
|
|
42
|
-
--context "$DBCONTEXT" \
|
|
43
|
-
--project "$INFRA_PROJECT" \
|
|
44
|
-
--startup-project "$STARTUP_PROJECT" 2>&1)
|
|
45
|
-
|
|
46
|
-
if [ $? -eq 0 ]; then
|
|
47
|
-
echo "Connection: OK"
|
|
48
|
-
else
|
|
49
|
-
echo "Connection: FAILED"
|
|
50
|
-
echo ""
|
|
51
|
-
echo "$CONNECTION_TEST"
|
|
52
|
-
fi
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Migration Count Utilities
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
# Count applied and pending
|
|
59
|
-
MIGRATION_OUTPUT=$(dotnet ef migrations list \
|
|
60
|
-
--context "$DBCONTEXT" \
|
|
61
|
-
--project "$INFRA_PROJECT" \
|
|
62
|
-
--startup-project "$STARTUP_PROJECT" 2>/dev/null)
|
|
63
|
-
|
|
64
|
-
APPLIED=$(echo "$MIGRATION_OUTPUT" | grep -v "(Pending)" | grep -c "^[0-9]" || echo "0")
|
|
65
|
-
PENDING=$(echo "$MIGRATION_OUTPUT" | grep -c "(Pending)" || echo "0")
|
|
66
|
-
TOTAL=$((APPLIED + PENDING))
|
|
67
|
-
```
|
|
1
|
+
# Database Operations
|
|
2
|
+
|
|
3
|
+
## Common Validation Checks
|
|
4
|
+
|
|
5
|
+
### Check Required Variables
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Validate required variables from step-00-init
|
|
9
|
+
for VAR_NAME in DBCONTEXT DBCONTEXT_TYPE INFRA_PROJECT STARTUP_PROJECT SELECTED_ENV; do
|
|
10
|
+
eval VAR_VALUE=\$$VAR_NAME
|
|
11
|
+
if [ -z "$VAR_VALUE" ]; then
|
|
12
|
+
echo "ERROR: Required variable $VAR_NAME is not set"
|
|
13
|
+
echo "Run step-00-init first"
|
|
14
|
+
exit 1
|
|
15
|
+
fi
|
|
16
|
+
done
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Backup Command
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
BACKUP_DIR=".claude/gitflow/backup/database"
|
|
23
|
+
mkdir -p "$BACKUP_DIR"
|
|
24
|
+
|
|
25
|
+
BACKUP_FILE="$BACKUP_DIR/${DATABASE_NAME}_$(date +%Y%m%d_%H%M%S).bak"
|
|
26
|
+
|
|
27
|
+
echo "Creating backup: $BACKUP_FILE"
|
|
28
|
+
|
|
29
|
+
sqlcmd -S "$SERVER_NAME" -E -Q "BACKUP DATABASE [$DATABASE_NAME] TO DISK='$BACKUP_FILE'"
|
|
30
|
+
|
|
31
|
+
if [ $? -eq 0 ]; then
|
|
32
|
+
echo "Backup created: $BACKUP_FILE"
|
|
33
|
+
else
|
|
34
|
+
echo "WARNING: Backup failed. Continue anyway?"
|
|
35
|
+
fi
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Connection Test
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
CONNECTION_TEST=$(dotnet ef database list \
|
|
42
|
+
--context "$DBCONTEXT" \
|
|
43
|
+
--project "$INFRA_PROJECT" \
|
|
44
|
+
--startup-project "$STARTUP_PROJECT" 2>&1)
|
|
45
|
+
|
|
46
|
+
if [ $? -eq 0 ]; then
|
|
47
|
+
echo "Connection: OK"
|
|
48
|
+
else
|
|
49
|
+
echo "Connection: FAILED"
|
|
50
|
+
echo ""
|
|
51
|
+
echo "$CONNECTION_TEST"
|
|
52
|
+
fi
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Migration Count Utilities
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# Count applied and pending
|
|
59
|
+
MIGRATION_OUTPUT=$(dotnet ef migrations list \
|
|
60
|
+
--context "$DBCONTEXT" \
|
|
61
|
+
--project "$INFRA_PROJECT" \
|
|
62
|
+
--startup-project "$STARTUP_PROJECT" 2>/dev/null)
|
|
63
|
+
|
|
64
|
+
APPLIED=$(echo "$MIGRATION_OUTPUT" | grep -v "(Pending)" | grep -c "^[0-9]" || echo "0")
|
|
65
|
+
PENDING=$(echo "$MIGRATION_OUTPUT" | grep -c "(Pending)" || echo "0")
|
|
66
|
+
TOTAL=$((APPLIED + PENDING))
|
|
67
|
+
```
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
# Destructive Operations & Zero-Downtime Patterns
|
|
2
|
-
|
|
3
|
-
When a migration contains destructive operations (DropColumn, RenameColumn, AlterColumn, DropTable), consider zero-downtime patterns for production deployments.
|
|
4
|
-
|
|
5
|
-
## Detection
|
|
6
|
-
|
|
7
|
-
Migration Analysis counts:
|
|
8
|
-
- DropColumn
|
|
9
|
-
- RenameColumn
|
|
10
|
-
- AlterColumn
|
|
11
|
-
- DropTable
|
|
12
|
-
|
|
13
|
-
If any count > 0, display warning and reference this document.
|
|
14
|
-
|
|
15
|
-
## Zero-Downtime Patterns
|
|
16
|
-
|
|
17
|
-
For production deployments with destructive operations:
|
|
18
|
-
|
|
19
|
-
1. **Add → Populate → Migrate → Remove** (for column renames)
|
|
20
|
-
- Add new column
|
|
21
|
-
- Populate from old column
|
|
22
|
-
- Deploy migration
|
|
23
|
-
- Remove old column in next deployment window
|
|
24
|
-
|
|
25
|
-
2. **Feature Flags** (for table changes)
|
|
26
|
-
- Add feature flag
|
|
27
|
-
- Deploy new code path
|
|
28
|
-
- Migrate data
|
|
29
|
-
- Remove old code path after stabilization
|
|
30
|
-
|
|
31
|
-
3. **Gradual Rollout**
|
|
32
|
-
- Deploy to staging first
|
|
33
|
-
- Monitor for issues
|
|
34
|
-
- Gradually roll to production clusters
|
|
35
|
-
|
|
36
|
-
## Reference
|
|
37
|
-
|
|
38
|
-
See OWASP and database migration best practices for your platform.
|
|
1
|
+
# Destructive Operations & Zero-Downtime Patterns
|
|
2
|
+
|
|
3
|
+
When a migration contains destructive operations (DropColumn, RenameColumn, AlterColumn, DropTable), consider zero-downtime patterns for production deployments.
|
|
4
|
+
|
|
5
|
+
## Detection
|
|
6
|
+
|
|
7
|
+
Migration Analysis counts:
|
|
8
|
+
- DropColumn
|
|
9
|
+
- RenameColumn
|
|
10
|
+
- AlterColumn
|
|
11
|
+
- DropTable
|
|
12
|
+
|
|
13
|
+
If any count > 0, display warning and reference this document.
|
|
14
|
+
|
|
15
|
+
## Zero-Downtime Patterns
|
|
16
|
+
|
|
17
|
+
For production deployments with destructive operations:
|
|
18
|
+
|
|
19
|
+
1. **Add → Populate → Migrate → Remove** (for column renames)
|
|
20
|
+
- Add new column
|
|
21
|
+
- Populate from old column
|
|
22
|
+
- Deploy migration
|
|
23
|
+
- Remove old column in next deployment window
|
|
24
|
+
|
|
25
|
+
2. **Feature Flags** (for table changes)
|
|
26
|
+
- Add feature flag
|
|
27
|
+
- Deploy new code path
|
|
28
|
+
- Migrate data
|
|
29
|
+
- Remove old code path after stabilization
|
|
30
|
+
|
|
31
|
+
3. **Gradual Rollout**
|
|
32
|
+
- Deploy to staging first
|
|
33
|
+
- Monitor for issues
|
|
34
|
+
- Gradually roll to production clusters
|
|
35
|
+
|
|
36
|
+
## Reference
|
|
37
|
+
|
|
38
|
+
See OWASP and database migration best practices for your platform.
|