@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,206 +1,206 @@
|
|
|
1
|
-
# Business Analysis - Elicitation & Interaction (_elicitation.md)
|
|
2
|
-
|
|
3
|
-
> **Loaded by:** step-01-cadrage, step-03a-data
|
|
4
|
-
> **Purpose:** Interactive questioning techniques, AskUserQuestion formatting, ULTRATHINK mode
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## Interactive Elicitation Protocol
|
|
9
|
-
|
|
10
|
-
> **RULE: ALL questions MUST be asked interactively using `AskUserQuestion`.**
|
|
11
|
-
> **NEVER dump a list of questions as text. ALWAYS use the tool.**
|
|
12
|
-
|
|
13
|
-
### Protocol
|
|
14
|
-
|
|
15
|
-
1. **Group questions by theme** — max 4 questions per `AskUserQuestion` call (tool limit)
|
|
16
|
-
2. **Propose predefined options** — for questions with predictable answers, provide 2-4 options
|
|
17
|
-
3. **The user can always choose "Other"** — the tool adds this automatically for free-text answers
|
|
18
|
-
4. **Process answers immediately** — apply ULTRATHINK + follow-ups before moving to next group
|
|
19
|
-
5. **Adapt next questions** — based on previous answers, skip irrelevant questions
|
|
20
|
-
|
|
21
|
-
### Batching Strategy
|
|
22
|
-
|
|
23
|
-
| Category | Questions | Batches |
|
|
24
|
-
|----------|-----------|---------|
|
|
25
|
-
| 01-context | Q1.1-Q1.4 | 1 call |
|
|
26
|
-
| 02-stakeholders | Q2.1-Q2.8 | 2 calls |
|
|
27
|
-
| 03-scope | Q3.1-Q3.8 | 2 calls |
|
|
28
|
-
| 04-data | Q4.1-Q4.8 | 2 calls |
|
|
29
|
-
| 05-integrations | Q5.1-Q5.8 | 2 calls |
|
|
30
|
-
| 06-security | Q6.1-Q6.8 | 2 calls |
|
|
31
|
-
| 07-ui | Q7.1-Q7.8 | 2 calls |
|
|
32
|
-
| 08-performance | Q8.1-Q8.4 | 1 call |
|
|
33
|
-
| 09-constraints | Q9.1-Q9.4 | 1 call |
|
|
34
|
-
| 10-documentation | Q10.1-Q10.4 | 1 call |
|
|
35
|
-
| 11-data-lifecycle | Q11.1-Q11.8 | 2 calls |
|
|
36
|
-
| 12-migration | Q12.1-Q12.8 | 2 calls |
|
|
37
|
-
| 13-cross-module | Q13.1-Q13.8 | 2 calls |
|
|
38
|
-
|
|
39
|
-
### AskUserQuestion Format
|
|
40
|
-
|
|
41
|
-
> **FORMATTING CRITICAL: `AskUserQuestion` does NOT support markdown or line breaks.**
|
|
42
|
-
> Le champ `question` est rendu en texte brut (plain text). Il n'y a pas de retour a la ligne,
|
|
43
|
-
> pas de gras, pas de puces. Une question simple reste lisible meme longue. Mais du contenu
|
|
44
|
-
> structure (listes, resumes multi-points, tableaux) devient un mur de texte illisible.
|
|
45
|
-
|
|
46
|
-
| Field | Rule |
|
|
47
|
-
|-------|------|
|
|
48
|
-
| `question` | **1 question ou 1 phrase.** Jamais de liste, resume multi-points ou contenu structure. |
|
|
49
|
-
| `header` | 1-2 mots (max 12 chars) |
|
|
50
|
-
| `label` (option) | Court et clair (~20 chars) |
|
|
51
|
-
| `description` (option) | 1 phrase explicative (~60 chars) |
|
|
52
|
-
|
|
53
|
-
> **Pour afficher du contenu structure** (resumes, listes, tableaux, syntheses) :
|
|
54
|
-
> **TOUJOURS** utiliser du **texte direct** (output text) AVANT l'appel `AskUserQuestion`.
|
|
55
|
-
> Le texte direct supporte le markdown et sera correctement formate avec titres, puces, gras, etc.
|
|
56
|
-
>
|
|
57
|
-
> **Exemple — Validation de synthese :**
|
|
58
|
-
> 1. Afficher le resume structure en markdown (texte direct)
|
|
59
|
-
> 2. Puis poser une question courte : "Cette synthese est-elle correcte ?"
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
AskUserQuestion({
|
|
63
|
-
questions: [
|
|
64
|
-
{
|
|
65
|
-
question: "Quel probleme metier ce module doit-il resoudre ?",
|
|
66
|
-
header: "Probleme", // max 12 chars
|
|
67
|
-
options: [
|
|
68
|
-
{ label: "Processus manuel", description: "Automatiser un processus existant fait manuellement" },
|
|
69
|
-
{ label: "Donnees dispersees", description: "Centraliser des donnees eparpillees dans plusieurs outils" },
|
|
70
|
-
{ label: "Manque visibilite", description: "Obtenir des indicateurs et du suivi inexistants aujourd'hui" },
|
|
71
|
-
{ label: "Conformite", description: "Repondre a une obligation reglementaire ou de securite" }
|
|
72
|
-
],
|
|
73
|
-
multiSelect: false
|
|
74
|
-
},
|
|
75
|
-
// ... up to 4 questions per call
|
|
76
|
-
]
|
|
77
|
-
})
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### After Each Batch
|
|
81
|
-
|
|
82
|
-
1. **Evaluate answer quality** (see Answer Quality Indicators)
|
|
83
|
-
2. **If insufficient** -> follow-up AskUserQuestion with targeted probes from the Elicitation Guide
|
|
84
|
-
3. **If solution-oriented** -> reframe using Technique 1 before proceeding
|
|
85
|
-
4. **If sufficient/excellent** -> record and move to next batch
|
|
86
|
-
5. **Summarize** what was understood before moving to the next category
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Techniques d'elicitation
|
|
91
|
-
|
|
92
|
-
> **Objectif :** Guider COMMENT questionner, pas seulement QUOI demander.
|
|
93
|
-
> **Principe :** Chaque technique doit etre appliquee naturellement dans le flux de la conversation,
|
|
94
|
-
> pas comme un outil supplementaire. L'analyste choisit la technique adaptee a la situation.
|
|
95
|
-
|
|
96
|
-
### Technique 1 : Reformulation du besoin
|
|
97
|
-
|
|
98
|
-
Quand le client decrit une **solution** (bouton, ecran, champ, outil), reformuler en **besoin** :
|
|
99
|
-
|
|
100
|
-
| Le client dit | L'analyste demande |
|
|
101
|
-
|---------------|-------------------|
|
|
102
|
-
| "Il me faut un menu deroulant pour les roles" | "Quel probleme rencontrez-vous aujourd'hui avec la gestion des acces ? Pourquoi certaines personnes doivent-elles avoir des acces differents ?" |
|
|
103
|
-
| "On a besoin d'un bouton d'export" | "Que faites-vous avec les donnees une fois exportees ? Qui en a besoin et pourquoi ?" |
|
|
104
|
-
| "Ajoutez un champ statut" | "Quel parcours suit cet element du debut a la fin ? Quels evenements declenchent un changement d'etat ?" |
|
|
105
|
-
|
|
106
|
-
### Technique 2 : Chaine des pourquoi
|
|
107
|
-
|
|
108
|
-
Quand le besoin semble superficiel, enchainez jusqu'a 5 "Pourquoi ?" pour trouver la cause racine :
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
Client : "On a besoin de suivre l'activite des utilisateurs"
|
|
112
|
-
-> Pourquoi ? "Pour savoir qui a modifie quoi"
|
|
113
|
-
-> Pourquoi ? "Parce qu'on a eu des problemes de donnees incorrectes"
|
|
114
|
-
-> Pourquoi ? "Parce que plusieurs personnes modifient les memes fiches"
|
|
115
|
-
-> CAUSE RACINE : Conflit d'edition simultanee -> Besoin de journal d'activite + protection des modifications
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### Technique 3 : Extraction de scenario concret
|
|
119
|
-
|
|
120
|
-
Ne jamais accepter de descriptions abstraites. Toujours demander un **scenario de vie reelle** :
|
|
121
|
-
|
|
122
|
-
```
|
|
123
|
-
"Racontez-moi une journee type : vous arrivez au bureau, vous ouvrez l'application.
|
|
124
|
-
Quelle est la PREMIERE chose que vous devez faire ?
|
|
125
|
-
Puis ensuite ? Quelles informations consultez-vous ? Quelles decisions prenez-vous ?"
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Technique 4 : Test d'absence
|
|
129
|
-
|
|
130
|
-
Valider la necessite en demandant ce qui se passe SANS :
|
|
131
|
-
|
|
132
|
-
```
|
|
133
|
-
"Si cette fonctionnalite N'EXISTAIT PAS, que feriez-vous a la place ?
|
|
134
|
-
Combien de temps ou d'argent le contournement actuel coute-t-il ?"
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### Technique 5 : Verification de completude
|
|
138
|
-
|
|
139
|
-
Pour chaque reponse sous forme de liste, verifier qu'il ne manque rien :
|
|
140
|
-
|
|
141
|
-
| Type de reponse | Relance |
|
|
142
|
-
|-----------------|---------|
|
|
143
|
-
| "Il y a 3 types d'utilisateurs" | "Y a-t-il des acteurs externes ? Des auditeurs ? Des administrateurs systeme ? Des processus automatiques ?" |
|
|
144
|
-
| "Le flux principal est A puis B puis C" | "Que se passe-t-il si l'utilisateur annule a l'etape B ? Si l'etape C echoue ? S'il veut revenir a A ?" |
|
|
145
|
-
| "Champs obligatoires : nom et email" | "Quelles contraintes d'unicite ? Quel format ? Que se passe-t-il en cas de doublon ?" |
|
|
146
|
-
|
|
147
|
-
### Technique 6 : Projection dans le futur
|
|
148
|
-
|
|
149
|
-
Demander au client de se projeter pour decouvrir des besoins non exprimes :
|
|
150
|
-
|
|
151
|
-
```
|
|
152
|
-
"Imaginons que nous sommes 2 ans dans le futur et que l'application fonctionne parfaitement.
|
|
153
|
-
Qu'est-ce qui a change dans votre facon de travailler ?
|
|
154
|
-
Quels nouveaux besoins sont apparus auxquels vous ne pensez pas aujourd'hui ?"
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### Technique 7 : Test de contradiction
|
|
158
|
-
|
|
159
|
-
Quand deux reponses semblent contradictoires, les confronter pour clarifier :
|
|
160
|
-
|
|
161
|
-
```
|
|
162
|
-
"Vous avez mentionne que [affirmation A], mais vous dites aussi que [affirmation B].
|
|
163
|
-
Ces deux elements semblent en tension. Pouvez-vous m'aider a comprendre
|
|
164
|
-
comment ils coexistent dans la realite ?"
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### Technique 8 : Escalade d'impact
|
|
168
|
-
|
|
169
|
-
Augmenter progressivement l'echelle pour tester les limites :
|
|
170
|
-
|
|
171
|
-
```
|
|
172
|
-
"Aujourd'hui vous avez 50 fiches. Que se passe-t-il avec 500 ? Avec 5000 ?
|
|
173
|
-
Est-ce que le processus reste le meme ou faudrait-il faire differemment ?"
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Indicateurs de qualite des reponses
|
|
177
|
-
|
|
178
|
-
| Qualite | Signal | Action |
|
|
179
|
-
|---------|--------|--------|
|
|
180
|
-
| **Insuffisante** | Moins d'une phrase, "je ne sais pas", adjectif vague | Appliquer les techniques 1 a 8, demander un exemple concret |
|
|
181
|
-
| **Orientee solution** | Contient des termes d'interface ou techniques (bouton, champ, base de donnees) | Appliquer la technique 1 (reformuler en besoin) |
|
|
182
|
-
| **Suffisante** | Contient QUI, QUOI, POURQUOI et un exemple concret | Continuer, noter le niveau de confiance |
|
|
183
|
-
| **Excellente** | Inclut les cas limites, les contraintes et des criteres mesurables | Continuer, marquer comme "Confirme" |
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## ULTRATHINK
|
|
188
|
-
|
|
189
|
-
Behavioral mode for critical phases (01, 03a):
|
|
190
|
-
|
|
191
|
-
```
|
|
192
|
-
ULTRATHINK MODE:
|
|
193
|
-
- Consider ALL edge cases
|
|
194
|
-
- Challenge EVERY assumption
|
|
195
|
-
- Anticipate UNEXPRESSED needs
|
|
196
|
-
- Validate completeness before output
|
|
197
|
-
- Apply Elicitation Techniques (see above)
|
|
198
|
-
|
|
199
|
-
DO NOT:
|
|
200
|
-
- Accept vague answers
|
|
201
|
-
- Skip question categories
|
|
202
|
-
- Assume stakeholder thought of everything
|
|
203
|
-
- Accept solutions without understanding the problem first
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
**DO NOT invoke** as a skill/tool - it is a thinking mode.
|
|
1
|
+
# Business Analysis - Elicitation & Interaction (_elicitation.md)
|
|
2
|
+
|
|
3
|
+
> **Loaded by:** step-01-cadrage, step-03a-data
|
|
4
|
+
> **Purpose:** Interactive questioning techniques, AskUserQuestion formatting, ULTRATHINK mode
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Interactive Elicitation Protocol
|
|
9
|
+
|
|
10
|
+
> **RULE: ALL questions MUST be asked interactively using `AskUserQuestion`.**
|
|
11
|
+
> **NEVER dump a list of questions as text. ALWAYS use the tool.**
|
|
12
|
+
|
|
13
|
+
### Protocol
|
|
14
|
+
|
|
15
|
+
1. **Group questions by theme** — max 4 questions per `AskUserQuestion` call (tool limit)
|
|
16
|
+
2. **Propose predefined options** — for questions with predictable answers, provide 2-4 options
|
|
17
|
+
3. **The user can always choose "Other"** — the tool adds this automatically for free-text answers
|
|
18
|
+
4. **Process answers immediately** — apply ULTRATHINK + follow-ups before moving to next group
|
|
19
|
+
5. **Adapt next questions** — based on previous answers, skip irrelevant questions
|
|
20
|
+
|
|
21
|
+
### Batching Strategy
|
|
22
|
+
|
|
23
|
+
| Category | Questions | Batches |
|
|
24
|
+
|----------|-----------|---------|
|
|
25
|
+
| 01-context | Q1.1-Q1.4 | 1 call |
|
|
26
|
+
| 02-stakeholders | Q2.1-Q2.8 | 2 calls |
|
|
27
|
+
| 03-scope | Q3.1-Q3.8 | 2 calls |
|
|
28
|
+
| 04-data | Q4.1-Q4.8 | 2 calls |
|
|
29
|
+
| 05-integrations | Q5.1-Q5.8 | 2 calls |
|
|
30
|
+
| 06-security | Q6.1-Q6.8 | 2 calls |
|
|
31
|
+
| 07-ui | Q7.1-Q7.8 | 2 calls |
|
|
32
|
+
| 08-performance | Q8.1-Q8.4 | 1 call |
|
|
33
|
+
| 09-constraints | Q9.1-Q9.4 | 1 call |
|
|
34
|
+
| 10-documentation | Q10.1-Q10.4 | 1 call |
|
|
35
|
+
| 11-data-lifecycle | Q11.1-Q11.8 | 2 calls |
|
|
36
|
+
| 12-migration | Q12.1-Q12.8 | 2 calls |
|
|
37
|
+
| 13-cross-module | Q13.1-Q13.8 | 2 calls |
|
|
38
|
+
|
|
39
|
+
### AskUserQuestion Format
|
|
40
|
+
|
|
41
|
+
> **FORMATTING CRITICAL: `AskUserQuestion` does NOT support markdown or line breaks.**
|
|
42
|
+
> Le champ `question` est rendu en texte brut (plain text). Il n'y a pas de retour a la ligne,
|
|
43
|
+
> pas de gras, pas de puces. Une question simple reste lisible meme longue. Mais du contenu
|
|
44
|
+
> structure (listes, resumes multi-points, tableaux) devient un mur de texte illisible.
|
|
45
|
+
|
|
46
|
+
| Field | Rule |
|
|
47
|
+
|-------|------|
|
|
48
|
+
| `question` | **1 question ou 1 phrase.** Jamais de liste, resume multi-points ou contenu structure. |
|
|
49
|
+
| `header` | 1-2 mots (max 12 chars) |
|
|
50
|
+
| `label` (option) | Court et clair (~20 chars) |
|
|
51
|
+
| `description` (option) | 1 phrase explicative (~60 chars) |
|
|
52
|
+
|
|
53
|
+
> **Pour afficher du contenu structure** (resumes, listes, tableaux, syntheses) :
|
|
54
|
+
> **TOUJOURS** utiliser du **texte direct** (output text) AVANT l'appel `AskUserQuestion`.
|
|
55
|
+
> Le texte direct supporte le markdown et sera correctement formate avec titres, puces, gras, etc.
|
|
56
|
+
>
|
|
57
|
+
> **Exemple — Validation de synthese :**
|
|
58
|
+
> 1. Afficher le resume structure en markdown (texte direct)
|
|
59
|
+
> 2. Puis poser une question courte : "Cette synthese est-elle correcte ?"
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
AskUserQuestion({
|
|
63
|
+
questions: [
|
|
64
|
+
{
|
|
65
|
+
question: "Quel probleme metier ce module doit-il resoudre ?",
|
|
66
|
+
header: "Probleme", // max 12 chars
|
|
67
|
+
options: [
|
|
68
|
+
{ label: "Processus manuel", description: "Automatiser un processus existant fait manuellement" },
|
|
69
|
+
{ label: "Donnees dispersees", description: "Centraliser des donnees eparpillees dans plusieurs outils" },
|
|
70
|
+
{ label: "Manque visibilite", description: "Obtenir des indicateurs et du suivi inexistants aujourd'hui" },
|
|
71
|
+
{ label: "Conformite", description: "Repondre a une obligation reglementaire ou de securite" }
|
|
72
|
+
],
|
|
73
|
+
multiSelect: false
|
|
74
|
+
},
|
|
75
|
+
// ... up to 4 questions per call
|
|
76
|
+
]
|
|
77
|
+
})
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### After Each Batch
|
|
81
|
+
|
|
82
|
+
1. **Evaluate answer quality** (see Answer Quality Indicators)
|
|
83
|
+
2. **If insufficient** -> follow-up AskUserQuestion with targeted probes from the Elicitation Guide
|
|
84
|
+
3. **If solution-oriented** -> reframe using Technique 1 before proceeding
|
|
85
|
+
4. **If sufficient/excellent** -> record and move to next batch
|
|
86
|
+
5. **Summarize** what was understood before moving to the next category
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Techniques d'elicitation
|
|
91
|
+
|
|
92
|
+
> **Objectif :** Guider COMMENT questionner, pas seulement QUOI demander.
|
|
93
|
+
> **Principe :** Chaque technique doit etre appliquee naturellement dans le flux de la conversation,
|
|
94
|
+
> pas comme un outil supplementaire. L'analyste choisit la technique adaptee a la situation.
|
|
95
|
+
|
|
96
|
+
### Technique 1 : Reformulation du besoin
|
|
97
|
+
|
|
98
|
+
Quand le client decrit une **solution** (bouton, ecran, champ, outil), reformuler en **besoin** :
|
|
99
|
+
|
|
100
|
+
| Le client dit | L'analyste demande |
|
|
101
|
+
|---------------|-------------------|
|
|
102
|
+
| "Il me faut un menu deroulant pour les roles" | "Quel probleme rencontrez-vous aujourd'hui avec la gestion des acces ? Pourquoi certaines personnes doivent-elles avoir des acces differents ?" |
|
|
103
|
+
| "On a besoin d'un bouton d'export" | "Que faites-vous avec les donnees une fois exportees ? Qui en a besoin et pourquoi ?" |
|
|
104
|
+
| "Ajoutez un champ statut" | "Quel parcours suit cet element du debut a la fin ? Quels evenements declenchent un changement d'etat ?" |
|
|
105
|
+
|
|
106
|
+
### Technique 2 : Chaine des pourquoi
|
|
107
|
+
|
|
108
|
+
Quand le besoin semble superficiel, enchainez jusqu'a 5 "Pourquoi ?" pour trouver la cause racine :
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
Client : "On a besoin de suivre l'activite des utilisateurs"
|
|
112
|
+
-> Pourquoi ? "Pour savoir qui a modifie quoi"
|
|
113
|
+
-> Pourquoi ? "Parce qu'on a eu des problemes de donnees incorrectes"
|
|
114
|
+
-> Pourquoi ? "Parce que plusieurs personnes modifient les memes fiches"
|
|
115
|
+
-> CAUSE RACINE : Conflit d'edition simultanee -> Besoin de journal d'activite + protection des modifications
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Technique 3 : Extraction de scenario concret
|
|
119
|
+
|
|
120
|
+
Ne jamais accepter de descriptions abstraites. Toujours demander un **scenario de vie reelle** :
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
"Racontez-moi une journee type : vous arrivez au bureau, vous ouvrez l'application.
|
|
124
|
+
Quelle est la PREMIERE chose que vous devez faire ?
|
|
125
|
+
Puis ensuite ? Quelles informations consultez-vous ? Quelles decisions prenez-vous ?"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Technique 4 : Test d'absence
|
|
129
|
+
|
|
130
|
+
Valider la necessite en demandant ce qui se passe SANS :
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
"Si cette fonctionnalite N'EXISTAIT PAS, que feriez-vous a la place ?
|
|
134
|
+
Combien de temps ou d'argent le contournement actuel coute-t-il ?"
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Technique 5 : Verification de completude
|
|
138
|
+
|
|
139
|
+
Pour chaque reponse sous forme de liste, verifier qu'il ne manque rien :
|
|
140
|
+
|
|
141
|
+
| Type de reponse | Relance |
|
|
142
|
+
|-----------------|---------|
|
|
143
|
+
| "Il y a 3 types d'utilisateurs" | "Y a-t-il des acteurs externes ? Des auditeurs ? Des administrateurs systeme ? Des processus automatiques ?" |
|
|
144
|
+
| "Le flux principal est A puis B puis C" | "Que se passe-t-il si l'utilisateur annule a l'etape B ? Si l'etape C echoue ? S'il veut revenir a A ?" |
|
|
145
|
+
| "Champs obligatoires : nom et email" | "Quelles contraintes d'unicite ? Quel format ? Que se passe-t-il en cas de doublon ?" |
|
|
146
|
+
|
|
147
|
+
### Technique 6 : Projection dans le futur
|
|
148
|
+
|
|
149
|
+
Demander au client de se projeter pour decouvrir des besoins non exprimes :
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
"Imaginons que nous sommes 2 ans dans le futur et que l'application fonctionne parfaitement.
|
|
153
|
+
Qu'est-ce qui a change dans votre facon de travailler ?
|
|
154
|
+
Quels nouveaux besoins sont apparus auxquels vous ne pensez pas aujourd'hui ?"
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Technique 7 : Test de contradiction
|
|
158
|
+
|
|
159
|
+
Quand deux reponses semblent contradictoires, les confronter pour clarifier :
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
"Vous avez mentionne que [affirmation A], mais vous dites aussi que [affirmation B].
|
|
163
|
+
Ces deux elements semblent en tension. Pouvez-vous m'aider a comprendre
|
|
164
|
+
comment ils coexistent dans la realite ?"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Technique 8 : Escalade d'impact
|
|
168
|
+
|
|
169
|
+
Augmenter progressivement l'echelle pour tester les limites :
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
"Aujourd'hui vous avez 50 fiches. Que se passe-t-il avec 500 ? Avec 5000 ?
|
|
173
|
+
Est-ce que le processus reste le meme ou faudrait-il faire differemment ?"
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Indicateurs de qualite des reponses
|
|
177
|
+
|
|
178
|
+
| Qualite | Signal | Action |
|
|
179
|
+
|---------|--------|--------|
|
|
180
|
+
| **Insuffisante** | Moins d'une phrase, "je ne sais pas", adjectif vague | Appliquer les techniques 1 a 8, demander un exemple concret |
|
|
181
|
+
| **Orientee solution** | Contient des termes d'interface ou techniques (bouton, champ, base de donnees) | Appliquer la technique 1 (reformuler en besoin) |
|
|
182
|
+
| **Suffisante** | Contient QUI, QUOI, POURQUOI et un exemple concret | Continuer, noter le niveau de confiance |
|
|
183
|
+
| **Excellente** | Inclut les cas limites, les contraintes et des criteres mesurables | Continuer, marquer comme "Confirme" |
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## ULTRATHINK
|
|
188
|
+
|
|
189
|
+
Behavioral mode for critical phases (01, 03a):
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
ULTRATHINK MODE:
|
|
193
|
+
- Consider ALL edge cases
|
|
194
|
+
- Challenge EVERY assumption
|
|
195
|
+
- Anticipate UNEXPRESSED needs
|
|
196
|
+
- Validate completeness before output
|
|
197
|
+
- Apply Elicitation Techniques (see above)
|
|
198
|
+
|
|
199
|
+
DO NOT:
|
|
200
|
+
- Accept vague answers
|
|
201
|
+
- Skip question categories
|
|
202
|
+
- Assume stakeholder thought of everything
|
|
203
|
+
- Accept solutions without understanding the problem first
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**DO NOT invoke** as a skill/tool - it is a thinking mode.
|
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
# Business Analysis - Module Loop Protocol (_module-loop.md)
|
|
2
|
-
|
|
3
|
-
> **Loaded by:** step-03a1-setup, step-03b-ui, step-03c-compile, step-03d-validate
|
|
4
|
-
> **Purpose:** State management and iteration logic for multi-module specification loop + application loop (project mode)
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## State Management (Application Mode — single app)
|
|
9
|
-
|
|
10
|
-
```json
|
|
11
|
-
{
|
|
12
|
-
"metadata": {
|
|
13
|
-
"workflow": {
|
|
14
|
-
"mode": "application",
|
|
15
|
-
"moduleOrder": ["Customers", "Products", "Orders", "Invoices"],
|
|
16
|
-
"currentModuleIndex": 2,
|
|
17
|
-
"completedModules": ["Customers", "Products"],
|
|
18
|
-
"currentModule": "Orders"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## State Management (Project Mode — multi app)
|
|
25
|
-
|
|
26
|
-
Project-level feature.json tracks the application loop:
|
|
27
|
-
|
|
28
|
-
```json
|
|
29
|
-
{
|
|
30
|
-
"metadata": {
|
|
31
|
-
"workflow": {
|
|
32
|
-
"mode": "project",
|
|
33
|
-
"applicationOrder": ["HumanResources", "EmployeeSelfService"],
|
|
34
|
-
"currentApplicationIndex": 0,
|
|
35
|
-
"completedApplications": [],
|
|
36
|
-
"currentApplication": "HumanResources"
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
Each application-level feature.json tracks its own module loop (same as application mode).
|
|
43
|
-
|
|
44
|
-
## Module Loop Logic (end of each step-03 iteration)
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
1. Mark current module as "validated" in application-level feature.json
|
|
48
|
-
2. Add to completedModules[]
|
|
49
|
-
3. IF currentModuleIndex + 1 < moduleOrder.length:
|
|
50
|
-
currentModuleIndex++
|
|
51
|
-
currentModule = moduleOrder[currentModuleIndex]
|
|
52
|
-
Write application-level feature.json
|
|
53
|
-
Display: "Module {name} complete. Next: {next_name} ({N}/{total})"
|
|
54
|
-
RE-LOAD: steps/step-03a1-setup.md
|
|
55
|
-
4. ELSE (all modules for current application specified):
|
|
56
|
-
IF workflow.mode === "project":
|
|
57
|
-
→ Execute APPLICATION LOOP LOGIC (below)
|
|
58
|
-
ELSE:
|
|
59
|
-
application.status = "specified"
|
|
60
|
-
Load: steps/step-04a-collect.md
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Application Loop Logic (project mode only)
|
|
64
|
-
|
|
65
|
-
> Only applicable when `workflow.mode === "project"` in the project-level feature.json.
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
1. Mark current application as "specified" in project feature.json
|
|
69
|
-
ba-writer.updateApplicationStatus(projectId, currentApp, "specified")
|
|
70
|
-
2. Add to completedApplications[]
|
|
71
|
-
ba-writer.advanceApplicationLoop(projectId)
|
|
72
|
-
3. IF currentApplicationIndex + 1 < applicationOrder.length:
|
|
73
|
-
Display: "═══ Application {currentApp} complete ({N}/{total}). Next: {nextApp} ═══"
|
|
74
|
-
Load: steps/step-02-decomposition.md (for next application's module decomposition)
|
|
75
|
-
4. ELSE (all applications specified):
|
|
76
|
-
Display: "═══ All applications specified! Proceeding to cross-application consolidation... ═══"
|
|
77
|
-
project.status = "specified"
|
|
78
|
-
Load: steps/step-04a-collect.md (with cross-application consolidation)
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## Context Management During Loop
|
|
82
|
-
|
|
83
|
-
To prevent context explosion as modules accumulate:
|
|
84
|
-
- **Current module:** Load full module feature.json
|
|
85
|
-
- **Completed modules:** Only load compact summary via `ba-reader.getCompletedModulesSummary()` (max 100 lines)
|
|
86
|
-
- **Master feature.json:** Only read workflow state + application roles
|
|
87
|
-
- **In project mode — completed applications:** Only load compact summary via `ba-reader.getCompletedApplicationsSummary()` (max 50 lines per app)
|
|
88
|
-
|
|
89
|
-
## Resume After Interruption
|
|
90
|
-
|
|
91
|
-
### Application Mode (single app)
|
|
92
|
-
```
|
|
93
|
-
1. ba-reader.findApplicationFeature() -> locate application-level feature.json
|
|
94
|
-
2. Read metadata.workflow.currentModuleIndex
|
|
95
|
-
3. IF currentModule has a feature.json with status != "validated":
|
|
96
|
-
Resume step-03a1-setup for that module
|
|
97
|
-
4. ELSE:
|
|
98
|
-
Start step-03a1-setup for next module
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### Project Mode (multi app)
|
|
102
|
-
```
|
|
103
|
-
1. ba-reader.findProjectFeature() -> locate project-level feature.json
|
|
104
|
-
2. Read metadata.workflow.currentApplicationIndex
|
|
105
|
-
3. Locate current application's feature.json
|
|
106
|
-
4. Read application's metadata.workflow.currentModuleIndex
|
|
107
|
-
5. IF currentModule has a feature.json with status != "validated":
|
|
108
|
-
Resume step-03a1-setup for that module in that application
|
|
109
|
-
6. ELSE IF application has unspecified modules:
|
|
110
|
-
Start step-03a1-setup for next module in current application
|
|
111
|
-
7. ELSE IF more applications remain:
|
|
112
|
-
Start step-02-decomposition for next application
|
|
113
|
-
8. ELSE:
|
|
114
|
-
All done → Resume step-04a-collect
|
|
115
|
-
```
|
|
1
|
+
# Business Analysis - Module Loop Protocol (_module-loop.md)
|
|
2
|
+
|
|
3
|
+
> **Loaded by:** step-03a1-setup, step-03b-ui, step-03c-compile, step-03d-validate
|
|
4
|
+
> **Purpose:** State management and iteration logic for multi-module specification loop + application loop (project mode)
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## State Management (Application Mode — single app)
|
|
9
|
+
|
|
10
|
+
```json
|
|
11
|
+
{
|
|
12
|
+
"metadata": {
|
|
13
|
+
"workflow": {
|
|
14
|
+
"mode": "application",
|
|
15
|
+
"moduleOrder": ["Customers", "Products", "Orders", "Invoices"],
|
|
16
|
+
"currentModuleIndex": 2,
|
|
17
|
+
"completedModules": ["Customers", "Products"],
|
|
18
|
+
"currentModule": "Orders"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## State Management (Project Mode — multi app)
|
|
25
|
+
|
|
26
|
+
Project-level feature.json tracks the application loop:
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"metadata": {
|
|
31
|
+
"workflow": {
|
|
32
|
+
"mode": "project",
|
|
33
|
+
"applicationOrder": ["HumanResources", "EmployeeSelfService"],
|
|
34
|
+
"currentApplicationIndex": 0,
|
|
35
|
+
"completedApplications": [],
|
|
36
|
+
"currentApplication": "HumanResources"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Each application-level feature.json tracks its own module loop (same as application mode).
|
|
43
|
+
|
|
44
|
+
## Module Loop Logic (end of each step-03 iteration)
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
1. Mark current module as "validated" in application-level feature.json
|
|
48
|
+
2. Add to completedModules[]
|
|
49
|
+
3. IF currentModuleIndex + 1 < moduleOrder.length:
|
|
50
|
+
currentModuleIndex++
|
|
51
|
+
currentModule = moduleOrder[currentModuleIndex]
|
|
52
|
+
Write application-level feature.json
|
|
53
|
+
Display: "Module {name} complete. Next: {next_name} ({N}/{total})"
|
|
54
|
+
RE-LOAD: steps/step-03a1-setup.md
|
|
55
|
+
4. ELSE (all modules for current application specified):
|
|
56
|
+
IF workflow.mode === "project":
|
|
57
|
+
→ Execute APPLICATION LOOP LOGIC (below)
|
|
58
|
+
ELSE:
|
|
59
|
+
application.status = "specified"
|
|
60
|
+
Load: steps/step-04a-collect.md
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Application Loop Logic (project mode only)
|
|
64
|
+
|
|
65
|
+
> Only applicable when `workflow.mode === "project"` in the project-level feature.json.
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
1. Mark current application as "specified" in project feature.json
|
|
69
|
+
ba-writer.updateApplicationStatus(projectId, currentApp, "specified")
|
|
70
|
+
2. Add to completedApplications[]
|
|
71
|
+
ba-writer.advanceApplicationLoop(projectId)
|
|
72
|
+
3. IF currentApplicationIndex + 1 < applicationOrder.length:
|
|
73
|
+
Display: "═══ Application {currentApp} complete ({N}/{total}). Next: {nextApp} ═══"
|
|
74
|
+
Load: steps/step-02-decomposition.md (for next application's module decomposition)
|
|
75
|
+
4. ELSE (all applications specified):
|
|
76
|
+
Display: "═══ All applications specified! Proceeding to cross-application consolidation... ═══"
|
|
77
|
+
project.status = "specified"
|
|
78
|
+
Load: steps/step-04a-collect.md (with cross-application consolidation)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Context Management During Loop
|
|
82
|
+
|
|
83
|
+
To prevent context explosion as modules accumulate:
|
|
84
|
+
- **Current module:** Load full module feature.json
|
|
85
|
+
- **Completed modules:** Only load compact summary via `ba-reader.getCompletedModulesSummary()` (max 100 lines)
|
|
86
|
+
- **Master feature.json:** Only read workflow state + application roles
|
|
87
|
+
- **In project mode — completed applications:** Only load compact summary via `ba-reader.getCompletedApplicationsSummary()` (max 50 lines per app)
|
|
88
|
+
|
|
89
|
+
## Resume After Interruption
|
|
90
|
+
|
|
91
|
+
### Application Mode (single app)
|
|
92
|
+
```
|
|
93
|
+
1. ba-reader.findApplicationFeature() -> locate application-level feature.json
|
|
94
|
+
2. Read metadata.workflow.currentModuleIndex
|
|
95
|
+
3. IF currentModule has a feature.json with status != "validated":
|
|
96
|
+
Resume step-03a1-setup for that module
|
|
97
|
+
4. ELSE:
|
|
98
|
+
Start step-03a1-setup for next module
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Project Mode (multi app)
|
|
102
|
+
```
|
|
103
|
+
1. ba-reader.findProjectFeature() -> locate project-level feature.json
|
|
104
|
+
2. Read metadata.workflow.currentApplicationIndex
|
|
105
|
+
3. Locate current application's feature.json
|
|
106
|
+
4. Read application's metadata.workflow.currentModuleIndex
|
|
107
|
+
5. IF currentModule has a feature.json with status != "validated":
|
|
108
|
+
Resume step-03a1-setup for that module in that application
|
|
109
|
+
6. ELSE IF application has unspecified modules:
|
|
110
|
+
Start step-03a1-setup for next module in current application
|
|
111
|
+
7. ELSE IF more applications remain:
|
|
112
|
+
Start step-02-decomposition for next application
|
|
113
|
+
8. ELSE:
|
|
114
|
+
All done → Resume step-04a-collect
|
|
115
|
+
```
|