@atlashub/smartstack-cli 4.18.0 → 4.20.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.
Files changed (164) hide show
  1. package/package.json +1 -1
  2. package/templates/agents/ba-reader.md +86 -80
  3. package/templates/agents/ba-writer.md +318 -415
  4. package/templates/agents/docs-context-reader.md +3 -3
  5. package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -0
  6. package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +126 -0
  7. package/templates/skills/apex/SKILL.md +29 -16
  8. package/templates/skills/apex/_shared.md +62 -9
  9. package/templates/skills/apex/references/analysis-methods.md +8 -6
  10. package/templates/skills/apex/references/challenge-questions.md +5 -5
  11. package/templates/skills/apex/references/core-seed-data.md +68 -45
  12. package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +26 -21
  13. package/templates/skills/apex/references/parallel-execution.md +156 -0
  14. package/templates/skills/apex/references/person-extension-pattern.md +12 -12
  15. package/templates/skills/apex/references/post-checks.md +1748 -1726
  16. package/templates/skills/apex/references/smartstack-api.md +63 -57
  17. package/templates/skills/apex/references/smartstack-frontend-compliance.md +594 -0
  18. package/templates/skills/apex/references/smartstack-frontend.md +1246 -1842
  19. package/templates/skills/apex/references/smartstack-layers.md +98 -145
  20. package/templates/skills/apex/steps/step-00-init.md +30 -6
  21. package/templates/skills/apex/steps/step-01-analyze.md +27 -23
  22. package/templates/skills/apex/steps/step-02-plan.md +12 -12
  23. package/templates/skills/apex/steps/step-03-execute.md +198 -143
  24. package/templates/skills/apex/steps/step-04-examine.md +24 -93
  25. package/templates/skills/apex/steps/step-05-deep-review.md +16 -16
  26. package/templates/skills/apex/steps/step-06-resolve.md +9 -9
  27. package/templates/skills/apex/steps/step-07-tests.md +3 -1
  28. package/templates/skills/apex/steps/step-08-run-tests.md +1 -1
  29. package/templates/skills/business-analyse/SKILL.md +182 -301
  30. package/templates/skills/business-analyse/_shared.md +119 -336
  31. package/templates/skills/business-analyse/html/ba-interactive.html +706 -85
  32. package/templates/skills/business-analyse/html/build-html.js +41 -3
  33. package/templates/skills/business-analyse/html/src/partials/cadrage-context.html +34 -0
  34. package/templates/skills/business-analyse/html/src/partials/cadrage-risks.html +48 -0
  35. package/templates/skills/business-analyse/html/src/partials/cadrage-scope.html +49 -0
  36. package/templates/skills/business-analyse/html/src/partials/cadrage-stakeholders.html +55 -0
  37. package/templates/skills/business-analyse/html/src/partials/cadrage-success.html +34 -0
  38. package/templates/skills/business-analyse/html/src/partials/consol-datamodel.html +8 -0
  39. package/templates/skills/business-analyse/html/src/partials/consol-flows.html +29 -0
  40. package/templates/skills/business-analyse/html/src/partials/consol-interactions.html +8 -0
  41. package/templates/skills/business-analyse/html/src/partials/consol-permissions.html +8 -0
  42. package/templates/skills/business-analyse/html/src/partials/decomp-dependencies.html +38 -0
  43. package/templates/skills/business-analyse/html/src/partials/decomp-modules.html +51 -0
  44. package/templates/skills/business-analyse/html/src/partials/handoff-summary.html +24 -0
  45. package/templates/skills/business-analyse/html/src/partials/module-spec-container.html +4 -0
  46. package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +17 -1
  47. package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +32 -6
  48. package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +100 -63
  49. package/templates/skills/business-analyse/html/src/scripts/06-render-mockups.js +372 -0
  50. package/templates/skills/business-analyse/html/src/scripts/07-render-handoff.js +1 -1
  51. package/templates/skills/business-analyse/html/src/scripts/10-comments.js +41 -13
  52. package/templates/skills/business-analyse/html/src/styles/09-mockups-html.css +136 -0
  53. package/templates/skills/business-analyse/html/src/template.html +1 -1
  54. package/templates/skills/business-analyse/patterns/suggestion-catalog.md +7 -5
  55. package/templates/skills/business-analyse/questionnaire/01-context.md +11 -157
  56. package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +101 -0
  57. package/templates/skills/business-analyse/questionnaire/03-data-ui.md +92 -0
  58. package/templates/skills/business-analyse/questionnaire/04-risks-metrics.md +6 -0
  59. package/templates/skills/business-analyse/questionnaire/05-cross-module.md +69 -0
  60. package/templates/skills/business-analyse/questionnaire.md +22 -280
  61. package/templates/skills/business-analyse/react/application-viewer.md +2 -2
  62. package/templates/skills/business-analyse/react/components.md +4 -4
  63. package/templates/skills/business-analyse/react/i18n-template.md +1 -1
  64. package/templates/skills/business-analyse/react/schema.md +14 -14
  65. package/templates/skills/business-analyse/references/acceptance-criteria.md +21 -21
  66. package/templates/skills/business-analyse/references/analysis-semantic-checks.md +3 -3
  67. package/templates/skills/business-analyse/references/compilation-structure-cards.md +1 -1
  68. package/templates/skills/business-analyse/references/consolidation-structural-checks.md +5 -5
  69. package/templates/skills/business-analyse/references/deploy-data-build.md +12 -11
  70. package/templates/skills/business-analyse/references/deploy-modes.md +10 -10
  71. package/templates/skills/business-analyse/references/detection-strategies.md +6 -6
  72. package/templates/skills/business-analyse/references/html-data-mapping.md +15 -15
  73. package/templates/skills/business-analyse/references/naming-conventions.md +4 -4
  74. package/templates/skills/business-analyse/references/review-data-mapping.md +29 -29
  75. package/templates/skills/business-analyse/references/robustness-checks.md +36 -36
  76. package/templates/skills/business-analyse/references/spec-auto-inference.md +2 -2
  77. package/templates/skills/business-analyse/references/ui-dashboard-spec.md +1 -1
  78. package/templates/skills/business-analyse/references/ui-resource-cards.md +1 -1
  79. package/templates/skills/business-analyse/references/validation-checklist.md +3 -3
  80. package/templates/skills/business-analyse/references/wireframe-svg-style-guide.md +2 -2
  81. package/templates/skills/business-analyse/schemas/application-schema.json +8 -8
  82. package/templates/skills/business-analyse/schemas/feature-schema.json +3 -3
  83. package/templates/skills/business-analyse/schemas/index-schema.json +47 -0
  84. package/templates/skills/business-analyse/schemas/project-schema.json +6 -6
  85. package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +1 -1
  86. package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +5 -3
  87. package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +4 -4
  88. package/templates/skills/business-analyse/schemas/sections/specification-schema.json +1 -1
  89. package/templates/skills/business-analyse/schemas/shared/common-defs.json +4 -4
  90. package/templates/skills/business-analyse/steps/step-00-init.md +68 -77
  91. package/templates/skills/business-analyse/steps/step-01-cadrage.md +50 -216
  92. package/templates/skills/business-analyse/steps/step-02-structure.md +175 -0
  93. package/templates/skills/business-analyse/steps/step-03-specify.md +198 -0
  94. package/templates/skills/business-analyse/steps/step-04-consolidate.md +478 -0
  95. package/templates/skills/business-analyse/steps/step-05-deploy.md +220 -0
  96. package/templates/skills/business-analyse/steps/step-06-review.md +51 -69
  97. package/templates/skills/business-analyse/templates/tpl-frd.md +1 -1
  98. package/templates/skills/business-analyse/templates/tpl-handoff.md +20 -17
  99. package/templates/skills/business-analyse/templates/tpl-launch-displays.md +2 -2
  100. package/templates/skills/business-analyse/templates-react.md +2 -2
  101. package/templates/skills/derive-prd/SKILL.md +92 -0
  102. package/templates/skills/derive-prd/references/acceptance-criteria.md +169 -0
  103. package/templates/skills/derive-prd/references/entity-domain-mapping.md +115 -0
  104. package/templates/skills/{business-analyse → derive-prd}/references/handoff-file-templates.md +131 -120
  105. package/templates/skills/{business-analyse → derive-prd}/references/handoff-mappings.md +95 -95
  106. package/templates/skills/{business-analyse → derive-prd}/references/handoff-seeddata-generation.md +312 -312
  107. package/templates/skills/{business-analyse → derive-prd}/references/prd-generation.md +262 -263
  108. package/templates/skills/derive-prd/references/readiness-scoring.md +104 -0
  109. package/templates/skills/derive-prd/schemas/handoff-schema.json +95 -0
  110. package/templates/skills/derive-prd/steps/step-00-validate.md +130 -0
  111. package/templates/skills/derive-prd/steps/step-01-transform.md +206 -0
  112. package/templates/skills/derive-prd/steps/step-02-export.md +181 -0
  113. package/templates/skills/{business-analyse → derive-prd}/templates/tpl-progress.md +172 -172
  114. package/templates/skills/documentation/SKILL.md +7 -0
  115. package/templates/skills/ralph-loop/SKILL.md +2 -1
  116. package/templates/skills/ralph-loop/references/init-resume-recovery.md +1 -1
  117. package/templates/skills/ralph-loop/steps/step-01-task.md +2 -2
  118. package/templates/skills/apex/references/agent-teams-protocol.md +0 -203
  119. package/templates/skills/business-analyse/_architecture.md +0 -124
  120. package/templates/skills/business-analyse/_elicitation.md +0 -206
  121. package/templates/skills/business-analyse/_module-loop.md +0 -115
  122. package/templates/skills/business-analyse/_rules.md +0 -142
  123. package/templates/skills/business-analyse/_suggestions.md +0 -34
  124. package/templates/skills/business-analyse/questionnaire/00-application.md +0 -160
  125. package/templates/skills/business-analyse/questionnaire/00b-project.md +0 -85
  126. package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +0 -189
  127. package/templates/skills/business-analyse/questionnaire/03-scope.md +0 -164
  128. package/templates/skills/business-analyse/questionnaire/04-data.md +0 -88
  129. package/templates/skills/business-analyse/questionnaire/05-integrations.md +0 -58
  130. package/templates/skills/business-analyse/questionnaire/06-security.md +0 -68
  131. package/templates/skills/business-analyse/questionnaire/07-ui.md +0 -76
  132. package/templates/skills/business-analyse/questionnaire/08-performance.md +0 -42
  133. package/templates/skills/business-analyse/questionnaire/09-constraints.md +0 -45
  134. package/templates/skills/business-analyse/questionnaire/10-documentation.md +0 -58
  135. package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +0 -59
  136. package/templates/skills/business-analyse/questionnaire/12-migration.md +0 -58
  137. package/templates/skills/business-analyse/questionnaire/13-cross-module.md +0 -69
  138. package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +0 -135
  139. package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +0 -136
  140. package/templates/skills/business-analyse/references/agent-module-prompt.md +0 -366
  141. package/templates/skills/business-analyse/references/agent-pooling-best-practices.md +0 -557
  142. package/templates/skills/business-analyse/references/cache-warming-strategy.md +0 -566
  143. package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +0 -41
  144. package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +0 -74
  145. package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +0 -115
  146. package/templates/skills/business-analyse/references/cadrage-shared-modules.md +0 -68
  147. package/templates/skills/business-analyse/references/cadrage-structure-cards.md +0 -85
  148. package/templates/skills/business-analyse/references/team-orchestration.md +0 -1093
  149. package/templates/skills/business-analyse/references/validate-incremental-html.md +0 -121
  150. package/templates/skills/business-analyse/steps/step-01b-applications.md +0 -419
  151. package/templates/skills/business-analyse/steps/step-02-decomposition.md +0 -387
  152. package/templates/skills/business-analyse/steps/step-03a-data.md +0 -16
  153. package/templates/skills/business-analyse/steps/step-03a1-setup.md +0 -486
  154. package/templates/skills/business-analyse/steps/step-03a2-analysis.md +0 -300
  155. package/templates/skills/business-analyse/steps/step-03b-ui.md +0 -405
  156. package/templates/skills/business-analyse/steps/step-03c-compile.md +0 -516
  157. package/templates/skills/business-analyse/steps/step-03d-validate.md +0 -691
  158. package/templates/skills/business-analyse/steps/step-04-consolidation.md +0 -17
  159. package/templates/skills/business-analyse/steps/step-04a-collect.md +0 -415
  160. package/templates/skills/business-analyse/steps/step-04b-analyze.md +0 -163
  161. package/templates/skills/business-analyse/steps/step-04c-decide.md +0 -186
  162. package/templates/skills/business-analyse/steps/step-05a-handoff.md +0 -937
  163. package/templates/skills/business-analyse/steps/step-05b-deploy.md +0 -522
  164. package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +0 -703
@@ -0,0 +1,136 @@
1
+ /* ============================================
2
+ HTML MOCKUPS - Realistic component previews
3
+ ============================================ */
4
+
5
+ /* Screen section container */
6
+ .screen-section {
7
+ margin-bottom: 2rem;
8
+ }
9
+
10
+ .screen-section h3 {
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 0.4rem;
14
+ }
15
+
16
+ /* Mockup frame enhancements for HTML mockups */
17
+ .mockup-frame .mock-header {
18
+ margin-bottom: 1rem;
19
+ }
20
+
21
+ /* SmartTable inside mockups */
22
+ .mockup-content .mock-table {
23
+ border: 1px solid var(--border);
24
+ border-radius: 6px;
25
+ overflow: hidden;
26
+ }
27
+
28
+ .mockup-content .mock-table th {
29
+ background: var(--bg-hover);
30
+ }
31
+
32
+ /* SmartForm tabs */
33
+ .mockup-content .form-tab-bar {
34
+ display: flex;
35
+ gap: 0;
36
+ border-bottom: 1px solid var(--border);
37
+ margin-bottom: 1.5rem;
38
+ }
39
+
40
+ .mockup-content .form-tab {
41
+ padding: 0.5rem 1rem;
42
+ font-size: 0.85rem;
43
+ cursor: pointer;
44
+ border-bottom: 2px solid transparent;
45
+ color: var(--text-muted);
46
+ }
47
+
48
+ .mockup-content .form-tab.active {
49
+ border-bottom-color: var(--primary);
50
+ color: var(--primary-light);
51
+ }
52
+
53
+ /* SmartKanban columns */
54
+ .mockup-content .kanban-board {
55
+ display: flex;
56
+ gap: 1rem;
57
+ overflow-x: auto;
58
+ padding-bottom: 0.5rem;
59
+ }
60
+
61
+ .mockup-content .kanban-column {
62
+ min-width: 200px;
63
+ flex: 1;
64
+ background: var(--bg-hover);
65
+ border-radius: 8px;
66
+ padding: 0.75rem;
67
+ }
68
+
69
+ .mockup-content .kanban-column-header {
70
+ font-weight: 600;
71
+ font-size: 0.85rem;
72
+ color: var(--text-bright);
73
+ margin-bottom: 0.75rem;
74
+ display: flex;
75
+ justify-content: space-between;
76
+ }
77
+
78
+ .mockup-content .kanban-card {
79
+ background: var(--bg-card);
80
+ border: 1px solid var(--border);
81
+ border-radius: 6px;
82
+ padding: 0.5rem;
83
+ margin-bottom: 0.5rem;
84
+ font-size: 0.8rem;
85
+ }
86
+
87
+ /* SmartDashboard KPI */
88
+ .mockup-content .mock-kpi-grid {
89
+ margin-bottom: 1.5rem;
90
+ }
91
+
92
+ /* SmartFilter pills */
93
+ .mockup-content .filter-pill {
94
+ padding: 0.3rem 0.7rem;
95
+ border-radius: 16px;
96
+ font-size: 0.8rem;
97
+ cursor: pointer;
98
+ transition: all var(--transition-fast);
99
+ }
100
+
101
+ .mockup-content .filter-pill:hover {
102
+ background: var(--bg-hover);
103
+ border-color: var(--primary);
104
+ }
105
+
106
+ .mockup-content .filter-pill.active {
107
+ background: var(--primary);
108
+ color: #fff;
109
+ border-color: var(--primary);
110
+ }
111
+
112
+ /* Subtable in forms */
113
+ .mockup-content .subtable-container {
114
+ margin: 1rem 0;
115
+ border: 1px solid var(--border);
116
+ border-radius: 8px;
117
+ overflow: hidden;
118
+ }
119
+
120
+ .mockup-content .subtable-header {
121
+ display: flex;
122
+ justify-content: space-between;
123
+ align-items: center;
124
+ padding: 0.5rem 0.75rem;
125
+ background: var(--bg-hover);
126
+ }
127
+
128
+ /* Permission annotation in mockup toolbar */
129
+ .mockup-toolbar .permission-badge {
130
+ margin-left: auto;
131
+ font-size: 0.65rem;
132
+ color: var(--text-muted);
133
+ background: var(--bg-dark);
134
+ padding: 0.15rem 0.5rem;
135
+ border-radius: 4px;
136
+ }
@@ -193,7 +193,7 @@
193
193
  </div>
194
194
 
195
195
  <!-- SECTION: Risques et hypotheses -->
196
- <div class="section" id="cadrage-risks" style="display:none;">
196
+ <div class="section" id="cadrage-risks" style="display:none;" data-vibe-hide>
197
197
  <h2 class="section-title">Risques et hypotheses</h2>
198
198
  <p class="section-subtitle">Ce qui pourrait mal tourner et les certitudes non verifiees.</p>
199
199
 
@@ -1,7 +1,7 @@
1
1
  # Proactive Suggestion Catalog
2
2
 
3
3
  > **Version:** 3.0.0
4
- > **Usage:** Loaded by step-01-analyse after scope definition to suggest complementary modules/sections.
4
+ > **Usage:** Loaded by step-01-cadrage after scope definition to suggest complementary modules/sections.
5
5
  > **Protocol:** Match feature type against patterns, present via AskUserQuestion (multiSelect: true).
6
6
  > **Purpose:** Guide users toward complete feature design by suggesting companion modules and standard sections.
7
7
 
@@ -75,7 +75,7 @@ Suggests system integrations based on requirements:
75
75
 
76
76
  ### 4.1 Trigger Point
77
77
 
78
- After step-01-analyse completes scope definition (scope.mustHave + scope.shouldHave populated):
78
+ After step-01-cadrage completes scope definition (scope.mustHave + scope.shouldHave populated):
79
79
 
80
80
  ```
81
81
  Step-01: Analyse → Define Scope → Load Suggestion Catalog → Present Suggestions
@@ -84,7 +84,7 @@ Step-01: Analyse → Define Scope → Load Suggestion Catalog → Present Sugges
84
84
  ### 4.2 Suggestion Algorithm
85
85
 
86
86
  ```
87
- Input: feature.json.scope.* (module name, keywords, must-haves, should-haves)
87
+ Input: index.json (module name, keywords, must-haves, should-haves)
88
88
 
89
89
  1. Read scope.mustHave + scope.shouldHave (user-defined features)
90
90
  2. Extract primary keywords (module type) from scope.description
@@ -94,7 +94,7 @@ Input: feature.json.scope.* (module name, keywords, must-haves, should-haves)
94
94
  6. Filter out already-present modules/sections
95
95
  7. Rank by relevance (keyword match > condition confidence)
96
96
  8. Present top 3-4 suggestions to user
97
- 9. Store results in feature.json.suggestions[]
97
+ 9. Store results in index.json suggestions[] array
98
98
  ```
99
99
 
100
100
  ### 4.3 Implementation Code
@@ -210,7 +210,7 @@ When user selects suggestions:
210
210
  1. **Add Selected Modules:** Update scope.mustHave with new modules
211
211
  2. **Add Selected Sections:** Update specification.sections (in step-02)
212
212
  3. **Add Selected Integrations:** Update specification.integrations
213
- 4. **Store Decisions:** Log in feature.json.suggestions[]
213
+ 4. **Store Decisions:** Log in index.json.suggestions[]
214
214
  5. **Continue:** Proceed to step-02-specify with expanded scope
215
215
 
216
216
  ```json
@@ -245,6 +245,8 @@ When user selects suggestions:
245
245
  }
246
246
  ```
247
247
 
248
+ Stored in index.json.
249
+
248
250
  ---
249
251
 
250
252
  ## 5. Customization & Feedback Loop
@@ -1,157 +1,32 @@
1
1
  # Categorie 1 : Contexte metier
2
2
 
3
- > **Usage :** Questions fondamentales pour comprendre le besoin metier en profondeur
3
+ > **Usage :** Questions fondamentales pour comprendre le besoin metier
4
4
  > **Quand charger :** TOUJOURS (noyau)
5
- > **Objectif :** Comprendre le POURQUOI avant de parler du QUOI
5
+ > **Objectif :** Comprendre le processus metier, les frictions, et la vision cible
6
6
 
7
7
  ---
8
8
 
9
- ## 1.1 Le probleme a resoudre
10
-
11
- > **But :** Identifier la douleur reelle, pas la solution imaginee.
9
+ ## 1.1 Le processus metier
12
10
 
13
11
  | # | Question | Type de reponse |
14
12
  |---|----------|-----------------|
15
- | Q1.1 | Decrivez en quelques phrases le probleme que vous rencontrez aujourd'hui. Qu'est-ce qui ne fonctionne pas, ou pas assez bien ? | Texte libre |
16
- | Q1.2 | Qui souffre le plus de ce probleme au quotidien ? Quel impact a-t-il sur leur travail ? | Description des personnes impactees |
17
- | Q1.3 | Depuis combien de temps ce probleme existe-t-il ? A-t-il empire recemment ? | Historique et evolution |
18
-
19
- **Reformulation guidee pour Q1.1 :**
20
- ```
21
- question: "Decrivez le probleme que vous rencontrez aujourd'hui"
22
- header: "Probleme"
23
- options:
24
- - label: "Processus trop lent"
25
- description: "Des taches repetitives prennent trop de temps et ralentissent le travail quotidien"
26
- - label: "Informations dispersees"
27
- description: "Les donnees sont eparpillees entre plusieurs outils, fichiers ou personnes"
28
- - label: "Manque de visibilite"
29
- description: "Impossible de suivre l'avancement, les chiffres ou l'etat d'une situation en temps reel"
30
- - label: "Erreurs frequentes"
31
- description: "Des erreurs humaines se produisent regulierement par manque d'outil adapte"
32
- ```
13
+ | Q1.1 | Decrivez en quelques phrases le processus metier que cette application doit gerer. Qu'est-ce qui se passe, qui intervient, et quel est le resultat attendu ? | Texte libre |
33
14
 
34
15
  ---
35
16
 
36
- ## 1.2 La situation actuelle
37
-
38
- > **But :** Comprendre comment les choses se passent AUJOURD'HUI, concretement.
17
+ ## 1.2 Les points de friction
39
18
 
40
19
  | # | Question | Type de reponse |
41
20
  |---|----------|-----------------|
42
- | Q1.4 | Comment gerez-vous ce sujet aujourd'hui ? Avec quels outils (tableur, email, papier, logiciel) ? | Description des outils et methodes actuels |
43
- | Q1.5 | Decrivez les etapes principales de votre processus actuel, du debut a la fin. | Liste d'etapes ordonnees |
44
- | Q1.6 | Quelles sont les etapes les plus penibles ou les plus longues dans ce processus ? | Points de douleur precis |
45
- | Q1.7 | Quelles erreurs ou problemes reviennent regulierement ? Donnez 2 a 3 exemples concrets. | Exemples de dysfonctionnements |
46
-
47
- **Reformulation guidee pour Q1.4 :**
48
- ```
49
- question: "Comment gerez-vous ce sujet aujourd'hui ?"
50
- header: "Outils"
51
- options:
52
- - label: "Tableur (Excel, Sheets)"
53
- description: "Fichiers Excel ou Google Sheets partages ou individuels"
54
- - label: "Email et documents"
55
- description: "Echanges par email avec pieces jointes, documents Word ou PDF"
56
- - label: "Logiciel existant"
57
- description: "Un logiciel est deja en place mais ne repond plus aux besoins"
58
- - label: "Processus manuel"
59
- description: "Papier, appels telephoniques, reunions en personne"
60
- ```
21
+ | Q1.4 | Quels sont les points de friction actuels ? Qu'est-ce qui bloque, ralentit, ou genere des erreurs dans ce processus ? | Description des frictions |
61
22
 
62
23
  ---
63
24
 
64
- ## 1.3 La situation souhaitee
65
-
66
- > **But :** Definir clairement ce que le client veut OBTENIR, pas ce qu'il veut CONSTRUIRE.
25
+ ## 1.3 La vision souhaitee
67
26
 
68
27
  | # | Question | Type de reponse |
69
28
  |---|----------|-----------------|
70
- | Q1.8 | Si le probleme etait resolu demain, que feriez-vous differemment dans votre journee de travail ? | Description du changement concret |
71
- | Q1.9 | Quels resultats concrets attendez-vous ? Citez 2 a 3 ameliorations mesurables (gain de temps, reduction d'erreurs, meilleure visibilite...). | Liste de resultats attendus |
72
- | Q1.10 | Comment saurez-vous que le projet est un succes ? Quel est le signe visible qui montrera que le probleme est resolu ? | Critere de succes observable |
73
-
74
- **Reformulation guidee pour Q1.8 :**
75
- ```
76
- question: "Si le probleme etait resolu demain, que changeriez-vous dans votre journee ?"
77
- header: "Vision"
78
- options:
79
- - label: "Gain de temps"
80
- description: "Des taches qui prennent des heures se feraient en quelques minutes"
81
- - label: "Decisions plus rapides"
82
- description: "Les informations seraient disponibles immediatement pour decider"
83
- - label: "Moins d'erreurs"
84
- description: "Les controles automatiques empecheraient les erreurs courantes"
85
- - label: "Meilleure collaboration"
86
- description: "Tout le monde verrait les memes informations a jour en temps reel"
87
- ```
88
-
89
- ---
90
-
91
- ## 1.4 Le declencheur et l'urgence
92
-
93
- > **But :** Comprendre pourquoi MAINTENANT et calibrer les attentes.
94
-
95
- | # | Question | Type de reponse |
96
- |---|----------|-----------------|
97
- | Q1.11 | Qu'est-ce qui a declenche cette demande ? Pourquoi maintenant et pas il y a 6 mois ? | Evenement declencheur |
98
- | Q1.12 | Que se passerait-il si ce projet n'etait PAS realise ? Quelles consequences a court et moyen terme ? | Impact de l'inaction |
99
-
100
- **Reformulation guidee pour Q1.11 :**
101
- ```
102
- question: "Qu'est-ce qui a declenche cette demande maintenant ?"
103
- header: "Declencheur"
104
- options:
105
- - label: "Croissance de l'activite"
106
- description: "Le volume de travail a augmente et les outils actuels ne suivent plus"
107
- - label: "Obligation reglementaire"
108
- description: "Une nouvelle regle ou loi impose de changer la facon de travailler"
109
- - label: "Probleme critique"
110
- description: "Un incident recent a mis en lumiere un dysfonctionnement grave"
111
- - label: "Opportunite strategique"
112
- description: "Un changement d'organisation ou de strategie ouvre une fenetre d'action"
113
- ```
114
-
115
- ---
116
-
117
- ## Guide d'elicitation approfondi
118
-
119
- ### Techniques de relance par question
120
-
121
- | Question | Si la reponse est vague ou insuffisante | Relance recommandee |
122
- |----------|----------------------------------------|---------------------|
123
- | Q1.1 (probleme) | Le client decrit une solution au lieu d'un probleme | "Oublions la solution un instant. Fermez les yeux et pensez a un moment recent ou ce probleme vous a frustre. Racontez-moi cette situation." |
124
- | Q1.2 (qui souffre) | Reponse generique "tout le monde" | "Prenons une personne precise, celle qui est la plus impactee. Quel est son poste ? Que fait-elle quand elle est bloquee par ce probleme ?" |
125
- | Q1.4 (outils actuels) | "On se debrouille" sans details | "Prenons un exemple concret : la derniere fois que ce probleme s'est presente, qu'avez-vous fait exactement, etape par etape ?" |
126
- | Q1.5 (processus actuel) | Moins de 3 etapes decrites | "Reprenons depuis le debut : quelqu'un a besoin de faire cette tache. Qu'est-ce qu'il fait en premier ? Puis ensuite ? Qui d'autre intervient ? Quand considere-t-on que c'est termine ?" |
127
- | Q1.6 (etapes penibles) | "Tout va bien sauf..." (minimisation) | "Si je chronometrais chaque etape de votre processus, laquelle prendrait le plus de temps ? Laquelle fait le plus soupirer vos equipes ?" |
128
- | Q1.7 (erreurs frequentes) | "Ca arrive rarement" | "La derniere fois qu'une erreur s'est produite, quel a ete l'impact ? Combien de temps pour la corriger ? Qui a du intervenir ?" |
129
- | Q1.8 (vision) | Reponse vague "ca irait mieux" | "Concretement, imaginez que vous arrivez lundi matin et que tout fonctionne parfaitement. Quelle est la premiere chose que vous faites differemment de d'habitude ?" |
130
- | Q1.9 (resultats) | Pas de chiffres ni de mesures | "Aujourd'hui, combien de temps prend ce processus ? Combien d'erreurs par mois ? Si on divisait par deux, est-ce que ca suffirait ?" |
131
- | Q1.10 (critere succes) | "Que les utilisateurs soient contents" | "Imaginons que 3 mois apres le lancement, je vous demande si le projet est un succes. Que me montrez-vous concretement comme preuve ?" |
132
- | Q1.12 (consequences inaction) | "Ca continuera comme avant" | "Et si ca continue encore 1 an comme ca ? 2 ans ? Quels risques voyez-vous : perte de clients, surcharge des equipes, non-conformite ?" |
133
-
134
- ### Signaux d'alerte a detecter
135
-
136
- | Signal du client | Probleme sous-jacent | Action de l'analyste |
137
- |------------------|---------------------|----------------------|
138
- | "Il faudrait un bouton pour..." ou "On a besoin d'un ecran qui..." | **Le client decrit une solution, pas un besoin** | Reformuler : "Quel probleme ce bouton/ecran resoudrait-il ? Qu'est-ce qui est difficile aujourd'hui sans lui ?" |
139
- | "C'est evident" ou "Tout le monde le sait" | **Hypothese implicite non validee** | "Pouvez-vous me l'expliquer comme si c'etait ma premiere journee dans votre entreprise ? Je veux etre sur de bien comprendre." |
140
- | "On verra plus tard" ou "C'est pas prioritaire" | **Sujet potentiellement critique esquive** | "Je comprends. Pouvez-vous quand meme me donner un exemple pour que je le note ? On decidera ensemble de la priorite." |
141
- | Mots vagues : "optimiser", "ameliorer", "moderniser" | **Besoin non concretise** | "Quand vous dites 'optimiser', pouvez-vous me donner un exemple precis de ce qui serait different ?" |
142
- | "On fait comme le concurrent X" | **Besoin copie sans reflexion** | "Qu'est-ce qui fonctionne bien chez le concurrent X selon vous ? Et qu'est-ce qui ne vous conviendrait pas dans leur approche ?" |
143
- | Pas de reponse a Q1.12 (consequences inaction) | **Besoin possiblement artificiel** | Approfondir : si l'absence de solution n'a pas de consequence, le besoin est-il reel ? |
144
-
145
- ### Regles d'enchainement
146
-
147
- | Apres | Si la reponse indique... | Alors |
148
- |-------|-------------------------|-------|
149
- | Q1.1 | Le client decrit un besoin technique | Poser Q1.2 pour recentrer sur les personnes impactees |
150
- | Q1.4 | Aucun outil existant | Sauter Q1.7 (pas d'erreurs a corriger dans un processus inexistant) |
151
- | Q1.5 | Processus tres simple (< 3 etapes) | Reduire la profondeur sur Q1.6, accelerer vers la vision (Q1.8) |
152
- | Q1.9 | Resultats non mesurables | Revenir a Q1.10 et insister sur le critere de succes observable |
153
- | Q1.11 | Obligation reglementaire | Charger le questionnaire de securite (categorie 06) en priorite |
154
- | Q1.12 | Consequences graves | Marquer le projet comme priorite haute, insister sur les risques dans le cadrage |
29
+ | Q1.8 | Qu'est-ce qui doit changer ? Si le probleme etait resolu demain, que feriez-vous differemment dans votre journee de travail ? | Description du changement concret |
155
30
 
156
31
  ---
157
32
 
@@ -159,27 +34,6 @@ options:
159
34
 
160
35
  | Reponse | Alimente |
161
36
  |---------|----------|
162
- | Q1.1, Q1.2, Q1.3 | `cadrage.problem` |
163
- | Q1.4, Q1.5, Q1.6, Q1.7 | `cadrage.asIs` |
164
- | Q1.8, Q1.9, Q1.10 | `cadrage.toBe` + `cadrage.acceptanceCriteria` |
165
- | Q1.11, Q1.12 | `cadrage.trigger` + `cadrage.risks` |
166
-
167
- ---
168
-
169
- ## Strategie de questionnement
170
-
171
- ### Ordre des questions en 3 lots
172
-
173
- **Lot 1 (Q1.1, Q1.2, Q1.3, Q1.4) : Comprendre le probleme**
174
- - Commencer par le probleme et les personnes impactees
175
- - Poser ensuite la question des outils actuels pour ancrer dans le concret
176
-
177
- **Lot 2 (Q1.5, Q1.6, Q1.7) : Cartographier le processus actuel**
178
- - Detailler les etapes du processus existant
179
- - Identifier les points de friction et les erreurs recurrentes
180
- - Ce lot peut etre raccourci si le processus est simple
181
-
182
- **Lot 3 (Q1.8, Q1.9, Q1.10, Q1.11, Q1.12) : Definir la vision et l'urgence**
183
- - Projeter le client dans l'avenir : que changerait une solution ?
184
- - Quantifier les attentes : resultats mesurables
185
- - Comprendre le declencheur et les consequences de l'inaction
37
+ | Q1.1 | `cadrage.problem` |
38
+ | Q1.4 | `cadrage.asIs` |
39
+ | Q1.8 | `cadrage.toBe` |
@@ -0,0 +1,101 @@
1
+ # Categorie 2 : Parties prenantes et perimetre
2
+
3
+ > **Usage :** Identifier les profils utilisateurs, leurs droits, et delimiter le perimetre fonctionnel
4
+ > **Quand charger :** TOUJOURS (noyau)
5
+ > **Objectif :** Comprendre QUI utilise le systeme, avec quels DROITS, et QUOI il doit faire
6
+
7
+ ---
8
+
9
+ ## 2.1 Identification des utilisateurs
10
+
11
+ > **But :** Identifier les types de profils/roles qui interagiront avec le systeme.
12
+
13
+ | # | Question | Type de reponse |
14
+ |---|----------|-----------------|
15
+ | Q2.1 | Qui sont les types de profils qui utiliseront ce systeme ? Decrivez leurs roles et ce qu'ils font. | Liste de profils utilisateurs |
16
+
17
+ ---
18
+
19
+ ## 2.2 Taches par profil
20
+
21
+ > **But :** Comprendre concretement ce que chaque type d'utilisateur fait.
22
+
23
+ | # | Question | Type de reponse |
24
+ |---|----------|-----------------|
25
+ | Q2.5 | Pour chaque type d'utilisateur : quelles sont les 3 a 5 taches principales qu'il doit accomplir avec ce systeme ? | Taches par profil utilisateur |
26
+
27
+ ---
28
+
29
+ ## 2.3 Les niveaux d'acces
30
+
31
+ > **But :** Definir qui peut voir quoi et faire quoi.
32
+
33
+ | # | Question | Type de reponse |
34
+ |---|----------|-----------------|
35
+ | Q2.9 | Tous les utilisateurs doivent-ils voir les memes informations ? Si non, qui voit quoi ? | Regles de visibilite des donnees |
36
+ | Q2.10 | Qui a le droit de modifier ou supprimer des informations ? Tout le monde ou seulement certaines personnes ? | Regles de modification |
37
+ | Q2.11 | Y a-t-il des actions sensibles qui necessitent une validation par un superieur ? | Liste des actions a valider |
38
+
39
+ ---
40
+
41
+ ## 2.4 Perimetre fonctionnel
42
+
43
+ > **But :** Lister tout ce que le systeme doit faire et ne pas faire, avec des priorites claires.
44
+
45
+ | # | Question | Type de reponse |
46
+ |---|----------|-----------------|
47
+ | Q2.12 | Listez toutes les fonctionnalites que vous souhaitez dans ce systeme. Ne vous censurez pas. | Liste libre de fonctionnalites |
48
+ | Q2.13 | Parmi cette liste, quelles sont les fonctionnalites INDISPENSABLES ? Celles sans lesquelles le systeme n'a aucun interet ? | Liste de fonctionnalites vitales |
49
+ | Q2.15 | Y a-t-il des choses que le systeme ne doit explicitement PAS faire ? Des limites claires a poser ? | Liste d'exclusions |
50
+
51
+ **Test de priorite :**
52
+ > Pour chaque fonctionnalite classee comme indispensable, poser la question :
53
+ > "Si on enlevait cette fonctionnalite, le systeme aurait-il encore de la valeur ?"
54
+
55
+ ---
56
+
57
+ ## 2.5 Le parcours principal
58
+
59
+ > **But :** Comprendre le flux de travail principal de bout en bout.
60
+
61
+ | # | Question | Type de reponse |
62
+ |---|----------|-----------------|
63
+ | Q2.16 | Decrivez le parcours typique d'un utilisateur du debut a la fin : il ouvre le systeme, que fait-il en premier ? | Liste d'etapes ordonnees |
64
+ | Q2.17 | A quels moments l'utilisateur doit-il prendre une decision ? Quelles sont les options possibles ? | Points de decision et options |
65
+ | Q2.18 | Que se passe-t-il quand quelque chose ne se deroule pas comme prevu ? Quels sont les cas particuliers ? | Scenarios alternatifs |
66
+
67
+ ---
68
+
69
+ ## Guide d'elicitation approfondi
70
+
71
+ ### Techniques de relance
72
+
73
+ | Question | Si la reponse est vague | Relance recommandee |
74
+ |----------|------------------------|---------------------|
75
+ | Q2.1 (utilisateurs) | Un seul type mentionne | "Pensez aux differents moments de la journee : qui saisit ? Qui consulte les rapports ? Qui gere les cas particuliers ?" |
76
+ | Q2.5 (taches) | Taches generiques | "Quand il arrive le matin et ouvre le systeme, quelle est sa premiere action ?" |
77
+ | Q2.9 (visibilite) | Reponse ambigue | "Un employe du service A peut-il voir les donnees du service B ? Un stagiaire voit-il la meme chose qu'un directeur ?" |
78
+ | Q2.13 (indispensable) | Tout est indispensable | "Si vous ne pouviez garder que 3 fonctionnalites pour un premier lancement, lesquelles ?" |
79
+ | Q2.15 (exclusions) | "Je ne vois pas" | "Certains utilisateurs pourraient-ils s'attendre a des fonctionnalites que vous ne souhaitez PAS inclure ?" |
80
+ | Q2.16 (parcours) | Moins de 3 etapes | "Detaillons : l'utilisateur arrive sur l'ecran d'accueil. Que voit-il ? Ou clique-t-il ?" |
81
+
82
+ ### Signaux d'alerte a detecter
83
+
84
+ | Signal du client | Probleme sous-jacent | Action de l'analyste |
85
+ |------------------|---------------------|----------------------|
86
+ | "Tous les utilisateurs font la meme chose" | Roles non differencies | "Qui peut supprimer ? Qui ne fait que consulter ? Qui valide ?" |
87
+ | "Tout le monde doit tout voir" | Securite non reflechie | "Meme les stagiaires ? Les prestataires externes ? Les donnees salariales ?" |
88
+ | Tout est indispensable (> 10 vitaux) | Priorites non definies | Appliquer le test de priorite |
89
+ | Aucune exclusion identifiee | Perimetre non borne | "Y a-t-il des aspects qui relevent d'un autre projet ou d'une version future ?" |
90
+ | Parcours lineaire sans alternative | Seul le cas ideal est decrit | "Que se passe-t-il a l'etape X si la condition Y n'est pas remplie ?" |
91
+
92
+ ---
93
+
94
+ ## Mapping vers le cadrage
95
+
96
+ | Reponse | Alimente |
97
+ |---------|----------|
98
+ | Q2.1, Q2.5 | `cadrage.stakeholders[]` |
99
+ | Q2.9-Q2.11 | `cadrage.applicationRoles[]` |
100
+ | Q2.12-Q2.13, Q2.15 | `cadrage.globalScope` (vital, important, excluded) |
101
+ | Q2.16-Q2.18 | `cadrage.coverageMatrix` + base pour les cas d'utilisation |
@@ -0,0 +1,92 @@
1
+ # Categorie 3 : Donnees et interface
2
+
3
+ > **Usage :** Definir les entites, les regles de donnees et l'experience utilisateur
4
+ > **Quand charger :** Par module, lors de la specification (step-03)
5
+ > **Objectif :** Comprendre les donnees manipulees et comment elles sont presentees
6
+
7
+ ---
8
+
9
+ ## 3.1 Entites et attributs
10
+
11
+ | # | Question | Type de reponse |
12
+ |---|----------|-----------------|
13
+ | Q3.1 | Quelles sont les entites principales gerees par ce module ? | Liste d'entites |
14
+ | Q3.2 | Pour chaque entite : quels sont les attributs importants ? | Par entite |
15
+ | Q3.3 | Quelles relations existent entre les entites ? (appartient a, contient, reference) | Schema relationnel |
16
+ | Q3.5 | Pour chaque entite : le Code doit-il etre auto-genere ou saisi par l'utilisateur ? | Par entite |
17
+ | Q3.6 | Si auto-genere : quelle strategie ? (sequentiel, timestamp, annee, UUID court) | Par entite |
18
+
19
+ ## 3.2 Regles de donnees
20
+
21
+ | # | Question | Type de reponse |
22
+ |---|----------|-----------------|
23
+ | Q3.7 | Quelles validations sur les donnees ? (champs obligatoires, formats, plages de valeurs) | Liste de regles |
24
+ | Q3.8 | Y a-t-il des regles inter-champs ? (date fin > date debut, montant selon statut) | Liste de contraintes |
25
+ | Q3.9 | Donnees sensibles a proteger ? (donnees personnelles, financieres, medicales) | Liste + niveau |
26
+
27
+ ---
28
+
29
+ ## 3.3 Interface et ecrans
30
+
31
+ | # | Question | Type de reponse |
32
+ |---|----------|-----------------|
33
+ | Q3.10 | Peripheriques cibles ? (desktop, mobile, tablette) | Liste |
34
+ | Q3.11 | Ecrans principaux necessaires pour ce module ? | Liste d'ecrans |
35
+ | Q3.12 | Informations cles par ecran ? Quelles colonnes dans la liste, quels champs dans le formulaire ? | Par ecran |
36
+ | Q3.13 | Actions possibles par ecran ? (creer, editer, supprimer, valider, exporter, changer statut) | Par ecran |
37
+
38
+ ## 3.4 Tableaux de bord
39
+
40
+ | # | Question | Type de reponse |
41
+ |---|----------|-----------------|
42
+ | Q3.14 | Des tableaux de bord ou indicateurs sont-ils requis pour ce module ? | Oui/Non + description |
43
+ | Q3.15 | KPIs a afficher ? (nom, metrique, format, seuils d'alerte) | Par dashboard |
44
+ | Q3.16 | Types de graphiques souhaites ? (barres, lignes, camembert, cartes KPI) | Par KPI |
45
+
46
+ ---
47
+
48
+ ## Guide d'elicitation approfondi
49
+
50
+ ### Techniques de relance
51
+
52
+ | Question | Si la reponse est vague | Relance recommandee |
53
+ |----------|------------------------|---------------------|
54
+ | Q3.1 (entites) | Une seule entite | "Cette entite a-t-elle des sous-elements ? (lignes de detail, pieces jointes, historique)" |
55
+ | Q3.1 (entites) | Mention de "User" | "L'utilisateur est gere par la plateforme. Decrivez l'entite METIER (Client, Employee, Contact...)" |
56
+ | Q3.2 (attributs) | Champs techniques (ID, CreatedDate) | "Les champs techniques sont auto-geres. Quels sont les attributs METIER ?" |
57
+ | Q3.3 (relations) | "1:N" sans detail | "Un {Parent} peut avoir combien de {Children} max ? Un {Child} peut-il exister sans {Parent} ?" |
58
+ | Q3.11 (ecrans) | "Un ecran de liste" | "Avec pages dediees pour creation et edition ? Detail en page avec onglets ?" |
59
+ | Q3.13 (actions) | "CRUD classique" | "Actions metier specifiques ? (valider, dupliquer, archiver, changer statut, assigner)" |
60
+ | Q3.14 (dashboards) | "Juste des chiffres" | "Les tendances ne seraient-elles pas plus lisibles en graphique ?" |
61
+
62
+ ### Anti-patterns a detecter
63
+
64
+ | Signal | Anti-pattern | Action |
65
+ |--------|-------------|--------|
66
+ | Entite "User" avec attributs metier | Confusion User/Identity | La plateforme gere les Users via Identity |
67
+ | Attributs Id, TenantId, CreatedBy | Champs techniques comme metier | Ces champs sont auto-generes par AuditableEntity |
68
+ | "Un seul gros formulaire avec tout" | Formulaire monolithique | Proposer des onglets ou wizard par section logique |
69
+ | Actions sans confirmation | Actions destructives non protegees | "La suppression necessite-t-elle une confirmation ?" |
70
+
71
+ ---
72
+
73
+ ## RBAC Exclusion
74
+
75
+ > Les concepts suivants sont geres par le systeme RBAC de la plateforme et NE DOIVENT PAS etre modelises comme attributs d'entite :
76
+
77
+ | Concept | Wrong (attribut) | Correct (RBAC) |
78
+ |---------|-----------------|----------------|
79
+ | Role utilisateur | `User.Role` | Permission set `{app}.{module}.*` |
80
+ | Niveau d'acces | `User.AccessLevel` | Permission matrix per role |
81
+ | Est admin | `User.IsAdmin` | `{app}.{module}.admin` permission |
82
+
83
+ ---
84
+
85
+ ## Mapping vers le feature
86
+
87
+ | Reponse | Alimente |
88
+ |---------|----------|
89
+ | Q3.1-Q3.3, Q3.5-Q3.6 | `entities.json` (entites, attributs, relations, codePattern) |
90
+ | Q3.7-Q3.9 | `rules.json` (regles metier de validation et securite) |
91
+ | Q3.10-Q3.13 | `screens.json` (sections, resources, colonnes, actions) |
92
+ | Q3.14-Q3.16 | `screens.json` (sections dashboard, KPI resources) |
@@ -0,0 +1,6 @@
1
+ # Categorie 4 : Risques et criteres de reussite
2
+
3
+ > **NOT USED** — Les risques projet, hypotheses, lecons du passe, metriques de succes et conditions de livraison
4
+ > ne sont pas du scope de la BA en vibe coding.
5
+ >
6
+ > La documentation technique est generee automatiquement par `/documentation` apres `/ralph-loop`.
@@ -0,0 +1,69 @@
1
+ # Categorie 5 : Impact cross-module
2
+
3
+ > **Usage :** Analyser l'impact sur les modules existants et les dependances partagees
4
+ > **Quand charger :** TOUJOURS pour les nouveaux modules (pas les ameliorations)
5
+ > **Objectif :** Detecter les interactions, les entites partagees et les impacts d'integration
6
+
7
+ ---
8
+
9
+ ## 5.1 Dependances avec les modules existants
10
+
11
+ | # | Question | Type de reponse |
12
+ |---|----------|-----------------|
13
+ | Q5.1 | Avec quels modules existants ce nouveau module interagit-il ? | Liste de modules |
14
+ | Q5.2 | Quelles donnees sont partagees entre modules ? (entites, tables de reference) | Par module |
15
+ | Q5.3 | Y a-t-il des entites existantes que ce module va referencer ? (relations FK) | Liste de references |
16
+ | Q5.4 | Ce module produira-t-il des evenements que d'autres modules consomment ? | Liste d'evenements |
17
+
18
+ ## 5.2 Evaluation d'impact
19
+
20
+ | # | Question | Type de reponse |
21
+ |---|----------|-----------------|
22
+ | Q5.5 | Les modules existants doivent-ils etre modifies pour supporter ce nouveau module ? | Liste de changements |
23
+ | Q5.6 | Y a-t-il des composants UI ou des changements de navigation partages ? | Liste |
24
+ | Q5.7 | Ce module affectera-t-il les permissions ou roles existants ? Quel impact sur l'integration ? | Oui/Non + detail |
25
+ | Q5.8 | Y a-t-il des entites partagees modifiees par plusieurs modules ? Quel impact sur l'integration ? | Evaluation de l'impact |
26
+
27
+ ---
28
+
29
+ ## Cross-Module Patterns
30
+
31
+ | Besoin | Pattern | Exemple |
32
+ |--------|---------|---------|
33
+ | Reference une entite | Navigation property + FK | `Order.ClientId -> Client` |
34
+ | Donnees de reference partagees | Entite partagee dans Domain | `Status`, `Category` |
35
+ | Notification evenementielle | MediatR notification | `OrderCreatedNotification` |
36
+ | Requete cross-module | DTO en lecture seule | `IClientQueryService` |
37
+ | Lien de navigation | NavRoute entry | `business/{app}/{module}` |
38
+ | Permission partagee | Hierarchie de permissions | `{app}.*` covers all modules |
39
+
40
+ ---
41
+
42
+ ## Guide d'elicitation
43
+
44
+ ### Techniques de relance
45
+
46
+ | Question | Si la reponse est vague | Relance recommandee |
47
+ |----------|------------------------|---------------------|
48
+ | Q5.1 (interactions) | "Aucun" | "Ce module est totalement isole ? Pas de lien avec des clients, produits, utilisateurs d'autres modules ?" |
49
+ | Q5.2 (donnees partagees) | "Je ne sais pas" | Utiliser le `{codebase_context}` : "J'ai trouve les entites {list}. Ce module a-t-il besoin de les referencer ?" |
50
+ | Q5.3 (FK references) | Vague | "Une {entity} de ce module appartient-elle a un {existing_entity} ?" |
51
+ | Q5.4 (evenements) | "Non" | "Quand un {entity} est cree/modifie/supprime, faut-il notifier un autre module ?" |
52
+ | Q5.8 (impact) | "Pas d'impact" | "Deux modules modifient-ils la meme entite ? Quel est l'impact sur l'integration ?" |
53
+
54
+ ### Anti-patterns a detecter
55
+
56
+ | Signal | Anti-pattern | Action |
57
+ |--------|-------------|--------|
58
+ | Module totalement isole | Silo de donnees | Rare qu'un module metier n'ait aucune connexion. Verifier avec le codebase context. |
59
+ | Duplication d'entite existante | Entite dupliquee | Si `Client` existe deja, ne pas creer `Customer`. Referencer l'existant. |
60
+ | Modification d'entite d'un autre module | Couplage fort | Utiliser des evenements (MediatR) plutot que des modifications directes. |
61
+
62
+ ---
63
+
64
+ ## Mapping vers la consolidation
65
+
66
+ | Reponse | Alimente |
67
+ |---------|----------|
68
+ | Q5.1-Q5.4 | `consolidation.crossModuleInteractions[]`, `consolidation.sharedEntities[]` |
69
+ | Q5.5-Q5.8 | `consolidation.impactAssessment[]`, `consolidation.permissionCoherence` |