@atlashub/smartstack-cli 3.39.0 → 3.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.documentation/apex.html +644 -644
- package/.documentation/css/styles.css +2320 -2320
- package/.documentation/init.html +1377 -1377
- package/.documentation/js/app.js +780 -780
- package/.documentation/prd-json-v2.0.0.md +396 -396
- package/.documentation/testing-ba-e2e.md +462 -462
- package/config/default-config.json +95 -95
- package/config/mcp-defaults.json +62 -62
- package/config/settings.json +53 -53
- package/config/settings.local.example.json +16 -16
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +6 -4
- package/dist/mcp-entry.mjs.map +1 -1
- package/package.json +115 -115
- package/scripts/extract-api-endpoints.ts +325 -325
- package/scripts/extract-business-rules.ts +440 -440
- package/scripts/generate-doc-with-mock-ui.ts +804 -804
- package/scripts/health-check.sh +168 -168
- package/scripts/postinstall.js +18 -18
- package/templates/agents/action.md +37 -37
- package/templates/agents/ba-reader.md +378 -378
- package/templates/agents/ba-writer.md +861 -861
- package/templates/agents/code-reviewer.md +163 -163
- package/templates/agents/db-reader.md +149 -149
- package/templates/agents/docs-context-reader.md +143 -143
- package/templates/agents/docs-sync-checker.md +122 -122
- package/templates/agents/efcore/conflicts.md +95 -84
- package/templates/agents/efcore/db-deploy.md +85 -74
- package/templates/agents/efcore/db-reset.md +96 -85
- package/templates/agents/efcore/db-seed.md +72 -61
- package/templates/agents/efcore/db-status.md +97 -86
- package/templates/agents/efcore/migration.md +197 -186
- package/templates/agents/efcore/rebase-snapshot.md +119 -108
- package/templates/agents/efcore/scan.md +103 -92
- package/templates/agents/efcore/squash.md +172 -161
- package/templates/agents/explore-codebase.md +66 -66
- package/templates/agents/explore-docs.md +98 -98
- package/templates/agents/fix-grammar.md +50 -50
- package/templates/agents/gitflow/abort.md +45 -45
- package/templates/agents/gitflow/cleanup.md +96 -96
- package/templates/agents/gitflow/commit.md +236 -236
- package/templates/agents/gitflow/exec.md +48 -48
- package/templates/agents/gitflow/finish.md +146 -146
- package/templates/agents/gitflow/init-clone.md +199 -199
- package/templates/agents/gitflow/init-detect.md +137 -137
- package/templates/agents/gitflow/init-validate.md +225 -225
- package/templates/agents/gitflow/init.md +340 -340
- package/templates/agents/gitflow/merge.md +145 -145
- package/templates/agents/gitflow/plan.md +42 -42
- package/templates/agents/gitflow/pr.md +191 -191
- package/templates/agents/gitflow/review.md +49 -49
- package/templates/agents/gitflow/start.md +147 -147
- package/templates/agents/gitflow/status.md +95 -95
- package/templates/agents/mcp-healthcheck.md +163 -163
- package/templates/agents/snipper.md +37 -37
- package/templates/agents/websearch.md +46 -46
- package/templates/hooks/appsettings-guard.sh +76 -76
- package/templates/hooks/docs-drift-check.md +96 -96
- package/templates/hooks/ef-migration-check.md +139 -139
- package/templates/hooks/hooks.json +58 -58
- package/templates/hooks/mcp-check.md +64 -64
- package/templates/hooks/ralph-mcp-logger.sh +46 -46
- package/templates/hooks/ralph-session-end.sh +69 -69
- package/templates/hooks/stop-hook.sh +177 -177
- package/templates/hooks/wsl-dotnet-cleanup.sh +24 -24
- package/templates/mcp-scaffolding/component.tsx.hbs +318 -318
- package/templates/mcp-scaffolding/controller.cs.hbs +192 -192
- package/templates/mcp-scaffolding/entity-extension.cs.hbs +239 -239
- package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +116 -116
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -133
- package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +126 -126
- package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +261 -261
- package/templates/mcp-scaffolding/service-extension.cs.hbs +53 -53
- package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +436 -436
- package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +239 -239
- package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +441 -441
- package/templates/mcp-scaffolding/tests/security.test.cs.hbs +442 -442
- package/templates/mcp-scaffolding/tests/service.test.cs.hbs +402 -402
- package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +428 -428
- package/templates/project/DependencyInjection.Application.cs.template +25 -25
- package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -61
- package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -70
- package/templates/project/ExampleEntity.cs.template +116 -116
- package/templates/project/ExampleEntityConfiguration.cs.template +64 -64
- package/templates/project/ExampleService.cs.template +146 -146
- package/templates/project/ExtensionsDbContext.cs.template +41 -41
- package/templates/project/IExtensionsDbContext.cs.template +22 -22
- package/templates/project/Program.cs.template +47 -47
- package/templates/project/README.md +79 -79
- package/templates/project/api.ts.template +12 -12
- package/templates/project/appsettings.json.template +170 -170
- package/templates/project/claude-settings.json.template +5 -5
- package/templates/project/test-frontend/msw/handlers.ts +58 -58
- package/templates/project/test-frontend/msw/server.ts +25 -25
- package/templates/project/test-frontend/setup.ts +16 -16
- package/templates/project/test-frontend/test-utils.tsx +59 -59
- package/templates/project/test-frontend/vitest.config.ts +31 -31
- package/templates/ralph/README.md +93 -93
- package/templates/ralph/ralph.config.yaml +113 -113
- package/templates/scripts/setup-ralph-loop.sh +173 -173
- package/templates/skills/_resources/config-safety.md +61 -61
- package/templates/skills/_resources/context-digest-template.md +53 -53
- package/templates/skills/_resources/doc-context-cache.md +60 -60
- package/templates/skills/_resources/docs-manifest-schema.md +155 -155
- package/templates/skills/_resources/formatting-guide.md +124 -124
- package/templates/skills/_resources/mcp-validate-documentation-spec.md +181 -181
- package/templates/skills/_shared.md +228 -228
- package/templates/skills/admin/SKILL.md +48 -48
- package/templates/skills/ai-prompt/SKILL.md +107 -107
- package/templates/skills/ai-prompt/steps/step-00-init.md +47 -47
- package/templates/skills/ai-prompt/steps/step-01-implementation.md +122 -122
- package/templates/skills/apex/SKILL.md +168 -168
- package/templates/skills/apex/_shared.md +141 -141
- package/templates/skills/apex/references/agent-teams-protocol.md +164 -164
- package/templates/skills/apex/references/analysis-methods.md +141 -141
- package/templates/skills/apex/references/challenge-questions.md +145 -145
- package/templates/skills/apex/references/code-generation.md +412 -412
- package/templates/skills/apex/references/core-seed-data.md +1437 -1437
- package/templates/skills/apex/references/error-classification.md +144 -144
- package/templates/skills/apex/references/examine-build-validation.md +82 -82
- package/templates/skills/apex/references/execution-frontend-gates.md +177 -177
- package/templates/skills/apex/references/execution-frontend-patterns.md +105 -105
- package/templates/skills/apex/references/execution-layer1-rules.md +96 -96
- package/templates/skills/apex/references/initialization-challenge-flow.md +110 -110
- package/templates/skills/apex/references/planning-layer-mapping.md +151 -151
- package/templates/skills/apex/references/post-checks.md +1584 -1584
- package/templates/skills/apex/references/smartstack-api.md +1053 -1053
- package/templates/skills/apex/references/smartstack-frontend.md +1571 -1571
- package/templates/skills/apex/references/smartstack-layers.md +402 -402
- package/templates/skills/apex/steps/step-00-init.md +307 -307
- package/templates/skills/apex/steps/step-01-analyze.md +165 -165
- package/templates/skills/apex/steps/step-02-plan.md +144 -144
- package/templates/skills/apex/steps/step-03-execute.md +328 -328
- package/templates/skills/apex/steps/step-04-examine.md +263 -263
- package/templates/skills/apex/steps/step-05-deep-review.md +129 -129
- package/templates/skills/apex/steps/step-06-resolve.md +101 -101
- package/templates/skills/apex/steps/step-07-tests.md +238 -238
- package/templates/skills/apex/steps/step-08-run-tests.md +125 -125
- package/templates/skills/application/SKILL.md +4 -4
- package/templates/skills/application/references/application-roles-template.md +227 -227
- package/templates/skills/application/references/backend-controller-hierarchy.md +58 -58
- package/templates/skills/application/references/backend-entity-seeding.md +72 -72
- package/templates/skills/application/references/backend-seeding-and-dto-output.md +83 -83
- package/templates/skills/application/references/backend-table-prefix-mapping.md +79 -79
- package/templates/skills/application/references/backend-verification.md +88 -88
- package/templates/skills/application/references/frontend-i18n-and-output.md +67 -67
- package/templates/skills/application/references/frontend-route-naming.md +117 -117
- package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +107 -107
- package/templates/skills/application/references/frontend-verification.md +156 -156
- package/templates/skills/application/references/migration-checklist-troubleshooting.md +1 -1
- package/templates/skills/application/references/provider-template.md +177 -177
- package/templates/skills/application/references/roles-client-project-handling.md +55 -55
- package/templates/skills/application/references/roles-fallback-procedure.md +149 -149
- package/templates/skills/application/references/test-coverage-requirements.md +213 -213
- package/templates/skills/application/references/test-frontend.md +73 -73
- package/templates/skills/application/references/test-prerequisites.md +72 -72
- package/templates/skills/application/steps/step-05-frontend.md +176 -176
- package/templates/skills/application/steps/step-06-migration.md +193 -193
- package/templates/skills/application/steps/step-07-tests.md +356 -356
- package/templates/skills/application/steps/step-08-documentation.md +137 -137
- package/templates/skills/application/templates-backend.md +463 -463
- package/templates/skills/application/templates-frontend.md +685 -685
- package/templates/skills/application/templates-i18n.md +520 -520
- package/templates/skills/application/templates-seed.md +1096 -1096
- package/templates/skills/business-analyse/SKILL.md +327 -327
- package/templates/skills/business-analyse/_architecture.md +123 -123
- package/templates/skills/business-analyse/_elicitation.md +206 -206
- package/templates/skills/business-analyse/_module-loop.md +115 -115
- package/templates/skills/business-analyse/_shared.md +383 -383
- package/templates/skills/business-analyse/_suggestions.md +34 -34
- package/templates/skills/business-analyse/html/ba-interactive.html +4477 -4477
- package/templates/skills/business-analyse/html/build-html.js +77 -77
- package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +150 -150
- package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +227 -227
- package/templates/skills/business-analyse/html/src/scripts/03-render-cadrage.js +199 -199
- package/templates/skills/business-analyse/html/src/scripts/04-render-modules.js +205 -205
- package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +647 -647
- package/templates/skills/business-analyse/html/src/scripts/06-render-consolidation.js +195 -195
- package/templates/skills/business-analyse/html/src/scripts/07-render-handoff.js +92 -92
- package/templates/skills/business-analyse/html/src/scripts/08-editing.js +135 -135
- package/templates/skills/business-analyse/html/src/scripts/09-export.js +168 -168
- package/templates/skills/business-analyse/html/src/scripts/10-comments.js +171 -171
- package/templates/skills/business-analyse/html/src/scripts/11-review-panel.js +166 -166
- package/templates/skills/business-analyse/html/src/styles/01-variables.css +38 -38
- package/templates/skills/business-analyse/html/src/styles/02-layout.css +101 -101
- package/templates/skills/business-analyse/html/src/styles/03-navigation.css +120 -120
- package/templates/skills/business-analyse/html/src/styles/04-cards.css +196 -196
- package/templates/skills/business-analyse/html/src/styles/05-modules.css +454 -454
- package/templates/skills/business-analyse/html/src/styles/06-wireframes.css +272 -272
- package/templates/skills/business-analyse/html/src/styles/07-comments.css +184 -184
- package/templates/skills/business-analyse/html/src/styles/08-review-panel.css +241 -241
- package/templates/skills/business-analyse/html/src/template.html +516 -516
- package/templates/skills/business-analyse/patterns/suggestion-catalog.md +546 -546
- package/templates/skills/business-analyse/questionnaire/00-application.md +160 -160
- package/templates/skills/business-analyse/questionnaire/00b-project.md +85 -85
- package/templates/skills/business-analyse/questionnaire/01-context.md +185 -185
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +189 -189
- package/templates/skills/business-analyse/questionnaire/03-scope.md +164 -164
- package/templates/skills/business-analyse/questionnaire/04-data.md +88 -88
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +58 -58
- package/templates/skills/business-analyse/questionnaire/06-security.md +68 -68
- package/templates/skills/business-analyse/questionnaire/07-ui.md +76 -76
- package/templates/skills/business-analyse/questionnaire/08-performance.md +42 -42
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +45 -45
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +43 -43
- package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +59 -59
- package/templates/skills/business-analyse/questionnaire/12-migration.md +58 -58
- package/templates/skills/business-analyse/questionnaire/13-cross-module.md +69 -69
- package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +135 -135
- package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +136 -136
- package/templates/skills/business-analyse/questionnaire.md +337 -337
- package/templates/skills/business-analyse/react/application-viewer.md +242 -242
- package/templates/skills/business-analyse/react/components.md +551 -551
- package/templates/skills/business-analyse/react/i18n-template.md +306 -306
- package/templates/skills/business-analyse/references/acceptance-criteria.md +169 -169
- package/templates/skills/business-analyse/references/agent-module-prompt.md +362 -362
- package/templates/skills/business-analyse/references/agent-pooling-best-practices.md +557 -557
- package/templates/skills/business-analyse/references/analysis-semantic-checks.md +190 -190
- package/templates/skills/business-analyse/references/cache-warming-strategy.md +566 -566
- package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +41 -41
- package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +74 -74
- package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +115 -115
- package/templates/skills/business-analyse/references/cadrage-shared-modules.md +68 -69
- package/templates/skills/business-analyse/references/cadrage-structure-cards.md +85 -85
- package/templates/skills/business-analyse/references/compilation-structure-cards.md +297 -297
- package/templates/skills/business-analyse/references/consolidation-structural-checks.md +107 -107
- package/templates/skills/business-analyse/references/deploy-data-build.md +180 -180
- package/templates/skills/business-analyse/references/deploy-modes.md +118 -118
- package/templates/skills/business-analyse/references/detection-strategies.md +424 -424
- package/templates/skills/business-analyse/references/entity-architecture-decision.md +218 -218
- package/templates/skills/business-analyse/references/handoff-file-templates.md +120 -120
- package/templates/skills/business-analyse/references/handoff-mappings.md +81 -81
- package/templates/skills/business-analyse/references/handoff-seeddata-generation.md +312 -312
- package/templates/skills/business-analyse/references/html-data-mapping.md +299 -299
- package/templates/skills/business-analyse/references/init-schema-deployment.md +65 -65
- package/templates/skills/business-analyse/references/naming-conventions.md +243 -243
- package/templates/skills/business-analyse/references/prd-generation.md +258 -258
- package/templates/skills/business-analyse/references/review-data-mapping.md +363 -363
- package/templates/skills/business-analyse/references/robustness-checks.md +542 -542
- package/templates/skills/business-analyse/references/spec-auto-inference.md +111 -111
- package/templates/skills/business-analyse/references/team-orchestration.md +1022 -1022
- package/templates/skills/business-analyse/references/ui-dashboard-spec.md +85 -85
- package/templates/skills/business-analyse/references/ui-resource-cards.md +259 -259
- package/templates/skills/business-analyse/references/validate-incremental-html.md +121 -121
- package/templates/skills/business-analyse/references/validation-checklist.md +347 -347
- package/templates/skills/business-analyse/references/wireframe-svg-style-guide.md +335 -335
- package/templates/skills/business-analyse/schemas/application-schema.json +453 -453
- package/templates/skills/business-analyse/schemas/feature-schema.json +53 -53
- package/templates/skills/business-analyse/schemas/project-schema.json +485 -485
- package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +201 -201
- package/templates/skills/business-analyse/schemas/sections/discovery-schema.json +82 -82
- package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +80 -80
- package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +70 -70
- package/templates/skills/business-analyse/schemas/sections/specification-schema.json +547 -547
- package/templates/skills/business-analyse/schemas/sections/validation-schema.json +93 -93
- package/templates/skills/business-analyse/schemas/shared/common-defs.json +226 -226
- package/templates/skills/business-analyse/steps/step-00-init.md +575 -576
- package/templates/skills/business-analyse/steps/step-01-cadrage.md +767 -767
- package/templates/skills/business-analyse/steps/step-01b-applications.md +419 -419
- package/templates/skills/business-analyse/steps/step-02-decomposition.md +387 -387
- package/templates/skills/business-analyse/steps/step-03a-data.md +16 -16
- package/templates/skills/business-analyse/steps/step-03a1-setup.md +506 -506
- package/templates/skills/business-analyse/steps/step-03a2-analysis.md +252 -252
- package/templates/skills/business-analyse/steps/step-03b-ui.md +425 -425
- package/templates/skills/business-analyse/steps/step-03c-compile.md +611 -611
- package/templates/skills/business-analyse/steps/step-03d-validate.md +783 -783
- package/templates/skills/business-analyse/steps/step-04-consolidation.md +17 -17
- package/templates/skills/business-analyse/steps/step-04a-collect.md +415 -415
- package/templates/skills/business-analyse/steps/step-04b-analyze.md +163 -163
- package/templates/skills/business-analyse/steps/step-04c-decide.md +186 -186
- package/templates/skills/business-analyse/steps/step-05a-handoff.md +840 -840
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +522 -522
- package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +703 -703
- package/templates/skills/business-analyse/steps/step-06-review.md +278 -278
- package/templates/skills/business-analyse/templates/tpl-frd.md +168 -168
- package/templates/skills/business-analyse/templates/tpl-handoff.md +186 -186
- package/templates/skills/business-analyse/templates/tpl-launch-displays.md +59 -59
- package/templates/skills/business-analyse/templates/tpl-progress.md +172 -172
- package/templates/skills/business-analyse/templates-frd.md +476 -476
- package/templates/skills/business-analyse/templates-react.md +574 -574
- package/templates/skills/cc-agent/SKILL.md +129 -129
- package/templates/skills/cc-agent/references/agent-behavior-patterns.md +95 -95
- package/templates/skills/cc-agent/references/agent-frontmatter.md +213 -213
- package/templates/skills/cc-agent/references/permission-modes.md +102 -102
- package/templates/skills/cc-agent/references/tools-reference.md +144 -144
- package/templates/skills/cc-agent/steps/step-00-init.md +134 -134
- package/templates/skills/cc-agent/steps/step-01-design.md +186 -186
- package/templates/skills/cc-agent/steps/step-02-generate.md +131 -131
- package/templates/skills/cc-agent/steps/step-03-validate.md +130 -130
- package/templates/skills/cc-agent/templates/agent-categorized.md +67 -67
- package/templates/skills/cc-agent/templates/agent-standalone.md +56 -56
- package/templates/skills/cc-agent/templates/agent-with-skills.md +94 -94
- package/templates/skills/cc-audit/SKILL.md +108 -108
- package/templates/skills/cc-audit/references/agent-checklist.md +91 -91
- package/templates/skills/cc-audit/references/hook-checklist.md +110 -110
- package/templates/skills/cc-audit/references/skill-checklist.md +70 -70
- package/templates/skills/cc-audit/steps/step-00-init.md +98 -98
- package/templates/skills/cc-audit/steps/step-01-scan.md +142 -142
- package/templates/skills/cc-audit/steps/step-02-analyze.md +158 -158
- package/templates/skills/cc-audit/steps/step-03-report.md +142 -142
- package/templates/skills/cc-skill/SKILL.md +134 -134
- package/templates/skills/cc-skill/references/best-practices.md +167 -167
- package/templates/skills/cc-skill/references/frontmatter-reference.md +182 -182
- package/templates/skills/cc-skill/references/skill-patterns.md +199 -199
- package/templates/skills/cc-skill/steps/step-00-init.md +119 -119
- package/templates/skills/cc-skill/steps/step-01-design.md +199 -199
- package/templates/skills/cc-skill/steps/step-02-generate.md +145 -145
- package/templates/skills/cc-skill/steps/step-03-steps.md +151 -151
- package/templates/skills/cc-skill/steps/step-04-validate.md +124 -124
- package/templates/skills/cc-skill/templates/skill-forked.md +85 -85
- package/templates/skills/cc-skill/templates/skill-progressive.md +102 -102
- package/templates/skills/cc-skill/templates/skill-simple.md +75 -75
- package/templates/skills/cc-skill/templates/step-template.md +82 -82
- package/templates/skills/check-version/SKILL.md +196 -196
- package/templates/skills/controller/SKILL.md +162 -162
- package/templates/skills/controller/postman-templates.md +614 -614
- package/templates/skills/controller/references/controller-code-templates.md +159 -159
- package/templates/skills/controller/references/mcp-scaffold-workflow.md +209 -209
- package/templates/skills/controller/references/permission-sync-templates.md +149 -149
- package/templates/skills/controller/steps/step-00-init.md +193 -191
- package/templates/skills/controller/steps/step-01-analyze.md +146 -146
- package/templates/skills/controller/steps/step-02-plan.md +176 -176
- package/templates/skills/controller/steps/step-03-generate.md +189 -189
- package/templates/skills/controller/steps/step-04-perms.md +80 -80
- package/templates/skills/controller/steps/step-05-validate.md +107 -107
- package/templates/skills/controller/templates.md +1555 -1555
- package/templates/skills/debug/SKILL.md +70 -70
- package/templates/skills/debug/references/team-protocol.md +232 -232
- package/templates/skills/debug/steps/step-00-init.md +57 -57
- package/templates/skills/debug/steps/step-01-analyze.md +219 -219
- package/templates/skills/debug/steps/step-02-resolve.md +85 -85
- package/templates/skills/documentation/SKILL.md +132 -132
- package/templates/skills/documentation/data-schema.md +227 -227
- package/templates/skills/documentation/steps/step-00-init.md +70 -70
- package/templates/skills/documentation/steps/step-01-scan.md +113 -113
- package/templates/skills/documentation/steps/step-02-generate.md +231 -231
- package/templates/skills/documentation/steps/step-03-validate.md +251 -238
- package/templates/skills/documentation/templates.md +662 -663
- package/templates/skills/efcore/SKILL.md +168 -167
- package/templates/skills/efcore/references/both-contexts.md +32 -32
- package/templates/skills/efcore/references/database-operations.md +67 -67
- package/templates/skills/efcore/references/destructive-operations.md +38 -38
- package/templates/skills/efcore/references/reset-operations.md +81 -81
- package/templates/skills/efcore/references/seed-methods.md +86 -86
- package/templates/skills/efcore/references/shared-init-functions.md +250 -250
- package/templates/skills/efcore/references/sql-objects-injection.md +61 -61
- package/templates/skills/efcore/references/troubleshooting.md +81 -81
- package/templates/skills/efcore/references/zero-downtime-patterns.md +227 -227
- package/templates/skills/efcore/steps/db/step-deploy.md +217 -217
- package/templates/skills/efcore/steps/db/step-reset.md +186 -186
- package/templates/skills/efcore/steps/db/step-seed.md +166 -166
- package/templates/skills/efcore/steps/db/step-status.md +173 -173
- package/templates/skills/efcore/steps/migration/step-00-init.md +102 -102
- package/templates/skills/efcore/steps/migration/step-01-check.md +164 -164
- package/templates/skills/efcore/steps/migration/step-02-create.md +160 -160
- package/templates/skills/efcore/steps/migration/step-03-validate.md +168 -168
- package/templates/skills/efcore/steps/rebase-snapshot/step-00-init.md +173 -173
- package/templates/skills/efcore/steps/rebase-snapshot/step-01-backup.md +100 -100
- package/templates/skills/efcore/steps/rebase-snapshot/step-02-fetch.md +115 -115
- package/templates/skills/efcore/steps/rebase-snapshot/step-03-create.md +112 -112
- package/templates/skills/efcore/steps/rebase-snapshot/step-04-validate.md +157 -157
- package/templates/skills/efcore/steps/shared/step-00-init.md +131 -131
- package/templates/skills/efcore/steps/squash/step-00-init.md +141 -141
- package/templates/skills/efcore/steps/squash/step-01-backup.md +120 -120
- package/templates/skills/efcore/steps/squash/step-02-fetch.md +168 -168
- package/templates/skills/efcore/steps/squash/step-03-create.md +184 -184
- package/templates/skills/efcore/steps/squash/step-04-validate.md +174 -174
- package/templates/skills/explore/SKILL.md +98 -98
- package/templates/skills/feature-full/SKILL.md +111 -111
- package/templates/skills/feature-full/steps/step-00-init.md +57 -57
- package/templates/skills/feature-full/steps/step-01-implementation.md +120 -120
- package/templates/skills/gitflow/SKILL.md +377 -377
- package/templates/skills/gitflow/_shared.md +620 -620
- package/templates/skills/gitflow/phases/abort.md +189 -189
- package/templates/skills/gitflow/phases/cleanup.md +234 -234
- package/templates/skills/gitflow/phases/status.md +192 -192
- package/templates/skills/gitflow/references/commit-message-generation.md +58 -58
- package/templates/skills/gitflow/references/commit-migration-validation.md +49 -49
- package/templates/skills/gitflow/references/finish-cleanup.md +55 -55
- package/templates/skills/gitflow/references/finish-version-bumping.md +45 -45
- package/templates/skills/gitflow/references/init-config-template.md +135 -135
- package/templates/skills/gitflow/references/init-environment-detection.md +41 -41
- package/templates/skills/gitflow/references/init-name-normalization.md +103 -103
- package/templates/skills/gitflow/references/init-questions.md +185 -185
- package/templates/skills/gitflow/references/init-structure-creation.md +75 -75
- package/templates/skills/gitflow/references/init-version-detection.md +21 -21
- package/templates/skills/gitflow/references/init-workspace-detection.md +43 -43
- package/templates/skills/gitflow/references/merge-ci-status.md +36 -36
- package/templates/skills/gitflow/references/merge-execution.md +62 -62
- package/templates/skills/gitflow/references/merge-pr-context.md +76 -76
- package/templates/skills/gitflow/references/plan-template.md +69 -69
- package/templates/skills/gitflow/references/pr-build-checks.md +60 -60
- package/templates/skills/gitflow/references/pr-generation.md +58 -58
- package/templates/skills/gitflow/references/start-branch-normalization.md +28 -28
- package/templates/skills/gitflow/references/start-efcore-preflight.md +70 -70
- package/templates/skills/gitflow/references/start-local-config.md +113 -113
- package/templates/skills/gitflow/references/start-worktree-creation.md +50 -50
- package/templates/skills/gitflow/references/sync-push-verify.md +44 -44
- package/templates/skills/gitflow/references/sync-rebase-conflicts.md +38 -38
- package/templates/skills/gitflow/steps/step-commit.md +199 -199
- package/templates/skills/gitflow/steps/step-finish.md +147 -147
- package/templates/skills/gitflow/steps/step-init.md +190 -190
- package/templates/skills/gitflow/steps/step-merge.md +85 -85
- package/templates/skills/gitflow/steps/step-plan.md +151 -151
- package/templates/skills/gitflow/steps/step-pr.md +199 -199
- package/templates/skills/gitflow/steps/step-start.md +195 -195
- package/templates/skills/gitflow/steps/step-sync.md +161 -161
- package/templates/skills/gitflow/templates/config.json +72 -72
- package/templates/skills/mcp/SKILL.md +62 -62
- package/templates/skills/mcp/steps/step-01-healthcheck.md +108 -108
- package/templates/skills/mcp/steps/step-02-tools.md +73 -73
- package/templates/skills/notification/SKILL.md +173 -173
- package/templates/skills/quick-search/SKILL.md +99 -99
- package/templates/skills/ralph-loop/SKILL.md +234 -234
- package/templates/skills/ralph-loop/references/category-completeness.md +185 -185
- package/templates/skills/ralph-loop/references/category-rules.md +96 -96
- package/templates/skills/ralph-loop/references/compact-loop.md +300 -300
- package/templates/skills/ralph-loop/references/init-resume-recovery.md +127 -127
- package/templates/skills/ralph-loop/references/module-transition.md +151 -151
- package/templates/skills/ralph-loop/references/multi-module-queue.md +171 -171
- package/templates/skills/ralph-loop/references/parallel-execution.md +246 -246
- package/templates/skills/ralph-loop/references/section-splitting.md +439 -439
- package/templates/skills/ralph-loop/references/task-transform-legacy.md +256 -256
- package/templates/skills/ralph-loop/references/team-orchestration.md +547 -547
- package/templates/skills/ralph-loop/steps/step-00-init.md +150 -150
- package/templates/skills/ralph-loop/steps/step-01-task.md +174 -174
- package/templates/skills/ralph-loop/steps/step-02-execute.md +177 -177
- package/templates/skills/ralph-loop/steps/step-03-commit.md +92 -92
- package/templates/skills/ralph-loop/steps/step-04-check.md +207 -207
- package/templates/skills/ralph-loop/steps/step-05-report.md +175 -175
- package/templates/skills/refactor/SKILL.md +56 -56
- package/templates/skills/refactor/steps/step-01-discover.md +60 -60
- package/templates/skills/refactor/steps/step-02-execute.md +67 -67
- package/templates/skills/review-code/SKILL.md +95 -94
- package/templates/skills/review-code/references/clean-code-principles.md +292 -292
- package/templates/skills/review-code/references/code-quality-metrics.md +174 -174
- package/templates/skills/review-code/references/feedback-patterns.md +149 -149
- package/templates/skills/review-code/references/owasp-api-top10.md +243 -243
- package/templates/skills/review-code/references/security-checklist.md +212 -212
- package/templates/skills/review-code/steps/step-01-smartstack.md +96 -96
- package/templates/skills/review-code/steps/step-02-detailed-review.md +80 -80
- package/templates/skills/review-code/steps/step-03-react.md +44 -44
- package/templates/skills/ui-components/SKILL.md +137 -137
- package/templates/skills/ui-components/accessibility.md +170 -170
- package/templates/skills/ui-components/patterns/dashboard-chart.md +327 -327
- package/templates/skills/ui-components/patterns/data-table.md +39 -39
- package/templates/skills/ui-components/patterns/entity-card.md +77 -77
- package/templates/skills/ui-components/patterns/grid-layout.md +91 -91
- package/templates/skills/ui-components/patterns/kanban.md +43 -43
- package/templates/skills/ui-components/responsive-guidelines.md +278 -278
- package/templates/skills/ui-components/style-guide.md +113 -113
- package/templates/skills/utils/SKILL.md +44 -44
- package/templates/skills/utils/subcommands/test-web-config.md +152 -152
- package/templates/skills/utils/subcommands/test-web.md +123 -123
- package/templates/skills/validate/SKILL.md +181 -181
- package/templates/skills/validate-feature/SKILL.md +101 -101
- package/templates/skills/validate-feature/references/api-smoke-tests.md +140 -140
- package/templates/skills/validate-feature/references/db-validation-checks.md +180 -180
- package/templates/skills/validate-feature/steps/step-00-dependencies.md +121 -121
- package/templates/skills/validate-feature/steps/step-01-compile.md +39 -39
- package/templates/skills/validate-feature/steps/step-02-unit-tests.md +45 -45
- package/templates/skills/validate-feature/steps/step-03-integration-tests.md +53 -53
- package/templates/skills/validate-feature/steps/step-04-api-smoke.md +94 -94
- package/templates/skills/validate-feature/steps/step-05-db-validation.md +149 -149
- package/templates/skills/workflow/SKILL.md +127 -127
- package/templates/skills/workflow/steps/step-00-init.md +57 -57
- package/templates/skills/workflow/steps/step-01-implementation.md +84 -84
- package/templates/test-web/api-health.json +38 -38
- package/templates/test-web/minimal.json +19 -19
- package/templates/test-web/npm-package.json +46 -46
- package/templates/test-web/seo-check.json +54 -54
|
@@ -1,383 +1,383 @@
|
|
|
1
|
-
# Business Analysis - Shared Core
|
|
2
|
-
|
|
3
|
-
> **Ref:** Core shared functions loaded by ALL BA steps.
|
|
4
|
-
>
|
|
5
|
-
> **Conditional files (loaded per-step as needed):**
|
|
6
|
-
> - `_elicitation.md` — Interactive protocol, techniques 1-8, AskUserQuestion format, ULTRATHINK
|
|
7
|
-
> - `_architecture.md` — SmartStack 5 layers, entity base classes, DB conventions, SeedData Core
|
|
8
|
-
> - `_module-loop.md` — Module iteration protocol, state management, resume logic
|
|
9
|
-
> - `_suggestions.md` — Proactive suggestions, Context7 libraries
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## JSON-First Architecture
|
|
14
|
-
|
|
15
|
-
All BA outputs are stored in up to **three levels** of feature.json, enriched progressively:
|
|
16
|
-
|
|
17
|
-
### Project-Level (Multi-App Master) — Only if 2+ applications
|
|
18
|
-
**Path:** `docs/business-analyse/v{X.Y}/feature.json`
|
|
19
|
-
**Schema:** `docs/business-analyse/schemas/project-schema.json`
|
|
20
|
-
**$schema:** `"../schemas/project-schema.json"`
|
|
21
|
-
|
|
22
|
-
| Step | Section enriched | Status after |
|
|
23
|
-
|------|-----------------|--------------|
|
|
24
|
-
| 00-init | metadata | draft |
|
|
25
|
-
| 01-cadrage | cadrage (global problem, stakeholders, scope, roles) | framed |
|
|
26
|
-
| 01b-applications | applications[], applicationDependencyGraph | decomposed |
|
|
27
|
-
| 02-05 | applications[].status updated per iteration | specified → handed-off |
|
|
28
|
-
|
|
29
|
-
> **Backward compatibility:** If only 1 application is identified, the project level is NOT created. The application-level feature.json remains the master (current behavior).
|
|
30
|
-
|
|
31
|
-
### Application-Level (Master)
|
|
32
|
-
**Path:** `docs/{app}/business-analyse/v{X.Y}/feature.json`
|
|
33
|
-
**Schema:** `docs/{app}/business-analyse/schemas/application-schema.json` (deployed to project by step-00)
|
|
34
|
-
**$schema:** `"../schemas/application-schema.json"` (relative in feature.json)
|
|
35
|
-
|
|
36
|
-
| Step | Section enriched | Status after |
|
|
37
|
-
|------|-----------------|--------------|
|
|
38
|
-
| 00-init (or 01b) | metadata | draft |
|
|
39
|
-
| 01-cadrage | cadrage (problem, stakeholders, scope, roles) | framed |
|
|
40
|
-
| 02-decomposition | modules, dependencyGraph | decomposed |
|
|
41
|
-
| 03-specify | modules[].status updated per iteration | specified |
|
|
42
|
-
| 04-consolidation | consolidation | consolidated |
|
|
43
|
-
| 05-handoff | (per-module handoff) | handed-off |
|
|
44
|
-
|
|
45
|
-
### Module-Level (Per Module)
|
|
46
|
-
**Path:** `docs/{app}/{module}/business-analyse/v{X.Y}/feature.json`
|
|
47
|
-
**Schema:** `docs/{app}/business-analyse/schemas/feature-schema.json` (deployed to project by step-00)
|
|
48
|
-
**$schema:** `"../../../business-analyse/schemas/feature-schema.json"` (relative in feature.json)
|
|
49
|
-
|
|
50
|
-
| Step | Section enriched | Status after |
|
|
51
|
-
|------|-----------------|--------------|
|
|
52
|
-
| 03-specify (init) | metadata, applicationContext | in-progress |
|
|
53
|
-
| 03-specify (sections) | specification.wireframes | in-progress |
|
|
54
|
-
| 03-specify (entities) | analysis.entities, analysis.businessRules | in-progress |
|
|
55
|
-
| 03-specify (spec) | specification (full) | specified |
|
|
56
|
-
| 03-specify (validate) | validation | validated |
|
|
57
|
-
|
|
58
|
-
**Agents:**
|
|
59
|
-
- **ba-writer**: Writes/updates feature.json (create, enrichSection, updateStatus, createVersion, createApplicationFeature, createProjectFeature, enrichApplicationRegistry, advanceModuleLoop, advanceApplicationLoop)
|
|
60
|
-
- **ba-reader**: Reads feature.json (findFeature, findProjectFeature, readSection, answerQuestion, getSummaryForSkill, readApplicationContext, getCompletedModulesSummary, getCompletedApplicationsSummary)
|
|
61
|
-
|
|
62
|
-
**Schemas:** Deployed to project at `docs/{app}/business-analyse/schemas/` (10 files, including project-schema.json). Source: `schemas/` in skill directory. Every feature.json includes `$schema` relative reference.
|
|
63
|
-
|
|
64
|
-
### Workflow Modes
|
|
65
|
-
|
|
66
|
-
| Mode | Trigger | Master Level | Loop |
|
|
67
|
-
|------|---------|-------------|------|
|
|
68
|
-
| `"module"` | 1 module only | Application | No loop |
|
|
69
|
-
| `"application"` | 1 app, 2+ modules | Application | Module loop |
|
|
70
|
-
| `"project"` | 2+ applications | Project | Application loop → Module loop per app |
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 4-Level Navigation Hierarchy (SmartStack)
|
|
75
|
-
|
|
76
|
-
> **This is the structuring principle of the entire BA workflow.**
|
|
77
|
-
|
|
78
|
-
The BA aligns with the SmartStack navigation hierarchy:
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
Level 1: Application (Sales)
|
|
82
|
-
Level 2: Module (Customers)
|
|
83
|
-
Level 3: Section (list) ← sidebar nav
|
|
84
|
-
Level 4: Resource (customer-grid)
|
|
85
|
-
Level 4: Resource (customer-filters)
|
|
86
|
-
Level 3: Section (detail) [hidden] ← reached by row click, route :id
|
|
87
|
-
Level 4: Resource (customer-detail-header)
|
|
88
|
-
Level 4: Resource (customer-detail-tabs)
|
|
89
|
-
Level 4: Resource (customer-info-card)
|
|
90
|
-
Level 4: Resource (customer-orders-grid) ← relation tab
|
|
91
|
-
Level 4: Resource (customer-history) ← audit tab
|
|
92
|
-
Level 2: Module (Orders)
|
|
93
|
-
Level 3: Section (list) ← sidebar nav
|
|
94
|
-
Level 3: Section (detail) [hidden] ← reached by row click
|
|
95
|
-
Level 3: Section (approve) ← sidebar nav (workflow)
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
**CRITICAL — Application identification (Level 1):**
|
|
99
|
-
The application is formally identified in step-01b (ALWAYS, even for single-app mode):
|
|
100
|
-
- Code: PascalCase (e.g., "HumanResources")
|
|
101
|
-
- Route: kebab-case (e.g., "/human-resources")
|
|
102
|
-
- Icon: Lucide icon name
|
|
103
|
-
- Sort order: position in navigation
|
|
104
|
-
This creates the `seedDataCore.navigationApplications` entry that links modules to their parent application.
|
|
105
|
-
The `seedDataCore.applicationRoles` entries are also built from `cadrage.applicationRoles`.
|
|
106
|
-
|
|
107
|
-
| BA Phase | Levels treated | What is defined |
|
|
108
|
-
|----------|---------------|-----------------|
|
|
109
|
-
| Cadrage (step-01) | Application | Problem, stakeholders, scope, application-level roles |
|
|
110
|
-
| Decomposition (step-02) | Modules | Module list, dependencies, processing order |
|
|
111
|
-
| Specification (step-03) | Module → Sections → Resources (levels 2-3-4) | Entities, BR, UC, permissions, ASCII/SVG mockups per section |
|
|
112
|
-
| Consolidation (step-04) | Cross-module | Interactions, permission coherence, E2E flows |
|
|
113
|
-
| Handoff (step-05) | All levels | Implementation mapping, prd.json |
|
|
114
|
-
|
|
115
|
-
### Route patterns
|
|
116
|
-
```
|
|
117
|
-
/{application}/{module} ← list section (= module route, NO /list suffix)
|
|
118
|
-
/{application}/{module}/:id ← detail page (= module route + /:id, NO /detail prefix)
|
|
119
|
-
/{application}/{module}/{section} ← other sidebar sections (dashboard, approve, import, etc.)
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
**Detail page routing:**
|
|
123
|
-
- The detail page uses a parameterized route with `:id`
|
|
124
|
-
- It is NOT registered as a sidebar navigation entry (`navigation: "hidden"`)
|
|
125
|
-
- It is reached by clicking a row in the `list` section (action: `navigate:detail`)
|
|
126
|
-
- The back button navigates to `/{application}/{module}`
|
|
127
|
-
- Route MUST be registered in frontend routing (App.tsx) alongside the list route
|
|
128
|
-
|
|
129
|
-
> **ROUTE SPECIAL CASES (list and detail sections):**
|
|
130
|
-
> `list` and `detail` are view modes of the module, NOT functional sub-areas.
|
|
131
|
-
> - `list` route = module route (NO `/list` suffix) — React Router index route
|
|
132
|
-
> - `detail` route = module route + `/:id` (NO `/detail/` prefix) — React Router `:id` child
|
|
133
|
-
> - FORBIDDEN in navigation seed: `/module/list`, `/module/detail/:id`
|
|
134
|
-
> - Other sections (dashboard, approve, import) add `/{section-kebab}` normally
|
|
135
|
-
|
|
136
|
-
### Standard Sections per Module
|
|
137
|
-
|
|
138
|
-
> **RULE: Sections are functional zones, NOT CRUD operations.**
|
|
139
|
-
> `create` and `edit` are SEPARATE PAGES with their own URL routes (`/create` and `/:id/edit`).
|
|
140
|
-
> `detail` is a page with tabs accessible by clicking a row in `list` (not a standalone nav section).
|
|
141
|
-
|
|
142
|
-
| Section | Purpose | Typical Components |
|
|
143
|
-
|---------|---------|-------------------|
|
|
144
|
-
| `list` | **Main page**: entity grid + create button (navigates to `/create` page) + click to detail | DataGrid, FilterBar, Pagination, CreateButton |
|
|
145
|
-
| `detail` | **Reached from list** (hidden nav, route `:id`): tabbed view of entity details + edit button (navigates to `/:id/edit` page) | BackButton, DetailHeader, StatusBadge, TabPanel, DetailCard, SmartTable (relations), Timeline (history) |
|
|
146
|
-
| `dashboard` | Module overview/KPIs (if analytics needed) | Charts, StatCards, RecentActivity |
|
|
147
|
-
| `approve` | Approval workflow queue (if validation workflow) | ApprovalPanel, StatusTimeline |
|
|
148
|
-
| `import` | Bulk data import (if volume > 100) | FileUpload, MappingTable, Preview |
|
|
149
|
-
| `rapport` | Module-specific reporting | ReportBuilder, ExportPanel |
|
|
150
|
-
| `planning` | Calendar/planning view (if time-based data) | Calendar, GanttChart, TimelineView |
|
|
151
|
-
|
|
152
|
-
**What is NEVER a section:**
|
|
153
|
-
|
|
154
|
-
| NOT a sidebar section | What it really is |
|
|
155
|
-
|---------------|-------------------|
|
|
156
|
-
| `create` | Action button in `list` page → navigates to `/create` page with form |
|
|
157
|
-
| `edit` | Action in list/detail page → navigates to `/:id/edit` page with pre-filled form |
|
|
158
|
-
| `delete` | Action with inline confirmation in `list` or detail |
|
|
159
|
-
| `search` | FilterBar component integrated in the `list` section |
|
|
160
|
-
|
|
161
|
-
> **Note on `detail`:** The detail page IS a `specification.sections[]` entry (with `navigation: "hidden"`) so it gets a wireframe, resources, and route. But it is NOT shown in the sidebar — it is reached by clicking a row in `list`. Every module with a `list` section MUST have a companion `detail` section.
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## Feature Directory Structure
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
docs/
|
|
171
|
-
business-analyse/ <- PROJECT level (only if multi-app)
|
|
172
|
-
schemas/
|
|
173
|
-
project-schema.json
|
|
174
|
-
v1.0/
|
|
175
|
-
feature.json <- PROJECT master ($schema: ../schemas/project-schema.json)
|
|
176
|
-
{application}/
|
|
177
|
-
business-analyse/
|
|
178
|
-
schemas/ <- JSON SCHEMAS (deployed by step-00)
|
|
179
|
-
feature-schema.json
|
|
180
|
-
application-schema.json
|
|
181
|
-
project-schema.json
|
|
182
|
-
sections/
|
|
183
|
-
analysis-schema.json
|
|
184
|
-
discovery-schema.json
|
|
185
|
-
handoff-schema.json
|
|
186
|
-
metadata-schema.json
|
|
187
|
-
specification-schema.json
|
|
188
|
-
validation-schema.json
|
|
189
|
-
shared/
|
|
190
|
-
common-defs.json
|
|
191
|
-
v1.0/
|
|
192
|
-
feature.json <- APPLICATION master ($schema: ../schemas/application-schema.json)
|
|
193
|
-
{module1}/
|
|
194
|
-
business-analyse/
|
|
195
|
-
v1.0/
|
|
196
|
-
feature.json <- MODULE detail ($schema: ../../../business-analyse/schemas/feature-schema.json)
|
|
197
|
-
{module2}/
|
|
198
|
-
business-analyse/
|
|
199
|
-
v1.0/
|
|
200
|
-
feature.json <- MODULE detail
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
> In standalone mode (single app), the project-level directory is NOT created.
|
|
204
|
-
|
|
205
|
-
**Ralph Loop Integration (generated by step-05):**
|
|
206
|
-
|
|
207
|
-
```
|
|
208
|
-
.ralph/
|
|
209
|
-
prd.json # Task breakdown derived from handoff (for /ralph-loop)
|
|
210
|
-
progress.txt # Links back to BA feature documents
|
|
211
|
-
logs/
|
|
212
|
-
reports/
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
## Feature ID Generation
|
|
218
|
-
|
|
219
|
-
```
|
|
220
|
-
generate_feature_id():
|
|
221
|
-
last_id = read_config(".business-analyse/config.json", "lastFeatureId") OR 0
|
|
222
|
-
new_id = last_id + 1
|
|
223
|
-
update_config(".business-analyse/config.json", "lastFeatureId", new_id)
|
|
224
|
-
RETURN format("FEAT-%03d", new_id)
|
|
225
|
-
|
|
226
|
-
generate_project_id():
|
|
227
|
-
last_id = read_config(".business-analyse/config.json", "lastProjectId") OR 0
|
|
228
|
-
new_id = last_id + 1
|
|
229
|
-
update_config(".business-analyse/config.json", "lastProjectId", new_id)
|
|
230
|
-
RETURN format("PROJ-%03d", new_id)
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## Permission Path Format
|
|
236
|
-
|
|
237
|
-
| Level | Format | Example |
|
|
238
|
-
|-------|--------|---------|
|
|
239
|
-
| Module | `{app}.{module}.{action}` | `human-resources.employees.read` |
|
|
240
|
-
| Section | `{app}.{module}.{section}.{action}` | `human-resources.employees.departments.read` |
|
|
241
|
-
|
|
242
|
-
> **Rule:** Use module-level permissions for standard CRUD. Use section-level permissions only when a section requires distinct access control (e.g., dashboard, approve, import).
|
|
243
|
-
>
|
|
244
|
-
> **CRITICAL — All segments use kebab-case:** Multi-word codes MUST have hyphens. `human-resources`, NOT `humanresources`. Matches NavRoute convention. SmartStack.app ref: `support-client.my-tickets.read`
|
|
245
|
-
|
|
246
|
-
| Action | Permission | Usage |
|
|
247
|
-
|--------|------------|-------|
|
|
248
|
-
| Read | `.read` | GET endpoints |
|
|
249
|
-
| Create | `.create` | POST endpoints |
|
|
250
|
-
| Update | `.update` | PUT endpoints |
|
|
251
|
-
| Delete | `.delete` | DELETE endpoints |
|
|
252
|
-
| Export | `.export` | Export data |
|
|
253
|
-
| Import | `.import` | Import data |
|
|
254
|
-
| Admin | `.admin` | Administrative |
|
|
255
|
-
|
|
256
|
-
---
|
|
257
|
-
|
|
258
|
-
## i18n (4 required languages)
|
|
259
|
-
|
|
260
|
-
| Language | File | Code |
|
|
261
|
-
|----------|------|------|
|
|
262
|
-
| French | `fr/docs-{app}-{module}.json` | fr |
|
|
263
|
-
| English | `en/docs-{app}-{module}.json` | en |
|
|
264
|
-
| Italian | `it/docs-{app}-{module}.json` | it |
|
|
265
|
-
| German | `de/docs-{app}-{module}.json` | de |
|
|
266
|
-
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
## Output Paths
|
|
270
|
-
|
|
271
|
-
| Type | Path |
|
|
272
|
-
|------|------|
|
|
273
|
-
| BA Feature | `docs/{app}/{module}/business-analyse/v{X.Y}/feature.json` |
|
|
274
|
-
| User Guide | `docs/{app}/{module}/user-guide/v{X.Y}/guide.json` |
|
|
275
|
-
| i18n | `web/smartstack-web/src/i18n/locales/{lang}/` |
|
|
276
|
-
|
|
277
|
-
---
|
|
278
|
-
|
|
279
|
-
## State Persistence
|
|
280
|
-
|
|
281
|
-
State is persisted in `feature.json.metadata` and `feature.json.metadata.steps`. Each step reads/writes via `ba-writer` and `ba-reader` agents.
|
|
282
|
-
|
|
283
|
-
```json
|
|
284
|
-
{
|
|
285
|
-
"metadata": {
|
|
286
|
-
"featureId": "FEAT-001",
|
|
287
|
-
"status": "analysed",
|
|
288
|
-
"steps": {
|
|
289
|
-
"00-init": { "completed": "2025-02-01T10:00:00Z" },
|
|
290
|
-
"01-analyse": { "completed": "2025-02-01T11:30:00Z" },
|
|
291
|
-
"02-specify": { "inProgress": true }
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
---
|
|
298
|
-
|
|
299
|
-
## Resume Workflow
|
|
300
|
-
|
|
301
|
-
```
|
|
302
|
-
resume_workflow(feat_id):
|
|
303
|
-
1. ba-reader.findFeature(feat_id) -> latest feature.json
|
|
304
|
-
2. Read feature.json.metadata.steps -> find last completed step
|
|
305
|
-
3. Load next step file
|
|
306
|
-
4. If not found: offer to create fresh feature.json
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
---
|
|
310
|
-
|
|
311
|
-
## Standard Summary (End of Step)
|
|
312
|
-
|
|
313
|
-
```
|
|
314
|
-
{STEP_NAME} - {feature_id}
|
|
315
|
-
Status: {status in feature.json}
|
|
316
|
-
Section enriched: {discovery|analysis|specification|validation|handoff}
|
|
317
|
-
feature.json: {path}
|
|
318
|
-
Next: {next step name}
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
---
|
|
322
|
-
|
|
323
|
-
## Configuration Langue de Communication
|
|
324
|
-
|
|
325
|
-
> **Objectif :** La langue de communication avec le client est configurable.
|
|
326
|
-
> Toute interaction via `AskUserQuestion` (questions, options, reformulations, relances)
|
|
327
|
-
> doit etre dans la langue configuree.
|
|
328
|
-
|
|
329
|
-
### Configuration
|
|
330
|
-
|
|
331
|
-
Le champ `language` dans `feature.json.metadata.language` definit la langue :
|
|
332
|
-
|
|
333
|
-
| Langue | Code | Defaut |
|
|
334
|
-
|--------|------|--------|
|
|
335
|
-
| Francais | `fr` | **Oui** |
|
|
336
|
-
| English | `en` | Non |
|
|
337
|
-
| Italiano | `it` | Non |
|
|
338
|
-
| Deutsch | `de` | Non |
|
|
339
|
-
|
|
340
|
-
### Portee
|
|
341
|
-
|
|
342
|
-
| Element | Adapte a la langue ? |
|
|
343
|
-
|---------|---------------------|
|
|
344
|
-
| Questions `AskUserQuestion` (labels, descriptions, options) | **OUI** — toujours dans `{language}` |
|
|
345
|
-
| Reformulations et resumes de categorie | **OUI** — toujours dans `{language}` |
|
|
346
|
-
| Relances et follow-ups (Elicitation Guide) | **OUI** — traduire les probes a la volee |
|
|
347
|
-
| Documents generes (discovery, analysis, specification, handoff) | **OUI** — rediges dans `{language}` |
|
|
348
|
-
| Reference technique interne (patterns, architecture) | NON — reste en langue du fichier |
|
|
349
|
-
| Noms de code (entites, permissions, paths) | NON — toujours en anglais (convention plateforme) |
|
|
350
|
-
|
|
351
|
-
### Regle
|
|
352
|
-
|
|
353
|
-
```
|
|
354
|
-
1. Lire {language} depuis feature.json.metadata.language (defaut: "fr")
|
|
355
|
-
2. Adapter TOUTE communication AskUserQuestion dans {language}
|
|
356
|
-
3. Les exemples de probes/relances dans les questionnaires sont en francais
|
|
357
|
-
-> Si {language} != "fr", les traduire a la volee
|
|
358
|
-
4. Les documents generes sont rediges dans {language}
|
|
359
|
-
5. Le code, les noms d'entites et les paths restent TOUJOURS en anglais
|
|
360
|
-
6. Ne JAMAIS utiliser "SmartStack" dans les communications utilisateur
|
|
361
|
-
-> Utiliser "la plateforme", "l'application" ou "le systeme" a la place
|
|
362
|
-
-> SmartStack est le nom interne du framework, le projet client a son propre nom
|
|
363
|
-
```
|
|
364
|
-
|
|
365
|
-
---
|
|
366
|
-
|
|
367
|
-
## Config Template
|
|
368
|
-
|
|
369
|
-
```json
|
|
370
|
-
{
|
|
371
|
-
"project": "{Name}",
|
|
372
|
-
"lastFeatureId": 0,
|
|
373
|
-
"language": "fr",
|
|
374
|
-
"standards": ["BABOK-v3", "IEEE-830"],
|
|
375
|
-
"contact": "support@atlshub.ch"
|
|
376
|
-
}
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
---
|
|
380
|
-
|
|
381
|
-
## Support
|
|
382
|
-
|
|
383
|
-
Contact: **support@atlshub.ch**
|
|
1
|
+
# Business Analysis - Shared Core
|
|
2
|
+
|
|
3
|
+
> **Ref:** Core shared functions loaded by ALL BA steps.
|
|
4
|
+
>
|
|
5
|
+
> **Conditional files (loaded per-step as needed):**
|
|
6
|
+
> - `_elicitation.md` — Interactive protocol, techniques 1-8, AskUserQuestion format, ULTRATHINK
|
|
7
|
+
> - `_architecture.md` — SmartStack 5 layers, entity base classes, DB conventions, SeedData Core
|
|
8
|
+
> - `_module-loop.md` — Module iteration protocol, state management, resume logic
|
|
9
|
+
> - `_suggestions.md` — Proactive suggestions, Context7 libraries
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## JSON-First Architecture
|
|
14
|
+
|
|
15
|
+
All BA outputs are stored in up to **three levels** of feature.json, enriched progressively:
|
|
16
|
+
|
|
17
|
+
### Project-Level (Multi-App Master) — Only if 2+ applications
|
|
18
|
+
**Path:** `docs/business-analyse/v{X.Y}/feature.json`
|
|
19
|
+
**Schema:** `docs/business-analyse/schemas/project-schema.json`
|
|
20
|
+
**$schema:** `"../schemas/project-schema.json"`
|
|
21
|
+
|
|
22
|
+
| Step | Section enriched | Status after |
|
|
23
|
+
|------|-----------------|--------------|
|
|
24
|
+
| 00-init | metadata | draft |
|
|
25
|
+
| 01-cadrage | cadrage (global problem, stakeholders, scope, roles) | framed |
|
|
26
|
+
| 01b-applications | applications[], applicationDependencyGraph | decomposed |
|
|
27
|
+
| 02-05 | applications[].status updated per iteration | specified → handed-off |
|
|
28
|
+
|
|
29
|
+
> **Backward compatibility:** If only 1 application is identified, the project level is NOT created. The application-level feature.json remains the master (current behavior).
|
|
30
|
+
|
|
31
|
+
### Application-Level (Master)
|
|
32
|
+
**Path:** `docs/{app}/business-analyse/v{X.Y}/feature.json`
|
|
33
|
+
**Schema:** `docs/{app}/business-analyse/schemas/application-schema.json` (deployed to project by step-00)
|
|
34
|
+
**$schema:** `"../schemas/application-schema.json"` (relative in feature.json)
|
|
35
|
+
|
|
36
|
+
| Step | Section enriched | Status after |
|
|
37
|
+
|------|-----------------|--------------|
|
|
38
|
+
| 00-init (or 01b) | metadata | draft |
|
|
39
|
+
| 01-cadrage | cadrage (problem, stakeholders, scope, roles) | framed |
|
|
40
|
+
| 02-decomposition | modules, dependencyGraph | decomposed |
|
|
41
|
+
| 03-specify | modules[].status updated per iteration | specified |
|
|
42
|
+
| 04-consolidation | consolidation | consolidated |
|
|
43
|
+
| 05-handoff | (per-module handoff) | handed-off |
|
|
44
|
+
|
|
45
|
+
### Module-Level (Per Module)
|
|
46
|
+
**Path:** `docs/{app}/{module}/business-analyse/v{X.Y}/feature.json`
|
|
47
|
+
**Schema:** `docs/{app}/business-analyse/schemas/feature-schema.json` (deployed to project by step-00)
|
|
48
|
+
**$schema:** `"../../../business-analyse/schemas/feature-schema.json"` (relative in feature.json)
|
|
49
|
+
|
|
50
|
+
| Step | Section enriched | Status after |
|
|
51
|
+
|------|-----------------|--------------|
|
|
52
|
+
| 03-specify (init) | metadata, applicationContext | in-progress |
|
|
53
|
+
| 03-specify (sections) | specification.wireframes | in-progress |
|
|
54
|
+
| 03-specify (entities) | analysis.entities, analysis.businessRules | in-progress |
|
|
55
|
+
| 03-specify (spec) | specification (full) | specified |
|
|
56
|
+
| 03-specify (validate) | validation | validated |
|
|
57
|
+
|
|
58
|
+
**Agents:**
|
|
59
|
+
- **ba-writer**: Writes/updates feature.json (create, enrichSection, updateStatus, createVersion, createApplicationFeature, createProjectFeature, enrichApplicationRegistry, advanceModuleLoop, advanceApplicationLoop)
|
|
60
|
+
- **ba-reader**: Reads feature.json (findFeature, findProjectFeature, readSection, answerQuestion, getSummaryForSkill, readApplicationContext, getCompletedModulesSummary, getCompletedApplicationsSummary)
|
|
61
|
+
|
|
62
|
+
**Schemas:** Deployed to project at `docs/{app}/business-analyse/schemas/` (10 files, including project-schema.json). Source: `schemas/` in skill directory. Every feature.json includes `$schema` relative reference.
|
|
63
|
+
|
|
64
|
+
### Workflow Modes
|
|
65
|
+
|
|
66
|
+
| Mode | Trigger | Master Level | Loop |
|
|
67
|
+
|------|---------|-------------|------|
|
|
68
|
+
| `"module"` | 1 module only | Application | No loop |
|
|
69
|
+
| `"application"` | 1 app, 2+ modules | Application | Module loop |
|
|
70
|
+
| `"project"` | 2+ applications | Project | Application loop → Module loop per app |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 4-Level Navigation Hierarchy (SmartStack)
|
|
75
|
+
|
|
76
|
+
> **This is the structuring principle of the entire BA workflow.**
|
|
77
|
+
|
|
78
|
+
The BA aligns with the SmartStack navigation hierarchy:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Level 1: Application (Sales)
|
|
82
|
+
Level 2: Module (Customers)
|
|
83
|
+
Level 3: Section (list) ← sidebar nav
|
|
84
|
+
Level 4: Resource (customer-grid)
|
|
85
|
+
Level 4: Resource (customer-filters)
|
|
86
|
+
Level 3: Section (detail) [hidden] ← reached by row click, route :id
|
|
87
|
+
Level 4: Resource (customer-detail-header)
|
|
88
|
+
Level 4: Resource (customer-detail-tabs)
|
|
89
|
+
Level 4: Resource (customer-info-card)
|
|
90
|
+
Level 4: Resource (customer-orders-grid) ← relation tab
|
|
91
|
+
Level 4: Resource (customer-history) ← audit tab
|
|
92
|
+
Level 2: Module (Orders)
|
|
93
|
+
Level 3: Section (list) ← sidebar nav
|
|
94
|
+
Level 3: Section (detail) [hidden] ← reached by row click
|
|
95
|
+
Level 3: Section (approve) ← sidebar nav (workflow)
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**CRITICAL — Application identification (Level 1):**
|
|
99
|
+
The application is formally identified in step-01b (ALWAYS, even for single-app mode):
|
|
100
|
+
- Code: PascalCase (e.g., "HumanResources")
|
|
101
|
+
- Route: kebab-case (e.g., "/human-resources")
|
|
102
|
+
- Icon: Lucide icon name
|
|
103
|
+
- Sort order: position in navigation
|
|
104
|
+
This creates the `seedDataCore.navigationApplications` entry that links modules to their parent application.
|
|
105
|
+
The `seedDataCore.applicationRoles` entries are also built from `cadrage.applicationRoles`.
|
|
106
|
+
|
|
107
|
+
| BA Phase | Levels treated | What is defined |
|
|
108
|
+
|----------|---------------|-----------------|
|
|
109
|
+
| Cadrage (step-01) | Application | Problem, stakeholders, scope, application-level roles |
|
|
110
|
+
| Decomposition (step-02) | Modules | Module list, dependencies, processing order |
|
|
111
|
+
| Specification (step-03) | Module → Sections → Resources (levels 2-3-4) | Entities, BR, UC, permissions, ASCII/SVG mockups per section |
|
|
112
|
+
| Consolidation (step-04) | Cross-module | Interactions, permission coherence, E2E flows |
|
|
113
|
+
| Handoff (step-05) | All levels | Implementation mapping, prd.json |
|
|
114
|
+
|
|
115
|
+
### Route patterns
|
|
116
|
+
```
|
|
117
|
+
/{application}/{module} ← list section (= module route, NO /list suffix)
|
|
118
|
+
/{application}/{module}/:id ← detail page (= module route + /:id, NO /detail prefix)
|
|
119
|
+
/{application}/{module}/{section} ← other sidebar sections (dashboard, approve, import, etc.)
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Detail page routing:**
|
|
123
|
+
- The detail page uses a parameterized route with `:id`
|
|
124
|
+
- It is NOT registered as a sidebar navigation entry (`navigation: "hidden"`)
|
|
125
|
+
- It is reached by clicking a row in the `list` section (action: `navigate:detail`)
|
|
126
|
+
- The back button navigates to `/{application}/{module}`
|
|
127
|
+
- Route MUST be registered in frontend routing (App.tsx) alongside the list route
|
|
128
|
+
|
|
129
|
+
> **ROUTE SPECIAL CASES (list and detail sections):**
|
|
130
|
+
> `list` and `detail` are view modes of the module, NOT functional sub-areas.
|
|
131
|
+
> - `list` route = module route (NO `/list` suffix) — React Router index route
|
|
132
|
+
> - `detail` route = module route + `/:id` (NO `/detail/` prefix) — React Router `:id` child
|
|
133
|
+
> - FORBIDDEN in navigation seed: `/module/list`, `/module/detail/:id`
|
|
134
|
+
> - Other sections (dashboard, approve, import) add `/{section-kebab}` normally
|
|
135
|
+
|
|
136
|
+
### Standard Sections per Module
|
|
137
|
+
|
|
138
|
+
> **RULE: Sections are functional zones, NOT CRUD operations.**
|
|
139
|
+
> `create` and `edit` are SEPARATE PAGES with their own URL routes (`/create` and `/:id/edit`).
|
|
140
|
+
> `detail` is a page with tabs accessible by clicking a row in `list` (not a standalone nav section).
|
|
141
|
+
|
|
142
|
+
| Section | Purpose | Typical Components |
|
|
143
|
+
|---------|---------|-------------------|
|
|
144
|
+
| `list` | **Main page**: entity grid + create button (navigates to `/create` page) + click to detail | DataGrid, FilterBar, Pagination, CreateButton |
|
|
145
|
+
| `detail` | **Reached from list** (hidden nav, route `:id`): tabbed view of entity details + edit button (navigates to `/:id/edit` page) | BackButton, DetailHeader, StatusBadge, TabPanel, DetailCard, SmartTable (relations), Timeline (history) |
|
|
146
|
+
| `dashboard` | Module overview/KPIs (if analytics needed) | Charts, StatCards, RecentActivity |
|
|
147
|
+
| `approve` | Approval workflow queue (if validation workflow) | ApprovalPanel, StatusTimeline |
|
|
148
|
+
| `import` | Bulk data import (if volume > 100) | FileUpload, MappingTable, Preview |
|
|
149
|
+
| `rapport` | Module-specific reporting | ReportBuilder, ExportPanel |
|
|
150
|
+
| `planning` | Calendar/planning view (if time-based data) | Calendar, GanttChart, TimelineView |
|
|
151
|
+
|
|
152
|
+
**What is NEVER a section:**
|
|
153
|
+
|
|
154
|
+
| NOT a sidebar section | What it really is |
|
|
155
|
+
|---------------|-------------------|
|
|
156
|
+
| `create` | Action button in `list` page → navigates to `/create` page with form |
|
|
157
|
+
| `edit` | Action in list/detail page → navigates to `/:id/edit` page with pre-filled form |
|
|
158
|
+
| `delete` | Action with inline confirmation in `list` or detail |
|
|
159
|
+
| `search` | FilterBar component integrated in the `list` section |
|
|
160
|
+
|
|
161
|
+
> **Note on `detail`:** The detail page IS a `specification.sections[]` entry (with `navigation: "hidden"`) so it gets a wireframe, resources, and route. But it is NOT shown in the sidebar — it is reached by clicking a row in `list`. Every module with a `list` section MUST have a companion `detail` section.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Feature Directory Structure
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
docs/
|
|
171
|
+
business-analyse/ <- PROJECT level (only if multi-app)
|
|
172
|
+
schemas/
|
|
173
|
+
project-schema.json
|
|
174
|
+
v1.0/
|
|
175
|
+
feature.json <- PROJECT master ($schema: ../schemas/project-schema.json)
|
|
176
|
+
{application}/
|
|
177
|
+
business-analyse/
|
|
178
|
+
schemas/ <- JSON SCHEMAS (deployed by step-00)
|
|
179
|
+
feature-schema.json
|
|
180
|
+
application-schema.json
|
|
181
|
+
project-schema.json
|
|
182
|
+
sections/
|
|
183
|
+
analysis-schema.json
|
|
184
|
+
discovery-schema.json
|
|
185
|
+
handoff-schema.json
|
|
186
|
+
metadata-schema.json
|
|
187
|
+
specification-schema.json
|
|
188
|
+
validation-schema.json
|
|
189
|
+
shared/
|
|
190
|
+
common-defs.json
|
|
191
|
+
v1.0/
|
|
192
|
+
feature.json <- APPLICATION master ($schema: ../schemas/application-schema.json)
|
|
193
|
+
{module1}/
|
|
194
|
+
business-analyse/
|
|
195
|
+
v1.0/
|
|
196
|
+
feature.json <- MODULE detail ($schema: ../../../business-analyse/schemas/feature-schema.json)
|
|
197
|
+
{module2}/
|
|
198
|
+
business-analyse/
|
|
199
|
+
v1.0/
|
|
200
|
+
feature.json <- MODULE detail
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
> In standalone mode (single app), the project-level directory is NOT created.
|
|
204
|
+
|
|
205
|
+
**Ralph Loop Integration (generated by step-05):**
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
.ralph/
|
|
209
|
+
prd.json # Task breakdown derived from handoff (for /ralph-loop)
|
|
210
|
+
progress.txt # Links back to BA feature documents
|
|
211
|
+
logs/
|
|
212
|
+
reports/
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Feature ID Generation
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
generate_feature_id():
|
|
221
|
+
last_id = read_config(".business-analyse/config.json", "lastFeatureId") OR 0
|
|
222
|
+
new_id = last_id + 1
|
|
223
|
+
update_config(".business-analyse/config.json", "lastFeatureId", new_id)
|
|
224
|
+
RETURN format("FEAT-%03d", new_id)
|
|
225
|
+
|
|
226
|
+
generate_project_id():
|
|
227
|
+
last_id = read_config(".business-analyse/config.json", "lastProjectId") OR 0
|
|
228
|
+
new_id = last_id + 1
|
|
229
|
+
update_config(".business-analyse/config.json", "lastProjectId", new_id)
|
|
230
|
+
RETURN format("PROJ-%03d", new_id)
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Permission Path Format
|
|
236
|
+
|
|
237
|
+
| Level | Format | Example |
|
|
238
|
+
|-------|--------|---------|
|
|
239
|
+
| Module | `{app}.{module}.{action}` | `human-resources.employees.read` |
|
|
240
|
+
| Section | `{app}.{module}.{section}.{action}` | `human-resources.employees.departments.read` |
|
|
241
|
+
|
|
242
|
+
> **Rule:** Use module-level permissions for standard CRUD. Use section-level permissions only when a section requires distinct access control (e.g., dashboard, approve, import).
|
|
243
|
+
>
|
|
244
|
+
> **CRITICAL — All segments use kebab-case:** Multi-word codes MUST have hyphens. `human-resources`, NOT `humanresources`. Matches NavRoute convention. SmartStack.app ref: `support-client.my-tickets.read`
|
|
245
|
+
|
|
246
|
+
| Action | Permission | Usage |
|
|
247
|
+
|--------|------------|-------|
|
|
248
|
+
| Read | `.read` | GET endpoints |
|
|
249
|
+
| Create | `.create` | POST endpoints |
|
|
250
|
+
| Update | `.update` | PUT endpoints |
|
|
251
|
+
| Delete | `.delete` | DELETE endpoints |
|
|
252
|
+
| Export | `.export` | Export data |
|
|
253
|
+
| Import | `.import` | Import data |
|
|
254
|
+
| Admin | `.admin` | Administrative |
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## i18n (4 required languages)
|
|
259
|
+
|
|
260
|
+
| Language | File | Code |
|
|
261
|
+
|----------|------|------|
|
|
262
|
+
| French | `fr/docs-{app}-{module}.json` | fr |
|
|
263
|
+
| English | `en/docs-{app}-{module}.json` | en |
|
|
264
|
+
| Italian | `it/docs-{app}-{module}.json` | it |
|
|
265
|
+
| German | `de/docs-{app}-{module}.json` | de |
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Output Paths
|
|
270
|
+
|
|
271
|
+
| Type | Path |
|
|
272
|
+
|------|------|
|
|
273
|
+
| BA Feature | `docs/{app}/{module}/business-analyse/v{X.Y}/feature.json` |
|
|
274
|
+
| User Guide | `docs/{app}/{module}/user-guide/v{X.Y}/guide.json` |
|
|
275
|
+
| i18n | `web/smartstack-web/src/i18n/locales/{lang}/` |
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## State Persistence
|
|
280
|
+
|
|
281
|
+
State is persisted in `feature.json.metadata` and `feature.json.metadata.steps`. Each step reads/writes via `ba-writer` and `ba-reader` agents.
|
|
282
|
+
|
|
283
|
+
```json
|
|
284
|
+
{
|
|
285
|
+
"metadata": {
|
|
286
|
+
"featureId": "FEAT-001",
|
|
287
|
+
"status": "analysed",
|
|
288
|
+
"steps": {
|
|
289
|
+
"00-init": { "completed": "2025-02-01T10:00:00Z" },
|
|
290
|
+
"01-analyse": { "completed": "2025-02-01T11:30:00Z" },
|
|
291
|
+
"02-specify": { "inProgress": true }
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Resume Workflow
|
|
300
|
+
|
|
301
|
+
```
|
|
302
|
+
resume_workflow(feat_id):
|
|
303
|
+
1. ba-reader.findFeature(feat_id) -> latest feature.json
|
|
304
|
+
2. Read feature.json.metadata.steps -> find last completed step
|
|
305
|
+
3. Load next step file
|
|
306
|
+
4. If not found: offer to create fresh feature.json
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## Standard Summary (End of Step)
|
|
312
|
+
|
|
313
|
+
```
|
|
314
|
+
{STEP_NAME} - {feature_id}
|
|
315
|
+
Status: {status in feature.json}
|
|
316
|
+
Section enriched: {discovery|analysis|specification|validation|handoff}
|
|
317
|
+
feature.json: {path}
|
|
318
|
+
Next: {next step name}
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Configuration Langue de Communication
|
|
324
|
+
|
|
325
|
+
> **Objectif :** La langue de communication avec le client est configurable.
|
|
326
|
+
> Toute interaction via `AskUserQuestion` (questions, options, reformulations, relances)
|
|
327
|
+
> doit etre dans la langue configuree.
|
|
328
|
+
|
|
329
|
+
### Configuration
|
|
330
|
+
|
|
331
|
+
Le champ `language` dans `feature.json.metadata.language` definit la langue :
|
|
332
|
+
|
|
333
|
+
| Langue | Code | Defaut |
|
|
334
|
+
|--------|------|--------|
|
|
335
|
+
| Francais | `fr` | **Oui** |
|
|
336
|
+
| English | `en` | Non |
|
|
337
|
+
| Italiano | `it` | Non |
|
|
338
|
+
| Deutsch | `de` | Non |
|
|
339
|
+
|
|
340
|
+
### Portee
|
|
341
|
+
|
|
342
|
+
| Element | Adapte a la langue ? |
|
|
343
|
+
|---------|---------------------|
|
|
344
|
+
| Questions `AskUserQuestion` (labels, descriptions, options) | **OUI** — toujours dans `{language}` |
|
|
345
|
+
| Reformulations et resumes de categorie | **OUI** — toujours dans `{language}` |
|
|
346
|
+
| Relances et follow-ups (Elicitation Guide) | **OUI** — traduire les probes a la volee |
|
|
347
|
+
| Documents generes (discovery, analysis, specification, handoff) | **OUI** — rediges dans `{language}` |
|
|
348
|
+
| Reference technique interne (patterns, architecture) | NON — reste en langue du fichier |
|
|
349
|
+
| Noms de code (entites, permissions, paths) | NON — toujours en anglais (convention plateforme) |
|
|
350
|
+
|
|
351
|
+
### Regle
|
|
352
|
+
|
|
353
|
+
```
|
|
354
|
+
1. Lire {language} depuis feature.json.metadata.language (defaut: "fr")
|
|
355
|
+
2. Adapter TOUTE communication AskUserQuestion dans {language}
|
|
356
|
+
3. Les exemples de probes/relances dans les questionnaires sont en francais
|
|
357
|
+
-> Si {language} != "fr", les traduire a la volee
|
|
358
|
+
4. Les documents generes sont rediges dans {language}
|
|
359
|
+
5. Le code, les noms d'entites et les paths restent TOUJOURS en anglais
|
|
360
|
+
6. Ne JAMAIS utiliser "SmartStack" dans les communications utilisateur
|
|
361
|
+
-> Utiliser "la plateforme", "l'application" ou "le systeme" a la place
|
|
362
|
+
-> SmartStack est le nom interne du framework, le projet client a son propre nom
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## Config Template
|
|
368
|
+
|
|
369
|
+
```json
|
|
370
|
+
{
|
|
371
|
+
"project": "{Name}",
|
|
372
|
+
"lastFeatureId": 0,
|
|
373
|
+
"language": "fr",
|
|
374
|
+
"standards": ["BABOK-v3", "IEEE-830"],
|
|
375
|
+
"contact": "support@atlshub.ch"
|
|
376
|
+
}
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
## Support
|
|
382
|
+
|
|
383
|
+
Contact: **support@atlshub.ch**
|