@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,189 +1,189 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-03-generate
|
|
3
|
-
description: Generate controller using MCP scaffold_extension with NavRoute
|
|
4
|
-
next_step: steps/step-04-perms.md
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Step 3: Generate Controller
|
|
8
|
-
|
|
9
|
-
## MANDATORY EXECUTION RULES
|
|
10
|
-
|
|
11
|
-
- ALWAYS use MCP `scaffold_extension` tool - NEVER use templates
|
|
12
|
-
- ALWAYS generate Controller + DTOs as a unit
|
|
13
|
-
- ALWAYS include NavRoute attribute for frontend/backend sync
|
|
14
|
-
- YOU ARE AN ORCHESTRATOR calling MCP, not a generator
|
|
15
|
-
- MCP is the SOURCE OF TRUTH for code generation
|
|
16
|
-
|
|
17
|
-
## YOUR TASK
|
|
18
|
-
|
|
19
|
-
Call the SmartStack MCP `scaffold_extension` tool (TWO calls):
|
|
20
|
-
1. Generate DTOs (Response, Create, Update)
|
|
21
|
-
2. Generate API Controller with NavRoute attribute
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## AVAILABLE STATE
|
|
26
|
-
|
|
27
|
-
From previous steps:
|
|
28
|
-
|
|
29
|
-
| Variable | Description |
|
|
30
|
-
|----------|-------------|
|
|
31
|
-
| `{area}` | Controller folder (Admin, Business, Support, User) |
|
|
32
|
-
| `{module}` | kebab-case module identifier |
|
|
33
|
-
| `{entity}` | Entity name (PascalCase) |
|
|
34
|
-
| `{permission_path}` | Complete navigation path (navRoute) |
|
|
35
|
-
| `{controller_type}` | crud, readonly, custom, auth |
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## EXECUTION SEQUENCE
|
|
40
|
-
|
|
41
|
-
### 1. Derive Entity Name
|
|
42
|
-
|
|
43
|
-
Convert `{module}` to PascalCase for entity name:
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
module: "products" → entityName: "Product"
|
|
47
|
-
module: "order-items" → entityName: "OrderItem"
|
|
48
|
-
module: "user-profiles" → entityName: "UserProfile"
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### 2. Determine Table Prefix
|
|
52
|
-
|
|
53
|
-
Based on navigation context extracted from `{permission_path}`:
|
|
54
|
-
|
|
55
|
-
| Application | Table Prefix | Controller Folder |
|
|
56
|
-
|-------------|--------------|-------------------|
|
|
57
|
-
| administration | `auth_` or `cfg_` | `Administration` |
|
|
58
|
-
| support | `support_` | `Support` |
|
|
59
|
-
| {application} | `ref_` or domain-specific | `{ApplicationPascal}` |
|
|
60
|
-
| myspace | `usr_` | `MySpace` |
|
|
61
|
-
|
|
62
|
-
### 3. Call MCP scaffold_extension (TWO CALLS)
|
|
63
|
-
|
|
64
|
-
See `references/mcp-scaffold-workflow.md` for complete MCP workflow, error handling, and post-generation checks.
|
|
65
|
-
|
|
66
|
-
**Call 1: Generate DTOs**
|
|
67
|
-
```javascript
|
|
68
|
-
mcp__smartstack__scaffold_extension({
|
|
69
|
-
type: "dto",
|
|
70
|
-
name: "{entityName}",
|
|
71
|
-
options: {
|
|
72
|
-
navRoute: "{permission_path}",
|
|
73
|
-
schema: "core",
|
|
74
|
-
dryRun: false
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
**Call 2: Generate Controller**
|
|
80
|
-
```javascript
|
|
81
|
-
mcp__smartstack__scaffold_extension({
|
|
82
|
-
type: "controller",
|
|
83
|
-
name: "{entityName}",
|
|
84
|
-
options: {
|
|
85
|
-
navRoute: "{permission_path}", // MANDATORY for NavRoute attribute
|
|
86
|
-
navRouteSuffix: null,
|
|
87
|
-
dryRun: false
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### 4. Parse MCP Responses
|
|
93
|
-
|
|
94
|
-
**From first call (DTOs):**
|
|
95
|
-
- `Application/{Application}/{Module}/DTOs/{entityName}ResponseDto.cs`
|
|
96
|
-
- `Application/{Application}/{Module}/DTOs/Create{entityName}Dto.cs`
|
|
97
|
-
- `Application/{Application}/{Module}/DTOs/Update{entityName}Dto.cs`
|
|
98
|
-
|
|
99
|
-
**From second call (Controller):**
|
|
100
|
-
- `Api/Controllers/{area}/{entityName}Controller.cs` with **[NavRoute]** attribute
|
|
101
|
-
|
|
102
|
-
### 5. Present Output to User
|
|
103
|
-
|
|
104
|
-
```markdown
|
|
105
|
-
## Controller Generated via MCP
|
|
106
|
-
|
|
107
|
-
### API Layer
|
|
108
|
-
- `Controllers/{area}/{entityName}Controller.cs`
|
|
109
|
-
- **NavRoute: `{permission_path}`** ✅
|
|
110
|
-
- Endpoints: GET /api/{module}, POST, PUT, DELETE
|
|
111
|
-
|
|
112
|
-
### Application Layer (DTOs)
|
|
113
|
-
- `{entityName}ResponseDto.cs`
|
|
114
|
-
- `Create{entityName}Dto.cs`
|
|
115
|
-
- `Update{entityName}Dto.cs`
|
|
116
|
-
|
|
117
|
-
### ✅ NavRoute Integration
|
|
118
|
-
- [NavRoute("{permission_path}")] attribute present
|
|
119
|
-
- Frontend/backend sync enabled
|
|
120
|
-
- Permission-based navigation ready
|
|
121
|
-
|
|
122
|
-
Next: step-04-perms.md
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## MCP RESPONSE HANDLING
|
|
128
|
-
|
|
129
|
-
### Success Case
|
|
130
|
-
|
|
131
|
-
**After Call 1 (DTOs):**
|
|
132
|
-
- Display all generated DTO files
|
|
133
|
-
- Verify DTOs match entity properties
|
|
134
|
-
- Continue to Call 2
|
|
135
|
-
|
|
136
|
-
**After Call 2 (Controller):**
|
|
137
|
-
- Display controller file with NavRoute
|
|
138
|
-
- Show frontend/backend sync enabled
|
|
139
|
-
- Proceed to step-04-perms.md
|
|
140
|
-
|
|
141
|
-
### Error Case
|
|
142
|
-
|
|
143
|
-
**If Call 1 (DTOs) fails:**
|
|
144
|
-
- Display error message
|
|
145
|
-
- Suggest checking entity name format (must be PascalCase)
|
|
146
|
-
- Verify entity properties are defined
|
|
147
|
-
- Do NOT proceed to Call 2
|
|
148
|
-
|
|
149
|
-
**If Call 2 (Controller) fails:**
|
|
150
|
-
- Display error message
|
|
151
|
-
- Note that DTOs were generated successfully
|
|
152
|
-
- Suggest checking navRoute format
|
|
153
|
-
- Do NOT proceed to step-04-perms.md
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## NAVROUTE VALIDATION
|
|
158
|
-
|
|
159
|
-
Verify NavRoute is present (from `references/mcp-scaffold-workflow.md`):
|
|
160
|
-
|
|
161
|
-
```javascript
|
|
162
|
-
if (!controllerContent.includes('[NavRoute(')) {
|
|
163
|
-
console.error(`NavRoute attribute NOT FOUND`);
|
|
164
|
-
console.error(`Expected: [NavRoute("${permission_path}")]`);
|
|
165
|
-
STOP;
|
|
166
|
-
}
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
Without NavRoute:
|
|
170
|
-
- ❌ Frontend routes hardcoded
|
|
171
|
-
- ❌ No automatic permission sync
|
|
172
|
-
- ❌ Manual navigation required
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## SUCCESS METRICS
|
|
177
|
-
|
|
178
|
-
- MCP scaffold_extension called twice (DTOs, then Controller)
|
|
179
|
-
- DTOs generated (ResponseDto, CreateDto, UpdateDto)
|
|
180
|
-
- Controller generated with **[NavRoute]** attribute
|
|
181
|
-
- NavRoute matches permission_path
|
|
182
|
-
- Controller references DTOs correctly
|
|
183
|
-
- Proceeded to step-04-perms.md
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## NEXT STEP:
|
|
188
|
-
|
|
189
|
-
After controller generation complete, proceed to `./step-04-perms.md`
|
|
1
|
+
---
|
|
2
|
+
name: step-03-generate
|
|
3
|
+
description: Generate controller using MCP scaffold_extension with NavRoute
|
|
4
|
+
next_step: steps/step-04-perms.md
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 3: Generate Controller
|
|
8
|
+
|
|
9
|
+
## MANDATORY EXECUTION RULES
|
|
10
|
+
|
|
11
|
+
- ALWAYS use MCP `scaffold_extension` tool - NEVER use templates
|
|
12
|
+
- ALWAYS generate Controller + DTOs as a unit
|
|
13
|
+
- ALWAYS include NavRoute attribute for frontend/backend sync
|
|
14
|
+
- YOU ARE AN ORCHESTRATOR calling MCP, not a generator
|
|
15
|
+
- MCP is the SOURCE OF TRUTH for code generation
|
|
16
|
+
|
|
17
|
+
## YOUR TASK
|
|
18
|
+
|
|
19
|
+
Call the SmartStack MCP `scaffold_extension` tool (TWO calls):
|
|
20
|
+
1. Generate DTOs (Response, Create, Update)
|
|
21
|
+
2. Generate API Controller with NavRoute attribute
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## AVAILABLE STATE
|
|
26
|
+
|
|
27
|
+
From previous steps:
|
|
28
|
+
|
|
29
|
+
| Variable | Description |
|
|
30
|
+
|----------|-------------|
|
|
31
|
+
| `{area}` | Controller folder (Admin, Business, Support, User) |
|
|
32
|
+
| `{module}` | kebab-case module identifier |
|
|
33
|
+
| `{entity}` | Entity name (PascalCase) |
|
|
34
|
+
| `{permission_path}` | Complete navigation path (navRoute) |
|
|
35
|
+
| `{controller_type}` | crud, readonly, custom, auth |
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## EXECUTION SEQUENCE
|
|
40
|
+
|
|
41
|
+
### 1. Derive Entity Name
|
|
42
|
+
|
|
43
|
+
Convert `{module}` to PascalCase for entity name:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
module: "products" → entityName: "Product"
|
|
47
|
+
module: "order-items" → entityName: "OrderItem"
|
|
48
|
+
module: "user-profiles" → entityName: "UserProfile"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. Determine Table Prefix
|
|
52
|
+
|
|
53
|
+
Based on navigation context extracted from `{permission_path}`:
|
|
54
|
+
|
|
55
|
+
| Application | Table Prefix | Controller Folder |
|
|
56
|
+
|-------------|--------------|-------------------|
|
|
57
|
+
| administration | `auth_` or `cfg_` | `Administration` |
|
|
58
|
+
| support | `support_` | `Support` |
|
|
59
|
+
| {application} | `ref_` or domain-specific | `{ApplicationPascal}` |
|
|
60
|
+
| myspace | `usr_` | `MySpace` |
|
|
61
|
+
|
|
62
|
+
### 3. Call MCP scaffold_extension (TWO CALLS)
|
|
63
|
+
|
|
64
|
+
See `references/mcp-scaffold-workflow.md` for complete MCP workflow, error handling, and post-generation checks.
|
|
65
|
+
|
|
66
|
+
**Call 1: Generate DTOs**
|
|
67
|
+
```javascript
|
|
68
|
+
mcp__smartstack__scaffold_extension({
|
|
69
|
+
type: "dto",
|
|
70
|
+
name: "{entityName}",
|
|
71
|
+
options: {
|
|
72
|
+
navRoute: "{permission_path}",
|
|
73
|
+
schema: "core",
|
|
74
|
+
dryRun: false
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**Call 2: Generate Controller**
|
|
80
|
+
```javascript
|
|
81
|
+
mcp__smartstack__scaffold_extension({
|
|
82
|
+
type: "controller",
|
|
83
|
+
name: "{entityName}",
|
|
84
|
+
options: {
|
|
85
|
+
navRoute: "{permission_path}", // MANDATORY for NavRoute attribute
|
|
86
|
+
navRouteSuffix: null,
|
|
87
|
+
dryRun: false
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 4. Parse MCP Responses
|
|
93
|
+
|
|
94
|
+
**From first call (DTOs):**
|
|
95
|
+
- `Application/{Application}/{Module}/DTOs/{entityName}ResponseDto.cs`
|
|
96
|
+
- `Application/{Application}/{Module}/DTOs/Create{entityName}Dto.cs`
|
|
97
|
+
- `Application/{Application}/{Module}/DTOs/Update{entityName}Dto.cs`
|
|
98
|
+
|
|
99
|
+
**From second call (Controller):**
|
|
100
|
+
- `Api/Controllers/{area}/{entityName}Controller.cs` with **[NavRoute]** attribute
|
|
101
|
+
|
|
102
|
+
### 5. Present Output to User
|
|
103
|
+
|
|
104
|
+
```markdown
|
|
105
|
+
## Controller Generated via MCP
|
|
106
|
+
|
|
107
|
+
### API Layer
|
|
108
|
+
- `Controllers/{area}/{entityName}Controller.cs`
|
|
109
|
+
- **NavRoute: `{permission_path}`** ✅
|
|
110
|
+
- Endpoints: GET /api/{module}, POST, PUT, DELETE
|
|
111
|
+
|
|
112
|
+
### Application Layer (DTOs)
|
|
113
|
+
- `{entityName}ResponseDto.cs`
|
|
114
|
+
- `Create{entityName}Dto.cs`
|
|
115
|
+
- `Update{entityName}Dto.cs`
|
|
116
|
+
|
|
117
|
+
### ✅ NavRoute Integration
|
|
118
|
+
- [NavRoute("{permission_path}")] attribute present
|
|
119
|
+
- Frontend/backend sync enabled
|
|
120
|
+
- Permission-based navigation ready
|
|
121
|
+
|
|
122
|
+
Next: step-04-perms.md
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## MCP RESPONSE HANDLING
|
|
128
|
+
|
|
129
|
+
### Success Case
|
|
130
|
+
|
|
131
|
+
**After Call 1 (DTOs):**
|
|
132
|
+
- Display all generated DTO files
|
|
133
|
+
- Verify DTOs match entity properties
|
|
134
|
+
- Continue to Call 2
|
|
135
|
+
|
|
136
|
+
**After Call 2 (Controller):**
|
|
137
|
+
- Display controller file with NavRoute
|
|
138
|
+
- Show frontend/backend sync enabled
|
|
139
|
+
- Proceed to step-04-perms.md
|
|
140
|
+
|
|
141
|
+
### Error Case
|
|
142
|
+
|
|
143
|
+
**If Call 1 (DTOs) fails:**
|
|
144
|
+
- Display error message
|
|
145
|
+
- Suggest checking entity name format (must be PascalCase)
|
|
146
|
+
- Verify entity properties are defined
|
|
147
|
+
- Do NOT proceed to Call 2
|
|
148
|
+
|
|
149
|
+
**If Call 2 (Controller) fails:**
|
|
150
|
+
- Display error message
|
|
151
|
+
- Note that DTOs were generated successfully
|
|
152
|
+
- Suggest checking navRoute format
|
|
153
|
+
- Do NOT proceed to step-04-perms.md
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## NAVROUTE VALIDATION
|
|
158
|
+
|
|
159
|
+
Verify NavRoute is present (from `references/mcp-scaffold-workflow.md`):
|
|
160
|
+
|
|
161
|
+
```javascript
|
|
162
|
+
if (!controllerContent.includes('[NavRoute(')) {
|
|
163
|
+
console.error(`NavRoute attribute NOT FOUND`);
|
|
164
|
+
console.error(`Expected: [NavRoute("${permission_path}")]`);
|
|
165
|
+
STOP;
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Without NavRoute:
|
|
170
|
+
- ❌ Frontend routes hardcoded
|
|
171
|
+
- ❌ No automatic permission sync
|
|
172
|
+
- ❌ Manual navigation required
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## SUCCESS METRICS
|
|
177
|
+
|
|
178
|
+
- MCP scaffold_extension called twice (DTOs, then Controller)
|
|
179
|
+
- DTOs generated (ResponseDto, CreateDto, UpdateDto)
|
|
180
|
+
- Controller generated with **[NavRoute]** attribute
|
|
181
|
+
- NavRoute matches permission_path
|
|
182
|
+
- Controller references DTOs correctly
|
|
183
|
+
- Proceeded to step-04-perms.md
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## NEXT STEP:
|
|
188
|
+
|
|
189
|
+
After controller generation complete, proceed to `./step-04-perms.md`
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: step-04-perms
|
|
3
|
-
description: Synchronize permissions in Permissions.cs and PermissionConfiguration.cs
|
|
4
|
-
next_step: steps/step-05-validate.md
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Step 4: Synchronize Permissions
|
|
8
|
-
|
|
9
|
-
## YOUR TASK:
|
|
10
|
-
|
|
11
|
-
Add permissions to both Permissions.cs (constants) and PermissionConfiguration.cs (database seeds).
|
|
12
|
-
|
|
13
|
-
**CRITICAL: Both files MUST be in sync. Missing permissions = runtime 403 errors.**
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## EXECUTION SEQUENCE:
|
|
18
|
-
|
|
19
|
-
### 1. Update Permissions.cs & PermissionConfiguration.cs
|
|
20
|
-
|
|
21
|
-
See [references/permission-sync-templates.md](../references/permission-sync-templates.md) for the C# templates:
|
|
22
|
-
- **Permissions.cs**: Nested class with 4 constants (View, Create, Update, Delete) + path-to-class mapping
|
|
23
|
-
- **PermissionConfiguration.cs**: 4 HasData Permission entries with deterministic GUIDs
|
|
24
|
-
|
|
25
|
-
### 3. Generate Migration (Required)
|
|
26
|
-
|
|
27
|
-
**After updating PermissionConfiguration:**
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
IMPORTANT: New HasData entries require a migration!
|
|
31
|
-
|
|
32
|
-
Suggest command:
|
|
33
|
-
/efcore
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
**If auto_mode:**
|
|
37
|
-
- Inform user that migration is needed
|
|
38
|
-
- Do NOT auto-run migration (user decision)
|
|
39
|
-
|
|
40
|
-
### 4. Validation Check
|
|
41
|
-
|
|
42
|
-
**Verify sync between files:**
|
|
43
|
-
|
|
44
|
-
| Permission Code | In Permissions.cs | In PermissionConfiguration.cs |
|
|
45
|
-
|-----------------|-------------------|------------------------------|
|
|
46
|
-
| `{permission_path}.read` | ✅ | ✅ |
|
|
47
|
-
| `{permission_path}.create` | ✅ | ✅ |
|
|
48
|
-
| `{permission_path}.update` | ✅ | ✅ |
|
|
49
|
-
| `{permission_path}.delete` | ✅ | ✅ |
|
|
50
|
-
|
|
51
|
-
### 5. Generate Postman Tests (if postman_mode)
|
|
52
|
-
|
|
53
|
-
**If {postman_mode} = true:**
|
|
54
|
-
|
|
55
|
-
See [references/permission-sync-templates.md](../references/permission-sync-templates.md) § "Postman API Test Template" for the JSON test collection template (200 OK + 403 Forbidden tests).
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## OUTPUT FORMAT:
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
Permissions Synchronized:
|
|
63
|
-
|
|
64
|
-
| File | Changes |
|
|
65
|
-
|------|---------|
|
|
66
|
-
| Permissions.cs | Added {module} class with 4 constants |
|
|
67
|
-
| PermissionConfiguration.cs | Added 4 permission seeds |
|
|
68
|
-
| Postman Collection | Added {test_count} tests |
|
|
69
|
-
|
|
70
|
-
⚠️ MIGRATION REQUIRED:
|
|
71
|
-
Run: /efcore
|
|
72
|
-
|
|
73
|
-
-> Validating build...
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## NEXT STEP:
|
|
79
|
-
|
|
80
|
-
After permissions synced, proceed to `./step-05-validate.md`
|
|
1
|
+
---
|
|
2
|
+
name: step-04-perms
|
|
3
|
+
description: Synchronize permissions in Permissions.cs and PermissionConfiguration.cs
|
|
4
|
+
next_step: steps/step-05-validate.md
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 4: Synchronize Permissions
|
|
8
|
+
|
|
9
|
+
## YOUR TASK:
|
|
10
|
+
|
|
11
|
+
Add permissions to both Permissions.cs (constants) and PermissionConfiguration.cs (database seeds).
|
|
12
|
+
|
|
13
|
+
**CRITICAL: Both files MUST be in sync. Missing permissions = runtime 403 errors.**
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## EXECUTION SEQUENCE:
|
|
18
|
+
|
|
19
|
+
### 1. Update Permissions.cs & PermissionConfiguration.cs
|
|
20
|
+
|
|
21
|
+
See [references/permission-sync-templates.md](../references/permission-sync-templates.md) for the C# templates:
|
|
22
|
+
- **Permissions.cs**: Nested class with 4 constants (View, Create, Update, Delete) + path-to-class mapping
|
|
23
|
+
- **PermissionConfiguration.cs**: 4 HasData Permission entries with deterministic GUIDs
|
|
24
|
+
|
|
25
|
+
### 3. Generate Migration (Required)
|
|
26
|
+
|
|
27
|
+
**After updating PermissionConfiguration:**
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
IMPORTANT: New HasData entries require a migration!
|
|
31
|
+
|
|
32
|
+
Suggest command:
|
|
33
|
+
/efcore migration Add{module}Permissions
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**If auto_mode:**
|
|
37
|
+
- Inform user that migration is needed
|
|
38
|
+
- Do NOT auto-run migration (user decision)
|
|
39
|
+
|
|
40
|
+
### 4. Validation Check
|
|
41
|
+
|
|
42
|
+
**Verify sync between files:**
|
|
43
|
+
|
|
44
|
+
| Permission Code | In Permissions.cs | In PermissionConfiguration.cs |
|
|
45
|
+
|-----------------|-------------------|------------------------------|
|
|
46
|
+
| `{permission_path}.read` | ✅ | ✅ |
|
|
47
|
+
| `{permission_path}.create` | ✅ | ✅ |
|
|
48
|
+
| `{permission_path}.update` | ✅ | ✅ |
|
|
49
|
+
| `{permission_path}.delete` | ✅ | ✅ |
|
|
50
|
+
|
|
51
|
+
### 5. Generate Postman Tests (if postman_mode)
|
|
52
|
+
|
|
53
|
+
**If {postman_mode} = true:**
|
|
54
|
+
|
|
55
|
+
See [references/permission-sync-templates.md](../references/permission-sync-templates.md) § "Postman API Test Template" for the JSON test collection template (200 OK + 403 Forbidden tests).
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## OUTPUT FORMAT:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Permissions Synchronized:
|
|
63
|
+
|
|
64
|
+
| File | Changes |
|
|
65
|
+
|------|---------|
|
|
66
|
+
| Permissions.cs | Added {module} class with 4 constants |
|
|
67
|
+
| PermissionConfiguration.cs | Added 4 permission seeds |
|
|
68
|
+
| Postman Collection | Added {test_count} tests |
|
|
69
|
+
|
|
70
|
+
⚠️ MIGRATION REQUIRED:
|
|
71
|
+
Run: /efcore migration Add{module}Permissions
|
|
72
|
+
|
|
73
|
+
-> Validating build...
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## NEXT STEP:
|
|
79
|
+
|
|
80
|
+
After permissions synced, proceed to `./step-05-validate.md`
|