@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,111 +1,111 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: feature-full
|
|
3
|
-
description: |
|
|
4
|
-
Creates a complete SmartStack feature with all integrations.
|
|
5
|
-
Use this skill when:
|
|
6
|
-
- User wants to create a complete feature from A to Z
|
|
7
|
-
- User mentions "oneshot", "complete feature", "full-stack"
|
|
8
|
-
- Creating a module with notifications, workflows and/or AI
|
|
9
|
-
- Need for complete user experience
|
|
10
|
-
Scope: Domain -> Application -> Infrastructure -> API -> Web + Notifications + Workflows + AI
|
|
11
|
-
disable-model-invocation: true
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# Skill Feature Full SmartStack
|
|
15
|
-
|
|
16
|
-
> **OneShot Development:** Orchestrates all skills for a complete feature.
|
|
17
|
-
|
|
18
|
-
**Reference:** [_shared.md](../_shared.md) for architecture, permissions, i18n
|
|
19
|
-
|
|
20
|
-
## When This Skill Activates
|
|
21
|
-
|
|
22
|
-
| Trigger | Example |
|
|
23
|
-
|---------|---------|
|
|
24
|
-
| Complete feature | "Create a product management module" |
|
|
25
|
-
| Full-stack | "Create the backend and frontend for..." |
|
|
26
|
-
| Integration | "With notifications and automated emails" |
|
|
27
|
-
|
|
28
|
-
## Complete Flow
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
DOMAIN -> APPLICATION -> INFRASTRUCTURE -> API -> WEB
|
|
32
|
-
+ NOTIFICATIONS + WORKFLOWS + AI
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Phase 1: Analysis
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
- Module/functionality?
|
|
39
|
-
- Entities? CRUD operations? Business rules?
|
|
40
|
-
- Notifications required? Automated emails? AI?
|
|
41
|
-
- Display: Cards/Table/Kanban? Permissions?
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Phases 2-7: Implementation
|
|
45
|
-
|
|
46
|
-
Start with [steps/step-00-init.md](steps/step-00-init.md) to analyze requirements and existing patterns, then proceed to [steps/step-01-implementation.md](steps/step-01-implementation.md) for detailed code templates covering:
|
|
47
|
-
- Phase 2: Domain (Entity + Factory + Behaviors + Enum)
|
|
48
|
-
- Phase 3: Application (Interface + DTOs + Permissions)
|
|
49
|
-
- Phase 4: Infrastructure (EF Config + Service + DI)
|
|
50
|
-
- Phase 5: API (Controller + Authorize + RequirePermission)
|
|
51
|
-
- Phase 6: Frontend (API + Hook + Page + Routes)
|
|
52
|
-
- Phase 7: Integrations (Notifications + Workflows + AI)
|
|
53
|
-
|
|
54
|
-
## Complete Checklist
|
|
55
|
-
|
|
56
|
-
### Backend
|
|
57
|
-
```
|
|
58
|
-
- Domain: Entity + Factory + Behaviors + Enum + IAuditableEntity
|
|
59
|
-
- Application: Interface + DTOs + Permissions (2 files!)
|
|
60
|
-
- Infrastructure: EF Config + Service + DI + DbSet + Migration
|
|
61
|
-
- API: Controller + Authorize + RequirePermission + ProducesResponseType
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Frontend
|
|
65
|
-
```
|
|
66
|
-
- {module}Api.ts + use{Module}.ts (with SignalR) + {Module}Page.tsx + {Module}Form.tsx
|
|
67
|
-
- i18n: fr, en, it, de
|
|
68
|
-
- Nested routes in App.tsx
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
### Integrations
|
|
72
|
-
```
|
|
73
|
-
- Notifications: NotificationType + SendNotificationAsync + useSignalR
|
|
74
|
-
- Workflows: Trigger + Workflow + TriggerAsync
|
|
75
|
-
- AI: Prompt + OutputSchema + ExecutePromptAsync
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### Validation
|
|
79
|
-
```
|
|
80
|
-
- dotnet build + npm run build + npm run lint OK
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Orchestrated Skills
|
|
84
|
-
|
|
85
|
-
| Skill | Phase |
|
|
86
|
-
|-------|-------|
|
|
87
|
-
| `/application` | 2-6 |
|
|
88
|
-
| `/controller` | 5 |
|
|
89
|
-
| `/notification` | 7.1 |
|
|
90
|
-
| `/workflow` | 7.2 |
|
|
91
|
-
| `/ai-prompt` | 7.3 |
|
|
92
|
-
| `/ui-components` | 6 |
|
|
93
|
-
| `/efcore
|
|
94
|
-
|
|
95
|
-
## Absolute Rules
|
|
96
|
-
|
|
97
|
-
| DO | DON'T |
|
|
98
|
-
|----|-------|
|
|
99
|
-
| Layered architecture | Direct frontend DB access |
|
|
100
|
-
| Entity Factory Methods | Hardcoded permission strings |
|
|
101
|
-
| Permissions 2 files | Flat routes |
|
|
102
|
-
| SignalR hooks | Skip i18n 4 languages |
|
|
103
|
-
| ProducesResponseType | Skip logging |
|
|
104
|
-
|
|
105
|
-
<success_criteria>
|
|
106
|
-
- All layers created: Domain, Infrastructure, Application, API, Frontend
|
|
107
|
-
- Navigation, permissions, and roles seed data generated via MCP
|
|
108
|
-
- EF Core migration created and applied
|
|
109
|
-
- Tests pass (unit + integration)
|
|
110
|
-
- i18n translations in 4 languages
|
|
111
|
-
</success_criteria>
|
|
1
|
+
---
|
|
2
|
+
name: feature-full
|
|
3
|
+
description: |
|
|
4
|
+
Creates a complete SmartStack feature with all integrations.
|
|
5
|
+
Use this skill when:
|
|
6
|
+
- User wants to create a complete feature from A to Z
|
|
7
|
+
- User mentions "oneshot", "complete feature", "full-stack"
|
|
8
|
+
- Creating a module with notifications, workflows and/or AI
|
|
9
|
+
- Need for complete user experience
|
|
10
|
+
Scope: Domain -> Application -> Infrastructure -> API -> Web + Notifications + Workflows + AI
|
|
11
|
+
disable-model-invocation: true
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Skill Feature Full SmartStack
|
|
15
|
+
|
|
16
|
+
> **OneShot Development:** Orchestrates all skills for a complete feature.
|
|
17
|
+
|
|
18
|
+
**Reference:** [_shared.md](../_shared.md) for architecture, permissions, i18n
|
|
19
|
+
|
|
20
|
+
## When This Skill Activates
|
|
21
|
+
|
|
22
|
+
| Trigger | Example |
|
|
23
|
+
|---------|---------|
|
|
24
|
+
| Complete feature | "Create a product management module" |
|
|
25
|
+
| Full-stack | "Create the backend and frontend for..." |
|
|
26
|
+
| Integration | "With notifications and automated emails" |
|
|
27
|
+
|
|
28
|
+
## Complete Flow
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
DOMAIN -> APPLICATION -> INFRASTRUCTURE -> API -> WEB
|
|
32
|
+
+ NOTIFICATIONS + WORKFLOWS + AI
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Phase 1: Analysis
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
- Module/functionality?
|
|
39
|
+
- Entities? CRUD operations? Business rules?
|
|
40
|
+
- Notifications required? Automated emails? AI?
|
|
41
|
+
- Display: Cards/Table/Kanban? Permissions?
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Phases 2-7: Implementation
|
|
45
|
+
|
|
46
|
+
Start with [steps/step-00-init.md](steps/step-00-init.md) to analyze requirements and existing patterns, then proceed to [steps/step-01-implementation.md](steps/step-01-implementation.md) for detailed code templates covering:
|
|
47
|
+
- Phase 2: Domain (Entity + Factory + Behaviors + Enum)
|
|
48
|
+
- Phase 3: Application (Interface + DTOs + Permissions)
|
|
49
|
+
- Phase 4: Infrastructure (EF Config + Service + DI)
|
|
50
|
+
- Phase 5: API (Controller + Authorize + RequirePermission)
|
|
51
|
+
- Phase 6: Frontend (API + Hook + Page + Routes)
|
|
52
|
+
- Phase 7: Integrations (Notifications + Workflows + AI)
|
|
53
|
+
|
|
54
|
+
## Complete Checklist
|
|
55
|
+
|
|
56
|
+
### Backend
|
|
57
|
+
```
|
|
58
|
+
- Domain: Entity + Factory + Behaviors + Enum + IAuditableEntity
|
|
59
|
+
- Application: Interface + DTOs + Permissions (2 files!)
|
|
60
|
+
- Infrastructure: EF Config + Service + DI + DbSet + Migration
|
|
61
|
+
- API: Controller + Authorize + RequirePermission + ProducesResponseType
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Frontend
|
|
65
|
+
```
|
|
66
|
+
- {module}Api.ts + use{Module}.ts (with SignalR) + {Module}Page.tsx + {Module}Form.tsx
|
|
67
|
+
- i18n: fr, en, it, de
|
|
68
|
+
- Nested routes in App.tsx
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Integrations
|
|
72
|
+
```
|
|
73
|
+
- Notifications: NotificationType + SendNotificationAsync + useSignalR
|
|
74
|
+
- Workflows: Trigger + Workflow + TriggerAsync
|
|
75
|
+
- AI: Prompt + OutputSchema + ExecutePromptAsync
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Validation
|
|
79
|
+
```
|
|
80
|
+
- dotnet build + npm run build + npm run lint OK
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Orchestrated Skills
|
|
84
|
+
|
|
85
|
+
| Skill | Phase |
|
|
86
|
+
|-------|-------|
|
|
87
|
+
| `/application` | 2-6 |
|
|
88
|
+
| `/controller` | 5 |
|
|
89
|
+
| `/notification` | 7.1 |
|
|
90
|
+
| `/workflow` | 7.2 |
|
|
91
|
+
| `/ai-prompt` | 7.3 |
|
|
92
|
+
| `/ui-components` | 6 |
|
|
93
|
+
| `/efcore migration` | 4 |
|
|
94
|
+
|
|
95
|
+
## Absolute Rules
|
|
96
|
+
|
|
97
|
+
| DO | DON'T |
|
|
98
|
+
|----|-------|
|
|
99
|
+
| Layered architecture | Direct frontend DB access |
|
|
100
|
+
| Entity Factory Methods | Hardcoded permission strings |
|
|
101
|
+
| Permissions 2 files | Flat routes |
|
|
102
|
+
| SignalR hooks | Skip i18n 4 languages |
|
|
103
|
+
| ProducesResponseType | Skip logging |
|
|
104
|
+
|
|
105
|
+
<success_criteria>
|
|
106
|
+
- All layers created: Domain, Infrastructure, Application, API, Frontend
|
|
107
|
+
- Navigation, permissions, and roles seed data generated via MCP
|
|
108
|
+
- EF Core migration created and applied
|
|
109
|
+
- Tests pass (unit + integration)
|
|
110
|
+
- i18n translations in 4 languages
|
|
111
|
+
</success_criteria>
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
# Step 0: Initialization
|
|
2
|
-
|
|
3
|
-
## YOUR TASK
|
|
4
|
-
Gather requirements and analyze existing code patterns before implementing a complete full-stack feature.
|
|
5
|
-
|
|
6
|
-
## EXECUTION SEQUENCE
|
|
7
|
-
|
|
8
|
-
### 1. Identify Feature Scope
|
|
9
|
-
- What is the main entity/aggregate? (e.g., Product, Invoice, Support Ticket)
|
|
10
|
-
- What are the CRUD operations required? (Create, Read, Update, Delete, Archive)
|
|
11
|
-
- What business rules apply? (validations, state transitions, constraints)
|
|
12
|
-
- What user permissions are needed? (who can create/edit/delete/view)
|
|
13
|
-
- What notifications/workflows are required? (emails, webhooks, automation)
|
|
14
|
-
- Does AI play a role? (content generation, analysis, validation)
|
|
15
|
-
|
|
16
|
-
### 2. Analyze Existing Code Patterns
|
|
17
|
-
- Review `Domain/` for similar entity structures, factories, and behaviors
|
|
18
|
-
- Check `Application/` for existing service interfaces and DTOs
|
|
19
|
-
- Examine `Infrastructure/` for EF Core configurations and patterns
|
|
20
|
-
- Look at `API/Controllers/` for authorization and RequirePermission attributes
|
|
21
|
-
- Study `web/` for similar pages, forms, and i18n implementations
|
|
22
|
-
- Identify reusable components and patterns to follow
|
|
23
|
-
|
|
24
|
-
### 3. Define Data Model
|
|
25
|
-
- Entity properties and types
|
|
26
|
-
- Enums for status, types, and classifications
|
|
27
|
-
- Relationships (OneToMany, ManyToMany, etc.)
|
|
28
|
-
- Audit requirements (CreatedAt, CreatedBy, ModifiedAt, ModifiedBy)
|
|
29
|
-
- Soft delete or permanent delete?
|
|
30
|
-
|
|
31
|
-
### 4. Plan Implementation Phases
|
|
32
|
-
- **Phase 2:** Domain entity, factory method, behaviors, enums, IAuditableEntity
|
|
33
|
-
- **Phase 3:** Application service interface, DTOs, permissions (create + assign permissions files)
|
|
34
|
-
- **Phase 4:** Infrastructure (EF Config, concrete service, DI registration, DbSet, migration)
|
|
35
|
-
- **Phase 5:** API controller with Authorize, RequirePermission, ProducesResponseType
|
|
36
|
-
- **Phase 6:** Frontend (API client, custom hook with SignalR, page, form, routing, i18n for 4 languages)
|
|
37
|
-
- **Phase 7:** Integrations (notifications, workflows, AI if applicable)
|
|
38
|
-
|
|
39
|
-
### 5. Validate Against Architecture Rules
|
|
40
|
-
- Confirm layered architecture is followed (no frontend-to-DB shortcuts)
|
|
41
|
-
- Verify entity factory methods are used (no direct constructors in services)
|
|
42
|
-
- Check permissions split across 2 files (Create/List/Read/Update/Delete vs Assign)
|
|
43
|
-
- Plan SignalR hooks for real-time updates
|
|
44
|
-
- Define ProducesResponseType for all endpoints
|
|
45
|
-
- Plan i18n for English, French, Italian, German
|
|
46
|
-
|
|
47
|
-
## SUCCESS METRICS
|
|
48
|
-
- Feature scope clearly defined and bounded
|
|
49
|
-
- All required CRUD operations identified
|
|
50
|
-
- Business rules documented
|
|
51
|
-
- Permissions mapped to roles
|
|
52
|
-
- Implementation plan with all 7 phases outlined
|
|
53
|
-
- Existing code patterns understood and will be followed
|
|
54
|
-
- Data model defined with relationships and audit requirements
|
|
55
|
-
|
|
56
|
-
## NEXT STEP
|
|
57
|
-
Proceed to `./step-01-implementation.md` to execute all phases (Domain, Application, Infrastructure, API, Frontend, Integrations) with code templates and orchestration of child skills.
|
|
1
|
+
# Step 0: Initialization
|
|
2
|
+
|
|
3
|
+
## YOUR TASK
|
|
4
|
+
Gather requirements and analyze existing code patterns before implementing a complete full-stack feature.
|
|
5
|
+
|
|
6
|
+
## EXECUTION SEQUENCE
|
|
7
|
+
|
|
8
|
+
### 1. Identify Feature Scope
|
|
9
|
+
- What is the main entity/aggregate? (e.g., Product, Invoice, Support Ticket)
|
|
10
|
+
- What are the CRUD operations required? (Create, Read, Update, Delete, Archive)
|
|
11
|
+
- What business rules apply? (validations, state transitions, constraints)
|
|
12
|
+
- What user permissions are needed? (who can create/edit/delete/view)
|
|
13
|
+
- What notifications/workflows are required? (emails, webhooks, automation)
|
|
14
|
+
- Does AI play a role? (content generation, analysis, validation)
|
|
15
|
+
|
|
16
|
+
### 2. Analyze Existing Code Patterns
|
|
17
|
+
- Review `Domain/` for similar entity structures, factories, and behaviors
|
|
18
|
+
- Check `Application/` for existing service interfaces and DTOs
|
|
19
|
+
- Examine `Infrastructure/` for EF Core configurations and patterns
|
|
20
|
+
- Look at `API/Controllers/` for authorization and RequirePermission attributes
|
|
21
|
+
- Study `web/` for similar pages, forms, and i18n implementations
|
|
22
|
+
- Identify reusable components and patterns to follow
|
|
23
|
+
|
|
24
|
+
### 3. Define Data Model
|
|
25
|
+
- Entity properties and types
|
|
26
|
+
- Enums for status, types, and classifications
|
|
27
|
+
- Relationships (OneToMany, ManyToMany, etc.)
|
|
28
|
+
- Audit requirements (CreatedAt, CreatedBy, ModifiedAt, ModifiedBy)
|
|
29
|
+
- Soft delete or permanent delete?
|
|
30
|
+
|
|
31
|
+
### 4. Plan Implementation Phases
|
|
32
|
+
- **Phase 2:** Domain entity, factory method, behaviors, enums, IAuditableEntity
|
|
33
|
+
- **Phase 3:** Application service interface, DTOs, permissions (create + assign permissions files)
|
|
34
|
+
- **Phase 4:** Infrastructure (EF Config, concrete service, DI registration, DbSet, migration)
|
|
35
|
+
- **Phase 5:** API controller with Authorize, RequirePermission, ProducesResponseType
|
|
36
|
+
- **Phase 6:** Frontend (API client, custom hook with SignalR, page, form, routing, i18n for 4 languages)
|
|
37
|
+
- **Phase 7:** Integrations (notifications, workflows, AI if applicable)
|
|
38
|
+
|
|
39
|
+
### 5. Validate Against Architecture Rules
|
|
40
|
+
- Confirm layered architecture is followed (no frontend-to-DB shortcuts)
|
|
41
|
+
- Verify entity factory methods are used (no direct constructors in services)
|
|
42
|
+
- Check permissions split across 2 files (Create/List/Read/Update/Delete vs Assign)
|
|
43
|
+
- Plan SignalR hooks for real-time updates
|
|
44
|
+
- Define ProducesResponseType for all endpoints
|
|
45
|
+
- Plan i18n for English, French, Italian, German
|
|
46
|
+
|
|
47
|
+
## SUCCESS METRICS
|
|
48
|
+
- Feature scope clearly defined and bounded
|
|
49
|
+
- All required CRUD operations identified
|
|
50
|
+
- Business rules documented
|
|
51
|
+
- Permissions mapped to roles
|
|
52
|
+
- Implementation plan with all 7 phases outlined
|
|
53
|
+
- Existing code patterns understood and will be followed
|
|
54
|
+
- Data model defined with relationships and audit requirements
|
|
55
|
+
|
|
56
|
+
## NEXT STEP
|
|
57
|
+
Proceed to `./step-01-implementation.md` to execute all phases (Domain, Application, Infrastructure, API, Frontend, Integrations) with code templates and orchestration of child skills.
|
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
# Feature Full - Implementation Phases
|
|
2
|
-
|
|
3
|
-
## Phase 2: Domain
|
|
4
|
-
|
|
5
|
-
```csharp
|
|
6
|
-
// {Entity}.cs - Factory Method + Behaviors
|
|
7
|
-
public class {Entity} : BaseEntity, IAuditableEntity
|
|
8
|
-
{
|
|
9
|
-
public string Name { get; private set; }
|
|
10
|
-
public {Entity}Status Status { get; private set; }
|
|
11
|
-
private {Entity}() { }
|
|
12
|
-
public static {Entity} Create(string name, Guid createdById) =>
|
|
13
|
-
new { Id = Guid.NewGuid(), Name = name, Status = {Entity}Status.Active, ... };
|
|
14
|
-
public void Update(string name) => Name = name ?? throw new DomainException("Name required");
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// {Entity}Status.cs
|
|
18
|
-
public enum {Entity}Status { Active = 0, Inactive = 1, Archived = 2 }
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Phase 3: Application
|
|
22
|
-
|
|
23
|
-
```csharp
|
|
24
|
-
// I{Entity}Service.cs
|
|
25
|
-
Task<PaginatedResult<{Entity}Dto>> GetAllAsync(...);
|
|
26
|
-
Task<{Entity}Dto> CreateAsync(Create{Entity}Request request, CancellationToken ct);
|
|
27
|
-
|
|
28
|
-
// DTOs
|
|
29
|
-
public record {Entity}Dto(Guid Id, string Name, string Status, DateTime CreatedAt);
|
|
30
|
-
public record Create{Entity}Request(string Name, string? Description);
|
|
31
|
-
|
|
32
|
-
// Permissions.cs + PermissionConfiguration.cs (2 files!)
|
|
33
|
-
public const string View = "{area}.{module}.read";
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Phase 4: Infrastructure
|
|
37
|
-
|
|
38
|
-
```csharp
|
|
39
|
-
// {Entity}Configuration.cs
|
|
40
|
-
builder.ToTable("{Entity}s", "{schema}");
|
|
41
|
-
builder.Property(x => x.Name).HasMaxLength(200).IsRequired();
|
|
42
|
-
|
|
43
|
-
// {Entity}Service.cs with Notifications
|
|
44
|
-
public async Task<{Entity}Dto> CreateAsync(...) {
|
|
45
|
-
var entity = {Entity}.Create(request.Name, _currentUser.Id);
|
|
46
|
-
_context.{Entity}s.Add(entity);
|
|
47
|
-
await _context.SaveChangesAsync(ct);
|
|
48
|
-
await _notificationService.SendNotificationAsync(_currentUser.Id,
|
|
49
|
-
NotificationType.{Entity}Created, "Created", $"{entity.Name} created",
|
|
50
|
-
relatedEntityType: nameof({Entity}), relatedEntityId: entity.Id, ct);
|
|
51
|
-
return MapToDto(entity);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// DependencyInjection.cs
|
|
55
|
-
services.AddScoped<I{Entity}Service, {Entity}Service>();
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
## Phase 5: API
|
|
59
|
-
|
|
60
|
-
```csharp
|
|
61
|
-
[ApiController][Route("api/{area}/{module}")][Authorize]
|
|
62
|
-
public class {Entity}Controller : ControllerBase
|
|
63
|
-
{
|
|
64
|
-
[HttpGet][RequirePermission(Permissions.{Area}.{Module}.View)]
|
|
65
|
-
[ProducesResponseType(typeof(PaginatedResult<{Entity}Dto>), 200)]
|
|
66
|
-
public async Task<ActionResult<PaginatedResult<{Entity}Dto>>> GetAll(...);
|
|
67
|
-
|
|
68
|
-
[HttpPost][RequirePermission(Permissions.{Area}.{Module}.Create)]
|
|
69
|
-
[ProducesResponseType(typeof({Entity}Dto), 201)]
|
|
70
|
-
public async Task<ActionResult<{Entity}Dto>> Create([FromBody] request, CancellationToken ct);
|
|
71
|
-
}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Phase 6: Frontend
|
|
75
|
-
|
|
76
|
-
```typescript
|
|
77
|
-
// {module}Api.ts
|
|
78
|
-
export const {module}Api = {
|
|
79
|
-
getAll: (page, pageSize, search?) => apiClient.get<PaginatedResult<{Entity}Dto>>('/{area}/{module}', { params }),
|
|
80
|
-
create: (data) => apiClient.post<{Entity}Dto>('/{area}/{module}', data),
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
// use{Module}.ts with SignalR
|
|
84
|
-
export function use{Module}() {
|
|
85
|
-
const queryClient = useQueryClient();
|
|
86
|
-
useSignalR({ onNotification: (n) => {
|
|
87
|
-
if (n.relatedEntityType === '{Entity}') queryClient.invalidateQueries(['{module}']);
|
|
88
|
-
}});
|
|
89
|
-
const createMutation = useMutation({ mutationFn: {module}Api.create, onSuccess: () => ... });
|
|
90
|
-
return { create: createMutation.mutate, ... };
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// {Module}Page.tsx with EntityCard
|
|
94
|
-
<EntityCard title={item.name} actions={[{ label: 'View', onClick: () => navigate(...) }]} />
|
|
95
|
-
|
|
96
|
-
// Routes (nested mandatory)
|
|
97
|
-
<Route path="{area}"><Route path="{module}"><Route index element={<{Module}Page />} /></Route></Route>
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## Phase 7: Integrations
|
|
101
|
-
|
|
102
|
-
### Notifications
|
|
103
|
-
```csharp
|
|
104
|
-
await _notificationService.SendNotificationAsync(userId, NotificationType.{Entity}Created,
|
|
105
|
-
title, message, relatedEntityType: nameof({Entity}), relatedEntityId: entity.Id, actionUrl);
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
### Workflow Email
|
|
109
|
-
```csharp
|
|
110
|
-
// 1. WorkflowTriggerConfiguration.cs: new { Code = "{entity}.created", ... }
|
|
111
|
-
// 2. WorkflowConfiguration.cs: new { TriggerId = ..., ... }
|
|
112
|
-
// 3. Service:
|
|
113
|
-
await _workflowService.TriggerAsync("{entity}.created", new Dictionary<string, object>{...});
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### AI
|
|
117
|
-
```csharp
|
|
118
|
-
var result = await _aiCompletionService.ExecutePromptByCodeWithValidationAsync<{Entity}AnalysisResult>(
|
|
119
|
-
"{entity}-analyzer", new Dictionary<string, object>{ ["name"] = entity.Name }, ct);
|
|
120
|
-
```
|
|
1
|
+
# Feature Full - Implementation Phases
|
|
2
|
+
|
|
3
|
+
## Phase 2: Domain
|
|
4
|
+
|
|
5
|
+
```csharp
|
|
6
|
+
// {Entity}.cs - Factory Method + Behaviors
|
|
7
|
+
public class {Entity} : BaseEntity, IAuditableEntity
|
|
8
|
+
{
|
|
9
|
+
public string Name { get; private set; }
|
|
10
|
+
public {Entity}Status Status { get; private set; }
|
|
11
|
+
private {Entity}() { }
|
|
12
|
+
public static {Entity} Create(string name, Guid createdById) =>
|
|
13
|
+
new { Id = Guid.NewGuid(), Name = name, Status = {Entity}Status.Active, ... };
|
|
14
|
+
public void Update(string name) => Name = name ?? throw new DomainException("Name required");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// {Entity}Status.cs
|
|
18
|
+
public enum {Entity}Status { Active = 0, Inactive = 1, Archived = 2 }
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Phase 3: Application
|
|
22
|
+
|
|
23
|
+
```csharp
|
|
24
|
+
// I{Entity}Service.cs
|
|
25
|
+
Task<PaginatedResult<{Entity}Dto>> GetAllAsync(...);
|
|
26
|
+
Task<{Entity}Dto> CreateAsync(Create{Entity}Request request, CancellationToken ct);
|
|
27
|
+
|
|
28
|
+
// DTOs
|
|
29
|
+
public record {Entity}Dto(Guid Id, string Name, string Status, DateTime CreatedAt);
|
|
30
|
+
public record Create{Entity}Request(string Name, string? Description);
|
|
31
|
+
|
|
32
|
+
// Permissions.cs + PermissionConfiguration.cs (2 files!)
|
|
33
|
+
public const string View = "{area}.{module}.read";
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Phase 4: Infrastructure
|
|
37
|
+
|
|
38
|
+
```csharp
|
|
39
|
+
// {Entity}Configuration.cs
|
|
40
|
+
builder.ToTable("{Entity}s", "{schema}");
|
|
41
|
+
builder.Property(x => x.Name).HasMaxLength(200).IsRequired();
|
|
42
|
+
|
|
43
|
+
// {Entity}Service.cs with Notifications
|
|
44
|
+
public async Task<{Entity}Dto> CreateAsync(...) {
|
|
45
|
+
var entity = {Entity}.Create(request.Name, _currentUser.Id);
|
|
46
|
+
_context.{Entity}s.Add(entity);
|
|
47
|
+
await _context.SaveChangesAsync(ct);
|
|
48
|
+
await _notificationService.SendNotificationAsync(_currentUser.Id,
|
|
49
|
+
NotificationType.{Entity}Created, "Created", $"{entity.Name} created",
|
|
50
|
+
relatedEntityType: nameof({Entity}), relatedEntityId: entity.Id, ct);
|
|
51
|
+
return MapToDto(entity);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// DependencyInjection.cs
|
|
55
|
+
services.AddScoped<I{Entity}Service, {Entity}Service>();
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Phase 5: API
|
|
59
|
+
|
|
60
|
+
```csharp
|
|
61
|
+
[ApiController][Route("api/{area}/{module}")][Authorize]
|
|
62
|
+
public class {Entity}Controller : ControllerBase
|
|
63
|
+
{
|
|
64
|
+
[HttpGet][RequirePermission(Permissions.{Area}.{Module}.View)]
|
|
65
|
+
[ProducesResponseType(typeof(PaginatedResult<{Entity}Dto>), 200)]
|
|
66
|
+
public async Task<ActionResult<PaginatedResult<{Entity}Dto>>> GetAll(...);
|
|
67
|
+
|
|
68
|
+
[HttpPost][RequirePermission(Permissions.{Area}.{Module}.Create)]
|
|
69
|
+
[ProducesResponseType(typeof({Entity}Dto), 201)]
|
|
70
|
+
public async Task<ActionResult<{Entity}Dto>> Create([FromBody] request, CancellationToken ct);
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Phase 6: Frontend
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
// {module}Api.ts
|
|
78
|
+
export const {module}Api = {
|
|
79
|
+
getAll: (page, pageSize, search?) => apiClient.get<PaginatedResult<{Entity}Dto>>('/{area}/{module}', { params }),
|
|
80
|
+
create: (data) => apiClient.post<{Entity}Dto>('/{area}/{module}', data),
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
// use{Module}.ts with SignalR
|
|
84
|
+
export function use{Module}() {
|
|
85
|
+
const queryClient = useQueryClient();
|
|
86
|
+
useSignalR({ onNotification: (n) => {
|
|
87
|
+
if (n.relatedEntityType === '{Entity}') queryClient.invalidateQueries(['{module}']);
|
|
88
|
+
}});
|
|
89
|
+
const createMutation = useMutation({ mutationFn: {module}Api.create, onSuccess: () => ... });
|
|
90
|
+
return { create: createMutation.mutate, ... };
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// {Module}Page.tsx with EntityCard
|
|
94
|
+
<EntityCard title={item.name} actions={[{ label: 'View', onClick: () => navigate(...) }]} />
|
|
95
|
+
|
|
96
|
+
// Routes (nested mandatory)
|
|
97
|
+
<Route path="{area}"><Route path="{module}"><Route index element={<{Module}Page />} /></Route></Route>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Phase 7: Integrations
|
|
101
|
+
|
|
102
|
+
### Notifications
|
|
103
|
+
```csharp
|
|
104
|
+
await _notificationService.SendNotificationAsync(userId, NotificationType.{Entity}Created,
|
|
105
|
+
title, message, relatedEntityType: nameof({Entity}), relatedEntityId: entity.Id, actionUrl);
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Workflow Email
|
|
109
|
+
```csharp
|
|
110
|
+
// 1. WorkflowTriggerConfiguration.cs: new { Code = "{entity}.created", ... }
|
|
111
|
+
// 2. WorkflowConfiguration.cs: new { TriggerId = ..., ... }
|
|
112
|
+
// 3. Service:
|
|
113
|
+
await _workflowService.TriggerAsync("{entity}.created", new Dictionary<string, object>{...});
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### AI
|
|
117
|
+
```csharp
|
|
118
|
+
var result = await _aiCompletionService.ExecutePromptByCodeWithValidationAsync<{Entity}AnalysisResult>(
|
|
119
|
+
"{entity}-analyzer", new Dictionary<string, object>{ ["name"] = entity.Name }, ct);
|
|
120
|
+
```
|