@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,476 +1,476 @@
|
|
|
1
|
-
# Templates Specification - Business Analysis
|
|
2
|
-
|
|
3
|
-
> **Usage:** Templates for functional specification documents
|
|
4
|
-
> **Hierarchy:** Application > Module > Section
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Template 1-discovery.md
|
|
9
|
-
|
|
10
|
-
```markdown
|
|
11
|
-
# Discovery - {FEAT-XXX} {Feature Name}
|
|
12
|
-
|
|
13
|
-
> **Module:** business/{application}/{module}
|
|
14
|
-
> **Version:** 1.0
|
|
15
|
-
> **Date:** {YYYY-MM-DD}
|
|
16
|
-
> **Author:** Business Analyst
|
|
17
|
-
|
|
18
|
-
## 1. Business Context
|
|
19
|
-
|
|
20
|
-
### 1.1 Need Description
|
|
21
|
-
{Clear description of the business need expressed by the stakeholder}
|
|
22
|
-
|
|
23
|
-
### 1.2 Current Problem
|
|
24
|
-
{Current situation and its limitations}
|
|
25
|
-
|
|
26
|
-
### 1.3 Expected Value
|
|
27
|
-
{Measurable business benefits}
|
|
28
|
-
|
|
29
|
-
## 2. Stakeholders
|
|
30
|
-
|
|
31
|
-
| Role | Name/Function | Involvement | Decision Level |
|
|
32
|
-
|------|--------------|-------------|-----------------|
|
|
33
|
-
| Sponsor | {name} | {description} | Approver |
|
|
34
|
-
| Product Owner | {name} | {description} | Decision Maker |
|
|
35
|
-
| Key User | {name} | {description} | Consulted |
|
|
36
|
-
|
|
37
|
-
## 3. Scope
|
|
38
|
-
|
|
39
|
-
### 3.1 In Scope
|
|
40
|
-
- [ ] {Included feature 1}
|
|
41
|
-
- [ ] {Included feature 2}
|
|
42
|
-
|
|
43
|
-
### 3.2 Out of Scope
|
|
44
|
-
- {Explicit exclusion 1}
|
|
45
|
-
- {Explicit exclusion 2}
|
|
46
|
-
|
|
47
|
-
## 4. Open Questions
|
|
48
|
-
|
|
49
|
-
| # | Question | Answer | Status |
|
|
50
|
-
|---|----------|---------|--------|
|
|
51
|
-
| Q1 | {Question} | {Answer or "Pending"} | ⏳/✅ |
|
|
52
|
-
|
|
53
|
-
## 5. Identified Constraints
|
|
54
|
-
|
|
55
|
-
| Type | Constraint | Impact |
|
|
56
|
-
|------|------------|--------|
|
|
57
|
-
| Technical | {constraint} | {impact} |
|
|
58
|
-
| Budget | {constraint} | {impact} |
|
|
59
|
-
| Schedule | {constraint} | {impact} |
|
|
60
|
-
| Regulatory | {constraint} | {impact} |
|
|
61
|
-
|
|
62
|
-
## 6. Dependencies
|
|
63
|
-
|
|
64
|
-
| Dependency | Type | Module/System | Criticality |
|
|
65
|
-
|------------|------|----------------|-----------|
|
|
66
|
-
| {dep} | Internal/External | {module} | High/Medium/Low |
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Version History
|
|
71
|
-
|
|
72
|
-
| Version | Date | Author | Changes |
|
|
73
|
-
|---------|------|--------|---------|
|
|
74
|
-
| 1.0 | {date} | BA | Initial creation |
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Template 2-brd.md (Exigences metier)
|
|
80
|
-
|
|
81
|
-
```markdown
|
|
82
|
-
# Exigences metier - {FEAT-XXX} {Feature Name}
|
|
83
|
-
|
|
84
|
-
> **Module:** business/{application}/{module}
|
|
85
|
-
> **Version:** 1.0
|
|
86
|
-
> **Based on:** 1-discovery.md v1.0
|
|
87
|
-
|
|
88
|
-
## 1. Executive Summary
|
|
89
|
-
|
|
90
|
-
{3-5 sentence summary of the business need and proposed solution}
|
|
91
|
-
|
|
92
|
-
## 2. Business Objectives
|
|
93
|
-
|
|
94
|
-
| ID | Objective | Metric | Target |
|
|
95
|
-
|----|----------|--------|--------|
|
|
96
|
-
| OBJ-001 | {objective} | {Measurable KPI} | {target value} |
|
|
97
|
-
|
|
98
|
-
## 3. Business Rules
|
|
99
|
-
|
|
100
|
-
| ID | Rule | Category | Priority |
|
|
101
|
-
|----|------|----------|----------|
|
|
102
|
-
| BR-001 | {Business rule description} | Validation/Calculation/Workflow | Must/Should/Could |
|
|
103
|
-
| BR-002 | {Description} | {category} | {priority} |
|
|
104
|
-
|
|
105
|
-
### 3.1 Critical Rules Detail
|
|
106
|
-
|
|
107
|
-
#### BR-001: {Rule Name}
|
|
108
|
-
|
|
109
|
-
**Statement:** {Precise rule formulation}
|
|
110
|
-
|
|
111
|
-
**Conditions:**
|
|
112
|
-
- IF {condition A}
|
|
113
|
-
- AND {condition B}
|
|
114
|
-
- THEN {result}
|
|
115
|
-
- ELSE {alternative result}
|
|
116
|
-
|
|
117
|
-
**Examples:**
|
|
118
|
-
| Input | Expected Output |
|
|
119
|
-
|--------|-----------------|
|
|
120
|
-
| {example 1} | {result 1} |
|
|
121
|
-
| {example 2} | {result 2} |
|
|
122
|
-
|
|
123
|
-
## 4. Business Process
|
|
124
|
-
|
|
125
|
-
### 4.1 Main Process
|
|
126
|
-
|
|
127
|
-
```
|
|
128
|
-
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
129
|
-
│ Step 1 │────►│ Step 2 │────►│ Step 3 │
|
|
130
|
-
│ {action} │ │ {action} │ │ {action} │
|
|
131
|
-
└─────────────┘ └─────────────┘ └─────────────┘
|
|
132
|
-
│ │ │
|
|
133
|
-
▼ ▼ ▼
|
|
134
|
-
{actor} {actor} {actor}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### 4.2 Alternative Flows
|
|
138
|
-
|
|
139
|
-
| Trigger | Flow | Result |
|
|
140
|
-
|---------|------|--------|
|
|
141
|
-
| {condition} | {flow description} | {final state} |
|
|
142
|
-
|
|
143
|
-
## 5. Business Data
|
|
144
|
-
|
|
145
|
-
### 5.1 Main Entities
|
|
146
|
-
|
|
147
|
-
| Entity | Description | Cardinality |
|
|
148
|
-
|--------|-------------|-------------|
|
|
149
|
-
| {Entity} | {description} | 1:N with {other entity} |
|
|
150
|
-
|
|
151
|
-
### 5.2 Key Attributes (NO technical types)
|
|
152
|
-
|
|
153
|
-
| Entity | Attribute | Description | Required |
|
|
154
|
-
|--------|-----------|-------------|----------|
|
|
155
|
-
| {Entity} | {attribute} | {business description} | Yes/No |
|
|
156
|
-
|
|
157
|
-
## 6. Integrations
|
|
158
|
-
|
|
159
|
-
| System | Direction | Data | Frequency |
|
|
160
|
-
|--------|-----------|------|-----------|
|
|
161
|
-
| {system} | Input/Output/Bidirectional | {data} | Real-time/Batch |
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## Version History
|
|
166
|
-
|
|
167
|
-
| Version | Date | Author | Changes |
|
|
168
|
-
|---------|------|--------|---------|
|
|
169
|
-
| 1.0 | {date} | BA | Initial creation |
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
## Template 3-frd.md (Specification fonctionnelle)
|
|
175
|
-
|
|
176
|
-
```markdown
|
|
177
|
-
# Specification fonctionnelle - {FEAT-XXX} {Feature Name}
|
|
178
|
-
|
|
179
|
-
> **Module:** business/{application}/{module}
|
|
180
|
-
> **Version:** 1.0
|
|
181
|
-
> **Based on:** 2-brd.md v1.0
|
|
182
|
-
> **Permission path:** {application}.{module}.*
|
|
183
|
-
|
|
184
|
-
## 1. Overview
|
|
185
|
-
|
|
186
|
-
### 1.1 Functional Objective
|
|
187
|
-
{Description of what the system must do}
|
|
188
|
-
|
|
189
|
-
### 1.2 Actors
|
|
190
|
-
|
|
191
|
-
| Actor | Description | Required Permissions |
|
|
192
|
-
|--------|-------------|---------------------|
|
|
193
|
-
| {Role} | {description} | `{app}.{module}.{action}` |
|
|
194
|
-
|
|
195
|
-
## 2. Use Cases
|
|
196
|
-
|
|
197
|
-
### UC-001: {Use Case Name}
|
|
198
|
-
|
|
199
|
-
| Attribute | Value |
|
|
200
|
-
|----------|--------|
|
|
201
|
-
| **ID** | UC-001 |
|
|
202
|
-
| **Name** | {Name} |
|
|
203
|
-
| **Primary Actor** | {Role} |
|
|
204
|
-
| **Preconditions** | {required conditions} |
|
|
205
|
-
| **Postconditions** | {final state} |
|
|
206
|
-
| **Permission** | `{app}.{module}.{action}` |
|
|
207
|
-
|
|
208
|
-
**Main Scenario:**
|
|
209
|
-
1. The user {action}
|
|
210
|
-
2. The system {response}
|
|
211
|
-
3. The user {action}
|
|
212
|
-
4. The system {response}
|
|
213
|
-
|
|
214
|
-
**Alternative Scenarios:**
|
|
215
|
-
|
|
216
|
-
| # | Condition | Steps |
|
|
217
|
-
|---|-----------|-------|
|
|
218
|
-
| 3a | {condition} | 3a.1 {action}, 3a.2 {action} |
|
|
219
|
-
|
|
220
|
-
**Error Scenarios:**
|
|
221
|
-
|
|
222
|
-
| # | Error | Message | Action |
|
|
223
|
-
|---|-------|---------|--------|
|
|
224
|
-
| E1 | {error} | {user message} | {behavior} |
|
|
225
|
-
|
|
226
|
-
## 3. Functional Requirements
|
|
227
|
-
|
|
228
|
-
| ID | Requirement | Related UC | Priority |
|
|
229
|
-
|----|-------------|------------|----------|
|
|
230
|
-
| FR-001 | {The system MUST...} | UC-001 | Must |
|
|
231
|
-
| FR-002 | {The system SHOULD...} | UC-001 | Should |
|
|
232
|
-
|
|
233
|
-
### 3.1 Detail FR-001
|
|
234
|
-
|
|
235
|
-
**Statement:** The system MUST {specific action}
|
|
236
|
-
|
|
237
|
-
**Acceptance Criteria:**
|
|
238
|
-
- [ ] {Measurable criterion 1}
|
|
239
|
-
- [ ] {Measurable criterion 2}
|
|
240
|
-
|
|
241
|
-
**Associated Rules:** BR-001, BR-002
|
|
242
|
-
|
|
243
|
-
## 4. User Interface
|
|
244
|
-
|
|
245
|
-
### 4.1 Wireframe - Main Screen
|
|
246
|
-
|
|
247
|
-
```
|
|
248
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
249
|
-
│ [Logo] {Module Name} [User] [Menu] │
|
|
250
|
-
├─────────────────────────────────────────────────────────────┤
|
|
251
|
-
│ │
|
|
252
|
-
│ ┌─────────────────────────────────────────────────────┐ │
|
|
253
|
-
│ │ FILTER │ │
|
|
254
|
-
│ │ [Field 1 ▼] [Field 2 ▼] [Search] │ │
|
|
255
|
-
│ └─────────────────────────────────────────────────────┘ │
|
|
256
|
-
│ │
|
|
257
|
-
│ ┌─────────────────────────────────────────────────────┐ │
|
|
258
|
-
│ │ TABLE │ │
|
|
259
|
-
│ │ ┌────────┬────────┬────────┬─────────┐ │ │
|
|
260
|
-
│ │ │ Col 1 │ Col 2 │ Col 3 │ Actions │ │ │
|
|
261
|
-
│ │ ├────────┼────────┼────────┼─────────┤ │ │
|
|
262
|
-
│ │ │ data │ data │ data │ [E] [D] │ │ │
|
|
263
|
-
│ │ └────────┴────────┴────────┴─────────┘ │ │
|
|
264
|
-
│ └─────────────────────────────────────────────────────┘ │
|
|
265
|
-
│ │
|
|
266
|
-
│ [+ New] [< Prev] [Next >] │
|
|
267
|
-
│ │
|
|
268
|
-
└─────────────────────────────────────────────────────────────┘
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
### 4.2 UI Element Description
|
|
272
|
-
|
|
273
|
-
| Element | Type | Behavior | Permission |
|
|
274
|
-
|---------|------|----------|------------|
|
|
275
|
-
| [+ New] | Button | Navigates to `/create` page | `{module}.create` |
|
|
276
|
-
| [E] | Icon | Navigates to `/:id/edit` page | `{module}.update` |
|
|
277
|
-
| [D] | Icon | Confirmation + delete | `{module}.delete` |
|
|
278
|
-
|
|
279
|
-
## 5. Validation and Messages
|
|
280
|
-
|
|
281
|
-
### 5.1 Validations
|
|
282
|
-
|
|
283
|
-
| Field | Rule | Error Message |
|
|
284
|
-
|-------|------|----------------|
|
|
285
|
-
| {field} | {validation rule} | {message i18n key} |
|
|
286
|
-
|
|
287
|
-
### 5.2 System Messages
|
|
288
|
-
|
|
289
|
-
| Code | Type | Message (i18n key) |
|
|
290
|
-
|------|------|-------------------|
|
|
291
|
-
| MSG-001 | Success | `{module}.messages.created` |
|
|
292
|
-
| MSG-002 | Error | `{module}.errors.notFound` |
|
|
293
|
-
|
|
294
|
-
## 6. Detailed Permissions
|
|
295
|
-
|
|
296
|
-
### 6.1 Role-Permission Matrix
|
|
297
|
-
|
|
298
|
-
| Permission | Admin | Manager | User | ReadOnly |
|
|
299
|
-
|------------|-------|---------|------|----------|
|
|
300
|
-
| `{app}.{module}.read` | ✅ | ✅ | ✅ | ✅ |
|
|
301
|
-
| `{app}.{module}.create` | ✅ | ✅ | ❌ | ❌ |
|
|
302
|
-
| `{app}.{module}.update` | ✅ | ✅ | ❌ | ❌ |
|
|
303
|
-
| `{app}.{module}.delete` | ✅ | ❌ | ❌ | ❌ |
|
|
304
|
-
|
|
305
|
-
### 6.2 Endpoint-Permission Mapping
|
|
306
|
-
|
|
307
|
-
| Endpoint | Method | Required Permission |
|
|
308
|
-
|----------|--------|-------------------|
|
|
309
|
-
| `/api/{module}` | GET | `{module}.read` |
|
|
310
|
-
| `/api/{module}` | POST | `{module}.create` |
|
|
311
|
-
| `/api/{module}/{id}` | PUT | `{module}.update` |
|
|
312
|
-
| `/api/{module}/{id}` | DELETE | `{module}.delete` |
|
|
313
|
-
|
|
314
|
-
## 7. Gherkin Scenarios
|
|
315
|
-
|
|
316
|
-
```gherkin
|
|
317
|
-
Feature: {FEAT-XXX} {Feature Name}
|
|
318
|
-
|
|
319
|
-
@permission @403
|
|
320
|
-
Scenario: User without permission cannot create
|
|
321
|
-
Given I am logged in as "user@test.com" with role "ReadOnly"
|
|
322
|
-
When I send POST to "/api/{module}"
|
|
323
|
-
Then the response status should be 403
|
|
324
|
-
And the response should contain "Permission denied"
|
|
325
|
-
|
|
326
|
-
@happy-path
|
|
327
|
-
Scenario: Admin creates new item
|
|
328
|
-
Given I am logged in as "admin@test.com" with role "Admin"
|
|
329
|
-
And I have permission "{app}.{module}.create"
|
|
330
|
-
When I send POST to "/api/{module}" with:
|
|
331
|
-
| field1 | value1 |
|
|
332
|
-
| field2 | value2 |
|
|
333
|
-
Then the response status should be 201
|
|
334
|
-
And the response should contain "id"
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
---
|
|
338
|
-
|
|
339
|
-
## Version History
|
|
340
|
-
|
|
341
|
-
| Version | Date | Author | Changes |
|
|
342
|
-
|---------|------|--------|---------|
|
|
343
|
-
| 1.0 | {date} | BA | Initial creation |
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
---
|
|
347
|
-
|
|
348
|
-
## Template 4-handoff.md
|
|
349
|
-
|
|
350
|
-
```markdown
|
|
351
|
-
# Development Handoff - {FEAT-XXX} {Feature Name}
|
|
352
|
-
|
|
353
|
-
> **Module:** business/{application}/{module}
|
|
354
|
-
> **Version:** 1.0
|
|
355
|
-
> **Validated Specs:** Specification v1.0 (validation.json)
|
|
356
|
-
> **Implementation:** `/ralph-loop`
|
|
357
|
-
|
|
358
|
-
## DEVELOPER INSTRUCTIONS
|
|
359
|
-
|
|
360
|
-
This document is a self-contained prompt for Claude Code.
|
|
361
|
-
|
|
362
|
-
**Lancement:**
|
|
363
|
-
```
|
|
364
|
-
/ralph-loop
|
|
365
|
-
```
|
|
366
|
-
> Ralph-loop auto-detects BA artifacts and derives PRD task breakdowns.
|
|
367
|
-
> Use `/ralph-loop -r` only to resume an interrupted loop.
|
|
368
|
-
|
|
369
|
-
---
|
|
370
|
-
|
|
371
|
-
## 1. QUICK CONTEXT
|
|
372
|
-
|
|
373
|
-
| Attribute | Value |
|
|
374
|
-
|----------|--------|
|
|
375
|
-
| Feature ID | FEAT-XXX |
|
|
376
|
-
| Module | {application}/{module} |
|
|
377
|
-
| Base Permission | `{app}.{module}` |
|
|
378
|
-
| Complexity | {Simple/Medium/Complex} |
|
|
379
|
-
|
|
380
|
-
## 2. [EXPLORE] EXISTING PATTERNS
|
|
381
|
-
|
|
382
|
-
BEFORE coding, explore these files to understand the patterns:
|
|
383
|
-
|
|
384
|
-
```
|
|
385
|
-
BACKEND:
|
|
386
|
-
- src/SmartStack.Domain/Entities/ → Entity structure
|
|
387
|
-
- src/SmartStack.Application/Features/ → CQRS pattern
|
|
388
|
-
- src/SmartStack.Infrastructure/Persistence/Configurations/ → EF Core
|
|
389
|
-
|
|
390
|
-
FRONTEND:
|
|
391
|
-
- web/smartstack-web/src/pages/ → Existing pages
|
|
392
|
-
- web/smartstack-web/src/components/ → Reusable components
|
|
393
|
-
- web/smartstack-web/src/services/api/ → API calls
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
## 3. FILES TO CREATE
|
|
397
|
-
|
|
398
|
-
### 3.1 Backend
|
|
399
|
-
|
|
400
|
-
| File | Template | Description |
|
|
401
|
-
|------|----------|-------------|
|
|
402
|
-
| `Domain/Entities/{Entity}.cs` | Domain Entity | Properties + business rules |
|
|
403
|
-
| `Application/Features/{Module}/` | CQRS Commands/Queries | MediatR handlers |
|
|
404
|
-
| `Infrastructure/.../Configurations/` | EF Core Config | Config + HasData |
|
|
405
|
-
| `Api/Controllers/` | API Controller | REST endpoints |
|
|
406
|
-
|
|
407
|
-
### 3.2 Frontend
|
|
408
|
-
|
|
409
|
-
| File | Template | Description |
|
|
410
|
-
|------|----------|-------------|
|
|
411
|
-
| `pages/{app}/{module}/` | React Page | List + detail |
|
|
412
|
-
| `services/api/{module}Api.ts` | API Service | Axios calls |
|
|
413
|
-
| `i18n/locales/{lang}/{module}.json` | Translations | FR, EN, IT, DE |
|
|
414
|
-
|
|
415
|
-
## 4. DETAILED SPECIFICATIONS
|
|
416
|
-
|
|
417
|
-
### 4.1 Entity (business attributes, not C# types)
|
|
418
|
-
|
|
419
|
-
| Attribute | Description | Required | Rules |
|
|
420
|
-
|-----------|-------------|----------|-------|
|
|
421
|
-
| Id | Unique identifier | Yes | Random GUID |
|
|
422
|
-
| {attr} | {description} | {Yes/No} | {validation} |
|
|
423
|
-
|
|
424
|
-
### 4.2 API Endpoints
|
|
425
|
-
|
|
426
|
-
| Endpoint | Method | Permission | Body | Response |
|
|
427
|
-
|----------|--------|------------|------|----------|
|
|
428
|
-
| `/api/{module}` | GET | `.read` | - | Paginated list |
|
|
429
|
-
| `/api/{module}` | POST | `.create` | CreateDto | 201 + entity |
|
|
430
|
-
| `/api/{module}/{id}` | GET | `.read` | - | Entity |
|
|
431
|
-
| `/api/{module}/{id}` | PUT | `.update` | UpdateDto | 200 + entity |
|
|
432
|
-
| `/api/{module}/{id}` | DELETE | `.delete` | - | 204 |
|
|
433
|
-
|
|
434
|
-
### 4.3 Business Rules to Implement
|
|
435
|
-
|
|
436
|
-
| BR-ID | Rule | Implementation |
|
|
437
|
-
|-------|------|----------------|
|
|
438
|
-
| BR-001 | {rule} | {where to implement} |
|
|
439
|
-
|
|
440
|
-
## 5. REQUIRED TESTS
|
|
441
|
-
|
|
442
|
-
- [ ] Unit test: Entity validation
|
|
443
|
-
- [ ] Integration test: API endpoints (200, 201, 400, 403, 404)
|
|
444
|
-
- [ ] Permission test: 403 denial without permission
|
|
445
|
-
- [ ] Postman test: Collection generated
|
|
446
|
-
|
|
447
|
-
## 6. POST-IMPLEMENTATION CHECKLIST
|
|
448
|
-
|
|
449
|
-
- [ ] Backend build OK
|
|
450
|
-
- [ ] Frontend build OK
|
|
451
|
-
- [ ] Tests passing
|
|
452
|
-
- [ ] EF Core migration created if entity
|
|
453
|
-
- [ ] Permissions added in PermissionConfiguration.cs
|
|
454
|
-
- [ ] i18n complete (4 languages)
|
|
455
|
-
- [ ] Documentation generated: `/documentation user {module_name}`
|
|
456
|
-
|
|
457
|
-
---
|
|
458
|
-
|
|
459
|
-
## EXECUTION
|
|
460
|
-
|
|
461
|
-
**Lancement:**
|
|
462
|
-
```bash
|
|
463
|
-
/ralph-loop
|
|
464
|
-
```
|
|
465
|
-
```
|
|
466
|
-
|
|
467
|
-
---
|
|
468
|
-
|
|
469
|
-
## Template Validation
|
|
470
|
-
|
|
471
|
-
Each template MUST:
|
|
472
|
-
- [ ] Be pure Markdown (no technical code)
|
|
473
|
-
- [ ] Use tables for structured data
|
|
474
|
-
- [ ] Include permissions with full path
|
|
475
|
-
- [ ] Have version history
|
|
476
|
-
- [ ] Reference BR/FR/UC with unique IDs
|
|
1
|
+
# Templates Specification - Business Analysis
|
|
2
|
+
|
|
3
|
+
> **Usage:** Templates for functional specification documents
|
|
4
|
+
> **Hierarchy:** Application > Module > Section
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Template 1-discovery.md
|
|
9
|
+
|
|
10
|
+
```markdown
|
|
11
|
+
# Discovery - {FEAT-XXX} {Feature Name}
|
|
12
|
+
|
|
13
|
+
> **Module:** business/{application}/{module}
|
|
14
|
+
> **Version:** 1.0
|
|
15
|
+
> **Date:** {YYYY-MM-DD}
|
|
16
|
+
> **Author:** Business Analyst
|
|
17
|
+
|
|
18
|
+
## 1. Business Context
|
|
19
|
+
|
|
20
|
+
### 1.1 Need Description
|
|
21
|
+
{Clear description of the business need expressed by the stakeholder}
|
|
22
|
+
|
|
23
|
+
### 1.2 Current Problem
|
|
24
|
+
{Current situation and its limitations}
|
|
25
|
+
|
|
26
|
+
### 1.3 Expected Value
|
|
27
|
+
{Measurable business benefits}
|
|
28
|
+
|
|
29
|
+
## 2. Stakeholders
|
|
30
|
+
|
|
31
|
+
| Role | Name/Function | Involvement | Decision Level |
|
|
32
|
+
|------|--------------|-------------|-----------------|
|
|
33
|
+
| Sponsor | {name} | {description} | Approver |
|
|
34
|
+
| Product Owner | {name} | {description} | Decision Maker |
|
|
35
|
+
| Key User | {name} | {description} | Consulted |
|
|
36
|
+
|
|
37
|
+
## 3. Scope
|
|
38
|
+
|
|
39
|
+
### 3.1 In Scope
|
|
40
|
+
- [ ] {Included feature 1}
|
|
41
|
+
- [ ] {Included feature 2}
|
|
42
|
+
|
|
43
|
+
### 3.2 Out of Scope
|
|
44
|
+
- {Explicit exclusion 1}
|
|
45
|
+
- {Explicit exclusion 2}
|
|
46
|
+
|
|
47
|
+
## 4. Open Questions
|
|
48
|
+
|
|
49
|
+
| # | Question | Answer | Status |
|
|
50
|
+
|---|----------|---------|--------|
|
|
51
|
+
| Q1 | {Question} | {Answer or "Pending"} | ⏳/✅ |
|
|
52
|
+
|
|
53
|
+
## 5. Identified Constraints
|
|
54
|
+
|
|
55
|
+
| Type | Constraint | Impact |
|
|
56
|
+
|------|------------|--------|
|
|
57
|
+
| Technical | {constraint} | {impact} |
|
|
58
|
+
| Budget | {constraint} | {impact} |
|
|
59
|
+
| Schedule | {constraint} | {impact} |
|
|
60
|
+
| Regulatory | {constraint} | {impact} |
|
|
61
|
+
|
|
62
|
+
## 6. Dependencies
|
|
63
|
+
|
|
64
|
+
| Dependency | Type | Module/System | Criticality |
|
|
65
|
+
|------------|------|----------------|-----------|
|
|
66
|
+
| {dep} | Internal/External | {module} | High/Medium/Low |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Version History
|
|
71
|
+
|
|
72
|
+
| Version | Date | Author | Changes |
|
|
73
|
+
|---------|------|--------|---------|
|
|
74
|
+
| 1.0 | {date} | BA | Initial creation |
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Template 2-brd.md (Exigences metier)
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
# Exigences metier - {FEAT-XXX} {Feature Name}
|
|
83
|
+
|
|
84
|
+
> **Module:** business/{application}/{module}
|
|
85
|
+
> **Version:** 1.0
|
|
86
|
+
> **Based on:** 1-discovery.md v1.0
|
|
87
|
+
|
|
88
|
+
## 1. Executive Summary
|
|
89
|
+
|
|
90
|
+
{3-5 sentence summary of the business need and proposed solution}
|
|
91
|
+
|
|
92
|
+
## 2. Business Objectives
|
|
93
|
+
|
|
94
|
+
| ID | Objective | Metric | Target |
|
|
95
|
+
|----|----------|--------|--------|
|
|
96
|
+
| OBJ-001 | {objective} | {Measurable KPI} | {target value} |
|
|
97
|
+
|
|
98
|
+
## 3. Business Rules
|
|
99
|
+
|
|
100
|
+
| ID | Rule | Category | Priority |
|
|
101
|
+
|----|------|----------|----------|
|
|
102
|
+
| BR-001 | {Business rule description} | Validation/Calculation/Workflow | Must/Should/Could |
|
|
103
|
+
| BR-002 | {Description} | {category} | {priority} |
|
|
104
|
+
|
|
105
|
+
### 3.1 Critical Rules Detail
|
|
106
|
+
|
|
107
|
+
#### BR-001: {Rule Name}
|
|
108
|
+
|
|
109
|
+
**Statement:** {Precise rule formulation}
|
|
110
|
+
|
|
111
|
+
**Conditions:**
|
|
112
|
+
- IF {condition A}
|
|
113
|
+
- AND {condition B}
|
|
114
|
+
- THEN {result}
|
|
115
|
+
- ELSE {alternative result}
|
|
116
|
+
|
|
117
|
+
**Examples:**
|
|
118
|
+
| Input | Expected Output |
|
|
119
|
+
|--------|-----------------|
|
|
120
|
+
| {example 1} | {result 1} |
|
|
121
|
+
| {example 2} | {result 2} |
|
|
122
|
+
|
|
123
|
+
## 4. Business Process
|
|
124
|
+
|
|
125
|
+
### 4.1 Main Process
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
|
129
|
+
│ Step 1 │────►│ Step 2 │────►│ Step 3 │
|
|
130
|
+
│ {action} │ │ {action} │ │ {action} │
|
|
131
|
+
└─────────────┘ └─────────────┘ └─────────────┘
|
|
132
|
+
│ │ │
|
|
133
|
+
▼ ▼ ▼
|
|
134
|
+
{actor} {actor} {actor}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 4.2 Alternative Flows
|
|
138
|
+
|
|
139
|
+
| Trigger | Flow | Result |
|
|
140
|
+
|---------|------|--------|
|
|
141
|
+
| {condition} | {flow description} | {final state} |
|
|
142
|
+
|
|
143
|
+
## 5. Business Data
|
|
144
|
+
|
|
145
|
+
### 5.1 Main Entities
|
|
146
|
+
|
|
147
|
+
| Entity | Description | Cardinality |
|
|
148
|
+
|--------|-------------|-------------|
|
|
149
|
+
| {Entity} | {description} | 1:N with {other entity} |
|
|
150
|
+
|
|
151
|
+
### 5.2 Key Attributes (NO technical types)
|
|
152
|
+
|
|
153
|
+
| Entity | Attribute | Description | Required |
|
|
154
|
+
|--------|-----------|-------------|----------|
|
|
155
|
+
| {Entity} | {attribute} | {business description} | Yes/No |
|
|
156
|
+
|
|
157
|
+
## 6. Integrations
|
|
158
|
+
|
|
159
|
+
| System | Direction | Data | Frequency |
|
|
160
|
+
|--------|-----------|------|-----------|
|
|
161
|
+
| {system} | Input/Output/Bidirectional | {data} | Real-time/Batch |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Version History
|
|
166
|
+
|
|
167
|
+
| Version | Date | Author | Changes |
|
|
168
|
+
|---------|------|--------|---------|
|
|
169
|
+
| 1.0 | {date} | BA | Initial creation |
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Template 3-frd.md (Specification fonctionnelle)
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
# Specification fonctionnelle - {FEAT-XXX} {Feature Name}
|
|
178
|
+
|
|
179
|
+
> **Module:** business/{application}/{module}
|
|
180
|
+
> **Version:** 1.0
|
|
181
|
+
> **Based on:** 2-brd.md v1.0
|
|
182
|
+
> **Permission path:** {application}.{module}.*
|
|
183
|
+
|
|
184
|
+
## 1. Overview
|
|
185
|
+
|
|
186
|
+
### 1.1 Functional Objective
|
|
187
|
+
{Description of what the system must do}
|
|
188
|
+
|
|
189
|
+
### 1.2 Actors
|
|
190
|
+
|
|
191
|
+
| Actor | Description | Required Permissions |
|
|
192
|
+
|--------|-------------|---------------------|
|
|
193
|
+
| {Role} | {description} | `{app}.{module}.{action}` |
|
|
194
|
+
|
|
195
|
+
## 2. Use Cases
|
|
196
|
+
|
|
197
|
+
### UC-001: {Use Case Name}
|
|
198
|
+
|
|
199
|
+
| Attribute | Value |
|
|
200
|
+
|----------|--------|
|
|
201
|
+
| **ID** | UC-001 |
|
|
202
|
+
| **Name** | {Name} |
|
|
203
|
+
| **Primary Actor** | {Role} |
|
|
204
|
+
| **Preconditions** | {required conditions} |
|
|
205
|
+
| **Postconditions** | {final state} |
|
|
206
|
+
| **Permission** | `{app}.{module}.{action}` |
|
|
207
|
+
|
|
208
|
+
**Main Scenario:**
|
|
209
|
+
1. The user {action}
|
|
210
|
+
2. The system {response}
|
|
211
|
+
3. The user {action}
|
|
212
|
+
4. The system {response}
|
|
213
|
+
|
|
214
|
+
**Alternative Scenarios:**
|
|
215
|
+
|
|
216
|
+
| # | Condition | Steps |
|
|
217
|
+
|---|-----------|-------|
|
|
218
|
+
| 3a | {condition} | 3a.1 {action}, 3a.2 {action} |
|
|
219
|
+
|
|
220
|
+
**Error Scenarios:**
|
|
221
|
+
|
|
222
|
+
| # | Error | Message | Action |
|
|
223
|
+
|---|-------|---------|--------|
|
|
224
|
+
| E1 | {error} | {user message} | {behavior} |
|
|
225
|
+
|
|
226
|
+
## 3. Functional Requirements
|
|
227
|
+
|
|
228
|
+
| ID | Requirement | Related UC | Priority |
|
|
229
|
+
|----|-------------|------------|----------|
|
|
230
|
+
| FR-001 | {The system MUST...} | UC-001 | Must |
|
|
231
|
+
| FR-002 | {The system SHOULD...} | UC-001 | Should |
|
|
232
|
+
|
|
233
|
+
### 3.1 Detail FR-001
|
|
234
|
+
|
|
235
|
+
**Statement:** The system MUST {specific action}
|
|
236
|
+
|
|
237
|
+
**Acceptance Criteria:**
|
|
238
|
+
- [ ] {Measurable criterion 1}
|
|
239
|
+
- [ ] {Measurable criterion 2}
|
|
240
|
+
|
|
241
|
+
**Associated Rules:** BR-001, BR-002
|
|
242
|
+
|
|
243
|
+
## 4. User Interface
|
|
244
|
+
|
|
245
|
+
### 4.1 Wireframe - Main Screen
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
249
|
+
│ [Logo] {Module Name} [User] [Menu] │
|
|
250
|
+
├─────────────────────────────────────────────────────────────┤
|
|
251
|
+
│ │
|
|
252
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
253
|
+
│ │ FILTER │ │
|
|
254
|
+
│ │ [Field 1 ▼] [Field 2 ▼] [Search] │ │
|
|
255
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
256
|
+
│ │
|
|
257
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
258
|
+
│ │ TABLE │ │
|
|
259
|
+
│ │ ┌────────┬────────┬────────┬─────────┐ │ │
|
|
260
|
+
│ │ │ Col 1 │ Col 2 │ Col 3 │ Actions │ │ │
|
|
261
|
+
│ │ ├────────┼────────┼────────┼─────────┤ │ │
|
|
262
|
+
│ │ │ data │ data │ data │ [E] [D] │ │ │
|
|
263
|
+
│ │ └────────┴────────┴────────┴─────────┘ │ │
|
|
264
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
265
|
+
│ │
|
|
266
|
+
│ [+ New] [< Prev] [Next >] │
|
|
267
|
+
│ │
|
|
268
|
+
└─────────────────────────────────────────────────────────────┘
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### 4.2 UI Element Description
|
|
272
|
+
|
|
273
|
+
| Element | Type | Behavior | Permission |
|
|
274
|
+
|---------|------|----------|------------|
|
|
275
|
+
| [+ New] | Button | Navigates to `/create` page | `{module}.create` |
|
|
276
|
+
| [E] | Icon | Navigates to `/:id/edit` page | `{module}.update` |
|
|
277
|
+
| [D] | Icon | Confirmation + delete | `{module}.delete` |
|
|
278
|
+
|
|
279
|
+
## 5. Validation and Messages
|
|
280
|
+
|
|
281
|
+
### 5.1 Validations
|
|
282
|
+
|
|
283
|
+
| Field | Rule | Error Message |
|
|
284
|
+
|-------|------|----------------|
|
|
285
|
+
| {field} | {validation rule} | {message i18n key} |
|
|
286
|
+
|
|
287
|
+
### 5.2 System Messages
|
|
288
|
+
|
|
289
|
+
| Code | Type | Message (i18n key) |
|
|
290
|
+
|------|------|-------------------|
|
|
291
|
+
| MSG-001 | Success | `{module}.messages.created` |
|
|
292
|
+
| MSG-002 | Error | `{module}.errors.notFound` |
|
|
293
|
+
|
|
294
|
+
## 6. Detailed Permissions
|
|
295
|
+
|
|
296
|
+
### 6.1 Role-Permission Matrix
|
|
297
|
+
|
|
298
|
+
| Permission | Admin | Manager | User | ReadOnly |
|
|
299
|
+
|------------|-------|---------|------|----------|
|
|
300
|
+
| `{app}.{module}.read` | ✅ | ✅ | ✅ | ✅ |
|
|
301
|
+
| `{app}.{module}.create` | ✅ | ✅ | ❌ | ❌ |
|
|
302
|
+
| `{app}.{module}.update` | ✅ | ✅ | ❌ | ❌ |
|
|
303
|
+
| `{app}.{module}.delete` | ✅ | ❌ | ❌ | ❌ |
|
|
304
|
+
|
|
305
|
+
### 6.2 Endpoint-Permission Mapping
|
|
306
|
+
|
|
307
|
+
| Endpoint | Method | Required Permission |
|
|
308
|
+
|----------|--------|-------------------|
|
|
309
|
+
| `/api/{module}` | GET | `{module}.read` |
|
|
310
|
+
| `/api/{module}` | POST | `{module}.create` |
|
|
311
|
+
| `/api/{module}/{id}` | PUT | `{module}.update` |
|
|
312
|
+
| `/api/{module}/{id}` | DELETE | `{module}.delete` |
|
|
313
|
+
|
|
314
|
+
## 7. Gherkin Scenarios
|
|
315
|
+
|
|
316
|
+
```gherkin
|
|
317
|
+
Feature: {FEAT-XXX} {Feature Name}
|
|
318
|
+
|
|
319
|
+
@permission @403
|
|
320
|
+
Scenario: User without permission cannot create
|
|
321
|
+
Given I am logged in as "user@test.com" with role "ReadOnly"
|
|
322
|
+
When I send POST to "/api/{module}"
|
|
323
|
+
Then the response status should be 403
|
|
324
|
+
And the response should contain "Permission denied"
|
|
325
|
+
|
|
326
|
+
@happy-path
|
|
327
|
+
Scenario: Admin creates new item
|
|
328
|
+
Given I am logged in as "admin@test.com" with role "Admin"
|
|
329
|
+
And I have permission "{app}.{module}.create"
|
|
330
|
+
When I send POST to "/api/{module}" with:
|
|
331
|
+
| field1 | value1 |
|
|
332
|
+
| field2 | value2 |
|
|
333
|
+
Then the response status should be 201
|
|
334
|
+
And the response should contain "id"
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## Version History
|
|
340
|
+
|
|
341
|
+
| Version | Date | Author | Changes |
|
|
342
|
+
|---------|------|--------|---------|
|
|
343
|
+
| 1.0 | {date} | BA | Initial creation |
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Template 4-handoff.md
|
|
349
|
+
|
|
350
|
+
```markdown
|
|
351
|
+
# Development Handoff - {FEAT-XXX} {Feature Name}
|
|
352
|
+
|
|
353
|
+
> **Module:** business/{application}/{module}
|
|
354
|
+
> **Version:** 1.0
|
|
355
|
+
> **Validated Specs:** Specification v1.0 (validation.json)
|
|
356
|
+
> **Implementation:** `/ralph-loop`
|
|
357
|
+
|
|
358
|
+
## DEVELOPER INSTRUCTIONS
|
|
359
|
+
|
|
360
|
+
This document is a self-contained prompt for Claude Code.
|
|
361
|
+
|
|
362
|
+
**Lancement:**
|
|
363
|
+
```
|
|
364
|
+
/ralph-loop
|
|
365
|
+
```
|
|
366
|
+
> Ralph-loop auto-detects BA artifacts and derives PRD task breakdowns.
|
|
367
|
+
> Use `/ralph-loop -r` only to resume an interrupted loop.
|
|
368
|
+
|
|
369
|
+
---
|
|
370
|
+
|
|
371
|
+
## 1. QUICK CONTEXT
|
|
372
|
+
|
|
373
|
+
| Attribute | Value |
|
|
374
|
+
|----------|--------|
|
|
375
|
+
| Feature ID | FEAT-XXX |
|
|
376
|
+
| Module | {application}/{module} |
|
|
377
|
+
| Base Permission | `{app}.{module}` |
|
|
378
|
+
| Complexity | {Simple/Medium/Complex} |
|
|
379
|
+
|
|
380
|
+
## 2. [EXPLORE] EXISTING PATTERNS
|
|
381
|
+
|
|
382
|
+
BEFORE coding, explore these files to understand the patterns:
|
|
383
|
+
|
|
384
|
+
```
|
|
385
|
+
BACKEND:
|
|
386
|
+
- src/SmartStack.Domain/Entities/ → Entity structure
|
|
387
|
+
- src/SmartStack.Application/Features/ → CQRS pattern
|
|
388
|
+
- src/SmartStack.Infrastructure/Persistence/Configurations/ → EF Core
|
|
389
|
+
|
|
390
|
+
FRONTEND:
|
|
391
|
+
- web/smartstack-web/src/pages/ → Existing pages
|
|
392
|
+
- web/smartstack-web/src/components/ → Reusable components
|
|
393
|
+
- web/smartstack-web/src/services/api/ → API calls
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
## 3. FILES TO CREATE
|
|
397
|
+
|
|
398
|
+
### 3.1 Backend
|
|
399
|
+
|
|
400
|
+
| File | Template | Description |
|
|
401
|
+
|------|----------|-------------|
|
|
402
|
+
| `Domain/Entities/{Entity}.cs` | Domain Entity | Properties + business rules |
|
|
403
|
+
| `Application/Features/{Module}/` | CQRS Commands/Queries | MediatR handlers |
|
|
404
|
+
| `Infrastructure/.../Configurations/` | EF Core Config | Config + HasData |
|
|
405
|
+
| `Api/Controllers/` | API Controller | REST endpoints |
|
|
406
|
+
|
|
407
|
+
### 3.2 Frontend
|
|
408
|
+
|
|
409
|
+
| File | Template | Description |
|
|
410
|
+
|------|----------|-------------|
|
|
411
|
+
| `pages/{app}/{module}/` | React Page | List + detail |
|
|
412
|
+
| `services/api/{module}Api.ts` | API Service | Axios calls |
|
|
413
|
+
| `i18n/locales/{lang}/{module}.json` | Translations | FR, EN, IT, DE |
|
|
414
|
+
|
|
415
|
+
## 4. DETAILED SPECIFICATIONS
|
|
416
|
+
|
|
417
|
+
### 4.1 Entity (business attributes, not C# types)
|
|
418
|
+
|
|
419
|
+
| Attribute | Description | Required | Rules |
|
|
420
|
+
|-----------|-------------|----------|-------|
|
|
421
|
+
| Id | Unique identifier | Yes | Random GUID |
|
|
422
|
+
| {attr} | {description} | {Yes/No} | {validation} |
|
|
423
|
+
|
|
424
|
+
### 4.2 API Endpoints
|
|
425
|
+
|
|
426
|
+
| Endpoint | Method | Permission | Body | Response |
|
|
427
|
+
|----------|--------|------------|------|----------|
|
|
428
|
+
| `/api/{module}` | GET | `.read` | - | Paginated list |
|
|
429
|
+
| `/api/{module}` | POST | `.create` | CreateDto | 201 + entity |
|
|
430
|
+
| `/api/{module}/{id}` | GET | `.read` | - | Entity |
|
|
431
|
+
| `/api/{module}/{id}` | PUT | `.update` | UpdateDto | 200 + entity |
|
|
432
|
+
| `/api/{module}/{id}` | DELETE | `.delete` | - | 204 |
|
|
433
|
+
|
|
434
|
+
### 4.3 Business Rules to Implement
|
|
435
|
+
|
|
436
|
+
| BR-ID | Rule | Implementation |
|
|
437
|
+
|-------|------|----------------|
|
|
438
|
+
| BR-001 | {rule} | {where to implement} |
|
|
439
|
+
|
|
440
|
+
## 5. REQUIRED TESTS
|
|
441
|
+
|
|
442
|
+
- [ ] Unit test: Entity validation
|
|
443
|
+
- [ ] Integration test: API endpoints (200, 201, 400, 403, 404)
|
|
444
|
+
- [ ] Permission test: 403 denial without permission
|
|
445
|
+
- [ ] Postman test: Collection generated
|
|
446
|
+
|
|
447
|
+
## 6. POST-IMPLEMENTATION CHECKLIST
|
|
448
|
+
|
|
449
|
+
- [ ] Backend build OK
|
|
450
|
+
- [ ] Frontend build OK
|
|
451
|
+
- [ ] Tests passing
|
|
452
|
+
- [ ] EF Core migration created if entity
|
|
453
|
+
- [ ] Permissions added in PermissionConfiguration.cs
|
|
454
|
+
- [ ] i18n complete (4 languages)
|
|
455
|
+
- [ ] Documentation generated: `/documentation user {module_name}`
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
459
|
+
## EXECUTION
|
|
460
|
+
|
|
461
|
+
**Lancement:**
|
|
462
|
+
```bash
|
|
463
|
+
/ralph-loop
|
|
464
|
+
```
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
---
|
|
468
|
+
|
|
469
|
+
## Template Validation
|
|
470
|
+
|
|
471
|
+
Each template MUST:
|
|
472
|
+
- [ ] Be pure Markdown (no technical code)
|
|
473
|
+
- [ ] Use tables for structured data
|
|
474
|
+
- [ ] Include permissions with full path
|
|
475
|
+
- [ ] Have version history
|
|
476
|
+
- [ ] Reference BR/FR/UC with unique IDs
|