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.
- package/API-BYAN-V2.md +741 -0
- package/BMAD-QUICK-REFERENCE.md +370 -0
- package/CHANGELOG-v2.1.0.md +371 -0
- package/LICENSE +1 -1
- package/MIGRATION-v2.0-to-v2.1.md +430 -0
- package/README-BYAN-V2.md +446 -0
- package/README.md +264 -201
- package/install/.eslintrc.js +20 -0
- package/install/.prettierrc +7 -0
- package/install/BUGFIX-CHALK.md +173 -0
- package/install/BUGFIX-DOCUMENTATION-INDEX.md +299 -0
- package/install/BUGFIX-PATH-RESOLUTION.md +293 -0
- package/install/BUGFIX-QUICKSTART.md +184 -0
- package/install/BUGFIX-SUMMARY.txt +91 -0
- package/install/BUGFIX-VISUAL-SUMMARY.md +253 -0
- package/install/DEPLOYMENT-GUIDE-V2.md +431 -0
- package/install/DOCS-INDEX.md +261 -0
- package/install/GUIDE-INSTALLATION-BYAN-SIMPLE.md +1083 -0
- package/install/INSTALLER-V2-CHANGES.md +472 -0
- package/install/LICENSE +21 -0
- package/install/PUBLICATION-CHECKLIST.md +265 -0
- package/install/PUBLISH-GUIDE.md +190 -0
- package/install/QUICKSTART.md +311 -0
- package/install/README-NPM-PUBLISH.md +298 -0
- package/install/README-NPM-SHORT.md +298 -0
- package/install/README-NPM.md +433 -0
- package/install/README-RACHID.md +302 -0
- package/install/README-V2-INDEX.md +306 -0
- package/install/README.md +298 -0
- package/install/RESUME-EXECUTIF-YAN.md +408 -0
- package/install/UPDATE-SUMMARY.md +205 -0
- package/install/__tests__/integration/detection-flow.test.js +154 -0
- package/install/__tests__/platforms/claude-code.test.js +175 -0
- package/install/__tests__/platforms/codex.test.js +80 -0
- package/install/__tests__/platforms/copilot-cli.test.js +118 -0
- package/install/__tests__/platforms/vscode.test.js +67 -0
- package/install/__tests__/utils/file-utils.test.js +87 -0
- package/install/__tests__/utils/git-detector.test.js +80 -0
- package/install/__tests__/utils/logger.test.js +83 -0
- package/install/__tests__/utils/node-detector.test.js +71 -0
- package/install/__tests__/utils/os-detector.test.js +63 -0
- package/install/__tests__/utils/yaml-utils.test.js +85 -0
- package/install/__tests__/yanstaller/detector.test.js +210 -0
- package/install/coverage/clover.xml +219 -0
- package/install/coverage/coverage-final.json +13 -0
- package/install/coverage/lcov-report/base.css +224 -0
- package/install/coverage/lcov-report/block-navigation.js +87 -0
- package/install/coverage/lcov-report/favicon.png +0 -0
- package/install/coverage/lcov-report/index.html +146 -0
- package/install/coverage/lcov-report/lib/errors.js.html +268 -0
- package/install/coverage/lcov-report/lib/exit-codes.js.html +247 -0
- package/install/coverage/lcov-report/lib/index.html +131 -0
- package/install/coverage/lcov-report/lib/platforms/claude-code.js.html +343 -0
- package/install/coverage/lcov-report/lib/platforms/codex.js.html +361 -0
- package/install/coverage/lcov-report/lib/platforms/copilot-cli.js.html +454 -0
- package/install/coverage/lcov-report/lib/platforms/index.html +176 -0
- package/install/coverage/lcov-report/lib/platforms/index.js.html +127 -0
- package/install/coverage/lcov-report/lib/platforms/vscode.js.html +238 -0
- package/install/coverage/lcov-report/lib/utils/config-loader.js.html +322 -0
- package/install/coverage/lcov-report/lib/utils/file-utils.js.html +397 -0
- package/install/coverage/lcov-report/lib/utils/git-detector.js.html +190 -0
- package/install/coverage/lcov-report/lib/utils/index.html +206 -0
- package/install/coverage/lcov-report/lib/utils/logger.js.html +277 -0
- package/install/coverage/lcov-report/lib/utils/node-detector.js.html +259 -0
- package/install/coverage/lcov-report/lib/utils/os-detector.js.html +307 -0
- package/install/coverage/lcov-report/lib/utils/yaml-utils.js.html +346 -0
- package/install/coverage/lcov-report/lib/yanstaller/backuper.js.html +409 -0
- package/install/coverage/lcov-report/lib/yanstaller/detector.js.html +508 -0
- package/install/coverage/lcov-report/lib/yanstaller/index.html +236 -0
- package/install/coverage/lcov-report/lib/yanstaller/index.js.html +364 -0
- package/install/coverage/lcov-report/lib/yanstaller/installer.js.html +505 -0
- package/install/coverage/lcov-report/lib/yanstaller/interviewer.js.html +349 -0
- package/install/coverage/lcov-report/lib/yanstaller/recommender.js.html +379 -0
- package/install/coverage/lcov-report/lib/yanstaller/troubleshooter.js.html +352 -0
- package/install/coverage/lcov-report/lib/yanstaller/validator.js.html +679 -0
- package/install/coverage/lcov-report/lib/yanstaller/wizard.js.html +412 -0
- package/install/coverage/lcov-report/platforms/claude-code.js.html +343 -0
- package/install/coverage/lcov-report/platforms/codex.js.html +361 -0
- package/install/coverage/lcov-report/platforms/copilot-cli.js.html +454 -0
- package/install/coverage/lcov-report/platforms/index.html +176 -0
- package/install/coverage/lcov-report/platforms/index.js.html +127 -0
- package/install/coverage/lcov-report/platforms/vscode.js.html +238 -0
- package/install/coverage/lcov-report/prettify.css +1 -0
- package/install/coverage/lcov-report/prettify.js +2 -0
- package/install/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/install/coverage/lcov-report/sorter.js +210 -0
- package/install/coverage/lcov-report/utils/file-utils.js.html +397 -0
- package/install/coverage/lcov-report/utils/git-detector.js.html +190 -0
- package/install/coverage/lcov-report/utils/index.html +191 -0
- package/install/coverage/lcov-report/utils/logger.js.html +277 -0
- package/install/coverage/lcov-report/utils/node-detector.js.html +259 -0
- package/install/coverage/lcov-report/utils/os-detector.js.html +307 -0
- package/install/coverage/lcov-report/utils/yaml-utils.js.html +346 -0
- package/install/coverage/lcov-report/yanstaller/detector.js.html +508 -0
- package/install/coverage/lcov-report/yanstaller/index.html +116 -0
- package/install/coverage/lcov.info +414 -0
- package/install/install.sh +239 -0
- package/install/jest.config.js +33 -0
- package/install/lib/errors.js +61 -0
- package/install/lib/exit-codes.js +54 -0
- package/install/lib/platforms/claude-code.js +86 -0
- package/install/lib/platforms/codex.js +92 -0
- package/install/lib/platforms/copilot-cli.js +123 -0
- package/install/lib/platforms/index.js +14 -0
- package/install/lib/platforms/vscode.js +51 -0
- package/install/lib/utils/config-loader.js +79 -0
- package/install/lib/utils/file-utils.js +104 -0
- package/install/lib/utils/git-detector.js +35 -0
- package/install/lib/utils/logger.js +64 -0
- package/install/lib/utils/node-detector.js +58 -0
- package/install/lib/utils/os-detector.js +74 -0
- package/install/lib/utils/yaml-utils.js +87 -0
- package/install/lib/yanstaller/backuper.js +108 -0
- package/install/lib/yanstaller/detector.js +141 -0
- package/install/lib/yanstaller/index.js +93 -0
- package/install/lib/yanstaller/installer.js +140 -0
- package/install/lib/yanstaller/interviewer.js +88 -0
- package/install/lib/yanstaller/recommender.js +98 -0
- package/install/lib/yanstaller/troubleshooter.js +89 -0
- package/install/lib/yanstaller/validator.js +198 -0
- package/install/lib/yanstaller/wizard.js +109 -0
- package/install/package-npm.json +55 -0
- package/install/package.json +63 -0
- package/install/src/byan-v2/context/copilot-context.js +79 -0
- package/install/src/byan-v2/context/session-state.js +98 -0
- package/install/src/byan-v2/dispatcher/complexity-scorer.js +232 -0
- package/install/src/byan-v2/dispatcher/local-executor.js +221 -0
- package/install/src/byan-v2/dispatcher/task-router.js +122 -0
- package/install/src/byan-v2/dispatcher/task-tool-interface-mock.js +134 -0
- package/install/src/byan-v2/dispatcher/task-tool-interface.js +123 -0
- package/install/src/byan-v2/generation/agent-profile-validator.js +113 -0
- package/install/src/byan-v2/generation/profile-template.js +113 -0
- package/install/src/byan-v2/generation/templates/default-agent.md +49 -0
- package/install/src/byan-v2/generation/templates/test-template.md +1 -0
- package/install/src/byan-v2/index.js +199 -0
- package/install/src/byan-v2/observability/error-tracker.js +105 -0
- package/install/src/byan-v2/observability/logger.js +154 -0
- package/install/src/byan-v2/observability/metrics-collector.js +194 -0
- package/install/src/byan-v2/orchestrator/analysis-state.js +268 -0
- package/install/src/byan-v2/orchestrator/generation-state.js +340 -0
- package/install/src/byan-v2/orchestrator/interview-state.js +271 -0
- package/install/src/byan-v2/orchestrator/state-machine.js +204 -0
- package/install/src/core/cache/cache.js +126 -0
- package/install/src/core/context/context.js +86 -0
- package/install/src/core/dispatcher/dispatcher.js +135 -0
- package/install/src/core/worker-pool/worker-pool.js +194 -0
- package/install/src/core/workflow/workflow-executor.js +220 -0
- package/install/src/index.js +139 -0
- package/install/src/observability/dashboard/dashboard.js +191 -0
- package/install/src/observability/logger/structured-logger.js +254 -0
- package/install/src/observability/metrics/metrics-collector.js +325 -0
- package/install/switch-to-v2.sh +126 -0
- package/install/test-chalk-fix.sh +210 -0
- package/install/test-installer-v2.sh +204 -0
- package/install/test-path-resolution.sh +200 -0
- package/package.json +53 -33
- package/src/byan-v2/context/copilot-context.js +79 -0
- package/src/byan-v2/context/session-state.js +98 -0
- package/src/byan-v2/data/mantras.json +852 -0
- package/src/byan-v2/dispatcher/complexity-scorer.js +232 -0
- package/src/byan-v2/dispatcher/five-whys-analyzer.js +310 -0
- package/src/byan-v2/dispatcher/local-executor.js +221 -0
- package/src/byan-v2/dispatcher/task-router.js +122 -0
- package/src/byan-v2/dispatcher/task-tool-interface-mock.js +134 -0
- package/src/byan-v2/dispatcher/task-tool-interface.js +123 -0
- package/src/byan-v2/generation/agent-profile-validator.js +113 -0
- package/src/byan-v2/generation/mantra-validator.js +416 -0
- package/src/byan-v2/generation/profile-template.js +113 -0
- package/src/byan-v2/generation/templates/default-agent.md +49 -0
- package/src/byan-v2/generation/templates/test-template.md +1 -0
- package/src/byan-v2/index.js +652 -0
- package/src/byan-v2/integration/voice-integration.js +295 -0
- package/src/byan-v2/observability/error-tracker.js +105 -0
- package/src/byan-v2/observability/logger.js +154 -0
- package/src/byan-v2/observability/metrics-collector.js +194 -0
- package/src/byan-v2/orchestrator/active-listener.js +541 -0
- package/src/byan-v2/orchestrator/analysis-state.js +268 -0
- package/src/byan-v2/orchestrator/generation-state.js +340 -0
- package/src/byan-v2/orchestrator/glossary-builder.js +431 -0
- package/src/byan-v2/orchestrator/interview-state.js +353 -0
- package/src/byan-v2/orchestrator/state-machine.js +253 -0
- package/src/core/cache/cache.js +126 -0
- package/src/core/context/context.js +86 -0
- package/src/core/dispatcher/dispatcher.js +135 -0
- package/src/core/worker-pool/worker-pool.js +194 -0
- package/src/core/workflow/workflow-executor.js +220 -0
- package/src/index.js +139 -0
- package/src/observability/dashboard/dashboard.js +191 -0
- package/src/observability/logger/structured-logger.js +254 -0
- package/src/observability/metrics/metrics-collector.js +325 -0
- package/templates/.github/agents/bmad-agent-test-dynamic.md +0 -21
- package/templates/.github/agents/franck.md +0 -379
- /package/{CHANGELOG.md → install/CHANGELOG.md} +0 -0
- /package/{bin → install/bin}/create-byan-agent-backup.js +0 -0
- /package/{bin → install/bin}/create-byan-agent-fixed.js +0 -0
- /package/{bin → install/bin}/create-byan-agent-v2.js +0 -0
- /package/{bin → install/bin}/create-byan-agent.js +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmad-master.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmb-agent-builder.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmb-module-builder.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmb-workflow-builder.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-analyst.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-architect.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-dev.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-pm.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-quick-flow-solo-dev.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-quinn.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-sm.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-tech-writer.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-bmm-ux-designer.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-byan-test.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-byan.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-carmack.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-cis-brainstorming-coach.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-cis-creative-problem-solver.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-cis-design-thinking-coach.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-cis-innovation-strategist.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-cis-presentation-master.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-cis-storyteller.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-marc.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-patnote.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-rachid.md +0 -0
- /package/{templates → install/templates}/.github/agents/bmad-agent-tea-tea.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/agents/agent-builder.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/agents/byan-test.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/agents/byan.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/agents/marc.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/agents/module-builder.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/agents/patnote.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/agents/rachid.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/agents/workflow-builder.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/workflows/byan/data/mantras.yaml +0 -0
- /package/{templates → install/templates}/_bmad/bmb/workflows/byan/data/templates.yaml +0 -0
- /package/{templates → install/templates}/_bmad/bmb/workflows/byan/delete-agent-workflow.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/workflows/byan/edit-agent-workflow.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/workflows/byan/interview-workflow.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/workflows/byan/quick-create-workflow.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/workflows/byan/templates/base-agent-template.md +0 -0
- /package/{templates → install/templates}/_bmad/bmb/workflows/byan/validate-agent-workflow.md +0 -0
- /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)
|