create-byan-agent 2.0.1 → 2.1.1

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 (240) hide show
  1. package/API-BYAN-V2.md +741 -0
  2. package/BMAD-QUICK-REFERENCE.md +370 -0
  3. package/CHANGELOG-v2.1.0.md +371 -0
  4. package/LICENSE +1 -1
  5. package/MIGRATION-v2.0-to-v2.1.md +430 -0
  6. package/README-BYAN-V2.md +446 -0
  7. package/README.md +264 -201
  8. package/install/.eslintrc.js +20 -0
  9. package/install/.prettierrc +7 -0
  10. package/install/BUGFIX-CHALK.md +173 -0
  11. package/install/BUGFIX-DOCUMENTATION-INDEX.md +299 -0
  12. package/install/BUGFIX-PATH-RESOLUTION.md +293 -0
  13. package/install/BUGFIX-QUICKSTART.md +184 -0
  14. package/install/BUGFIX-SUMMARY.txt +91 -0
  15. package/install/BUGFIX-VISUAL-SUMMARY.md +253 -0
  16. package/install/DEPLOYMENT-GUIDE-V2.md +431 -0
  17. package/install/DOCS-INDEX.md +261 -0
  18. package/install/GUIDE-INSTALLATION-BYAN-SIMPLE.md +1083 -0
  19. package/install/INSTALLER-V2-CHANGES.md +472 -0
  20. package/install/LICENSE +21 -0
  21. package/install/PUBLICATION-CHECKLIST.md +265 -0
  22. package/install/PUBLISH-GUIDE.md +190 -0
  23. package/install/QUICKSTART.md +311 -0
  24. package/install/README-NPM-PUBLISH.md +298 -0
  25. package/install/README-NPM-SHORT.md +298 -0
  26. package/install/README-NPM.md +433 -0
  27. package/install/README-RACHID.md +302 -0
  28. package/install/README-V2-INDEX.md +306 -0
  29. package/install/README.md +298 -0
  30. package/install/RESUME-EXECUTIF-YAN.md +408 -0
  31. package/install/UPDATE-SUMMARY.md +205 -0
  32. package/install/__tests__/integration/detection-flow.test.js +154 -0
  33. package/install/__tests__/platforms/claude-code.test.js +175 -0
  34. package/install/__tests__/platforms/codex.test.js +80 -0
  35. package/install/__tests__/platforms/copilot-cli.test.js +118 -0
  36. package/install/__tests__/platforms/vscode.test.js +67 -0
  37. package/install/__tests__/utils/file-utils.test.js +87 -0
  38. package/install/__tests__/utils/git-detector.test.js +80 -0
  39. package/install/__tests__/utils/logger.test.js +83 -0
  40. package/install/__tests__/utils/node-detector.test.js +71 -0
  41. package/install/__tests__/utils/os-detector.test.js +63 -0
  42. package/install/__tests__/utils/yaml-utils.test.js +85 -0
  43. package/install/__tests__/yanstaller/detector.test.js +210 -0
  44. package/install/coverage/clover.xml +219 -0
  45. package/install/coverage/coverage-final.json +13 -0
  46. package/install/coverage/lcov-report/base.css +224 -0
  47. package/install/coverage/lcov-report/block-navigation.js +87 -0
  48. package/install/coverage/lcov-report/favicon.png +0 -0
  49. package/install/coverage/lcov-report/index.html +146 -0
  50. package/install/coverage/lcov-report/lib/errors.js.html +268 -0
  51. package/install/coverage/lcov-report/lib/exit-codes.js.html +247 -0
  52. package/install/coverage/lcov-report/lib/index.html +131 -0
  53. package/install/coverage/lcov-report/lib/platforms/claude-code.js.html +343 -0
  54. package/install/coverage/lcov-report/lib/platforms/codex.js.html +361 -0
  55. package/install/coverage/lcov-report/lib/platforms/copilot-cli.js.html +454 -0
  56. package/install/coverage/lcov-report/lib/platforms/index.html +176 -0
  57. package/install/coverage/lcov-report/lib/platforms/index.js.html +127 -0
  58. package/install/coverage/lcov-report/lib/platforms/vscode.js.html +238 -0
  59. package/install/coverage/lcov-report/lib/utils/config-loader.js.html +322 -0
  60. package/install/coverage/lcov-report/lib/utils/file-utils.js.html +397 -0
  61. package/install/coverage/lcov-report/lib/utils/git-detector.js.html +190 -0
  62. package/install/coverage/lcov-report/lib/utils/index.html +206 -0
  63. package/install/coverage/lcov-report/lib/utils/logger.js.html +277 -0
  64. package/install/coverage/lcov-report/lib/utils/node-detector.js.html +259 -0
  65. package/install/coverage/lcov-report/lib/utils/os-detector.js.html +307 -0
  66. package/install/coverage/lcov-report/lib/utils/yaml-utils.js.html +346 -0
  67. package/install/coverage/lcov-report/lib/yanstaller/backuper.js.html +409 -0
  68. package/install/coverage/lcov-report/lib/yanstaller/detector.js.html +508 -0
  69. package/install/coverage/lcov-report/lib/yanstaller/index.html +236 -0
  70. package/install/coverage/lcov-report/lib/yanstaller/index.js.html +364 -0
  71. package/install/coverage/lcov-report/lib/yanstaller/installer.js.html +505 -0
  72. package/install/coverage/lcov-report/lib/yanstaller/interviewer.js.html +349 -0
  73. package/install/coverage/lcov-report/lib/yanstaller/recommender.js.html +379 -0
  74. package/install/coverage/lcov-report/lib/yanstaller/troubleshooter.js.html +352 -0
  75. package/install/coverage/lcov-report/lib/yanstaller/validator.js.html +679 -0
  76. package/install/coverage/lcov-report/lib/yanstaller/wizard.js.html +412 -0
  77. package/install/coverage/lcov-report/platforms/claude-code.js.html +343 -0
  78. package/install/coverage/lcov-report/platforms/codex.js.html +361 -0
  79. package/install/coverage/lcov-report/platforms/copilot-cli.js.html +454 -0
  80. package/install/coverage/lcov-report/platforms/index.html +176 -0
  81. package/install/coverage/lcov-report/platforms/index.js.html +127 -0
  82. package/install/coverage/lcov-report/platforms/vscode.js.html +238 -0
  83. package/install/coverage/lcov-report/prettify.css +1 -0
  84. package/install/coverage/lcov-report/prettify.js +2 -0
  85. package/install/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  86. package/install/coverage/lcov-report/sorter.js +210 -0
  87. package/install/coverage/lcov-report/utils/file-utils.js.html +397 -0
  88. package/install/coverage/lcov-report/utils/git-detector.js.html +190 -0
  89. package/install/coverage/lcov-report/utils/index.html +191 -0
  90. package/install/coverage/lcov-report/utils/logger.js.html +277 -0
  91. package/install/coverage/lcov-report/utils/node-detector.js.html +259 -0
  92. package/install/coverage/lcov-report/utils/os-detector.js.html +307 -0
  93. package/install/coverage/lcov-report/utils/yaml-utils.js.html +346 -0
  94. package/install/coverage/lcov-report/yanstaller/detector.js.html +508 -0
  95. package/install/coverage/lcov-report/yanstaller/index.html +116 -0
  96. package/install/coverage/lcov.info +414 -0
  97. package/install/install.sh +239 -0
  98. package/install/jest.config.js +33 -0
  99. package/install/lib/errors.js +61 -0
  100. package/install/lib/exit-codes.js +54 -0
  101. package/install/lib/platforms/claude-code.js +86 -0
  102. package/install/lib/platforms/codex.js +92 -0
  103. package/install/lib/platforms/copilot-cli.js +123 -0
  104. package/install/lib/platforms/index.js +14 -0
  105. package/install/lib/platforms/vscode.js +51 -0
  106. package/install/lib/utils/config-loader.js +79 -0
  107. package/install/lib/utils/file-utils.js +104 -0
  108. package/install/lib/utils/git-detector.js +35 -0
  109. package/install/lib/utils/logger.js +64 -0
  110. package/install/lib/utils/node-detector.js +58 -0
  111. package/install/lib/utils/os-detector.js +74 -0
  112. package/install/lib/utils/yaml-utils.js +87 -0
  113. package/install/lib/yanstaller/backuper.js +108 -0
  114. package/install/lib/yanstaller/detector.js +141 -0
  115. package/install/lib/yanstaller/index.js +93 -0
  116. package/install/lib/yanstaller/installer.js +140 -0
  117. package/install/lib/yanstaller/interviewer.js +88 -0
  118. package/install/lib/yanstaller/recommender.js +98 -0
  119. package/install/lib/yanstaller/troubleshooter.js +89 -0
  120. package/install/lib/yanstaller/validator.js +198 -0
  121. package/install/lib/yanstaller/wizard.js +109 -0
  122. package/install/package-npm.json +55 -0
  123. package/install/package.json +63 -0
  124. package/install/src/byan-v2/context/copilot-context.js +79 -0
  125. package/install/src/byan-v2/context/session-state.js +98 -0
  126. package/install/src/byan-v2/dispatcher/complexity-scorer.js +232 -0
  127. package/install/src/byan-v2/dispatcher/local-executor.js +221 -0
  128. package/install/src/byan-v2/dispatcher/task-router.js +122 -0
  129. package/install/src/byan-v2/dispatcher/task-tool-interface-mock.js +134 -0
  130. package/install/src/byan-v2/dispatcher/task-tool-interface.js +123 -0
  131. package/install/src/byan-v2/generation/agent-profile-validator.js +113 -0
  132. package/install/src/byan-v2/generation/profile-template.js +113 -0
  133. package/install/src/byan-v2/generation/templates/default-agent.md +49 -0
  134. package/install/src/byan-v2/generation/templates/test-template.md +1 -0
  135. package/install/src/byan-v2/index.js +199 -0
  136. package/install/src/byan-v2/observability/error-tracker.js +105 -0
  137. package/install/src/byan-v2/observability/logger.js +154 -0
  138. package/install/src/byan-v2/observability/metrics-collector.js +194 -0
  139. package/install/src/byan-v2/orchestrator/analysis-state.js +268 -0
  140. package/install/src/byan-v2/orchestrator/generation-state.js +340 -0
  141. package/install/src/byan-v2/orchestrator/interview-state.js +271 -0
  142. package/install/src/byan-v2/orchestrator/state-machine.js +204 -0
  143. package/install/src/core/cache/cache.js +126 -0
  144. package/install/src/core/context/context.js +86 -0
  145. package/install/src/core/dispatcher/dispatcher.js +135 -0
  146. package/install/src/core/worker-pool/worker-pool.js +194 -0
  147. package/install/src/core/workflow/workflow-executor.js +220 -0
  148. package/install/src/index.js +139 -0
  149. package/install/src/observability/dashboard/dashboard.js +191 -0
  150. package/install/src/observability/logger/structured-logger.js +254 -0
  151. package/install/src/observability/metrics/metrics-collector.js +325 -0
  152. package/install/switch-to-v2.sh +126 -0
  153. package/install/test-chalk-fix.sh +210 -0
  154. package/install/test-installer-v2.sh +204 -0
  155. package/install/test-path-resolution.sh +200 -0
  156. package/package.json +53 -33
  157. package/src/byan-v2/context/copilot-context.js +79 -0
  158. package/src/byan-v2/context/session-state.js +98 -0
  159. package/src/byan-v2/data/mantras.json +852 -0
  160. package/src/byan-v2/dispatcher/complexity-scorer.js +232 -0
  161. package/src/byan-v2/dispatcher/five-whys-analyzer.js +310 -0
  162. package/src/byan-v2/dispatcher/local-executor.js +221 -0
  163. package/src/byan-v2/dispatcher/task-router.js +122 -0
  164. package/src/byan-v2/dispatcher/task-tool-interface-mock.js +134 -0
  165. package/src/byan-v2/dispatcher/task-tool-interface.js +123 -0
  166. package/src/byan-v2/generation/agent-profile-validator.js +113 -0
  167. package/src/byan-v2/generation/mantra-validator.js +416 -0
  168. package/src/byan-v2/generation/profile-template.js +113 -0
  169. package/src/byan-v2/generation/templates/default-agent.md +49 -0
  170. package/src/byan-v2/generation/templates/test-template.md +1 -0
  171. package/src/byan-v2/index.js +652 -0
  172. package/src/byan-v2/integration/voice-integration.js +295 -0
  173. package/src/byan-v2/observability/error-tracker.js +105 -0
  174. package/src/byan-v2/observability/logger.js +154 -0
  175. package/src/byan-v2/observability/metrics-collector.js +194 -0
  176. package/src/byan-v2/orchestrator/active-listener.js +541 -0
  177. package/src/byan-v2/orchestrator/analysis-state.js +268 -0
  178. package/src/byan-v2/orchestrator/generation-state.js +340 -0
  179. package/src/byan-v2/orchestrator/glossary-builder.js +431 -0
  180. package/src/byan-v2/orchestrator/interview-state.js +353 -0
  181. package/src/byan-v2/orchestrator/state-machine.js +253 -0
  182. package/src/core/cache/cache.js +126 -0
  183. package/src/core/context/context.js +86 -0
  184. package/src/core/dispatcher/dispatcher.js +135 -0
  185. package/src/core/worker-pool/worker-pool.js +194 -0
  186. package/src/core/workflow/workflow-executor.js +220 -0
  187. package/src/index.js +139 -0
  188. package/src/observability/dashboard/dashboard.js +191 -0
  189. package/src/observability/logger/structured-logger.js +254 -0
  190. package/src/observability/metrics/metrics-collector.js +325 -0
  191. package/templates/.github/agents/bmad-agent-test-dynamic.md +0 -21
  192. package/templates/.github/agents/franck.md +0 -379
  193. /package/{CHANGELOG.md → install/CHANGELOG.md} +0 -0
  194. /package/{bin → install/bin}/create-byan-agent-backup.js +0 -0
  195. /package/{bin → install/bin}/create-byan-agent-fixed.js +0 -0
  196. /package/{bin → install/bin}/create-byan-agent-v2.js +0 -0
  197. /package/{bin → install/bin}/create-byan-agent.js +0 -0
  198. /package/{templates → install/templates}/.github/agents/bmad-agent-bmad-master.md +0 -0
  199. /package/{templates → install/templates}/.github/agents/bmad-agent-bmb-agent-builder.md +0 -0
  200. /package/{templates → install/templates}/.github/agents/bmad-agent-bmb-module-builder.md +0 -0
  201. /package/{templates → install/templates}/.github/agents/bmad-agent-bmb-workflow-builder.md +0 -0
  202. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-analyst.md +0 -0
  203. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-architect.md +0 -0
  204. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-dev.md +0 -0
  205. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-pm.md +0 -0
  206. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-quick-flow-solo-dev.md +0 -0
  207. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-quinn.md +0 -0
  208. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-sm.md +0 -0
  209. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-tech-writer.md +0 -0
  210. /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-ux-designer.md +0 -0
  211. /package/{templates → install/templates}/.github/agents/bmad-agent-byan-test.md +0 -0
  212. /package/{templates → install/templates}/.github/agents/bmad-agent-byan.md +0 -0
  213. /package/{templates → install/templates}/.github/agents/bmad-agent-carmack.md +0 -0
  214. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-brainstorming-coach.md +0 -0
  215. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-creative-problem-solver.md +0 -0
  216. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-design-thinking-coach.md +0 -0
  217. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-innovation-strategist.md +0 -0
  218. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-presentation-master.md +0 -0
  219. /package/{templates → install/templates}/.github/agents/bmad-agent-cis-storyteller.md +0 -0
  220. /package/{templates → install/templates}/.github/agents/bmad-agent-marc.md +0 -0
  221. /package/{templates → install/templates}/.github/agents/bmad-agent-patnote.md +0 -0
  222. /package/{templates → install/templates}/.github/agents/bmad-agent-rachid.md +0 -0
  223. /package/{templates → install/templates}/.github/agents/bmad-agent-tea-tea.md +0 -0
  224. /package/{templates → install/templates}/_bmad/bmb/agents/agent-builder.md +0 -0
  225. /package/{templates → install/templates}/_bmad/bmb/agents/byan-test.md +0 -0
  226. /package/{templates → install/templates}/_bmad/bmb/agents/byan.md +0 -0
  227. /package/{templates → install/templates}/_bmad/bmb/agents/marc.md +0 -0
  228. /package/{templates → install/templates}/_bmad/bmb/agents/module-builder.md +0 -0
  229. /package/{templates → install/templates}/_bmad/bmb/agents/patnote.md +0 -0
  230. /package/{templates → install/templates}/_bmad/bmb/agents/rachid.md +0 -0
  231. /package/{templates → install/templates}/_bmad/bmb/agents/workflow-builder.md +0 -0
  232. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/data/mantras.yaml +0 -0
  233. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/data/templates.yaml +0 -0
  234. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/delete-agent-workflow.md +0 -0
  235. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/edit-agent-workflow.md +0 -0
  236. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/interview-workflow.md +0 -0
  237. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/quick-create-workflow.md +0 -0
  238. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/templates/base-agent-template.md +0 -0
  239. /package/{templates → install/templates}/_bmad/bmb/workflows/byan/validate-agent-workflow.md +0 -0
  240. /package/{templates → install/templates}/_bmad/core/agents/carmack.md +0 -0
@@ -0,0 +1,370 @@
1
+ # BYAN v2.1.0 - BMAD Features Quick Reference
2
+
3
+ ## Activation
4
+
5
+ Toutes les fonctionnalités BMAD sont **activées par défaut** dans `_byan/config.yaml`:
6
+
7
+ ```yaml
8
+ bmad_features:
9
+ enabled: true
10
+ ```
11
+
12
+ Pour désactiver globalement: `enabled: false`
13
+
14
+ ---
15
+
16
+ ## 1. GlossaryBuilder - Glossaire Métier
17
+
18
+ ### Quand l'utiliser?
19
+ - Projets ecommerce, finance, healthcare, banking, insurance
20
+ - Vocabulaire métier complexe nécessitant clarification
21
+ - Communication entre équipes techniques et métier
22
+
23
+ ### Déclenchement automatique
24
+ ```yaml
25
+ glossary:
26
+ enabled: true
27
+ auto_trigger_domains:
28
+ - ecommerce
29
+ - finance
30
+ - healthcare
31
+ ```
32
+
33
+ ### Utilisation manuelle
34
+ ```javascript
35
+ const byan = new ByanV2();
36
+
37
+ // Démarrer la session glossaire
38
+ const prompt = await byan.startGlossary();
39
+ console.log(prompt); // Instructions
40
+
41
+ // Ajouter un concept
42
+ const result = await byan.addConcept('Commande', 'Une demande d\'achat...');
43
+ console.log(result.suggestions); // Concepts liés suggérés
44
+
45
+ // Vérifier si complet
46
+ const isComplete = await byan.isGlossaryComplete();
47
+
48
+ // Exporter
49
+ const glossary = await byan.exportGlossary();
50
+ ```
51
+
52
+ ### Configuration
53
+ ```yaml
54
+ glossary:
55
+ min_concepts: 5 # Nombre minimum de concepts
56
+ validation:
57
+ min_definition_length: 20 # Longueur minimale
58
+ clarity_threshold: 0.7 # Score de clarté minimum
59
+ ```
60
+
61
+ ---
62
+
63
+ ## 2. FiveWhysAnalyzer - Analyse Cause Racine
64
+
65
+ ### Quand l'utiliser?
66
+ - L'utilisateur mentionne un problème/difficulté
67
+ - Vous voulez comprendre la cause profonde
68
+ - Questions 4 et 5 de l'interview (par défaut)
69
+
70
+ ### Déclenchement automatique
71
+ ```yaml
72
+ five_whys:
73
+ enabled: true
74
+ auto_trigger: true
75
+ trigger_questions: [4, 5] # Questions qui déclenchent la détection
76
+ ```
77
+
78
+ ### Utilisation manuelle
79
+ ```javascript
80
+ // Détecter les pain points
81
+ const painCheck = await byan.detectPainPoints(
82
+ "Nous avons des problèmes de déploiement"
83
+ );
84
+ console.log(painCheck.hasPainPoints); // true
85
+ console.log(painCheck.painPoints); // Array des pain points détectés
86
+
87
+ // Démarrer l'analyse
88
+ const whys = await byan.startFiveWhys(response);
89
+ if (whys.needsWhys) {
90
+ console.log(whys.firstQuestion); // "Pourquoi...?"
91
+ }
92
+
93
+ // Traiter les réponses WHY
94
+ const next = await byan.processWhyAnswer("Parce que...");
95
+ console.log(next.complete); // false si pas fini
96
+ console.log(next.question); // Prochaine question WHY
97
+
98
+ // Obtenir la cause racine
99
+ const rootCause = await byan.getRootCause();
100
+ console.log(rootCause.cause);
101
+ console.log(rootCause.depth); // Profondeur atteinte (1-5)
102
+ ```
103
+
104
+ ### Configuration
105
+ ```yaml
106
+ five_whys:
107
+ max_depth: 5 # Nombre maximum de WHY (1-5)
108
+ pain_keywords:
109
+ - problem
110
+ - issue
111
+ - challenge
112
+ - difficult
113
+ # ... 18 mots-clés par défaut
114
+ ```
115
+
116
+ ---
117
+
118
+ ## 3. ActiveListener - Reformulation Active
119
+
120
+ ### Quand l'utiliser?
121
+ - **Toujours activé** pour chaque réponse utilisateur
122
+ - Reformulation tous les 3 réponses (configurable)
123
+ - Validation en fin de phase
124
+
125
+ ### Déclenchement automatique
126
+ Intégré dans `submitResponse()` - aucune action requise!
127
+
128
+ ### Utilisation manuelle
129
+ ```javascript
130
+ // Écouter et reformuler
131
+ const result = await byan.listen(
132
+ "On a besoin d'un truc pour gérer les commandes"
133
+ );
134
+ console.log(result.reformulated); // Version clarifiée
135
+ console.log(result.clarityScore); // 0.0 - 1.0
136
+ console.log(result.keyPoints); // Points clés extraits
137
+ console.log(result.summary); // Résumé
138
+
139
+ // Reformuler seulement
140
+ const reformulated = await byan.reformulate(text);
141
+
142
+ // Vérifier si validation nécessaire
143
+ const needsValidation = await byan.needsValidation();
144
+
145
+ // Valider la compréhension
146
+ if (needsValidation) {
147
+ const validation = await byan.validateUnderstanding(true);
148
+ console.log(validation.summary); // Résumé à confirmer
149
+ }
150
+ ```
151
+
152
+ ### Configuration
153
+ ```yaml
154
+ active_listening:
155
+ enabled: true
156
+ reformulate_every: 3 # Fréquence de validation
157
+ validate_at_phase_end: true # Valider en fin de phase
158
+ auto_summarize: true # Générer résumés auto
159
+ ```
160
+
161
+ ---
162
+
163
+ ## 4. MantraValidator - Validation des Mantras
164
+
165
+ ### Quand l'utiliser?
166
+ - **Automatique** à la génération du profil agent
167
+ - Validation contre 64 mantras (Merise Agile + IA)
168
+ - Score minimum requis: 80/100
169
+
170
+ ### Déclenchement automatique
171
+ Intégré dans `generateProfile()` si activé:
172
+ ```yaml
173
+ mantras:
174
+ validate: true
175
+ enforce_on_generation: true # Valider automatiquement
176
+ ```
177
+
178
+ ### Utilisation manuelle
179
+ ```javascript
180
+ // Valider un agent
181
+ const results = await byan.validateAgent(agentDefinition);
182
+
183
+ console.log(results.score); // Score global (0-100)
184
+ console.log(results.compliant); // Array des mantras OK
185
+ console.log(results.nonCompliant); // Array des mantras KO
186
+ console.log(results.errors); // Mantras critiques manquants
187
+ console.log(results.warnings); // Mantras importants manquants
188
+
189
+ // Obtenir juste le score
190
+ const score = await byan.getComplianceScore();
191
+
192
+ // Rapport détaillé
193
+ const report = await byan.getComplianceReport();
194
+ ```
195
+
196
+ ### Configuration
197
+ ```yaml
198
+ mantras:
199
+ validate: true
200
+ min_score: 80 # Score minimum requis
201
+ enforce_on_generation: true # Valider à la génération
202
+ fail_on_low_score: false # Échouer si score bas?
203
+ categories:
204
+ - merise-agile
205
+ - ia
206
+ ```
207
+
208
+ **Note:** `fail_on_low_score: true` provoquera une erreur si score < min_score
209
+
210
+ ---
211
+
212
+ ## États Optionnels
213
+
214
+ ### GLOSSARY (optionnel)
215
+ - **Position:** Entre INTERVIEW et ANALYSIS
216
+ - **Déclenchement:** Auto si domaine dans `auto_trigger_domains`
217
+ - **Skip:** Possible - transition directe INTERVIEW → ANALYSIS
218
+
219
+ ### VALIDATION (optionnel)
220
+ - **Position:** Entre GENERATION et COMPLETED
221
+ - **Déclenchement:** Auto si `enforce_on_generation: true`
222
+ - **Skip:** Possible - transition directe GENERATION → COMPLETED
223
+
224
+ ### Flux complet avec états optionnels
225
+ ```
226
+ INTERVIEW → [GLOSSARY] → ANALYSIS → GENERATION → [VALIDATION] → COMPLETED
227
+ ```
228
+
229
+ ### Vérifier si état optionnel
230
+ ```javascript
231
+ const isOptional = byan.stateMachine.isStateOptional('GLOSSARY');
232
+ const description = byan.stateMachine.getStateDescription('GLOSSARY');
233
+ ```
234
+
235
+ ---
236
+
237
+ ## Désactivation par Module
238
+
239
+ ### Désactiver un module spécifique
240
+ ```yaml
241
+ bmad_features:
242
+ enabled: true
243
+
244
+ glossary:
245
+ enabled: false # Désactiver GlossaryBuilder
246
+
247
+ five_whys:
248
+ enabled: false # Désactiver FiveWhysAnalyzer
249
+
250
+ active_listening:
251
+ enabled: false # Désactiver ActiveListener
252
+
253
+ mantras:
254
+ validate: false # Désactiver MantraValidator
255
+ ```
256
+
257
+ ### Désactiver tout BMAD
258
+ ```yaml
259
+ bmad_features:
260
+ enabled: false # Désactive tous les modules
261
+ ```
262
+
263
+ ---
264
+
265
+ ## Exemple Complet
266
+
267
+ ```javascript
268
+ const ByanV2 = require('./src/byan-v2/index');
269
+
270
+ async function example() {
271
+ // Initialiser avec BMAD
272
+ const byan = new ByanV2({
273
+ bmad_features: {
274
+ enabled: true,
275
+ glossary: { enabled: true },
276
+ five_whys: { auto_trigger: true },
277
+ active_listening: { reformulate_every: 3 },
278
+ mantras: { validate: true, min_score: 80 }
279
+ }
280
+ });
281
+
282
+ // Démarrer session
283
+ await byan.startSession();
284
+
285
+ // Obtenir question
286
+ const question = await byan.getNextQuestion();
287
+
288
+ // Soumettre réponse (ActiveListener automatique)
289
+ const response = "Nous avons des problèmes de déploiement lents";
290
+ await byan.submitResponse(response);
291
+
292
+ // FiveWhys déclenché automatiquement si pain points détectés
293
+
294
+ // Après l'interview, glossaire optionnel si domaine ecommerce/finance/etc
295
+
296
+ // Générer profil (MantraValidator automatique)
297
+ const profile = await byan.generateProfile();
298
+
299
+ // Vérifier validation
300
+ if (profile.validation) {
301
+ console.log('Score:', profile.validation.score);
302
+ console.log('Erreurs:', profile.validation.errors);
303
+ }
304
+ }
305
+ ```
306
+
307
+ ---
308
+
309
+ ## Performance
310
+
311
+ - **Overhead total:** < 10% vs BYAN v2.0
312
+ - **ActiveListener:** < 100ms par réponse
313
+ - **FiveWhys detection:** < 50ms
314
+ - **MantraValidator:** 100-200ms (seulement à la génération)
315
+ - **GlossaryBuilder:** < 50ms par concept
316
+
317
+ ---
318
+
319
+ ## Compatibilité
320
+
321
+ ✅ **Rétrocompatibilité 100%**
322
+
323
+ Code BYAN v2.0 fonctionne sans modification:
324
+ ```javascript
325
+ // Code v2.0 - fonctionne toujours
326
+ const byan = new ByanV2();
327
+ await byan.startSession();
328
+ await byan.submitResponse(response);
329
+ await byan.generateProfile();
330
+ ```
331
+
332
+ Les features BMAD sont **opt-in** et **non-bloquantes**.
333
+
334
+ ---
335
+
336
+ ## Troubleshooting
337
+
338
+ ### Module non initialisé
339
+ ```javascript
340
+ if (!byan.glossaryBuilder) {
341
+ // GlossaryBuilder désactivé ou erreur d'init
342
+ }
343
+ ```
344
+
345
+ ### MantraValidator manquant mantras.json
346
+ ```
347
+ Warning: Failed to initialize MantraValidator: ENOENT
348
+ ```
349
+ → Fichier `src/byan-v2/data/mantras.json` requis
350
+
351
+ ### Validation échoue
352
+ ```
353
+ Agent validation failed: score 65 < 80
354
+ ```
355
+ → Soit améliorer l'agent, soit baisser `min_score`, soit `fail_on_low_score: false`
356
+
357
+ ---
358
+
359
+ ## Ressources
360
+
361
+ - Documentation complète: `SPRINT5-PHASE1-INTEGRATION-COMPLETE.md`
362
+ - Tests: `__tests__/byan-v2/orchestrator/state-machine.test.js`
363
+ - Smoke test: `test-sprint5-phase1-integration.js`
364
+ - Config: `_byan/config.yaml`
365
+
366
+ ---
367
+
368
+ **Version:** BYAN v2.1.0 (BMAD Integration)
369
+ **Date:** 2026-02-07
370
+ **Auteur:** Amelia (dev agent)