docs(fr): apply French typographic conventions across all docs
regex-based pass followed by AI + manual review of all 34 source files Rules applied: - Apostrophe: ASCII ' → curly ’ (U+2019) in all French prose - Guillemets: ASCII "..." → « … » with narrow no-break space (U+202F) on both sides - Narrow no-break space (U+202F): before ; ? ! and after « / before » - No-break space (U+00A0): before : in French prose - Thousands separator: narrow no-break space (U+202F) in 4+ digit numbers Additional review fixes: remaining ASCII quotes in _STYLE_GUIDE.md checklist items, testing.md, and party-mode.md numbering. Preserved exclusions: YAML frontmatter delimiters, code blocks, backtick inline code, URLs, footnote syntax, and English UI text.
This commit is contained in:
parent
05770c28f1
commit
27002100a8
|
|
@ -3,6 +3,6 @@ title: Page introuvable
|
||||||
template: splash
|
template: splash
|
||||||
---
|
---
|
||||||
|
|
||||||
La page que vous recherchez n'existe pas ou a été déplacée.
|
La page que vous recherchez n’existe pas ou a été déplacée.
|
||||||
|
|
||||||
[Retour à l'accueil](/fr/index.md)
|
[Retour à l’accueil](/fr/index.md)
|
||||||
|
|
|
||||||
|
|
@ -11,13 +11,13 @@ Ce projet suit le [Guide de style de documentation pour développeurs Google](ht
|
||||||
| --------------------------------------- | ------------------------------------------------------ |
|
| --------------------------------------- | ------------------------------------------------------ |
|
||||||
| Pas de règles horizontales (`---`) | Perturbe le flux de lecture des fragments |
|
| Pas de règles horizontales (`---`) | Perturbe le flux de lecture des fragments |
|
||||||
| Pas de titres `####` | Utiliser du texte en gras ou des admonitions |
|
| Pas de titres `####` | Utiliser du texte en gras ou des admonitions |
|
||||||
| Pas de sections « Related » ou « Next: » | La barre latérale gère la navigation |
|
| Pas de sections « Related » ou « Next : » | La barre latérale gère la navigation |
|
||||||
| Pas de listes profondément imbriquées | Diviser en sections à la place |
|
| Pas de listes profondément imbriquées | Diviser en sections à la place |
|
||||||
| Pas de blocs de code pour non-code | Utiliser des admonitions pour les exemples de dialogue |
|
| Pas de blocs de code pour non-code | Utiliser des admonitions pour les exemples de dialogue |
|
||||||
| Pas de paragraphes en gras pour les appels | Utiliser des admonitions à la place |
|
| Pas de paragraphes en gras pour les appels | Utiliser des admonitions à la place |
|
||||||
| 1-2 admonitions max par section | Les tutoriels permettent 3-4 par section majeure |
|
| 1-2 admonitions max par section | Les tutoriels permettent 3-4 par section majeure |
|
||||||
| Cellules de tableau / éléments de liste | 1-2 phrases maximum |
|
| Cellules de tableau / éléments de liste | 1-2 phrases maximum |
|
||||||
| Budget de titres | 8-12 `##` par doc ; 2-3 `###` par section |
|
| Budget de titres | 8-12 `##` par doc ; 2-3 `###` par section |
|
||||||
|
|
||||||
## Admonitions (Syntaxe Starlight)
|
## Admonitions (Syntaxe Starlight)
|
||||||
|
|
||||||
|
|
@ -70,7 +70,7 @@ Avertissements critiques uniquement — perte de données, problèmes de sécuri
|
||||||
|
|
||||||
## Blocs de structure de dossiers
|
## Blocs de structure de dossiers
|
||||||
|
|
||||||
À afficher dans les sections "Ce que vous avez accompli" :
|
À afficher dans les sections « Ce que vous avez accompli » :
|
||||||
|
|
||||||
````md
|
````md
|
||||||
```
|
```
|
||||||
|
|
@ -78,9 +78,9 @@ votre-projet/
|
||||||
├── _bmad/ # Configuration BMad
|
├── _bmad/ # Configuration BMad
|
||||||
├── _bmad-output/
|
├── _bmad-output/
|
||||||
│ ├── planning-artifacts/
|
│ ├── planning-artifacts/
|
||||||
│ │ └── PRD.md # Votre document d'exigences
|
│ │ └── PRD.md # Votre document d’exigences
|
||||||
│ ├── implementation-artifacts/
|
│ ├── implementation-artifacts/
|
||||||
│ └── project-context.md # Règles d'implémentation (optionnel)
|
│ └── project-context.md # Règles d’implémentation (optionnel)
|
||||||
└── ...
|
└── ...
|
||||||
```
|
```
|
||||||
````
|
````
|
||||||
|
|
@ -107,21 +107,21 @@ votre-projet/
|
||||||
|
|
||||||
### Liste de vérification des tutoriels
|
### Liste de vérification des tutoriels
|
||||||
|
|
||||||
- [ ] L'accroche décrit le résultat en 1-2 phrases
|
- [ ] L’accroche décrit le résultat en 1-2 phrases
|
||||||
- [ ] Section "Ce que vous allez apprendre" présente
|
- [ ] Section « Ce que vous allez apprendre » présente
|
||||||
- [ ] Prérequis dans une admonition
|
- [ ] Prérequis dans une admonition
|
||||||
- [ ] Admonition TL;DR de chemin rapide en haut
|
- [ ] Admonition TL;DR de chemin rapide en haut
|
||||||
- [ ] Tableaux pour phases, skills, agents
|
- [ ] Tableaux pour phases, skills, agents
|
||||||
- [ ] Section "Ce que vous avez accompli" présente
|
- [ ] Section « Ce que vous avez accompli » présente
|
||||||
- [ ] Tableau de référence rapide présent
|
- [ ] Tableau de référence rapide présent
|
||||||
- [ ] Section questions courantes présente
|
- [ ] Section questions courantes présente
|
||||||
- [ ] Section obtenir de l'aide présente
|
- [ ] Section obtenir de l’aide présente
|
||||||
- [ ] Admonition points clés à retenir à la fin
|
- [ ] Admonition points clés à retenir à la fin
|
||||||
|
|
||||||
## Structure des guides pratiques (How-To)
|
## Structure des guides pratiques (How-To)
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Titre + Accroche (une phrase : « Utilisez le workflow `X` pour... »)
|
1. Titre + Accroche (une phrase : « Utilisez le workflow `X` pour... »)
|
||||||
2. Quand utiliser ce guide (liste à puces de scénarios)
|
2. Quand utiliser ce guide (liste à puces de scénarios)
|
||||||
3. Quand éviter ce guide (optionnel)
|
3. Quand éviter ce guide (optionnel)
|
||||||
4. Prérequis (admonition note)
|
4. Prérequis (admonition note)
|
||||||
|
|
@ -134,11 +134,11 @@ votre-projet/
|
||||||
|
|
||||||
### Liste de vérification des guides pratiques
|
### Liste de vérification des guides pratiques
|
||||||
|
|
||||||
- [ ] L'accroche commence par « Utilisez le workflow `X` pour... »
|
- [ ] L’accroche commence par « Utilisez le workflow `X` pour... »
|
||||||
- [ ] "Quand utiliser ce guide" contient 3-5 points
|
- [ ] « Quand utiliser ce guide » contient 3-5 points
|
||||||
- [ ] Prérequis listés
|
- [ ] Prérequis listés
|
||||||
- [ ] Les étapes sont des sous-sections `###` numérotées avec des verbes d'action
|
- [ ] Les étapes sont des sous-sections `###` numérotées avec des verbes d’action
|
||||||
- [ ] "Ce que vous obtenez" décrit les artefacts produits
|
- [ ] « Ce que vous obtenez » décrit les artefacts produits
|
||||||
|
|
||||||
## Structure des explications
|
## Structure des explications
|
||||||
|
|
||||||
|
|
@ -146,7 +146,7 @@ votre-projet/
|
||||||
|
|
||||||
| Type | Exemple |
|
| Type | Exemple |
|
||||||
| ----------------------- | ------------------------------------ |
|
| ----------------------- | ------------------------------------ |
|
||||||
| **Index/Page d'accueil** | `core-concepts/index.md` |
|
| **Index/Page d’accueil** | `core-concepts/index.md` |
|
||||||
| **Concept** | `what-are-agents.md` |
|
| **Concept** | `what-are-agents.md` |
|
||||||
| **Fonctionnalité** | `quick-dev.md` |
|
| **Fonctionnalité** | `quick-dev.md` |
|
||||||
| **Philosophie** | `why-solutioning-matters.md` |
|
| **Philosophie** | `why-solutioning-matters.md` |
|
||||||
|
|
@ -164,7 +164,7 @@ votre-projet/
|
||||||
7. Prochaines étapes (optionnel)
|
7. Prochaines étapes (optionnel)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Pages d'index/d'accueil
|
### Pages d’index/d’accueil
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Titre + Accroche (une phrase)
|
1. Titre + Accroche (une phrase)
|
||||||
|
|
@ -209,7 +209,7 @@ votre-projet/
|
||||||
|
|
||||||
### Liste de vérification des explications
|
### Liste de vérification des explications
|
||||||
|
|
||||||
- [ ] L'accroche énonce ce que le document explique
|
- [ ] L’accroche énonce ce que le document explique
|
||||||
- [ ] Contenu dans des sections `##` parcourables
|
- [ ] Contenu dans des sections `##` parcourables
|
||||||
- [ ] Tableaux comparatifs pour 3+ options
|
- [ ] Tableaux comparatifs pour 3+ options
|
||||||
- [ ] Les diagrammes ont des étiquettes claires
|
- [ ] Les diagrammes ont des étiquettes claires
|
||||||
|
|
@ -222,14 +222,14 @@ votre-projet/
|
||||||
|
|
||||||
| Type | Exemple |
|
| Type | Exemple |
|
||||||
| ----------------------- | --------------------- |
|
| ----------------------- | --------------------- |
|
||||||
| **Index/Page d'accueil** | `workflows/index.md` |
|
| **Index/Page d’accueil** | `workflows/index.md` |
|
||||||
| **Catalogue** | `agents/index.md` |
|
| **Catalogue** | `agents/index.md` |
|
||||||
| **Approfondissement** | `document-project.md` |
|
| **Approfondissement** | `document-project.md` |
|
||||||
| **Configuration** | `core-tasks.md` |
|
| **Configuration** | `core-tasks.md` |
|
||||||
| **Glossaire** | `glossary/index.md` |
|
| **Glossaire** | `glossary/index.md` |
|
||||||
| **Complet** | `bmgd-workflows.md` |
|
| **Complet** | `bmgd-workflows.md` |
|
||||||
|
|
||||||
### Pages d'index de référence
|
### Pages d’index de référence
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Titre + Accroche (une phrase)
|
1. Titre + Accroche (une phrase)
|
||||||
|
|
@ -247,7 +247,7 @@ votre-projet/
|
||||||
3. Universel/Partagé (## section) (optionnel)
|
3. Universel/Partagé (## section) (optionnel)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Référence d'approfondissement d'élément
|
### Référence d’approfondissement d’élément
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. Titre + Accroche (objectif en une phrase)
|
1. Titre + Accroche (objectif en une phrase)
|
||||||
|
|
@ -286,16 +286,16 @@ votre-projet/
|
||||||
|
|
||||||
### Liste de vérification des références
|
### Liste de vérification des références
|
||||||
|
|
||||||
- [ ] L'accroche énonce ce que le document référence
|
- [ ] L’accroche énonce ce que le document référence
|
||||||
- [ ] La structure correspond au type de référence
|
- [ ] La structure correspond au type de référence
|
||||||
- [ ] Les éléments utilisent une structure cohérente
|
- [ ] Les éléments utilisent une structure cohérente
|
||||||
- [ ] Tableaux pour les données structurées/comparatives
|
- [ ] Tableaux pour les données structurées/comparatives
|
||||||
- [ ] Liens vers les documents d'explication pour la profondeur conceptuelle
|
- [ ] Liens vers les documents d’explication pour la profondeur conceptuelle
|
||||||
- [ ] 1-2 admonitions max
|
- [ ] 1-2 admonitions max
|
||||||
|
|
||||||
## Structure du glossaire
|
## Structure du glossaire
|
||||||
|
|
||||||
Starlight génère la navigation "Sur cette page" à droite à partir des titres :
|
Starlight génère la navigation « Sur cette page » à droite à partir des titres :
|
||||||
|
|
||||||
- Catégories en tant que titres `##` — apparaissent dans la navigation à droite
|
- Catégories en tant que titres `##` — apparaissent dans la navigation à droite
|
||||||
- Termes dans des tableaux — lignes compactes, pas de titres individuels
|
- Termes dans des tableaux — lignes compactes, pas de titres individuels
|
||||||
|
|
@ -316,7 +316,7 @@ Starlight génère la navigation "Sur cette page" à droite à partir des titres
|
||||||
|
|
||||||
| À faire | À ne pas faire |
|
| À faire | À ne pas faire |
|
||||||
| --------------------------------- | --------------------------------------------- |
|
| --------------------------------- | --------------------------------------------- |
|
||||||
| Commencer par ce que c'est ou ce que cela fait | Commencer par « C'est... » ou « Un [terme] est... » |
|
| Commencer par ce que c’est ou ce que cela fait | Commencer par « C’est... » ou « Un [terme] est... » |
|
||||||
| Se limiter à 1-2 phrases | Écrire des explications de plusieurs paragraphes |
|
| Se limiter à 1-2 phrases | Écrire des explications de plusieurs paragraphes |
|
||||||
| Mettre le nom du terme en gras dans la cellule | Utiliser du texte simple pour les termes |
|
| Mettre le nom du terme en gras dans la cellule | Utiliser du texte simple pour les termes |
|
||||||
|
|
||||||
|
|
@ -337,7 +337,7 @@ Ajouter un contexte en italique au début de la définition pour les termes à p
|
||||||
- [ ] Définitions de 1-2 phrases
|
- [ ] Définitions de 1-2 phrases
|
||||||
- [ ] Marqueurs de contexte en italique
|
- [ ] Marqueurs de contexte en italique
|
||||||
- [ ] Noms des termes en gras dans les cellules
|
- [ ] Noms des termes en gras dans les cellules
|
||||||
- [ ] Pas de définitions « Un [terme] est... »
|
- [ ] Pas de définitions « Un [terme] est... »
|
||||||
|
|
||||||
## Sections FAQ
|
## Sections FAQ
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,22 +5,22 @@ sidebar:
|
||||||
order: 8
|
order: 8
|
||||||
---
|
---
|
||||||
|
|
||||||
Faites repenser au LLM ce qu'il vient de générer. Vous choisissez une méthode de raisonnement, il l'applique à sa propre sortie, et vous décidez de conserver ou non les améliorations.
|
Faites repenser au LLM ce qu’il vient de générer. Vous choisissez une méthode de raisonnement, il l’applique à sa propre sortie, et vous décidez de conserver ou non les améliorations.
|
||||||
|
|
||||||
## Qu'est-ce que l’Élicitation Avancée ?
|
## Qu’est-ce que l’Élicitation Avancée ?
|
||||||
|
|
||||||
Un second passage structuré. Au lieu de demander à l'IA de "réessayer" ou de "faire mieux", vous sélectionnez une méthode de raisonnement spécifique et l'IA réexamine sa propre sortie à travers ce prisme.
|
Un second passage structuré. Au lieu de demander à l’IA de « réessayer » ou de « faire mieux », vous sélectionnez une méthode de raisonnement spécifique et l’IA réexamine sa propre sortie à travers ce prisme.
|
||||||
|
|
||||||
La différence est importante. Les demandes vagues produisent des révisions vagues. Une méthode nommée impose un angle d'attaque particulier, mettant en lumière des perspectives qu'un simple réajustement générique aurait manquées.
|
La différence est importante. Les demandes vagues produisent des révisions vagues. Une méthode nommée impose un angle d’attaque particulier, mettant en lumière des perspectives qu’un simple réajustement générique aurait manquées.
|
||||||
|
|
||||||
## Quand l'utiliser
|
## Quand l’utiliser
|
||||||
|
|
||||||
- Après qu'un workflow a généré du contenu et vous souhaitez des alternatives
|
- Après qu’un workflow a généré du contenu et vous souhaitez des alternatives
|
||||||
- Lorsque la sortie semble correcte mais que vous soupçonnez qu'il y a davantage de profondeur
|
- Lorsque la sortie semble correcte mais que vous soupçonnez qu’il y a davantage de profondeur
|
||||||
- Pour tester les hypothèses ou trouver des faiblesses
|
- Pour tester les hypothèses ou trouver des faiblesses
|
||||||
- Pour du contenu à enjeux élevés où la réflexion approfondie aide
|
- Pour du contenu à enjeux élevés où la réflexion approfondie aide
|
||||||
|
|
||||||
Les workflows offrent l'élicitation aux points de décision - après que le LLM ait généré quelque chose, on vous demandera si vous souhaitez l'exécuter.
|
Les workflows offrent l’élicitation aux points de décision - après que le LLM ait généré quelque chose, on vous demandera si vous souhaitez l’exécuter.
|
||||||
|
|
||||||
## Comment ça fonctionne
|
## Comment ça fonctionne
|
||||||
|
|
||||||
|
|
@ -35,15 +35,15 @@ Des dizaines de méthodes de raisonnement sont disponibles. Quelques exemples :
|
||||||
|
|
||||||
- **Analyse Pré-mortem** - Suppose que le projet a déjà échoué, revient en arrière pour trouver pourquoi
|
- **Analyse Pré-mortem** - Suppose que le projet a déjà échoué, revient en arrière pour trouver pourquoi
|
||||||
- **Pensée de Premier Principe** - Élimine les hypothèses, reconstruit à partir de la vérité de terrain
|
- **Pensée de Premier Principe** - Élimine les hypothèses, reconstruit à partir de la vérité de terrain
|
||||||
- **Inversion** - Demande comment garantir l'échec, puis les évite
|
- **Inversion** - Demande comment garantir l’échec, puis les évite
|
||||||
- **Équipe Rouge vs Équipe Bleue** - Attaque votre propre travail, puis le défend
|
- **Équipe Rouge vs Équipe Bleue** - Attaque votre propre travail, puis le défend
|
||||||
- **Questionnement Socratique** - Conteste chaque affirmation avec "pourquoi ?" et "comment le savez-vous ?"
|
- **Questionnement Socratique** - Conteste chaque affirmation avec « pourquoi ? » et « comment le savez-vous ? »
|
||||||
- **Suppression des Contraintes** - Abandonne toutes les contraintes, voit ce qui change, les réajoute sélectivement
|
- **Suppression des Contraintes** - Abandonne toutes les contraintes, voit ce qui change, les réajoute sélectivement
|
||||||
- **Cartographie des Parties Prenantes** - Réévalue depuis la perspective de chaque partie prenante
|
- **Cartographie des Parties Prenantes** - Réévalue depuis la perspective de chaque partie prenante
|
||||||
- **Raisonnement Analogique** - Trouve des parallèles dans d'autres domaines et applique leurs leçons
|
- **Raisonnement Analogique** - Trouve des parallèles dans d’autres domaines et applique leurs leçons
|
||||||
|
|
||||||
Et bien d'autres. L'IA choisit les options les plus pertinentes pour votre contenu - vous choisissez lesquelles exécuter.
|
Et bien d’autres. L’IA choisit les options les plus pertinentes pour votre contenu - vous choisissez lesquelles exécuter.
|
||||||
|
|
||||||
:::tip[Commencez Ici]
|
:::tip[Commencez Ici]
|
||||||
L'Analyse Pré-mortem est un bon premier choix pour toute spécification ou tout plan. Elle trouve systématiquement des lacunes qu'une révision standard manque.
|
L’Analyse Pré-mortem est un bon premier choix pour toute spécification ou tout plan. Elle trouve systématiquement des lacunes qu’une révision standard manque.
|
||||||
:::
|
:::
|
||||||
|
|
|
||||||
|
|
@ -1,58 +1,58 @@
|
||||||
---
|
---
|
||||||
title: "Revue Contradictoire"
|
title: "Revue Contradictoire"
|
||||||
description: Technique de raisonnement forcée qui empêche les revues paresseuses du style "ça à l'air bon"
|
description: Technique de raisonnement forcée qui empêche les revues paresseuses du style « ça à l’air bon »
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 7
|
order: 7
|
||||||
---
|
---
|
||||||
|
|
||||||
Forcez une analyse plus approfondie en exigeant que des problèmes soient trouvés.
|
Forcez une analyse plus approfondie en exigeant que des problèmes soient trouvés.
|
||||||
|
|
||||||
## Qu'est-ce que la Revue Contradictoire ?
|
## Qu’est-ce que la Revue Contradictoire ?
|
||||||
|
|
||||||
Une technique de revue où le réviseur *doit* trouver des problèmes. Pas de "ça a l'air bon" autorisé. Le réviseur adopte une posture cynique - suppose que des problèmes existent et les trouve.
|
Une technique de revue où le réviseur *doit* trouver des problèmes. Pas de « ça a l’air bon » autorisé. Le réviseur adopte une posture cynique - suppose que des problèmes existent et les trouve.
|
||||||
|
|
||||||
Il ne s'agit pas d'être négatif. Il s'agit de forcer une analyse authentique au lieu d'un coup d'œil superficiel qui valide automatiquement ce qui a été soumis.
|
Il ne s’agit pas d’être négatif. Il s’agit de forcer une analyse authentique au lieu d’un coup d’œil superficiel qui valide automatiquement ce qui a été soumis.
|
||||||
|
|
||||||
**La règle fondamentale :** Il doit trouver des problèmes. Zéro constatation déclenche un arrêt - réanalyse ou explique pourquoi.
|
**La règle fondamentale :** Il doit trouver des problèmes. Zéro constatation déclenche un arrêt - réanalyse ou explique pourquoi.
|
||||||
|
|
||||||
## Pourquoi Cela Fonctionne
|
## Pourquoi Cela Fonctionne
|
||||||
|
|
||||||
Les revues normales souffrent du biais de confirmation[^1]. Il parcourt le travail rapidement, rien ne lui saute aux yeux, il l'approuve. L'obligation de "trouver des problèmes" brise ce schéma :
|
Les revues normales souffrent du biais de confirmation[^1]. Il parcourt le travail rapidement, rien ne lui saute aux yeux, il l’approuve. L’obligation de « trouver des problèmes » brise ce schéma :
|
||||||
|
|
||||||
- **Force la rigueur** - Impossible d'approuver tant qu’il n'a pas examiné suffisamment en profondeur pour trouver des problèmes
|
- **Force la rigueur** - Impossible d’approuver tant qu’il n’a pas examiné suffisamment en profondeur pour trouver des problèmes
|
||||||
- **Détecte les oublis** - "Qu'est-ce qui manque ici ?" devient une question naturelle
|
- **Détecte les oublis** - « Qu’est-ce qui manque ici ? » devient une question naturelle
|
||||||
- **Améliore la qualité du signal** - Les constatations sont spécifiques et actionnables, pas des préoccupations vagues
|
- **Améliore la qualité du signal** - Les constatations sont spécifiques et actionnables, pas des préoccupations vagues
|
||||||
- **Asymétrie d'information**[^2] - Effectue les revues avec un contexte frais (sans accès au raisonnement original) pour évaluer l'artefact, pas l'intention
|
- **Asymétrie d’information**[^2] - Effectue les revues avec un contexte frais (sans accès au raisonnement original) pour évaluer l’artefact, pas l’intention
|
||||||
|
|
||||||
## Où Elle Est Utilisée
|
## Où Elle Est Utilisée
|
||||||
|
|
||||||
La revue contradictoire apparaît dans tous les workflows BMad - revue de code, vérifications de préparation à l'implémentation, validation de spécifications, et d'autres. Parfois c'est une étape obligatoire, parfois optionnelle (comme l'élicitation avancée ou le mode party). Le pattern s'adapte à n'importe quel artefact nécessitant un examen.
|
La revue contradictoire apparaît dans tous les workflows BMad - revue de code, vérifications de préparation à l’implémentation, validation de spécifications, et d’autres. Parfois c’est une étape obligatoire, parfois optionnelle (comme l’élicitation avancée ou le mode party). Le pattern s’adapte à n’importe quel artefact nécessitant un examen.
|
||||||
|
|
||||||
## Filtrage Humain Requis
|
## Filtrage Humain Requis
|
||||||
|
|
||||||
Parce que l'IA est *instruite* de trouver des problèmes, elle trouvera des problèmes - même lorsqu'ils n'existent pas. Attendez-vous à des faux positifs : des détails présentés comme des problèmes, des malentendus sur l'intention, ou des préoccupations purement hallucinées[^3].
|
Parce que l’IA est *instruite* de trouver des problèmes, elle trouvera des problèmes - même lorsqu’ils n’existent pas. Attendez-vous à des faux positifs : des détails présentés comme des problèmes, des malentendus sur l’intention, ou des préoccupations purement hallucinées[^3].
|
||||||
|
|
||||||
**C'est vous qui décidez ce qui est réel.** Examinez chaque constatation, ignorez le bruit, corrigez ce qui compte.
|
**C’est vous qui décidez ce qui est réel.** Examinez chaque constatation, ignorez le bruit, corrigez ce qui compte.
|
||||||
|
|
||||||
## Exemple
|
## Exemple
|
||||||
|
|
||||||
Au lieu de :
|
Au lieu de :
|
||||||
|
|
||||||
> "L'implémentation de l'authentification semble raisonnable. Approuvé."
|
> « L’implémentation de l’authentification semble raisonnable. Approuvé. »
|
||||||
|
|
||||||
Une revue contradictoire produit :
|
Une revue contradictoire produit :
|
||||||
|
|
||||||
> 1. **ÉLEVÉ** - `login.ts:47` - Pas de limitation de débit sur les tentatives échouées
|
> 1. **ÉLEVÉ** - `login.ts:47` - Pas de limitation de débit sur les tentatives échouées
|
||||||
> 2. **ÉLEVÉ** - Jeton de session stocké dans localStorage (vulnérable au XSS)
|
> 2. **ÉLEVÉ** - Jeton de session stocké dans localStorage (vulnérable au XSS)
|
||||||
> 3. **MOYEN** - La validation du mot de passe se fait côté client uniquement
|
> 3. **MOYEN** - La validation du mot de passe se fait côté client uniquement
|
||||||
> 4. **MOYEN** - Pas de journalisation d'audit pour les tentatives de connexion échouées
|
> 4. **MOYEN** - Pas de journalisation d’audit pour les tentatives de connexion échouées
|
||||||
> 5. **FAIBLE** - Le nombre magique `3600` devrait être `SESSION_TIMEOUT_SECONDS`
|
> 5. **FAIBLE** - Le nombre magique `3600` devrait être `SESSION_TIMEOUT_SECONDS`
|
||||||
|
|
||||||
La première revue pourrait manquer une vulnérabilité de sécurité. La seconde en a attrapé quatre.
|
La première revue pourrait manquer une vulnérabilité de sécurité. La seconde en a attrapé quatre.
|
||||||
|
|
||||||
## Itération et Rendements Décroissants
|
## Itération et Rendements Décroissants
|
||||||
|
|
||||||
Après avoir traité les constatations, envisagez de relancer la revue. Une deuxième passe détecte généralement plus de problèmes. Une troisième n'est pas toujours inutile non plus. Mais chaque passe prend du temps, et vous finissez par atteindre des rendements décroissants[^4] - juste des détails et des faux problèmes.
|
Après avoir traité les constatations, envisagez de relancer la revue. Une deuxième passe détecte généralement plus de problèmes. Une troisième n’est pas toujours inutile non plus. Mais chaque passe prend du temps, et vous finissez par atteindre des rendements décroissants[^4] - juste des détails et des faux problèmes.
|
||||||
|
|
||||||
:::tip[Meilleures Revues]
|
:::tip[Meilleures Revues]
|
||||||
Supposez que des problèmes existent. Cherchez ce qui manque, pas seulement ce qui ne va pas.
|
Supposez que des problèmes existent. Cherchez ce qui manque, pas seulement ce qui ne va pas.
|
||||||
|
|
@ -61,6 +61,6 @@ Supposez que des problèmes existent. Cherchez ce qui manque, pas seulement ce q
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: **Biais de confirmation** : tendance cognitive à rechercher, interpréter et favoriser les informations qui confirment nos croyances préexistantes, tout en ignorant ou minimisant celles qui les contredisent.
|
[^1]: **Biais de confirmation** : tendance cognitive à rechercher, interpréter et favoriser les informations qui confirment nos croyances préexistantes, tout en ignorant ou minimisant celles qui les contredisent.
|
||||||
[^2]: **Asymétrie d'information** : situation où une partie dispose de plus ou de meilleures informations qu'une autre, conduisant potentiellement à des décisions ou jugements biaisés.
|
[^2]: **Asymétrie d’information** : situation où une partie dispose de plus ou de meilleures informations qu’une autre, conduisant potentiellement à des décisions ou jugements biaisés.
|
||||||
[^3]: **Hallucination (IA)** : phénomène où un modèle d'IA génère des informations plausibles mais factuellement incorrectes ou inventées, présentées avec confiance comme si elles étaient vraies.
|
[^3]: **Hallucination (IA)** : phénomène où un modèle d’IA génère des informations plausibles mais factuellement incorrectes ou inventées, présentées avec confiance comme si elles étaient vraies.
|
||||||
[^4]: **Rendements décroissants** : principe selon lequel l'augmentation continue d'un investissement (temps, effort, ressources) finit par produire des bénéfices de plus en plus faibles proportionnellement.
|
[^4]: **Rendements décroissants** : principe selon lequel l’augmentation continue d’un investissement (temps, effort, ressources) finit par produire des bénéfices de plus en plus faibles proportionnellement.
|
||||||
|
|
|
||||||
|
|
@ -1,74 +1,74 @@
|
||||||
---
|
---
|
||||||
title: "Phase d'analyse : de l'Idée aux Fondations"
|
title: "Phase d’analyse : de l’Idée aux Fondations"
|
||||||
description: Ce que sont le brainstorming, la recherche, les product briefs et les PRFAQs — et quand les utiliser
|
description: Ce que sont le brainstorming, la recherche, les product briefs et les PRFAQs — et quand les utiliser
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 1
|
order: 1
|
||||||
---
|
---
|
||||||
|
|
||||||
La phase d'Analyse (Phase 1) vous aide à penser clairement à votre produit avant de vous engager à le construire. Chaque outil de cette phase est optionnel, mais sauter l'analyse entièrement signifie que votre PRD sera construit sur des suppositions plutôt que sur des connaissances approfondies.
|
La phase d’Analyse (Phase 1) vous aide à penser clairement à votre produit avant de vous engager à le construire. Chaque outil de cette phase est optionnel, mais sauter l’analyse entièrement signifie que votre PRD sera construit sur des suppositions plutôt que sur des connaissances approfondies.
|
||||||
|
|
||||||
## Pourquoi Analyser avant de Planifier ?
|
## Pourquoi Analyser avant de Planifier ?
|
||||||
|
|
||||||
Un PRD répond à la question « que devons-nous construire et pourquoi ? » Si vous l'alimentez avec une réflexion vague, vous obtiendrez un PRD vague — et chaque document en aval héritera de cette imprécision. Une architecture bâtie sur un PRD faible prend de mauvaises décisions techniques. Les stories dérivées d'une architecture faible manquent de edge cases. Le coût s'accumule.
|
Un PRD répond à la question « que devons-nous construire et pourquoi ? » Si vous l’alimentez avec une réflexion vague, vous obtiendrez un PRD vague — et chaque document en aval héritera de cette imprécision. Une architecture bâtie sur un PRD faible prend de mauvaises décisions techniques. Les stories dérivées d’une architecture faible manquent de edge cases. Le coût s’accumule.
|
||||||
|
|
||||||
Les outils d'analyse existent pour rendre votre PRD précis. Ils attaquent le problème sous différents angles — exploration créative, réalité du marché, clarté client, faisabilité — pour qu'au moment de vous asseoir avec l'agent PM, vous sachiez ce que vous construisez et pour qui.
|
Les outils d’analyse existent pour rendre votre PRD précis. Ils attaquent le problème sous différents angles — exploration créative, réalité du marché, clarté client, faisabilité — pour qu’au moment de vous asseoir avec l’agent PM, vous sachiez ce que vous construisez et pour qui.
|
||||||
|
|
||||||
## Les Outils
|
## Les Outils
|
||||||
|
|
||||||
### Brainstorming
|
### Brainstorming
|
||||||
|
|
||||||
**Quoi.** Une session créative facilitée utilisant des techniques d'idéation éprouvées. L'IA agit comme coach, extrayant vos idées à travers des exercices structurés — pas en les générant pour vous.
|
**Quoi.** Une session créative facilitée utilisant des techniques d’idéation éprouvées. L’IA agit comme coach, extrayant vos idées à travers des exercices structurés — pas en les générant pour vous.
|
||||||
|
|
||||||
**Pourquoi.** Les idées brutes ont besoin d'espace pour se développer avant d'être verrouillées dans des exigences. Le brainstorming crée cet espace. Il est particulièrement précieux quand vous avez un espace-problème mais pas de solution claire, ou quand vous voulez explorer plusieurs pistes avant de vous engager.
|
**Pourquoi.** Les idées brutes ont besoin d’espace pour se développer avant d’être verrouillées dans des exigences. Le brainstorming crée cet espace. Il est particulièrement précieux quand vous avez un espace-problème mais pas de solution claire, ou quand vous voulez explorer plusieurs pistes avant de vous engager.
|
||||||
|
|
||||||
**Quand.** Vous avez une vague idée de ce que vous voulez construire mais n'avez pas encore cristallisé le concept. Ou vous avez un concept mais voulez l'éprouver face à des alternatives.
|
**Quand.** Vous avez une vague idée de ce que vous voulez construire mais n’avez pas encore cristallisé le concept. Ou vous avez un concept mais voulez l’éprouver face à des alternatives.
|
||||||
|
|
||||||
Voir [Brainstorming](./brainstorming.md) pour un aperçu plus approfondi du fonctionnement des sessions.
|
Voir [Brainstorming](./brainstorming.md) pour un aperçu plus approfondi du fonctionnement des sessions.
|
||||||
|
|
||||||
### Recherche (Marché, Domaine, Technique)
|
### Recherche (Marché, Domaine, Technique)
|
||||||
|
|
||||||
**Quoi.** Trois workflows de recherche ciblés qui investiguent différentes dimensions de votre idée. La recherche marché examine les concurrents, les tendances et le sentiment utilisateur. La recherche domaine construit l'expertise métier et la terminologie. La recherche technique évalue la faisabilité, les options d'architecture et les approches d'implémentation.
|
**Quoi.** Trois workflows de recherche ciblés qui investiguent différentes dimensions de votre idée. La recherche marché examine les concurrents, les tendances et le sentiment utilisateur. La recherche domaine construit l’expertise métier et la terminologie. La recherche technique évalue la faisabilité, les options d’architecture et les approches d’implémentation.
|
||||||
|
|
||||||
**Pourquoi.** Construire sur des suppositions est le moyen le plus rapide de construire quelque chose dont personne n'a besoin. La recherche ancre votre concept dans la réalité — quels concurrents existent déjà, avec quoi les utilisateurs luttent réellement, ce qui est techniquement faisable, et quelles contraintes spécifiques à l'industrie vous affronterez.
|
**Pourquoi.** Construire sur des suppositions est le moyen le plus rapide de construire quelque chose dont personne n’a besoin. La recherche ancre votre concept dans la réalité — quels concurrents existent déjà, avec quoi les utilisateurs luttent réellement, ce qui est techniquement faisable, et quelles contraintes spécifiques à l’industrie vous affronterez.
|
||||||
|
|
||||||
**Quand.** Vous entrez dans un domaine inconnu, vous soupçonnez que des concurrents existent mais ne les avez pas cartographiés, ou votre concept dépend de capacités techniques que vous n'avez pas validées. Lancez-en un, deux ou les trois — chaque workflow de recherche fonctionne de manière autonome.
|
**Quand.** Vous entrez dans un domaine inconnu, vous soupçonnez que des concurrents existent mais ne les avez pas cartographiés, ou votre concept dépend de capacités techniques que vous n’avez pas validées. Lancez-en un, deux ou les trois — chaque workflow de recherche fonctionne de manière autonome.
|
||||||
|
|
||||||
### Product Brief[^1]
|
### Product Brief[^1]
|
||||||
|
|
||||||
**Quoi.** Une session de découverte guidée qui produit un résumé exécutif de 1-2 pages de votre concept produit. L'IA agit comme un analyste commercial collaboratif, vous aidant à articuler la vision, le public cible, la proposition de valeur et le périmètre.
|
**Quoi.** Une session de découverte guidée qui produit un résumé exécutif de 1-2 pages de votre concept produit. L’IA agit comme un analyste commercial collaboratif, vous aidant à articuler la vision, le public cible, la proposition de valeur et le périmètre.
|
||||||
|
|
||||||
**Pourquoi.** Le product brief est le chemin le plus doux vers la planification. Il capture votre vision stratégique dans un format structuré qui alimente directement la création du PRD. Il fonctionne mieux quand vous avez déjà la conviction à propos de votre concept — vous connaissez le client, le problème et approximativement ce que vous voulez construire. Le brief organise et affine cette réflexion.
|
**Pourquoi.** Le product brief est le chemin le plus doux vers la planification. Il capture votre vision stratégique dans un format structuré qui alimente directement la création du PRD. Il fonctionne mieux quand vous avez déjà la conviction à propos de votre concept — vous connaissez le client, le problème et approximativement ce que vous voulez construire. Le brief organise et affine cette réflexion.
|
||||||
|
|
||||||
**Quand.** Votre concept est relativement clair et vous voulez le documenter efficacement avant de créer un PRD. Vous êtes confiant dans la direction et n'avez pas besoin que vos suppositions soient agressivement remises en question.
|
**Quand.** Votre concept est relativement clair et vous voulez le documenter efficacement avant de créer un PRD. Vous êtes confiant dans la direction et n’avez pas besoin que vos suppositions soient agressivement remises en question.
|
||||||
|
|
||||||
### PRFAQ (Working Backwards)
|
### PRFAQ (Working Backwards)
|
||||||
|
|
||||||
**Quoi.** La méthodologie Working Backwards d'Amazon adaptée en défi interactif. Vous rédigez le communiqué de presse annonçant votre produit fini avant qu'une seule ligne de code n'existe, puis répondez aux questions les plus difficiles que les clients et les parties prenantes poseraient. L'IA agit comme un coach produit implacable mais constructif.
|
**Quoi.** La méthodologie Working Backwards d’Amazon adaptée en défi interactif. Vous rédigez le communiqué de presse annonçant votre produit fini avant qu’une seule ligne de code n’existe, puis répondez aux questions les plus difficiles que les clients et les parties prenantes poseraient. L’IA agit comme un coach produit implacable mais constructif.
|
||||||
|
|
||||||
**Pourquoi.** Le PRFAQ est le chemin rigoureux vers la planification. Il force la clarté orientée client en vous obligeant à défendre chaque affirmation. Si vous ne pouvez pas rédiger un communiqué de presse convaincant, le produit n'est pas prêt. Si les réponses de la FAQ client révèlent des lacunes, ce sont des lacunes que vous découvrirez bien plus tard — et plus coûteusement — pendant l'implémentation. Le défi fait remonter les failles de réflexion tôt, quand c'est le moins cher de les corriger.
|
**Pourquoi.** Le PRFAQ est le chemin rigoureux vers la planification. Il force la clarté orientée client en vous obligeant à défendre chaque affirmation. Si vous ne pouvez pas rédiger un communiqué de presse convaincant, le produit n’est pas prêt. Si les réponses de la FAQ client révèlent des lacunes, ce sont des lacunes que vous découvrirez bien plus tard — et plus coûteusement — pendant l’implémentation. Le défi fait remonter les failles de réflexion tôt, quand c’est le moins cher de les corriger.
|
||||||
|
|
||||||
**Quand.** Vous voulez que votre concept soit éprouvé avant d'engager des ressources. Vous n'êtes pas sûr que les utilisateurs s'en soucieront réellement. Vous voulez valider que vous pouvez articuler une proposition de valeur claire et défendable. Ou vous voulez simplement la discipline du Working Backwards pour affiner votre réflexion.
|
**Quand.** Vous voulez que votre concept soit éprouvé avant d’engager des ressources. Vous n’êtes pas sûr que les utilisateurs s’en soucieront réellement. Vous voulez valider que vous pouvez articuler une proposition de valeur claire et défendable. Ou vous voulez simplement la discipline du Working Backwards pour affiner votre réflexion.
|
||||||
|
|
||||||
## Lequel utiliser ?
|
## Lequel utiliser ?
|
||||||
|
|
||||||
| Situation | Outil recommandé |
|
| Situation | Outil recommandé |
|
||||||
|-------------------------------------------------------------------------------|--------------------------------------------|
|
|-------------------------------------------------------------------------------|--------------------------------------------|
|
||||||
| « J'ai une idée vague, je ne sais pas par où commencer » | Brainstorming |
|
| « J’ai une idée vague, je ne sais pas par où commencer » | Brainstorming |
|
||||||
| « J'ai besoin de comprendre le marché avant de décider » | Recherche |
|
| « J’ai besoin de comprendre le marché avant de décider » | Recherche |
|
||||||
| « Je sais ce que je veux construire, j'ai juste besoin de le documenter » | Product Brief |
|
| « Je sais ce que je veux construire, j’ai juste besoin de le documenter » | Product Brief |
|
||||||
| « Je veux m'assurer que cette idée vaut vraiment la peine d'être construite » | PRFAQ |
|
| « Je veux m’assurer que cette idée vaut vraiment la peine d’être construite » | PRFAQ |
|
||||||
| « Je veux explorer, puis valider, puis documenter » | Brainstorming → Recherche → PRFAQ ou Brief |
|
| « Je veux explorer, puis valider, puis documenter » | Brainstorming → Recherche → PRFAQ ou Brief |
|
||||||
|
|
||||||
Le Product Brief et le PRFAQ produisent tous deux des entrées pour le PRD — choisissez-en un en fonction du niveau de défi que vous souhaitez. Le brief est une découverte collaborative. Le PRFAQ est un défi. Les deux vous mènent à la même destination ; le PRFAQ teste si votre concept mérite d'y arriver.
|
Le Product Brief et le PRFAQ produisent tous deux des entrées pour le PRD — choisissez-en un en fonction du niveau de défi que vous souhaitez. Le brief est une découverte collaborative. Le PRFAQ est un défi. Les deux vous mènent à la même destination ; le PRFAQ teste si votre concept mérite d’y arriver.
|
||||||
|
|
||||||
:::tip[Pas sûr ?]
|
:::tip[Pas sûr ?]
|
||||||
Exécutez `bmad-help` et décrivez votre situation. Il vous recommandera le bon point de départ en fonction de ce que vous avez déjà accompli et de ce que vous essayez de réaliser.
|
Exécutez `bmad-help` et décrivez votre situation. Il vous recommandera le bon point de départ en fonction de ce que vous avez déjà accompli et de ce que vous essayez de réaliser.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Que se passe-t-il après l'analyse ?
|
## Que se passe-t-il après l’analyse ?
|
||||||
|
|
||||||
Les résultats de l'analyse alimentent directement la Phase 2 (Planification). Le workflow PRD accepte les product briefs, les documents PRFAQ, les conclusions de recherche et les rapports de brainstorming en entrée — il synthétise tout ce que vous avez produit en exigences structurées. Plus vous faites d'analyse, plus votre PRD sera précis.
|
Les résultats de l’analyse alimentent directement la Phase 2 (Planification). Le workflow PRD accepte les product briefs, les documents PRFAQ, les conclusions de recherche et les rapports de brainstorming en entrée — il synthétise tout ce que vous avez produit en exigences structurées. Plus vous faites d’analyse, plus votre PRD sera précis.
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: Brief : document synthétique qui formalise le contexte, les objectifs, le périmètre et les contraintes d'un projet ou d'une demande, afin d'aligner rapidement les parties prenantes avant le travail détaillé.
|
[^1]: Brief : document synthétique qui formalise le contexte, les objectifs, le périmètre et les contraintes d’un projet ou d’une demande, afin d’aligner rapidement les parties prenantes avant le travail détaillé.
|
||||||
|
|
|
||||||
|
|
@ -1,27 +1,27 @@
|
||||||
---
|
---
|
||||||
title: "Brainstorming"
|
title: "Brainstorming"
|
||||||
description: Sessions interactives créatives utilisant plus de 60 techniques d'idéation éprouvées
|
description: Sessions interactives créatives utilisant plus de 60 techniques d’idéation éprouvées
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 2
|
order: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
Libérez votre créativité grâce à une exploration guidée.
|
Libérez votre créativité grâce à une exploration guidée.
|
||||||
|
|
||||||
## Qu'est-ce que le Brainstorming ?
|
## Qu’est-ce que le Brainstorming ?
|
||||||
|
|
||||||
Lancez `bmad-brainstorming` et vous obtenez un facilitateur créatif qui fait émerger vos idées - pas qui les génère pour vous. L'IA agit comme coach et guide, utilisant des techniques éprouvées pour créer les conditions où votre meilleure réflexion émerge.
|
Lancez `bmad-brainstorming` et vous obtenez un facilitateur créatif qui fait émerger vos idées - pas qui les génère pour vous. L’IA agit comme coach et guide, utilisant des techniques éprouvées pour créer les conditions où votre meilleure réflexion émerge.
|
||||||
|
|
||||||
**Idéal pour :**
|
**Idéal pour :**
|
||||||
|
|
||||||
- Surmonter les blocages créatifs
|
- Surmonter les blocages créatifs
|
||||||
- Générer des idées de produits ou de fonctionnalités
|
- Générer des idées de produits ou de fonctionnalités
|
||||||
- Explorer des problèmes sous de nouveaux angles
|
- Explorer des problèmes sous de nouveaux angles
|
||||||
- Développer des concepts bruts en plans d'action
|
- Développer des concepts bruts en plans d’action
|
||||||
|
|
||||||
## Comment ça fonctionne
|
## Comment ça fonctionne
|
||||||
|
|
||||||
1. **Configuration** - Définir le sujet, les objectifs, les contraintes
|
1. **Configuration** - Définir le sujet, les objectifs, les contraintes
|
||||||
2. **Choisir l'approche** - Choisir vous-même les techniques, obtenir des recommandations de l'IA, aller au hasard, ou suivre un flux progressif
|
2. **Choisir l’approche** - Choisir vous-même les techniques, obtenir des recommandations de l’IA, aller au hasard, ou suivre un flux progressif
|
||||||
3. **Facilitation** - Travailler à travers les techniques avec des questions approfondies et un coaching collaboratif
|
3. **Facilitation** - Travailler à travers les techniques avec des questions approfondies et un coaching collaboratif
|
||||||
4. **Organiser** - Idées regroupées par thèmes et priorisées
|
4. **Organiser** - Idées regroupées par thèmes et priorisées
|
||||||
5. **Action** - Les meilleures idées reçoivent des prochaines étapes et des indicateurs de succès
|
5. **Action** - Les meilleures idées reçoivent des prochaines étapes et des indicateurs de succès
|
||||||
|
|
|
||||||
|
|
@ -5,88 +5,88 @@ sidebar:
|
||||||
order: 4
|
order: 4
|
||||||
---
|
---
|
||||||
|
|
||||||
`bmad-checkpoint-preview` est un workflow de revue interactif, assisté par LLM, avec intervention humaine. Il vous guide à travers une modification de code — de l'intention et du contexte jusqu'aux détails — afin que vous puissiez prendre une décision éclairée sur la mise en production, la refonte ou l'approfondissement.
|
`bmad-checkpoint-preview` est un workflow de revue interactif, assisté par LLM, avec intervention humaine. Il vous guide à travers une modification de code — de l’intention et du contexte jusqu’aux détails — afin que vous puissiez prendre une décision éclairée sur la mise en production, la refonte ou l’approfondissement.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## Le Flux Typique
|
## Le Flux Typique
|
||||||
|
|
||||||
Vous lancez `bmad-quick-dev`. Il clarifie votre intention, construit une spécification, implémente la modification, et une fois terminé, il ajoute un historique de revue au fichier de spécification et l'ouvre dans votre éditeur. Vous regardez la spec et constatez que la modification a touché 20 fichiers dans plusieurs modules.
|
Vous lancez `bmad-quick-dev`. Il clarifie votre intention, construit une spécification, implémente la modification, et une fois terminé, il ajoute un historique de revue au fichier de spécification et l’ouvre dans votre éditeur. Vous regardez la spec et constatez que la modification a touché 20 fichiers dans plusieurs modules.
|
||||||
|
|
||||||
Vous pourriez survoler le diff. Mais 20 fichiers, c'est le moment où le survol commence à échouer — on perd le fil, on rate un lien entre deux modifications éloignées, ou on approuve quelque chose qu'on n'a pas pleinement compris. Alors au lieu de cela, vous dites « checkpoint » et le LLM vous guide à travers la modification.
|
Vous pourriez survoler le diff. Mais 20 fichiers, c’est le moment où le survol commence à échouer — on perd le fil, on rate un lien entre deux modifications éloignées, ou on approuve quelque chose qu’on n’a pas pleinement compris. Alors au lieu de cela, vous dites « checkpoint » et le LLM vous guide à travers la modification.
|
||||||
|
|
||||||
Ce passage de relais — de l'implémentation autonome au jugement humain — est le cas d'usage principal. Quick-dev s'exécute longtemps avec une supervision minimale. Checkpoint Preview, c'est là où vous reprenez le volant.
|
Ce passage de relais — de l’implémentation autonome au jugement humain — est le cas d’usage principal. Quick-dev s’exécute longtemps avec une supervision minimale. Checkpoint Preview, c’est là où vous reprenez le volant.
|
||||||
|
|
||||||
## Pourquoi
|
## Pourquoi
|
||||||
|
|
||||||
La revue de code a deux modes d'échec. Dans le premier, le réviseur survole le diff, rien ne saute aux yeux, et il approuve. Dans le second, il lit méthodiquement chaque fichier mais perd le fil — il voit les arbres et rate la forêt. Les deux aboutissent au même résultat : la revue n'a pas repéré ce qui comptait.
|
La revue de code a deux modes d’échec. Dans le premier, le réviseur survole le diff, rien ne saute aux yeux, et il approuve. Dans le second, il lit méthodiquement chaque fichier mais perd le fil — il voit les arbres et rate la forêt. Les deux aboutissent au même résultat : la revue n’a pas repéré ce qui comptait.
|
||||||
|
|
||||||
Le problème sous-jacent est le séquençage. Un diff brut présente les modifications dans l'ordre des fichiers, ce qui est presque jamais l'ordre qui construit la compréhension. Vous voyez une fonction utilitaire avant de savoir pourquoi elle existe. Vous voyez une modification de schéma avant de comprendre quelle fonctionnalité elle supporte. Le réviseur doit reconstruire l'intention de l'auteur à partir d'indices dispersés, et c'est cette reconstruction qui fait défaut à l'attention.
|
Le problème sous-jacent est le séquençage. Un diff brut présente les modifications dans l’ordre des fichiers, ce qui est presque jamais l’ordre qui construit la compréhension. Vous voyez une fonction utilitaire avant de savoir pourquoi elle existe. Vous voyez une modification de schéma avant de comprendre quelle fonctionnalité elle supporte. Le réviseur doit reconstruire l’intention de l’auteur à partir d’indices dispersés, et c’est cette reconstruction qui fait défaut à l’attention.
|
||||||
|
|
||||||
Checkpoint Preview résout ce problème en confiant le travail de reconstruction au LLM. Il lit le diff, la spécification (si elle existe) et la base de code environnante, puis présente la modification dans un ordre conçu pour la compréhension — et non pour `git diff`.
|
Checkpoint Preview résout ce problème en confiant le travail de reconstruction au LLM. Il lit le diff, la spécification (si elle existe) et la base de code environnante, puis présente la modification dans un ordre conçu pour la compréhension — et non pour `git diff`.
|
||||||
|
|
||||||
## Comment ça fonctionne
|
## Comment ça fonctionne
|
||||||
|
|
||||||
Le workflow comporte cinq étapes. Chaque étape s'appuie sur la précédente, passant progressivement de « qu'est-ce que c'est ? » à « devons-nous publier ça ? »
|
Le workflow comporte cinq étapes. Chaque étape s’appuie sur la précédente, passant progressivement de « qu’est-ce que c’est ? » à « devons-nous publier ça ? »
|
||||||
|
|
||||||
### 1. Orientation
|
### 1. Orientation
|
||||||
|
|
||||||
Le workflow identifie la modification (à partir d'une PR, d'un commit, d'une branche, d'un fichier de spécification ou de l'état git actuel) et produit un résumé d'intention en une ligne ainsi que des statistiques de surface : fichiers modifiés, modules touchés, lignes de logique, dépassements de boundaries et nouvelles interfaces publiques.
|
Le workflow identifie la modification (à partir d’une PR, d’un commit, d’une branche, d’un fichier de spécification ou de l’état git actuel) et produit un résumé d’intention en une ligne ainsi que des statistiques de surface : fichiers modifiés, modules touchés, lignes de logique, dépassements de boundaries et nouvelles interfaces publiques.
|
||||||
|
|
||||||
C'est le moment « est-ce bien ce que je crois ? ». Avant de lire le moindre code, le réviseur confirme qu'il regarde la bonne chose et calibre ses attentes quant à la portée.
|
C’est le moment « est-ce bien ce que je crois ? ». Avant de lire le moindre code, le réviseur confirme qu’il regarde la bonne chose et calibre ses attentes quant à la portée.
|
||||||
|
|
||||||
### 2. Visite guidée
|
### 2. Visite guidée
|
||||||
|
|
||||||
La modification est organisée par **préoccupation** — des intentions de conception cohérentes comme « validation des entrées » ou « contrat d'API » — et non par fichier. Chaque préoccupation fait l'objet d'une courte explication du *pourquoi* de cette approche, suivie d'arrêts cliquables `chemin:ligne` que le réviseur peut suivre dans le code.
|
La modification est organisée par **préoccupation** — des intentions de conception cohérentes comme « validation des entrées » ou « contrat d’API » — et non par fichier. Chaque préoccupation fait l’objet d’une courte explication du *pourquoi* de cette approche, suivie d’arrêts cliquables `chemin:ligne` que le réviseur peut suivre dans le code.
|
||||||
|
|
||||||
C'est l'étape du jugement de conception. Le réviseur évalue si l'approche est adaptée au système, et non si le code est correct. Les préoccupations sont séquencées de haut en bas : l'intention de plus haut niveau en premier, puis l'implémentation de support. Le réviseur ne rencontre jamais une référence à quelque chose qu'il n'a pas encore vu.
|
C’est l’étape du jugement de conception. Le réviseur évalue si l’approche est adaptée au système, et non si le code est correct. Les préoccupations sont séquencées de haut en bas : l’intention de plus haut niveau en premier, puis l’implémentation de support. Le réviseur ne rencontre jamais une référence à quelque chose qu’il n’a pas encore vu.
|
||||||
|
|
||||||
### 3. Passage en revue des détails
|
### 3. Passage en revue des détails
|
||||||
|
|
||||||
Une fois que le réviseur comprend la conception, le workflow met en évidence 2 à 5 endroits où une erreur aurait l’impact le plus important. Ceux-ci sont étiquetés par catégorie de risque — `[auth]`, `[schéma]`, `[facturation]`, `[API publique]`, `[sécurité]`, et d'autres — et ordonnés selon l'impact en cas d'erreur.
|
Une fois que le réviseur comprend la conception, le workflow met en évidence 2 à 5 endroits où une erreur aurait l’impact le plus important. Ceux-ci sont étiquetés par catégorie de risque — `[auth]`, `[schéma]`, `[facturation]`, `[API publique]`, `[sécurité]`, et d’autres — et ordonnés selon l’impact en cas d’erreur.
|
||||||
|
|
||||||
Ce n'est pas une chasse aux bugs. Les tests automatisés et la CI gèrent la correction. Le passage en revue des détails active la conscience du risque : « voici les endroits où se tromper coûte le plus cher ». Si le réviseur veut approfondir un domaine spécifique, il peut dire « approfondis [domaine] » pour une re-revue ciblée axée sur la correction.
|
Ce n’est pas une chasse aux bugs. Les tests automatisés et la CI gèrent la correction. Le passage en revue des détails active la conscience du risque : « voici les endroits où se tromper coûte le plus cher ». Si le réviseur veut approfondir un domaine spécifique, il peut dire « approfondis [domaine] » pour une re-revue ciblée axée sur la correction.
|
||||||
|
|
||||||
Si la spécification a passé des boucles de revues contradictoires (machine hardening), ces résultats sont également présentés ici — pas les bugs qui ont été corrigés, mais les décisions que la boucle de revue a signalées et dont le réviseur devrait être conscient.
|
Si la spécification a passé des boucles de revues contradictoires (machine hardening), ces résultats sont également présentés ici — pas les bugs qui ont été corrigés, mais les décisions que la boucle de revue a signalées et dont le réviseur devrait être conscient.
|
||||||
|
|
||||||
### 4. Tests
|
### 4. Tests
|
||||||
|
|
||||||
Propose 2 à 5 façons d'observer manuellement la modification en action. Pas des commandes de test automatisé — des observations manuelles qui renforcent la confiance au-delà de ce que toute suite de tests peut fournir. Une interaction UI à essayer, une commande CLI à lancer, une requête API à envoyer, avec les résultats attendus pour chacune.
|
Propose 2 à 5 façons d’observer manuellement la modification en action. Pas des commandes de test automatisé — des observations manuelles qui renforcent la confiance au-delà de ce que toute suite de tests peut fournir. Une interaction UI à essayer, une commande CLI à lancer, une requête API à envoyer, avec les résultats attendus pour chacune.
|
||||||
|
|
||||||
Si la modification n'a aucun comportement visible par l'utilisateur, il le dit. Pas de travail inventé.
|
Si la modification n’a aucun comportement visible par l’utilisateur, il le dit. Pas de travail inventé.
|
||||||
|
|
||||||
### 5. Conclusion
|
### 5. Conclusion
|
||||||
|
|
||||||
Le réviseur prend la décision : approuver, retravailler ou continuer la discussion. S'il approuve une PR, le workflow peut aider avec `gh pr review --approve`. S'il demande une refonte, il aide à diagnostiquer si le problème vient de l'approche, de la spécification ou de l'implémentation, et aide à rédiger un retour actionnable lié à des emplacements de code spécifiques.
|
Le réviseur prend la décision : approuver, retravailler ou continuer la discussion. S’il approuve une PR, le workflow peut aider avec `gh pr review --approve`. S’il demande une refonte, il aide à diagnostiquer si le problème vient de l’approche, de la spécification ou de l’implémentation, et aide à rédiger un retour actionnable lié à des emplacements de code spécifiques.
|
||||||
|
|
||||||
## C'est une conversation, pas un rapport
|
## C’est une conversation, pas un rapport
|
||||||
|
|
||||||
Le workflow présente chaque étape comme un point de départ, pas un mot final. Entre les étapes — ou au milieu d'une — vous pouvez parler au LLM, poser des questions, remettre en question son cadrage ou faire appel à d'autres skills pour obtenir une perspective différente :
|
Le workflow présente chaque étape comme un point de départ, pas un mot final. Entre les étapes — ou au milieu d’une — vous pouvez parler au LLM, poser des questions, remettre en question son cadrage ou faire appel à d’autres skills pour obtenir une perspective différente :
|
||||||
|
|
||||||
- **« lance l'élicitation avancée sur la gestion des erreurs »** — pousse le LLM à reconsidérer et affiner son analyse d'un domaine spécifique
|
- **« lance l’élicitation avancée sur la gestion des erreurs »** — pousse le LLM à reconsidérer et affiner son analyse d’un domaine spécifique
|
||||||
- **« active le party mode sur la sécurité de cette migration de schéma »** — fait intervenir plusieurs perspectives agentiques dans un débat ciblé
|
- **« active le party mode sur la sécurité de cette migration de schéma »** — fait intervenir plusieurs perspectives agentiques dans un débat ciblé
|
||||||
- **« lance la revue de code »** — génère des résultats structurés avec analyse adversariale et cas limites
|
- **« lance la revue de code »** — génère des résultats structurés avec analyse adversariale et cas limites
|
||||||
|
|
||||||
Le workflow checkpoint ne vous enferme pas dans un chemin linéaire. Il vous donne de la structure quand vous la souhaitez et s'efface quand vous voulez explorer. Les cinq étapes sont là pour s'assurer que vous voyez le tableau complet, mais la profondeur à laquelle vous allez à chaque étape — et les outils que vous y apportez — est entièrement entre vos mains.
|
Le workflow checkpoint ne vous enferme pas dans un chemin linéaire. Il vous donne de la structure quand vous la souhaitez et s’efface quand vous voulez explorer. Les cinq étapes sont là pour s’assurer que vous voyez le tableau complet, mais la profondeur à laquelle vous allez à chaque étape — et les outils que vous y apportez — est entièrement entre vos mains.
|
||||||
|
|
||||||
## L'historique de revue
|
## L’historique de revue
|
||||||
|
|
||||||
L'étape de visite guidée fonctionne mieux lorsqu'elle dispose d'un **ordre de revue suggéré** — une liste d'arrêts que l'auteur de la spécification a rédigée pour guider les réviseurs à travers la modification. Lorsqu'une spécification inclut cet ordre, le workflow l'utilise directement.
|
L’étape de visite guidée fonctionne mieux lorsqu’elle dispose d’un **ordre de revue suggéré** — une liste d’arrêts que l’auteur de la spécification a rédigée pour guider les réviseurs à travers la modification. Lorsqu’une spécification inclut cet ordre, le workflow l’utilise directement.
|
||||||
|
|
||||||
Lorsqu'aucun historique produit par l'auteur n'existe, le workflow en génère un à partir du diff et du contexte de la base de code. Un historique généré est de qualité inférieure à un historique produit par l'auteur, mais nettement supérieur à la lecture des modifications dans l'ordre des fichiers.
|
Lorsqu’aucun historique produit par l’auteur n’existe, le workflow en génère un à partir du diff et du contexte de la base de code. Un historique généré est de qualité inférieure à un historique produit par l’auteur, mais nettement supérieur à la lecture des modifications dans l’ordre des fichiers.
|
||||||
|
|
||||||
## Quand l'utiliser
|
## Quand l’utiliser
|
||||||
|
|
||||||
Le scénario principal est le passage de relais depuis `bmad-quick-dev` : l'implémentation est terminée, le fichier de spécification est ouvert dans votre éditeur avec un historique de revue ajouté, et vous devez décider si vous publiez. Dites « checkpoint » et c'est parti.
|
Le scénario principal est le passage de relais depuis `bmad-quick-dev` : l’implémentation est terminée, le fichier de spécification est ouvert dans votre éditeur avec un historique de revue ajouté, et vous devez décider si vous publiez. Dites « checkpoint » et c’est parti.
|
||||||
|
|
||||||
Il fonctionne aussi de manière autonome :
|
Il fonctionne aussi de manière autonome :
|
||||||
|
|
||||||
- **Revue d'une PR** — surtout celles avec plus de quelques fichiers ou des modifications transversales
|
- **Revue d’une PR** — surtout celles avec plus de quelques fichiers ou des modifications transversales
|
||||||
- **Prise en main d'une modification** — quand vous devez comprendre ce qui s'est passé sur une branche que vous n'avez pas écrite
|
- **Prise en main d’une modification** — quand vous devez comprendre ce qui s’est passé sur une branche que vous n’avez pas écrite
|
||||||
- **Revue de sprint** — le workflow peut récupérer les stories marquées `review` dans votre fichier de statut de sprint
|
- **Revue de sprint** — le workflow peut récupérer les stories marquées `review` dans votre fichier de statut de sprint
|
||||||
|
|
||||||
Invoquez-le en disant « checkpoint » ou « guide-moi à travers cette modification ». Il fonctionne dans n'importe quel terminal, mais vous en tirerez plus de parti dans un IDE — VS Code, Cursor ou similaire — car le workflow produit des références `chemin:ligne` à chaque étape. Dans un terminal intégré à un IDE, celles-ci sont cliquables, ce qui vous permet de sauter de fichier en fichier en suivant l'historique de revue.
|
Invoquez-le en disant « checkpoint » ou « guide-moi à travers cette modification ». Il fonctionne dans n’importe quel terminal, mais vous en tirerez plus de parti dans un IDE — VS Code, Cursor ou similaire — car le workflow produit des références `chemin:ligne` à chaque étape. Dans un terminal intégré à un IDE, celles-ci sont cliquables, ce qui vous permet de sauter de fichier en fichier en suivant l’historique de revue.
|
||||||
|
|
||||||
## Ce que ce n'est pas
|
## Ce que ce n’est pas
|
||||||
|
|
||||||
Checkpoint Preview ne remplace pas la revue automatisée. Il ne lance pas de linters, de vérificateurs de types ou de suites de tests. Il n'attribue pas de scores de sévérité et ne produit pas de verdicts pass/échec. C'est un guide de lecture qui aide un humain à appliquer son jugement là où cela compte le plus.
|
Checkpoint Preview ne remplace pas la revue automatisée. Il ne lance pas de linters, de vérificateurs de types ou de suites de tests. Il n’attribue pas de scores de sévérité et ne produit pas de verdicts pass/échec. C’est un guide de lecture qui aide un humain à appliquer son jugement là où cela compte le plus.
|
||||||
|
|
|
||||||
|
|
@ -1,35 +1,35 @@
|
||||||
---
|
---
|
||||||
title: "FAQ Projets Existants"
|
title: "FAQ Projets Existants"
|
||||||
description: Questions courantes sur l'utilisation de la méthode BMad sur des projets existants
|
description: Questions courantes sur l’utilisation de la méthode BMad sur des projets existants
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 11
|
order: 11
|
||||||
---
|
---
|
||||||
Réponses rapides aux questions courantes sur l'utilisation de la méthode BMad (BMM) sur des projets existants.
|
Réponses rapides aux questions courantes sur l’utilisation de la méthode BMad (BMM) sur des projets existants.
|
||||||
|
|
||||||
## Questions
|
## Questions
|
||||||
|
|
||||||
- [Dois-je d'abord exécuter document-project ?](#dois-je-dabord-exécuter-document-project)
|
- [Dois-je d’abord exécuter document-project ?](#dois-je-dabord-exécuter-document-project)
|
||||||
- [Que faire si j'oublie d'exécuter document-project ?](#que-faire-si-joublie-dexécuter-document-project)
|
- [Que faire si j’oublie d’exécuter document-project ?](#que-faire-si-joublie-dexécuter-document-project)
|
||||||
- [Puis-je utiliser Quick Dev pour les projets existants ?](#puis-je-utiliser-quick-dev-pour-les-projets-existants)
|
- [Puis-je utiliser Quick Dev pour les projets existants ?](#puis-je-utiliser-quick-dev-pour-les-projets-existants)
|
||||||
- [Que faire si mon code existant ne suit pas les bonnes pratiques ?](#que-faire-si-mon-code-existant-ne-suit-pas-les-bonnes-pratiques)
|
- [Que faire si mon code existant ne suit pas les bonnes pratiques ?](#que-faire-si-mon-code-existant-ne-suit-pas-les-bonnes-pratiques)
|
||||||
|
|
||||||
### Dois-je d'abord exécuter `document-project` ?
|
### Dois-je d’abord exécuter `document-project` ?
|
||||||
|
|
||||||
Hautement recommandé, surtout si :
|
Hautement recommandé, surtout si :
|
||||||
|
|
||||||
- Aucune documentation existante
|
- Aucune documentation existante
|
||||||
- La documentation est obsolète
|
- La documentation est obsolète
|
||||||
- Les agents IA ont besoin de contexte sur le code existant
|
- Les agents IA ont besoin de contexte sur le code existant
|
||||||
|
|
||||||
Vous pouvez l'ignorer si vous disposez d'une documentation complète et à jour incluant `docs/index.md` ou si vous utiliserez d'autres outils ou techniques pour aider à la découverte afin que l'agent puisse construire sur un système existant.
|
Vous pouvez l’ignorer si vous disposez d’une documentation complète et à jour incluant `docs/index.md` ou si vous utiliserez d’autres outils ou techniques pour aider à la découverte afin que l’agent puisse construire sur un système existant.
|
||||||
|
|
||||||
### Que faire si j'oublie d'exécuter `document-project` ?
|
### Que faire si j’oublie d’exécuter `document-project` ?
|
||||||
|
|
||||||
Ne vous inquiétez pas — vous pouvez le faire à tout moment. Vous pouvez même le faire pendant ou après un projet pour aider à maintenir la documentation à jour.
|
Ne vous inquiétez pas — vous pouvez le faire à tout moment. Vous pouvez même le faire pendant ou après un projet pour aider à maintenir la documentation à jour.
|
||||||
|
|
||||||
### Puis-je utiliser Quick Dev pour les projets existants ?
|
### Puis-je utiliser Quick Dev pour les projets existants ?
|
||||||
|
|
||||||
Oui ! Quick Dev fonctionne très bien pour les projets existants. Il va :
|
Oui ! Quick Dev fonctionne très bien pour les projets existants. Il va :
|
||||||
|
|
||||||
- Détecter automatiquement votre pile technologique existante
|
- Détecter automatiquement votre pile technologique existante
|
||||||
- Analyser les patterns de code existants
|
- Analyser les patterns de code existants
|
||||||
|
|
@ -38,13 +38,13 @@ Oui ! Quick Dev fonctionne très bien pour les projets existants. Il va :
|
||||||
|
|
||||||
Parfait pour les corrections de bugs et les petites fonctionnalités dans des bases de code existantes.
|
Parfait pour les corrections de bugs et les petites fonctionnalités dans des bases de code existantes.
|
||||||
|
|
||||||
### Que faire si mon code existant ne suit pas les bonnes pratiques ?
|
### Que faire si mon code existant ne suit pas les bonnes pratiques ?
|
||||||
|
|
||||||
Quick Dev détecte vos conventions et demande : « Dois-je suivre ces conventions existantes ? » Vous décidez :
|
Quick Dev détecte vos conventions et demande : « Dois-je suivre ces conventions existantes ? » Vous décidez :
|
||||||
|
|
||||||
- **Oui** → Maintenir la cohérence avec la base de code actuelle
|
- **Oui** → Maintenir la cohérence avec la base de code actuelle
|
||||||
- **Non** → Établir de nouvelles normes (documenter pourquoi dans la spécification technique)
|
- **Non** → Établir de nouvelles normes (documenter pourquoi dans la spécification technique)
|
||||||
|
|
||||||
BMM respecte votre choix — il ne forcera pas la modernisation, mais la proposera.
|
BMM respecte votre choix — il ne forcera pas la modernisation, mais la proposera.
|
||||||
|
|
||||||
**Une question sans réponse ici ?** Veuillez [ouvrir un ticket](https://github.com/bmad-code-org/BMAD-METHOD/issues) ou poser votre question sur [Discord](https://discord.gg/gk8jAdXWmj) afin que nous puissions l'ajouter !
|
**Une question sans réponse ici ?** Veuillez [ouvrir un ticket](https://github.com/bmad-code-org/BMAD-METHOD/issues) ou poser votre question sur [Discord](https://discord.gg/gk8jAdXWmj) afin que nous puissions l’ajouter !
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@ sidebar:
|
||||||
order: 6
|
order: 6
|
||||||
---
|
---
|
||||||
|
|
||||||
Vous confiez à `bmad-investigate` un journal de plantage, une stack trace, ou simplement un « ça marchait avant, plus
|
Vous confiez à `bmad-investigate` un journal de plantage, une stack trace, ou simplement un « ça marchait avant, plus
|
||||||
maintenant ». Le skill prend le relais et applique la rigueur d’un enquêteur pendant toute son exécution. Il ne se lance pas dans
|
maintenant ». Le skill prend le relais et applique la rigueur d’un enquêteur pendant toute son exécution. Il ne se lance pas dans
|
||||||
la correction. Il ouvre un dossier d’enquête.
|
la correction. Il ouvre un dossier d’enquête.
|
||||||
|
|
||||||
Chaque constatation est classée. Chaque hypothèse a un statut. Les fausses pistes sont conservées, pas effacées. Le
|
Chaque constatation est classée. Chaque hypothèse a un statut. Les fausses pistes sont conservées, pas effacées. Le
|
||||||
|
|
@ -15,9 +15,9 @@ livrable est un document qu’un autre ingénieur peut reprendre à froid.
|
||||||
Cette page explique pourquoi l’enquête est une discipline à part entière, et ce que le skill apporte de plus qu’un flux de
|
Cette page explique pourquoi l’enquête est une discipline à part entière, et ce que le skill apporte de plus qu’un flux de
|
||||||
développement classique.
|
développement classique.
|
||||||
|
|
||||||
## Le problème avec « il suffit de déboguer »
|
## Le problème avec « il suffit de déboguer »
|
||||||
|
|
||||||
Le débogage classique mélange trois activités : examiner les preuves, raisonner sur la cause, et modifier le code pour
|
Le débogage classique mélange trois activités : examiner les preuves, raisonner sur la cause, et modifier le code pour
|
||||||
tester la théorie. Quand elles sont mélangées, deux modes de défaillance apparaissent.
|
tester la théorie. Quand elles sont mélangées, deux modes de défaillance apparaissent.
|
||||||
|
|
||||||
Le premier est le **verrouillage narratif**[^1]. Le premier scénario plausible devient la théorie de travail, et chaque
|
Le premier est le **verrouillage narratif**[^1]. Le premier scénario plausible devient la théorie de travail, et chaque
|
||||||
|
|
@ -34,10 +34,10 @@ La conception du skill est une réponse directe à ces deux modes.
|
||||||
|
|
||||||
Chaque constatation dans une enquête appartient à l’une de trois catégories.
|
Chaque constatation dans une enquête appartient à l’une de trois catégories.
|
||||||
|
|
||||||
- **Confirmé.** Directement observée dans les logs, le code ou les dumps ; citée avec une référence spécifique (un
|
- **Confirmé.** Directement observée dans les logs, le code ou les dumps ; citée avec une référence spécifique (un
|
||||||
`chemin:ligne`, un horodatage de log, un hash de commit). Si quelqu’un demande « comment le savez-vous ? », vous indiquez
|
`chemin:ligne`, un horodatage de log, un hash de commit). Si quelqu’un demande « comment le savez-vous ? », vous indiquez
|
||||||
la référence.
|
la référence.
|
||||||
- **Déduit.** Découle logiquement de preuves confirmées ; la chaîne de raisonnement est explicite. Si une étape de la
|
- **Déduit.** Découle logiquement de preuves confirmées ; la chaîne de raisonnement est explicite. Si une étape de la
|
||||||
chaîne est fausse, la déduction est fausse, et on peut voir précisément laquelle.
|
chaîne est fausse, la déduction est fausse, et on peut voir précisément laquelle.
|
||||||
- **Hypothétique.** Plausible mais non confirmé. Précise quelle preuve la confirmerait ou la réfuterait, et indique à
|
- **Hypothétique.** Plausible mais non confirmé. Précise quelle preuve la confirmerait ou la réfuterait, et indique à
|
||||||
l’avance ce qui permettrait de la clore. Les hypothèses sont explicitement *des suppositions, pas des faits*.
|
l’avance ce qui permettrait de la clore. Les hypothèses sont explicitement *des suppositions, pas des faits*.
|
||||||
|
|
@ -51,15 +51,15 @@ savoir ce qui reste ouvert. Confondre les trois est la raison la plus fréquente
|
||||||
L’enquête ne part jamais d’une théorie. Elle part d’une seule preuve confirmée et s’étend à partir de là. Cette
|
L’enquête ne part jamais d’une théorie. Elle part d’une seule preuve confirmée et s’étend à partir de là. Cette
|
||||||
preuve peut être un message d’erreur précis, une stack trace, ou une entrée de log horodatée.
|
preuve peut être un message d’erreur précis, une stack trace, ou une entrée de log horodatée.
|
||||||
|
|
||||||
C’est l’inverse du déroulement habituel des enquêtes : quelqu’un a une intuition, construit une théorie,
|
C’est l’inverse du déroulement habituel des enquêtes : quelqu’un a une intuition, construit une théorie,
|
||||||
puis cherche les preuves qui la soutiennent. L’intuition peut être correcte ; la *méthode* est fragile parce qu’elle
|
puis cherche les preuves qui la soutiennent. L’intuition peut être correcte ; la *méthode* est fragile parce qu’elle
|
||||||
transforme le biais de confirmation[^2] en comportement par défaut.
|
transforme le biais de confirmation[^2] en comportement par défaut.
|
||||||
|
|
||||||
Un point d’ancrage est un fait sur lequel vous pouvez revenir quand le raisonnement devient flou. Si une déduction vous
|
Un point d’ancrage est un fait sur lequel vous pouvez revenir quand le raisonnement devient flou. Si une déduction vous
|
||||||
mène à une conclusion inattendue, vous pouvez remonter au point d’ancrage et essayer une autre branche. Sans point
|
mène à une conclusion inattendue, vous pouvez remonter au point d’ancrage et essayer une autre branche. Sans point
|
||||||
d’ancrage, vous ne savez pas quelle étape annuler.
|
d’ancrage, vous ne savez pas quelle étape annuler.
|
||||||
|
|
||||||
Quand les preuves sont rares, le skill le signale et bascule en exploration guidée par hypothèses : formuler des hypothèses
|
Quand les preuves sont rares, le skill le signale et bascule en exploration guidée par hypothèses : formuler des hypothèses
|
||||||
à partir de ce qui est disponible, identifier ce qui testerait chacune, présenter une liste priorisée de données à
|
à partir de ce qui est disponible, identifier ce qui testerait chacune, présenter une liste priorisée de données à
|
||||||
collecter. L’absence de preuve est elle-même un constat.
|
collecter. L’absence de preuve est elle-même un constat.
|
||||||
|
|
||||||
|
|
@ -68,7 +68,7 @@ collecter. L’absence de preuve est elle-même un constat.
|
||||||
Les hypothèses ne sont jamais supprimées du dossier. Quand une preuve en confirme ou en réfute une, son champ **Statut**
|
Les hypothèses ne sont jamais supprimées du dossier. Quand une preuve en confirme ou en réfute une, son champ **Statut**
|
||||||
passe d’Ouvert à Confirmé ou Réfuté, et une **Résolution** explique quelle preuve a tranché.
|
passe d’Ouvert à Confirmé ou Réfuté, et une **Résolution** explique quelle preuve a tranché.
|
||||||
|
|
||||||
Cette règle a un coût réel : les dossiers grossissent. Le bénéfice est tout aussi réel. L’historique complet du raisonnement
|
Cette règle a un coût réel : les dossiers grossissent. Le bénéfice est tout aussi réel. L’historique complet du raisonnement
|
||||||
fait partie du livrable. Six mois plus tard, quand un bug similaire surgit, le prochain enquêteur peut lire le dossier
|
fait partie du livrable. Six mois plus tard, quand un bug similaire surgit, le prochain enquêteur peut lire le dossier
|
||||||
original et voir quelles pistes ont déjà été éliminées et pourquoi. Sans cet historique, chaque nouvel enquêteur reprend
|
original et voir quelles pistes ont déjà été éliminées et pourquoi. Sans cet historique, chaque nouvel enquêteur reprend
|
||||||
les mêmes fausses pistes.
|
les mêmes fausses pistes.
|
||||||
|
|
@ -78,11 +78,11 @@ réfuter avec une preuve citée. L’abandonner discrètement quand elle devient
|
||||||
|
|
||||||
## Remettre en question la prémisse
|
## Remettre en question la prémisse
|
||||||
|
|
||||||
La description du problème par l’utilisateur est une hypothèse, pas un fait. « Le cache est cassé » est ce
|
La description du problème par l’utilisateur est une hypothèse, pas un fait. « Le cache est cassé » est ce
|
||||||
que l’utilisateur *croit*. Avant que le skill ne construise une enquête autour de cette prémisse, les affirmations
|
que l’utilisateur *croit*. Avant que le skill ne construise une enquête autour de cette prémisse, les affirmations
|
||||||
techniques sont vérifiées de manière indépendante. Si la preuve contredit la prémisse, le rapport le signale sans détour.
|
techniques sont vérifiées de manière indépendante. Si la preuve contredit la prémisse, le rapport le signale sans détour.
|
||||||
|
|
||||||
C’est l’instinct de l’enquêteur : le récit du témoin est une donnée, pas la vérité. Parfois le bug rapporté est réel
|
C’est l’instinct de l’enquêteur : le récit du témoin est une donnée, pas la vérité. Parfois le bug rapporté est réel
|
||||||
mais mal étiqueté. Parfois le symptôme décrit est en aval d’une cause différente. Les enquêtes qui prennent la prémisse
|
mais mal étiqueté. Parfois le symptôme décrit est en aval d’une cause différente. Les enquêtes qui prennent la prémisse
|
||||||
pour argent comptant diagnostiquent le mauvais problème, et le bug revient sous une forme légèrement différente.
|
pour argent comptant diagnostiquent le mauvais problème, et le bug revient sous une forme légèrement différente.
|
||||||
|
|
||||||
|
|
@ -91,13 +91,13 @@ pour argent comptant diagnostiquent le mauvais problème, et le bug revient sous
|
||||||
Le skill est une seule procédure, pas deux modes. Il ajuste en continu l’équilibre entre la recherche du défaut et l’exploration du code
|
Le skill est une seule procédure, pas deux modes. Il ajuste en continu l’équilibre entre la recherche du défaut et l’exploration du code
|
||||||
environnant, selon ce que le cas requiert.
|
environnant, selon ce que le cas requiert.
|
||||||
|
|
||||||
Un cas orienté symptôme (un ticket, un plantage, un message d’erreur, un « ça marchait avant ») penche vers le suivi
|
Un cas orienté symptôme (un ticket, un plantage, un message d’erreur, un « ça marchait avant ») penche vers le suivi
|
||||||
d’hypothèses, la reconstruction de la chronologie et une piste de correction. Un cas sans symptôme (comprendre un
|
d’hypothèses, la reconstruction de la chronologie et une piste de correction. Un cas sans symptôme (comprendre un
|
||||||
module avant de le toucher, évaluer la réutilisabilité, bâtir un modèle mental) penche vers la cartographie
|
module avant de le toucher, évaluer la réutilisabilité, bâtir un modèle mental) penche vers la cartographie
|
||||||
entrées/sorties, le filtrage du flux de contrôle et un plan de vérification. La plupart des cas réels se situent quelque
|
entrées/sorties, le filtrage du flux de contrôle et un plan de vérification. La plupart des cas réels se situent quelque
|
||||||
part entre les deux, et le dossier reflète l’équilibre que les preuves ont exigé.
|
part entre les deux, et le dossier reflète l’équilibre que les preuves ont exigé.
|
||||||
|
|
||||||
La discipline est la même quel que soit le positionnement du cas sur l’échelle : point d’ancrage d’abord, classement
|
La discipline est la même quel que soit le positionnement du cas sur l’échelle : point d’ancrage d’abord, classement
|
||||||
des preuves, suivi des hypothèses, rien n’est jamais effacé. La sortie est toujours
|
des preuves, suivi des hypothèses, rien n’est jamais effacé. La sortie est toujours
|
||||||
`{implementation_artifacts}/investigations/{slug}-investigation.md`, les sections non
|
`{implementation_artifacts}/investigations/{slug}-investigation.md`, les sections non
|
||||||
pertinentes étant laissées vides ou omises.
|
pertinentes étant laissées vides ou omises.
|
||||||
|
|
@ -110,7 +110,7 @@ mode.
|
||||||
## La méthodologie réside dans le skill
|
## La méthodologie réside dans le skill
|
||||||
|
|
||||||
La discipline d’enquête est une propriété du skill lui-même. Quiconque invoque `bmad-investigate` adopte la méthodologie
|
La discipline d’enquête est une propriété du skill lui-même. Quiconque invoque `bmad-investigate` adopte la méthodologie
|
||||||
et le style de communication pendant l’exécution : précision clinique, langage centré sur la preuve, pas de prudence
|
et le style de communication pendant l’exécution : précision clinique, langage centré sur la preuve, pas de prudence
|
||||||
inutile, structuration en dossier d’enquête. Quand le skill se termine, l’appelant retrouve sa voix habituelle. Pas de
|
inutile, structuration en dossier d’enquête. Quand le skill se termine, l’appelant retrouve sa voix habituelle. Pas de
|
||||||
changement de persona, juste un ajustement de ton dicté par les principes du skill.
|
changement de persona, juste un ajustement de ton dicté par les principes du skill.
|
||||||
|
|
||||||
|
|
@ -121,7 +121,7 @@ identité distincte.
|
||||||
|
|
||||||
## Ce que vous obtenez
|
## Ce que vous obtenez
|
||||||
|
|
||||||
Un dossier d’enquête complet :
|
Un dossier d’enquête complet :
|
||||||
|
|
||||||
- Sépare les constatations **Confirmées** (avec citations) des **Déductions** et des **Hypothèses**
|
- Sépare les constatations **Confirmées** (avec citations) des **Déductions** et des **Hypothèses**
|
||||||
- Préserve l’intégralité des hypothèses formulées, avec leur Statut final et leur Résolution
|
- Préserve l’intégralité des hypothèses formulées, avec leur Statut final et leur Résolution
|
||||||
|
|
@ -136,7 +136,7 @@ incertain. C’est le standard visé.
|
||||||
|
|
||||||
## La vision d’ensemble
|
## La vision d’ensemble
|
||||||
|
|
||||||
La plupart des approches de « débogage par IA » actuelles mêlent preuves, raisonnement et changements de code en un seul
|
La plupart des approches de « débogage par IA » actuelles mêlent preuves, raisonnement et changements de code en un seul
|
||||||
flux de texte plausible. Le signal est difficile à trouver, les impasses se répètent, et le dossier, s’il en existe un, est
|
flux de texte plausible. Le signal est difficile à trouver, les impasses se répètent, et le dossier, s’il en existe un, est
|
||||||
un historique de conversation que personne ne veut lire.
|
un historique de conversation que personne ne veut lire.
|
||||||
|
|
||||||
|
|
@ -147,10 +147,10 @@ Quand un bug similaire réapparaîtra, vous aurez un point de départ concret, p
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: **Verrouillage narratif** : phénomène cognitif par lequel un raisonnement adopte la première explication plausible
|
[^1]: **Verrouillage narratif** : phénomène cognitif par lequel un raisonnement adopte la première explication plausible
|
||||||
et l’enrichit progressivement, devenant de plus en plus difficile à abandonner même face à des preuves contraires.
|
et l’enrichit progressivement, devenant de plus en plus difficile à abandonner même face à des preuves contraires.
|
||||||
[^2]: **Biais de confirmation** : tendance cognitive à rechercher, interpréter et favoriser les informations qui
|
[^2]: **Biais de confirmation** : tendance cognitive à rechercher, interpréter et favoriser les informations qui
|
||||||
confirment des croyances préexistantes, tout en ignorant ou minimisant celles qui les contredisent.
|
confirment des croyances préexistantes, tout en ignorant ou minimisant celles qui les contredisent.
|
||||||
[^3]: **Passage de frontière** : transition entre deux zones d’exécution distinctes (langage, processus, machine,
|
[^3]: **Passage de frontière** : transition entre deux zones d’exécution distinctes (langage, processus, machine,
|
||||||
client/serveur, code/configuration). Les frontières concentrent les bugs car chaque côté suppose que l’autre s’est
|
client/serveur, code/configuration). Les frontières concentrent les bugs car chaque côté suppose que l’autre s’est
|
||||||
comporté comme documenté.
|
comporté comme documenté.
|
||||||
|
|
|
||||||
|
|
@ -5,90 +5,90 @@ sidebar:
|
||||||
order: 1
|
order: 1
|
||||||
---
|
---
|
||||||
|
|
||||||
Vous dites « Hey Mary, brainstormons » et Mary s'active. Elle vous salue par votre nom, dans la langue que vous avez configurée, avec son persona distinctif. Elle vous rappelle que `bmad-help` est toujours disponible. Puis elle saute le menu et se lance directement dans le brainstorming — parce que votre intention était claire.
|
Vous dites « Hey Mary, brainstormons » et Mary s’active. Elle vous salue par votre nom, dans la langue que vous avez configurée, avec son persona distinctif. Elle vous rappelle que `bmad-help` est toujours disponible. Puis elle saute le menu et se lance directement dans le brainstorming — parce que votre intention était claire.
|
||||||
|
|
||||||
Cette page explique ce qui se passe réellement et pourquoi BMad est conçu ainsi.
|
Cette page explique ce qui se passe réellement et pourquoi BMad est conçu ainsi.
|
||||||
|
|
||||||
## Le tabouret à trois pieds
|
## Le tabouret à trois pieds
|
||||||
|
|
||||||
Le modèle d'agent de BMad repose sur trois primitives qui s'articulent :
|
Le modèle d’agent de BMad repose sur trois primitives qui s’articulent :
|
||||||
|
|
||||||
| Primitive | Ce qu'elle apporte | Où elle se trouve |
|
| Primitive | Ce qu’elle apporte | Où elle se trouve |
|
||||||
|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|
|
|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|
|
||||||
| **Skill** | Capacité — une chose distincte que l'assistant peut faire (brainstormer, rédiger un PRD, implémenter une story) | `.claude/skills/{skill-name}/SKILL.md` (ou l'équivalent de votre IDE) |
|
| **Skill** | Capacité — une chose distincte que l’assistant peut faire (brainstormer, rédiger un PRD, implémenter une story) | `.claude/skills/{skill-name}/SKILL.md` (ou l’équivalent de votre IDE) |
|
||||||
| **Agent nommé** | Continuité du persona — une identité reconnaissable qui englobe un menu de skills associés avec une voix, des principes et des repères visuels cohérents | Skills dont le répertoire commence par `bmad-agent-*` |
|
| **Agent nommé** | Continuité du persona — une identité reconnaissable qui englobe un menu de skills associés avec une voix, des principes et des repères visuels cohérents | Skills dont le répertoire commence par `bmad-agent-*` |
|
||||||
| **Personnalisation** | Rendre le système vôtre — des overrides qui remodèlent le comportement d'un agent, ajoutent des intégrations MCP, remplacent des templates, intègrent les conventions de l'organisation | `_bmad/custom/{skill-name}.toml` (overrides d'équipe, versionnés dans git) et `.user.toml` (personnel, ignoré par git) |
|
| **Personnalisation** | Rendre le système vôtre — des overrides qui remodèlent le comportement d’un agent, ajoutent des intégrations MCP, remplacent des templates, intègrent les conventions de l’organisation | `_bmad/custom/{skill-name}.toml` (overrides d’équipe, versionnés dans git) et `.user.toml` (personnel, ignoré par git) |
|
||||||
|
|
||||||
Retirez l'un des pieds et l'expérience s'effondre :
|
Retirez l’un des pieds et l’expérience s’effondre :
|
||||||
|
|
||||||
- Skills sans agents → des listes de capacités que l'utilisateur doit parcourir par nom ou par code
|
- Skills sans agents → des listes de capacités que l’utilisateur doit parcourir par nom ou par code
|
||||||
- Agents sans skills → des personas sans rien à faire
|
- Agents sans skills → des personas sans rien à faire
|
||||||
- Pas de personnalisation → chaque utilisateur reçoit le même comportement par défaut, obligeant à forker pour tout besoin spécifique à l'organisation
|
- Pas de personnalisation → chaque utilisateur reçoit le même comportement par défaut, obligeant à forker pour tout besoin spécifique à l’organisation
|
||||||
|
|
||||||
## Ce que les agents nommés vous apportent
|
## Ce que les agents nommés vous apportent
|
||||||
|
|
||||||
BMad embarque six agents nommés, chacun ancré à une phase de la méthode BMad :
|
BMad embarque six agents nommés, chacun ancré à une phase de la méthode BMad :
|
||||||
|
|
||||||
| Agent | Phase | Module |
|
| Agent | Phase | Module |
|
||||||
|------------------------------------|----------------|----------------------------------------------------------------------------------------------|
|
|------------------------------------|----------------|----------------------------------------------------------------------------------------------|
|
||||||
| 📊 **Mary**, Analyste d'affaires | Analyse | étude de marché, brainstorming, product briefs, PRFAQs |
|
| 📊 **Mary**, Analyste d’affaires | Analyse | étude de marché, brainstorming, product briefs, PRFAQs |
|
||||||
| 📚 **Paige**, Rédactrice technique | Analyse | documentation de projet, diagrammes, validation de docs |
|
| 📚 **Paige**, Rédactrice technique | Analyse | documentation de projet, diagrammes, validation de docs |
|
||||||
| 📋 **John**, Chef de produit | Planification | création de PRD, décomposition epic/story, vérification de la préparation à l'implémentation |
|
| 📋 **John**, Chef de produit | Planification | création de PRD, décomposition epic/story, vérification de la préparation à l’implémentation |
|
||||||
| 🎨 **Sally**, Designer UX | Planification | spécifications de design UX |
|
| 🎨 **Sally**, Designer UX | Planification | spécifications de design UX |
|
||||||
| 🏗️ **Winston**, Architecte système | Solutioning | architecture technique, vérifications d'alignement |
|
| 🏗️ **Winston**, Architecte système | Solutioning | architecture technique, vérifications d’alignement |
|
||||||
| 💻 **Amelia**, Ingénieure senior | Implémentation | exécution de stories, quick-dev, revue de code, planification de sprint |
|
| 💻 **Amelia**, Ingénieure senior | Implémentation | exécution de stories, quick-dev, revue de code, planification de sprint |
|
||||||
|
|
||||||
Chacun possède une identité codée en dur (nom, titre, domaine) et une couche personnalisable (rôle, principes, style de communication, icône, menu). Vous pouvez réécrire les principes de Mary ou ajouter des éléments de menu ; vous ne pouvez pas la renommer — c'est délibéré. La reconnaissance de marque persiste après personnalisation pour que « hey Mary » active toujours l'analyste, indépendamment de la façon dont une équipe a façonné son comportement.
|
Chacun possède une identité codée en dur (nom, titre, domaine) et une couche personnalisable (rôle, principes, style de communication, icône, menu). Vous pouvez réécrire les principes de Mary ou ajouter des éléments de menu ; vous ne pouvez pas la renommer — c’est délibéré. La reconnaissance de marque persiste après personnalisation pour que « hey Mary » active toujours l’analyste, indépendamment de la façon dont une équipe a façonné son comportement.
|
||||||
|
|
||||||
## Le flux d'activation
|
## Le flux d’activation
|
||||||
|
|
||||||
Quand vous invoquez un agent nommé, huit étapes s'exécutent dans l'ordre :
|
Quand vous invoquez un agent nommé, huit étapes s’exécutent dans l’ordre :
|
||||||
|
|
||||||
1. **Résoudre le bloc agent** — fusionner le `customize.toml` livré avec les overrides d'équipe et personnels, via un résolveur Python utilisant `tomllib` de la bibliothèque standard
|
1. **Résoudre le bloc agent** — fusionner le `customize.toml` livré avec les overrides d’équipe et personnels, via un résolveur Python utilisant `tomllib` de la bibliothèque standard
|
||||||
2. **Exécuter les étapes préliminaires** — tout comportement préalablement configuré par l'équipe
|
2. **Exécuter les étapes préliminaires** — tout comportement préalablement configuré par l’équipe
|
||||||
3. **Adopter le persona** — identité codée en dur ainsi que rôle personnalisé, style de communication, principes
|
3. **Adopter le persona** — identité codée en dur ainsi que rôle personnalisé, style de communication, principes
|
||||||
4. **Charger les faits persistants** — règles d'organisation, notes de conformité, éventuellement des fichiers chargés via un préfixe `file:` (ex. `file:{project-root}/docs/project-context.md`)
|
4. **Charger les faits persistants** — règles d’organisation, notes de conformité, éventuellement des fichiers chargés via un préfixe `file:` (ex. `file:{project-root}/docs/project-context.md`)
|
||||||
5. **Charger la configuration** — nom d'utilisateur, langue de communication, langue de sortie, chemins des artefacts
|
5. **Charger la configuration** — nom d’utilisateur, langue de communication, langue de sortie, chemins des artefacts
|
||||||
6. **Saluer** — personnalisé, dans la langue configurée, avec le préfixe emoji de l'agent pour identifier d'un coup d'œil qui parle
|
6. **Saluer** — personnalisé, dans la langue configurée, avec le préfixe emoji de l’agent pour identifier d’un coup d’œil qui parle
|
||||||
7. **Exécuter les étapes de finalisation** — toute configuration post-salutation que l'équipe a définie
|
7. **Exécuter les étapes de finalisation** — toute configuration post-salutation que l’équipe a définie
|
||||||
8. **Aiguiller ou présenter le menu** — si votre message d'ouverture correspond à un élément de menu, aller directement ; sinon afficher le menu et attendre une saisie
|
8. **Aiguiller ou présenter le menu** — si votre message d’ouverture correspond à un élément de menu, aller directement ; sinon afficher le menu et attendre une saisie
|
||||||
|
|
||||||
L'étape 8, c'est là que la magie opère. « Hey Mary, brainstormons » évite l'affichage du menu parce que `bmad-brainstorming` correspond évidemment à `BP` dans le menu de Mary. Si vous dites quelque chose d'ambigu, elle demande une fois, brièvement, sans en faire un rituel de confirmation. Si rien ne correspond, elle poursuit la conversation normalement.
|
L’étape 8, c’est là que la magie opère. « Hey Mary, brainstormons » évite l’affichage du menu parce que `bmad-brainstorming` correspond évidemment à `BP` dans le menu de Mary. Si vous dites quelque chose d’ambigu, elle demande une fois, brièvement, sans en faire un rituel de confirmation. Si rien ne correspond, elle poursuit la conversation normalement.
|
||||||
|
|
||||||
## Pourquoi pas simplement un menu ?
|
## Pourquoi pas simplement un menu ?
|
||||||
|
|
||||||
Les menus obligent l'utilisateur à aller chercher l'outil. Vous devez retenir que le brainstorming se trouve sous le code `BP` chez l'agent analyste, pas chez l'agent PM, et savoir quel persona possède quelles capacités. C'est une charge cognitive que l'outil vous fait porter.
|
Les menus obligent l’utilisateur à aller chercher l’outil. Vous devez retenir que le brainstorming se trouve sous le code `BP` chez l’agent analyste, pas chez l’agent PM, et savoir quel persona possède quelles capacités. C’est une charge cognitive que l’outil vous fait porter.
|
||||||
|
|
||||||
Les agents nommés inversent la logique. Vous dites ce que vous voulez, à qui, avec les mots qui vous semblent naturels. L'agent sait qui il est et ce qu'il fait. Quand votre intention est suffisamment claire, il agit simplement.
|
Les agents nommés inversent la logique. Vous dites ce que vous voulez, à qui, avec les mots qui vous semblent naturels. L’agent sait qui il est et ce qu’il fait. Quand votre intention est suffisamment claire, il agit simplement.
|
||||||
|
|
||||||
Le menu reste disponible comme solution de secours — affiché quand vous explorez, ignoré quand ce n'est pas le cas.
|
Le menu reste disponible comme solution de secours — affiché quand vous explorez, ignoré quand ce n’est pas le cas.
|
||||||
|
|
||||||
## Pourquoi pas simplement un prompt libre ?
|
## Pourquoi pas simplement un prompt libre ?
|
||||||
|
|
||||||
Les prompts libres supposent que vous connaissez les mots magiques. « Aide-moi à brainstormer » pourrait fonctionner, mais « explorons mon idée de SaaS » pourrait ne pas fonctionner, et les résultats dépendent de la façon dont vous avez formulé la demande. Vous devenez responsable de l'ingénierie du prompt.
|
Les prompts libres supposent que vous connaissez les mots magiques. « Aide-moi à brainstormer » pourrait fonctionner, mais « explorons mon idée de SaaS » pourrait ne pas fonctionner, et les résultats dépendent de la façon dont vous avez formulé la demande. Vous devenez responsable de l’ingénierie du prompt.
|
||||||
|
|
||||||
Les agents nommés ajoutent de la structure sans restreindre la liberté. Le persona reste cohérent, les capacités sont découvrables, et `bmad-help` est toujours à portée de commande. Vous n'avez pas à deviner ce que l'agent peut faire, et vous n'avez pas besoin d'un manuel pour l'utiliser non plus.
|
Les agents nommés ajoutent de la structure sans restreindre la liberté. Le persona reste cohérent, les capacités sont découvrables, et `bmad-help` est toujours à portée de commande. Vous n’avez pas à deviner ce que l’agent peut faire, et vous n’avez pas besoin d’un manuel pour l’utiliser non plus.
|
||||||
|
|
||||||
## La personnalisation comme principe fondamental
|
## La personnalisation comme principe fondamental
|
||||||
|
|
||||||
Le modèle de personnalisation est ce qui permet à tout cela de passer à l'échelle au-delà d'un seul développeur.
|
Le modèle de personnalisation est ce qui permet à tout cela de passer à l’échelle au-delà d’un seul développeur.
|
||||||
|
|
||||||
Chaque agent embarque un fichier `customize.toml` avec des valeurs par défaut judicieuses. Les équipes versionnent des overrides dans `_bmad/custom/bmad-agent-{role}.toml`. Les individus peuvent superposer des préférences personnelles dans `.user.toml` (ignoré par git). Le résolveur fusionne les trois couches à l'activation avec des règles structurelles prévisibles.
|
Chaque agent embarque un fichier `customize.toml` avec des valeurs par défaut judicieuses. Les équipes versionnent des overrides dans `_bmad/custom/bmad-agent-{role}.toml`. Les individus peuvent superposer des préférences personnelles dans `.user.toml` (ignoré par git). Le résolveur fusionne les trois couches à l’activation avec des règles structurelles prévisibles.
|
||||||
|
|
||||||
La plupart des utilisateurs ne rédigent jamais ces fichiers à la main. Le skill `bmad-customize` guide le choix de la cible, la sélection du périmètre agent vs workflow, la rédaction de l'override et la vérification de la fusion — pour que la surface de personnalisation reste accessible à quiconque comprend son intention, pas seulement à ceux qui maîtrisent le TOML.
|
La plupart des utilisateurs ne rédigent jamais ces fichiers à la main. Le skill `bmad-customize` guide le choix de la cible, la sélection du périmètre agent vs workflow, la rédaction de l’override et la vérification de la fusion — pour que la surface de personnalisation reste accessible à quiconque comprend son intention, pas seulement à ceux qui maîtrisent le TOML.
|
||||||
|
|
||||||
Exemple concret : une équipe versionne dans git un seul fichier demandant à Amelia d'utiliser systématiquement l'outil MCP Context7 pour la documentation des bibliothèques et de se rabattre sur Linear quand une story n'est pas dans la liste locale des epics. Chaque workflow de développement qu'Amelia lance (dev-story, quick-dev, create-story, code-review) hérite de ce comportement, sans modification du code ni duplication par workflow.
|
Exemple concret : une équipe versionne dans git un seul fichier demandant à Amelia d’utiliser systématiquement l’outil MCP Context7 pour la documentation des bibliothèques et de se rabattre sur Linear quand une story n’est pas dans la liste locale des epics. Chaque workflow de développement qu’Amelia lance (dev-story, quick-dev, create-story, code-review) hérite de ce comportement, sans modification du code ni duplication par workflow.
|
||||||
|
|
||||||
Il existe aussi une seconde surface de personnalisation pour les préoccupations *transversales* : la configuration centrale `_bmad/config.toml` et `_bmad/config.user.toml` (tous deux gérés par l'installateur, reconstruits à partir du `module.yaml` de chaque module) plus `_bmad/custom/config.toml` (équipe, versionné dans git) et `_bmad/custom/config.user.toml` (personnel, ignoré par git) pour les overrides. C'est là que se trouve le **registre des agents** — les descripteurs légers que les consommateurs du registre comme `bmad-party-mode`, `bmad-retrospective` et `bmad-advanced-elicitation` lisent pour savoir qui est disponible et comment l'incarner. Redéfinissez l'image d'un agent pour toute l'organisation avec un override d'équipe ; ajoutez des personnages fictifs (Kirk, Spock, un persona expert du domaine) comme expériences personnelles via l'override `.user.toml` — sans toucher aucun dossier de skill. Le fichier par skill façonne la façon dont Mary *se comporte* quand elle s'active ; la configuration centrale façonne la façon dont les autres skills *la perçoivent* quand ils consultent le registre.
|
Il existe aussi une seconde surface de personnalisation pour les préoccupations *transversales* : la configuration centrale `_bmad/config.toml` et `_bmad/config.user.toml` (tous deux gérés par l’installateur, reconstruits à partir du `module.yaml` de chaque module) plus `_bmad/custom/config.toml` (équipe, versionné dans git) et `_bmad/custom/config.user.toml` (personnel, ignoré par git) pour les overrides. C’est là que se trouve le **registre des agents** — les descripteurs légers que les consommateurs du registre comme `bmad-party-mode`, `bmad-retrospective` et `bmad-advanced-elicitation` lisent pour savoir qui est disponible et comment l’incarner. Redéfinissez l’image d’un agent pour toute l’organisation avec un override d’équipe ; ajoutez des personnages fictifs (Kirk, Spock, un persona expert du domaine) comme expériences personnelles via l’override `.user.toml` — sans toucher aucun dossier de skill. Le fichier par skill façonne la façon dont Mary *se comporte* quand elle s’active ; la configuration centrale façonne la façon dont les autres skills *la perçoivent* quand ils consultent le registre.
|
||||||
|
|
||||||
Pour la surface de personnalisation complète et des exemples concrets, consultez :
|
Pour la surface de personnalisation complète et des exemples concrets, consultez :
|
||||||
|
|
||||||
- [Comment personnaliser BMad](../how-to/customize-bmad.md) — la référence sur ce qui est personnalisable et comment fonctionne la fusion
|
- [Comment personnaliser BMad](../how-to/customize-bmad.md) — la référence sur ce qui est personnalisable et comment fonctionne la fusion
|
||||||
- [Comment étendre BMad pour votre organisation](../how-to/expand-bmad-for-your-org.md) — six recettes pratiques couvrant les règles globales des agents, les conventions de workflow, la publication externe, les remplacements de templates et la personnalisation du registre des agents
|
- [Comment étendre BMad pour votre organisation](../how-to/expand-bmad-for-your-org.md) — six recettes pratiques couvrant les règles globales des agents, les conventions de workflow, la publication externe, les remplacements de templates et la personnalisation du registre des agents
|
||||||
- Skill `bmad-customize` — l'assistant de rédaction guidée qui transforme une intention en fichier d'override correctement placé et vérifié
|
- Skill `bmad-customize` — l’assistant de rédaction guidée qui transforme une intention en fichier d’override correctement placé et vérifié
|
||||||
|
|
||||||
## L'idée plus grande
|
## L’idée plus grande
|
||||||
|
|
||||||
La plupart des assistants IA aujourd'hui sont soit des menus, soit des prompts, et les deux déplacent la charge cognitive vers l'utilisateur. Les agents nommés associés à des skills personnalisables vous permettent de parler à un coéquipier qui connaît déjà le travail, et laissent votre organisation façonner ce coéquipier sans forker.
|
La plupart des assistants IA aujourd’hui sont soit des menus, soit des prompts, et les deux déplacent la charge cognitive vers l’utilisateur. Les agents nommés associés à des skills personnalisables vous permettent de parler à un coéquipier qui connaît déjà le travail, et laissent votre organisation façonner ce coéquipier sans forker.
|
||||||
|
|
||||||
La prochaine fois que vous tapez « Hey Mary, brainstormons » et qu'elle se met directement au travail, remarquez ce qui ne s'est pas produit. Il n'y a eu ni commande slash, ni menu à parcourir, ni rappel maladroit de ce qu'elle peut faire. Cette absence, c'est le design.
|
La prochaine fois que vous tapez « Hey Mary, brainstormons » et qu’elle se met directement au travail, remarquez ce qui ne s’est pas produit. Il n’y a eu ni commande slash, ni menu à parcourir, ni rappel maladroit de ce qu’elle peut faire. Cette absence, c’est le design.
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,13 @@ sidebar:
|
||||||
|
|
||||||
Regroupez tous vos agents IA dans une seule conversation.
|
Regroupez tous vos agents IA dans une seule conversation.
|
||||||
|
|
||||||
## Qu'est-ce que le Party Mode ?
|
## Qu’est-ce que le Party Mode ?
|
||||||
|
|
||||||
Lancez `bmad-party-mode` et vous avez toute votre équipe IA dans une même pièce - PM, Architecte, Développeur, Designer UX, selon vos besoins. BMad Master orchestre, en sélectionnant les agents pertinents à chaque message. Les agents répondent en personnage, sont en accord ou désaccord, et construisent sur les idées des autres.
|
Lancez `bmad-party-mode` et vous avez toute votre équipe IA dans une même pièce - PM, Architecte, Développeur, Designer UX, selon vos besoins. BMad Master orchestre, en sélectionnant les agents pertinents à chaque message. Les agents répondent en personnage, sont en accord ou désaccord, et construisent sur les idées des autres.
|
||||||
|
|
||||||
La conversation continue aussi longtemps que vous le souhaitez. Posez des questions de suivi, remettez en question les réponses, redirigez la discussion - c'est un véritable échange avec vos agents jusqu'à ce que vous ayez terminé.
|
La conversation continue aussi longtemps que vous le souhaitez. Posez des questions de suivi, remettez en question les réponses, redirigez la discussion - c’est un véritable échange avec vos agents jusqu’à ce que vous ayez terminé.
|
||||||
|
|
||||||
**Idéal pour :**
|
**Idéal pour**
|
||||||
|
|
||||||
- Les grandes décisions avec des compromis
|
- Les grandes décisions avec des compromis
|
||||||
- Les sessions de brainstorming
|
- Les sessions de brainstorming
|
||||||
|
|
@ -24,35 +24,35 @@ La conversation continue aussi longtemps que vous le souhaitez. Posez des questi
|
||||||
|
|
||||||
### Remettre en question une mauvaise architecture
|
### Remettre en question une mauvaise architecture
|
||||||
|
|
||||||
**Vous :** « Ok l'équipe, notre dernier sprint a été un désastre. Le service d'authentification est tombé trois fois. Qui a cafouillé ? »
|
**Vous :** « Ok l’équipe, notre dernier sprint a été un désastre. Le service d’authentification est tombé trois fois. Qui a cafouillé ? »
|
||||||
|
|
||||||
**Architecte :** « Le design était solide - authentification distribuée avec des fallbacks appropriés. Si l'implémentation a dévié des specs... »
|
**Architecte :** « Le design était solide - authentification distribuée avec des fallbacks appropriés. Si l’implémentation a dévié des specs... »
|
||||||
|
|
||||||
**Développeur :** « J'ai suivi le document d'architecture à la lettre. Les specs ne prenaient pas en compte les race conditions lors de l'invalidation de sessions concurrentes. »
|
**Développeur :** « J’ai suivi le document d’architecture à la lettre. Les specs ne prenaient pas en compte les race conditions lors de l’invalidation de sessions concurrentes. »
|
||||||
|
|
||||||
**PM :** « Vous avez tous les deux raté le vrai problème - nous n'avons pas validé les exigences de gestion des sessions dans le PRD. C'est de ma faute de ne pas l'avoir repéré. »
|
**PM :** « Vous avez tous les deux raté le vrai problème - nous n’avons pas validé les exigences de gestion des sessions dans le PRD. C’est de ma faute de ne pas l’avoir repéré. »
|
||||||
|
|
||||||
**TEA :** « Et j'aurais dû le repérer dans les tests d'intégration. Les scénarios de test ne couvraient pas l'invalidation concurrente. »
|
**TEA :** « Et j’aurais dû le repérer dans les tests d’intégration. Les scénarios de test ne couvraient pas l’invalidation concurrente. »
|
||||||
|
|
||||||
### Brainstorming créatif
|
### Brainstorming créatif
|
||||||
|
|
||||||
**Vous :** « Comment rendre l'onboarding magique au lieu d'ennuyeux ? »
|
**Vous :** « Comment rendre l’onboarding magique au lieu d’ennuyeux ? »
|
||||||
|
|
||||||
**Designer UX :** « Commençons par la divulgation progressive - révélons les fonctionnalités au fur et à mesure que les utilisateurs en ont besoin, pas d'un coup dans un tutoriel. »
|
**Designer UX :** « Commençons par la divulgation progressive - révélons les fonctionnalités au fur et à mesure que les utilisateurs en ont besoin, pas d’un coup dans un tutoriel. »
|
||||||
|
|
||||||
**Storyteller :** « Et si l'onboarding était une histoire ? Chaque étape révèle le parcours d'un personnage - l'utilisateur EST le héros. »
|
**Storyteller :** « Et si l’onboarding était une histoire ? Chaque étape révèle le parcours d’un personnage - l’utilisateur EST le héros. »
|
||||||
|
|
||||||
**Game Designer :** « En partant de là - et si la première "quête" consistait à résoudre un vrai problème utilisateur ? Ils apprennent en faisant quelque chose d'utile. »
|
**Game Designer :** « En partant de là - et si la première « quête » consistait à résoudre un vrai problème utilisateur ? Ils apprennent en faisant quelque chose d’utile. »
|
||||||
|
|
||||||
### Décision technique
|
### Décision technique
|
||||||
|
|
||||||
**Vous :** « Monolithe ou microservices pour le MVP[^1] ? »
|
**Vous :** « Monolithe ou microservices pour le MVP[^1] ? »
|
||||||
|
|
||||||
**Architecte :** « Commencez en monolithe. Les microservices ajoutent une complexité dont vous n'avez pas besoin à 1000 utilisateurs. »
|
**Architecte :** « Commencez en monolithe. Les microservices ajoutent une complexité dont vous n’avez pas besoin à 1 000 utilisateurs. »
|
||||||
|
|
||||||
**PM :** « D'accord. Le time-to-market[^2] compte plus que la scalabilité théorique. »
|
**PM :** « D’accord. Le time-to-market[^2] compte plus que la scalabilité théorique. »
|
||||||
|
|
||||||
**Développeur :** « Monolithe avec des frontières de modules claires. On pourra extraire des services plus tard si nécessaire. »
|
**Développeur :** « Monolithe avec des frontières de modules claires. On pourra extraire des services plus tard si nécessaire. »
|
||||||
|
|
||||||
:::tip[Meilleures décisions]
|
:::tip[Meilleures décisions]
|
||||||
De meilleures décisions grâce à des perspectives diverses. Bienvenue dans le party mode.
|
De meilleures décisions grâce à des perspectives diverses. Bienvenue dans le party mode.
|
||||||
|
|
@ -60,5 +60,5 @@ De meilleures décisions grâce à des perspectives diverses. Bienvenue dans le
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: MVP (Minimum Viable Product) : version minimale d'un produit contenant juste assez de fonctionnalités pour être utilisée par des utilisateurs précoces et valider les hypothèses de marché avant d'investir dans un développement plus complet.
|
[^1]: MVP (Minimum Viable Product) : version minimale d’un produit contenant juste assez de fonctionnalités pour être utilisée par des utilisateurs précoces et valider les hypothèses de marché avant d’investir dans un développement plus complet.
|
||||||
[^2]: Time-to-market : délai nécessaire pour concevoir, développer et lancer un produit sur le marché. Plus ce délai est court, plus l'entreprise peut prendre de l'avance sur ses concurrents.
|
[^2]: Time-to-market : délai nécessaire pour concevoir, développer et lancer un produit sur le marché. Plus ce délai est court, plus l’entreprise peut prendre de l’avance sur ses concurrents.
|
||||||
|
|
|
||||||
|
|
@ -1,48 +1,48 @@
|
||||||
---
|
---
|
||||||
title: "Prévention des conflits entre agents"
|
title: "Prévention des conflits entre agents"
|
||||||
description: Comment l'architecture empêche les conflits lorsque plusieurs agents implémentent un système
|
description: Comment l’architecture empêche les conflits lorsque plusieurs agents implémentent un système
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 6
|
order: 6
|
||||||
---
|
---
|
||||||
|
|
||||||
Lorsque plusieurs agents IA implémentent différentes parties d'un système, ils peuvent prendre des décisions techniques contradictoires. La documentation d'architecture prévient cela en établissant des standards partagés.
|
Lorsque plusieurs agents IA implémentent différentes parties d’un système, ils peuvent prendre des décisions techniques contradictoires. La documentation d’architecture prévient cela en établissant des standards partagés.
|
||||||
|
|
||||||
## Types de conflits courants
|
## Types de conflits courants
|
||||||
|
|
||||||
### Conflits de style d'API
|
### Conflits de style d’API
|
||||||
|
|
||||||
Sans architecture :
|
Sans architecture :
|
||||||
- L'agent A utilise REST avec `/users/{id}`
|
- L’agent A utilise REST avec `/users/{id}`
|
||||||
- L'agent B utilise des mutations GraphQL
|
- L’agent B utilise des mutations GraphQL
|
||||||
- Résultat : Patterns d'API incohérents, consommateurs confus
|
- Résultat : Patterns d’API incohérents, consommateurs confus
|
||||||
|
|
||||||
Avec architecture :
|
Avec architecture :
|
||||||
- L'ADR[^1] spécifie : « Utiliser GraphQL pour toute communication client-serveur »
|
- L’ADR[^1] spécifie : « Utiliser GraphQL pour toute communication client-serveur »
|
||||||
- Tous les agents suivent le même pattern
|
- Tous les agents suivent le même pattern
|
||||||
|
|
||||||
### Conflits de conception de base de données
|
### Conflits de conception de base de données
|
||||||
|
|
||||||
Sans architecture :
|
Sans architecture :
|
||||||
- L'agent A utilise des noms de colonnes en snake_case
|
- L’agent A utilise des noms de colonnes en snake_case
|
||||||
- L'agent B utilise des noms de colonnes en camelCase
|
- L’agent B utilise des noms de colonnes en camelCase
|
||||||
- Résultat : Schéma incohérent, requêtes illisibles
|
- Résultat : Schéma incohérent, requêtes illisibles
|
||||||
|
|
||||||
Avec architecture :
|
Avec architecture :
|
||||||
- Un document de standards spécifie les conventions de nommage
|
- Un document de standards spécifie les conventions de nommage
|
||||||
- Tous les agents suivent les mêmes patterns
|
- Tous les agents suivent les mêmes patterns
|
||||||
|
|
||||||
### Conflits de gestion d'état
|
### Conflits de gestion d’état
|
||||||
|
|
||||||
Sans architecture :
|
Sans architecture :
|
||||||
- L'agent A utilise Redux pour l'état global
|
- L’agent A utilise Redux pour l’état global
|
||||||
- L'agent B utilise React Context
|
- L’agent B utilise React Context
|
||||||
- Résultat : Multiples approches de gestion d'état, complexité
|
- Résultat : Multiples approches de gestion d’état, complexité
|
||||||
|
|
||||||
Avec architecture :
|
Avec architecture :
|
||||||
- L'ADR spécifie l'approche de gestion d'état
|
- L’ADR spécifie l’approche de gestion d’état
|
||||||
- Tous les agents implémentent de manière cohérente
|
- Tous les agents implémentent de manière cohérente
|
||||||
|
|
||||||
## Comment l'architecture prévient les conflits
|
## Comment l’architecture prévient les conflits
|
||||||
|
|
||||||
### 1. Décisions explicites via les ADR[^1]
|
### 1. Décisions explicites via les ADR[^1]
|
||||||
|
|
||||||
|
|
@ -55,7 +55,7 @@ Chaque choix technologique significatif est documenté avec :
|
||||||
|
|
||||||
### 2. Guidance spécifique aux FR/NFR[^2]
|
### 2. Guidance spécifique aux FR/NFR[^2]
|
||||||
|
|
||||||
L'architecture associe chaque exigence fonctionnelle à une approche technique :
|
L’architecture associe chaque exigence fonctionnelle à une approche technique :
|
||||||
- FR-001 : Gestion des utilisateurs → Mutations GraphQL
|
- FR-001 : Gestion des utilisateurs → Mutations GraphQL
|
||||||
- FR-002 : Application mobile → Requêtes optimisées
|
- FR-002 : Application mobile → Requêtes optimisées
|
||||||
|
|
||||||
|
|
@ -64,12 +64,12 @@ L'architecture associe chaque exigence fonctionnelle à une approche technique :
|
||||||
Documentation explicite de :
|
Documentation explicite de :
|
||||||
- La structure des répertoires
|
- La structure des répertoires
|
||||||
- Les conventions de nommage
|
- Les conventions de nommage
|
||||||
- L'organisation du code
|
- L’organisation du code
|
||||||
- Les patterns de test
|
- Les patterns de test
|
||||||
|
|
||||||
## L'architecture comme contexte partagé
|
## L’architecture comme contexte partagé
|
||||||
|
|
||||||
Considérez l'architecture comme le contexte partagé que tous les agents lisent avant d'implémenter :
|
Considérez l’architecture comme le contexte partagé que tous les agents lisent avant d’implémenter :
|
||||||
|
|
||||||
```text
|
```text
|
||||||
PRD : "Que construire"
|
PRD : "Que construire"
|
||||||
|
|
@ -88,18 +88,18 @@ Résultat : Implémentation cohérente
|
||||||
Décisions courantes qui préviennent les conflits :
|
Décisions courantes qui préviennent les conflits :
|
||||||
|
|
||||||
| Sujet | Exemple de décision |
|
| Sujet | Exemple de décision |
|
||||||
| ---------------- | -------------------------------------------- |
|
|------------------|----------------------------------------------|
|
||||||
| Style d'API | GraphQL vs REST vs gRPC |
|
| Style d’API | GraphQL vs REST vs gRPC |
|
||||||
| Base de données | PostgreSQL vs MongoDB |
|
| Base de données | PostgreSQL vs MongoDB |
|
||||||
| Authentification | JWT vs Sessions |
|
| Authentification | JWT vs Sessions |
|
||||||
| Gestion d'état | Redux vs Context vs Zustand |
|
| Gestion d’état | Redux vs Context vs Zustand |
|
||||||
| Styling | CSS Modules vs Tailwind vs Styled Components |
|
| Styling | CSS Modules vs Tailwind vs Styled Components |
|
||||||
| Tests | Jest + Playwright vs Vitest + Cypress |
|
| Tests | Jest + Playwright vs Vitest + Cypress |
|
||||||
|
|
||||||
## Anti-patterns à éviter
|
## Anti-patterns à éviter
|
||||||
|
|
||||||
:::caution[Erreurs courantes]
|
:::caution[Erreurs courantes]
|
||||||
- **Décisions implicites** — « On décidera du style d'API au fur et à mesure » mène à l'incohérence
|
- **Décisions implicites** — « On décidera du style d’API au fur et à mesure » mène à l’incohérence
|
||||||
- **Sur-documentation** — Documenter chaque choix mineur cause une paralysie analytique
|
- **Sur-documentation** — Documenter chaque choix mineur cause une paralysie analytique
|
||||||
- **Architecture obsolète** — Les documents écrits une fois et jamais mis à jour poussent les agents à suivre des patterns dépassés
|
- **Architecture obsolète** — Les documents écrits une fois et jamais mis à jour poussent les agents à suivre des patterns dépassés
|
||||||
:::
|
:::
|
||||||
|
|
@ -107,7 +107,7 @@ Décisions courantes qui préviennent les conflits :
|
||||||
:::tip[Approche correcte]
|
:::tip[Approche correcte]
|
||||||
- Documenter les décisions qui traversent les frontières des epics
|
- Documenter les décisions qui traversent les frontières des epics
|
||||||
- Se concentrer sur les zones sujettes aux conflits
|
- Se concentrer sur les zones sujettes aux conflits
|
||||||
- Mettre à jour l'architecture au fur et à mesure des apprentissages
|
- Mettre à jour l’architecture au fur et à mesure des apprentissages
|
||||||
- Utiliser `bmad-correct-course` pour les changements significatifs
|
- Utiliser `bmad-correct-course` pour les changements significatifs
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,45 +5,45 @@ sidebar:
|
||||||
order: 10
|
order: 10
|
||||||
---
|
---
|
||||||
|
|
||||||
Le fichier `project-context.md` est le guide d'implémentation de votre projet pour les agents IA. Similaire à une « constitution » dans d'autres systèmes de développement, il capture les règles, les patterns et les préférences qui garantissent une génération de code cohérente à travers tous les workflows.
|
Le fichier `project-context.md` est le guide d’implémentation de votre projet pour les agents IA. Similaire à une « constitution » dans d’autres systèmes de développement, il capture les règles, les patterns et les préférences qui garantissent une génération de code cohérente à travers tous les workflows.
|
||||||
|
|
||||||
## Ce Qu'il Fait
|
## Ce Qu’il Fait
|
||||||
|
|
||||||
Les agents IA prennent constamment des décisions d'implémentation — quels patterns suivre, comment structurer le code, quelles conventions utiliser. Sans guidance claire, ils peuvent :
|
Les agents IA prennent constamment des décisions d’implémentation — quels patterns suivre, comment structurer le code, quelles conventions utiliser. Sans guidance claire, ils peuvent :
|
||||||
- Suivre des bonnes pratiques génériques qui ne correspondent pas à votre codebase
|
- Suivre des bonnes pratiques génériques qui ne correspondent pas à votre codebase
|
||||||
- Prendre des décisions incohérentes selon les différentes stories
|
- Prendre des décisions incohérentes selon les différentes stories
|
||||||
- Passer à côté d'exigences ou de contraintes spécifiques au projet
|
- Passer à côté d’exigences ou de contraintes spécifiques au projet
|
||||||
|
|
||||||
Le fichier `project-context.md` résout ce problème en documentant ce que les agents doivent savoir dans un format concis et optimisé pour les LLM.
|
Le fichier `project-context.md` résout ce problème en documentant ce que les agents doivent savoir dans un format concis et optimisé pour les LLM.
|
||||||
|
|
||||||
## Comment Ça Fonctionne
|
## Comment Ça Fonctionne
|
||||||
|
|
||||||
Chaque workflow d'implémentation charge automatiquement `project-context.md` s'il existe. Le workflow architecte le charge également pour respecter vos préférences techniques lors de la conception de l'architecture.
|
Chaque workflow d’implémentation charge automatiquement `project-context.md` s’il existe. Le workflow architecte le charge également pour respecter vos préférences techniques lors de la conception de l’architecture.
|
||||||
|
|
||||||
**Chargé par ces workflows :**
|
**Chargé par ces workflows :**
|
||||||
- `bmad-create-architecture` — respecte les préférences techniques pendant la phase de solutioning
|
- `bmad-create-architecture` — respecte les préférences techniques pendant la phase de solutioning
|
||||||
- `bmad-create-story` — informe la création de stories avec les patterns du projet
|
- `bmad-create-story` — informe la création de stories avec les patterns du projet
|
||||||
- `bmad-dev-story` — guide les décisions d'implémentation
|
- `bmad-dev-story` — guide les décisions d’implémentation
|
||||||
- `bmad-code-review` — valide par rapport aux standards du projet
|
- `bmad-code-review` — valide par rapport aux standards du projet
|
||||||
- `bmad-quick-dev` — applique les patterns lors de l'implémentation des spécifications techniques
|
- `bmad-quick-dev` — applique les patterns lors de l’implémentation des spécifications techniques
|
||||||
- `bmad-sprint-planning`, `bmad-retrospective`, `bmad-correct-course` — fournit le contexte global du projet
|
- `bmad-sprint-planning`, `bmad-retrospective`, `bmad-correct-course` — fournit le contexte global du projet
|
||||||
|
|
||||||
## Quand Le Créer
|
## Quand Le Créer
|
||||||
|
|
||||||
Le fichier `project-context.md` est utile à n'importe quel stade d'un projet :
|
Le fichier `project-context.md` est utile à n’importe quel stade d’un projet :
|
||||||
|
|
||||||
| Scénario | Quand Créer | Objectif |
|
| Scénario | Quand Créer | Objectif |
|
||||||
|------------------------------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------|
|
|------------------------------------------|-----------------------------------------------------|---------------------------------------------------------------------------------------|
|
||||||
| **Nouveau projet, avant l'architecture** | Manuellement, avant `bmad-create-architecture` | Documenter vos préférences techniques pour que l'architecte les respecte |
|
| **Nouveau projet, avant l’architecture** | Manuellement, avant `bmad-create-architecture` | Documenter vos préférences techniques pour que l’architecte les respecte |
|
||||||
| **Nouveau projet, après l'architecture** | Via `bmad-generate-project-context` ou manuellement | Capturer les décisions d'architecture pour les agents d'implémentation |
|
| **Nouveau projet, après l’architecture** | Via `bmad-generate-project-context` ou manuellement | Capturer les décisions d’architecture pour les agents d’implémentation |
|
||||||
| **Projet existant** | Via `bmad-generate-project-context` | Découvrir les patterns existants pour que les agents suivent les conventions établies |
|
| **Projet existant** | Via `bmad-generate-project-context` | Découvrir les patterns existants pour que les agents suivent les conventions établies |
|
||||||
| **Projet Quick Dev** | Avant ou pendant `bmad-quick-dev` | Garantir que l'implémentation rapide respecte vos patterns |
|
| **Projet Quick Dev** | Avant ou pendant `bmad-quick-dev` | Garantir que l’implémentation rapide respecte vos patterns |
|
||||||
|
|
||||||
:::tip[Recommandé]
|
:::tip[Recommandé]
|
||||||
Pour les nouveaux projets, créez-le manuellement avant l'architecture si vous avez de fortes préférences techniques. Sinon, générez-le après l'architecture pour capturer ces décisions.
|
Pour les nouveaux projets, créez-le manuellement avant l’architecture si vous avez de fortes préférences techniques. Sinon, générez-le après l’architecture pour capturer ces décisions.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Ce Qu'il Contient
|
## Ce Qu’il Contient
|
||||||
|
|
||||||
Le fichier a deux sections principales :
|
Le fichier a deux sections principales :
|
||||||
|
|
||||||
|
|
@ -88,7 +88,7 @@ Documente les patterns et conventions que les agents pourraient autrement manque
|
||||||
- Les nouvelles routes suivent le modèle de routage basé sur les fichiers dans `/src/app/`
|
- Les nouvelles routes suivent le modèle de routage basé sur les fichiers dans `/src/app/`
|
||||||
```
|
```
|
||||||
|
|
||||||
Concentrez-vous sur ce qui est **non évident** — des choses que les agents pourraient ne pas déduire en lisant des extraits de code. Ne documentez pas les pratiques standard qui s'appliquent universellement.
|
Concentrez-vous sur ce qui est **non évident** — des choses que les agents pourraient ne pas déduire en lisant des extraits de code. Ne documentez pas les pratiques standard qui s’appliquent universellement.
|
||||||
|
|
||||||
## Création du Fichier
|
## Création du Fichier
|
||||||
|
|
||||||
|
|
@ -104,9 +104,9 @@ mkdir -p _bmad-output
|
||||||
touch _bmad-output/project-context.md
|
touch _bmad-output/project-context.md
|
||||||
```
|
```
|
||||||
|
|
||||||
Éditez-le avec votre pile technologique et vos règles d'implémentation. Les workflows architecture et implémentation le trouveront et le chargeront automatiquement.
|
Éditez-le avec votre pile technologique et vos règles d’implémentation. Les workflows architecture et implémentation le trouveront et le chargeront automatiquement.
|
||||||
|
|
||||||
### Générer Après L'Architecture
|
### Générer Après L’Architecture
|
||||||
|
|
||||||
Exécutez le workflow `bmad-generate-project-context` après avoir terminé votre architecture :
|
Exécutez le workflow `bmad-generate-project-context` après avoir terminé votre architecture :
|
||||||
|
|
||||||
|
|
@ -114,7 +114,7 @@ Exécutez le workflow `bmad-generate-project-context` après avoir terminé votr
|
||||||
bmad-generate-project-context
|
bmad-generate-project-context
|
||||||
```
|
```
|
||||||
|
|
||||||
Cela analyse votre document d'architecture et vos fichiers projet pour générer un fichier de contexte capturant les décisions prises.
|
Cela analyse votre document d’architecture et vos fichiers projet pour générer un fichier de contexte capturant les décisions prises.
|
||||||
|
|
||||||
### Générer Pour Les Projets Existants
|
### Générer Pour Les Projets Existants
|
||||||
|
|
||||||
|
|
@ -126,7 +126,7 @@ bmad-generate-project-context
|
||||||
|
|
||||||
Le workflow analyse votre codebase pour identifier les conventions, puis génère un fichier de contexte que vous pouvez examiner et affiner.
|
Le workflow analyse votre codebase pour identifier les conventions, puis génère un fichier de contexte que vous pouvez examiner et affiner.
|
||||||
|
|
||||||
## Pourquoi C'est Important
|
## Pourquoi C’est Important
|
||||||
|
|
||||||
Sans `project-context.md`, les agents font des suppositions qui peuvent ne pas correspondre à votre projet :
|
Sans `project-context.md`, les agents font des suppositions qui peuvent ne pas correspondre à votre projet :
|
||||||
|
|
||||||
|
|
@ -135,24 +135,24 @@ Sans `project-context.md`, les agents font des suppositions qui peuvent ne pas c
|
||||||
| Utilise des patterns génériques | Suit vos conventions établies |
|
| Utilise des patterns génériques | Suit vos conventions établies |
|
||||||
| Style incohérent selon les stories | Implémentation cohérente |
|
| Style incohérent selon les stories | Implémentation cohérente |
|
||||||
| Peut manquer les contraintes spécifiques au projet | Respecte toutes les exigences techniques |
|
| Peut manquer les contraintes spécifiques au projet | Respecte toutes les exigences techniques |
|
||||||
| Chaque agent décide indépendamment | Tous les agents s'alignent sur les mêmes règles |
|
| Chaque agent décide indépendamment | Tous les agents s’alignent sur les mêmes règles |
|
||||||
|
|
||||||
C'est particulièrement important pour :
|
C’est particulièrement important pour :
|
||||||
- **Quick Dev** — saute le PRD et l'architecture, le fichier de contexte comble le vide
|
- **Quick Dev** — saute le PRD et l’architecture, le fichier de contexte comble le vide
|
||||||
- **Projets d'équipe** — garantit que tous les agents suivent les mêmes standards
|
- **Projets d’équipe** — garantit que tous les agents suivent les mêmes standards
|
||||||
- **Projets existants** — empêche de casser les patterns établis
|
- **Projets existants** — empêche de casser les patterns établis
|
||||||
|
|
||||||
## Édition et Mise à Jour
|
## Édition et Mise à Jour
|
||||||
|
|
||||||
Le fichier `project-context.md` est un document vivant. Mettez-le à jour quand :
|
Le fichier `project-context.md` est un document vivant. Mettez-le à jour quand :
|
||||||
|
|
||||||
- Les décisions d'architecture changent
|
- Les décisions d’architecture changent
|
||||||
- De nouvelles conventions sont établies
|
- De nouvelles conventions sont établies
|
||||||
- Les patterns évoluent pendant l'implémentation
|
- Les patterns évoluent pendant l’implémentation
|
||||||
- Vous identifiez des lacunes dans le comportement des agents
|
- Vous identifiez des lacunes dans le comportement des agents
|
||||||
|
|
||||||
Vous pouvez l'éditer manuellement à tout moment, ou réexécuter `bmad-generate-project-context` pour le mettre à jour après des changements significatifs.
|
Vous pouvez l’éditer manuellement à tout moment, ou réexécuter `bmad-generate-project-context` pour le mettre à jour après des changements significatifs.
|
||||||
|
|
||||||
:::note[Emplacement du Fichier]
|
:::note[Emplacement du Fichier]
|
||||||
L'emplacement par défaut est `_bmad-output/project-context.md`. Les workflows le recherchent là, et vérifient également `**/project-context.md` n'importe où dans votre projet.
|
L’emplacement par défaut est `_bmad-output/project-context.md`. Les workflows le recherchent là, et vérifient également `**/project-context.md` n’importe où dans votre projet.
|
||||||
:::
|
:::
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ sidebar:
|
||||||
order: 3
|
order: 3
|
||||||
---
|
---
|
||||||
|
|
||||||
Intention en entrée, modifications de code en sortie, avec aussi peu d'interactions humaines dans la boucle que possible — sans sacrifier la qualité.
|
Intention en entrée, modifications de code en sortie, avec aussi peu d’interactions humaines dans la boucle que possible — sans sacrifier la qualité.
|
||||||
|
|
||||||
Il permet au modèle de s'exécuter plus longtemps entre les points de contrôle, puis ne vous fait intervenir que lorsque la tâche ne peut pas se poursuivre en toute sécurité sans jugement humain, ou lorsqu'il est temps de revoir le résultat final.
|
Il permet au modèle de s’exécuter plus longtemps entre les points de contrôle, puis ne vous fait intervenir que lorsque la tâche ne peut pas se poursuivre en toute sécurité sans jugement humain, ou lorsqu’il est temps de revoir le résultat final.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
@ -15,51 +15,51 @@ Il permet au modèle de s'exécuter plus longtemps entre les points de contrôle
|
||||||
|
|
||||||
Les interactions humaines dans la boucle sont nécessaires et coûteuses.
|
Les interactions humaines dans la boucle sont nécessaires et coûteuses.
|
||||||
|
|
||||||
Les LLM actuels échouent encore de manière prévisible : ils interprètent mal l'intention, comblent les lacunes avec des suppositions assurées, dérivent vers du travail non lié, et génèrent des résultats à réviser bruyants. En même temps, l'intervention humaine constante limite la fluidité du développement. L'attention humaine est le goulot d'étranglement.
|
Les LLM actuels échouent encore de manière prévisible : ils interprètent mal l’intention, comblent les lacunes avec des suppositions assurées, dérivent vers du travail non lié, et génèrent des résultats à réviser bruyants. En même temps, l’intervention humaine constante limite la fluidité du développement. L’attention humaine est le goulot d’étranglement.
|
||||||
|
|
||||||
`bmad-quick-dev` rééquilibre ce compromis. Il fait confiance au modèle pour s'exécuter sans surveillance sur de plus longues périodes, mais seulement après que le workflow ait créé une frontière suffisamment solide pour rendre cela sûr.
|
`bmad-quick-dev` rééquilibre ce compromis. Il fait confiance au modèle pour s’exécuter sans surveillance sur de plus longues périodes, mais seulement après que le workflow ait créé une frontière suffisamment solide pour rendre cela sûr.
|
||||||
|
|
||||||
## La conception fondamentale
|
## La conception fondamentale
|
||||||
|
|
||||||
### 1. Compresser l'intention d'abord
|
### 1. Compresser l’intention d’abord
|
||||||
|
|
||||||
Le workflow commence par compresser l’interaction de la personne et du modèle à partir de la requête en un objectif cohérent. L'entrée peut commencer sous forme d'une expression grossière de l'intention, mais avant que le workflow ne s'exécute de manière autonome, elle doit devenir suffisamment petite, claire et sans contradiction pour être exécutable.
|
Le workflow commence par compresser l’interaction de la personne et du modèle à partir de la requête en un objectif cohérent. L’entrée peut commencer sous forme d’une expression grossière de l’intention, mais avant que le workflow ne s’exécute de manière autonome, elle doit devenir suffisamment petite, claire et sans contradiction pour être exécutable.
|
||||||
|
|
||||||
L'intention peut prendre plusieurs formes : quelques phrases, un lien vers un outil de suivi de bugs, une sortie du mode planification, du texte copié depuis une session de chat, ou même un numéro de story depuis un fichier `epics.md` de BMAD. Dans ce dernier cas, le workflow ne comprendra pas la sémantique de suivi des stories de BMAD, mais il peut quand même prendre la story elle-même et l'exécuter.
|
L’intention peut prendre plusieurs formes : quelques phrases, un lien vers un outil de suivi de bugs, une sortie du mode planification, du texte copié depuis une session de chat, ou même un numéro de story depuis un fichier `epics.md` de BMAD. Dans ce dernier cas, le workflow ne comprendra pas la sémantique de suivi des stories de BMAD, mais il peut quand même prendre la story elle-même et l’exécuter.
|
||||||
|
|
||||||
Ce workflow n'élimine pas le contrôle humain. Il le déplace vers un nombre réduit d’étapes à forte valeur :
|
Ce workflow n’élimine pas le contrôle humain. Il le déplace vers un nombre réduit d’étapes à forte valeur :
|
||||||
|
|
||||||
- **Clarification de l'intention** - transformer une demande confuse en un objectif cohérent sans contradictions cachées
|
- **Clarification de l’intention** - transformer une demande confuse en un objectif cohérent sans contradictions cachées
|
||||||
- **Approbation de la spécification** - confirmer que la compréhension figée correspond bien à ce qu'il faut construire
|
- **Approbation de la spécification** - confirmer que la compréhension figée correspond bien à ce qu’il faut construire
|
||||||
- **Revue du produit final** - le point de contrôle principal, où la personne décide si le résultat est acceptable à la fin
|
- **Revue du produit final** - le point de contrôle principal, où la personne décide si le résultat est acceptable à la fin
|
||||||
|
|
||||||
### 2. Router vers le chemin le plus court et sûr
|
### 2. Router vers le chemin le plus court et sûr
|
||||||
|
|
||||||
Une fois l'objectif clair, le workflow décide s'il s'agit d'un véritable changement en une seule étape ou s'il nécessite le chemin complet. Les petits changements à zéro impact peuvent aller directement à l'implémentation. Tout le reste passe par la planification pour que le modèle dispose d'un cadre plus solide avant de s'exécuter plus longtemps de manière autonome.
|
Une fois l’objectif clair, le workflow décide s’il s’agit d’un véritable changement en une seule étape ou s’il nécessite le chemin complet. Les petits changements à zéro impact peuvent aller directement à l’implémentation. Tout le reste passe par la planification pour que le modèle dispose d’un cadre plus solide avant de s’exécuter plus longtemps de manière autonome.
|
||||||
|
|
||||||
### 3. S'exécuter plus longtemps avec moins de supervision
|
### 3. S’exécuter plus longtemps avec moins de supervision
|
||||||
|
|
||||||
Après cette décision de routage, le modèle peut prendre en charge une plus grande partie du travail par lui-même. Sur le chemin complet, la spécification approuvée devient le cadre dans lequel le modèle s'exécute avec moins de supervision, ce qui est tout l'intérêt de la conception.
|
Après cette décision de routage, le modèle peut prendre en charge une plus grande partie du travail par lui-même. Sur le chemin complet, la spécification approuvée devient le cadre dans lequel le modèle s’exécute avec moins de supervision, ce qui est tout l’intérêt de la conception.
|
||||||
|
|
||||||
### 4. Diagnostiquer les échecs au bon niveau
|
### 4. Diagnostiquer les échecs au bon niveau
|
||||||
|
|
||||||
Si l'implémentation est incorrecte parce que l'intention était mauvaise, corriger le code n'est pas la bonne solution. Si le code est incorrect parce que la spécification était faible, corriger le diff n'est pas non plus la bonne solution. Le workflow est conçu pour diagnostiquer où l'échec est entré dans le système, revenir à ce niveau, et régénérer à partir de ce point.
|
Si l’implémentation est incorrecte parce que l’intention était mauvaise, corriger le code n’est pas la bonne solution. Si le code est incorrect parce que la spécification était faible, corriger le diff n’est pas non plus la bonne solution. Le workflow est conçu pour diagnostiquer où l’échec est entré dans le système, revenir à ce niveau, et régénérer à partir de ce point.
|
||||||
|
|
||||||
Les résultats de la revue sont utilisés pour décider si le problème provenait de l'intention, de la génération de la spécification, ou de l'implémentation locale. Seuls les véritables problèmes locaux sont corrigés localement.
|
Les résultats de la revue sont utilisés pour décider si le problème provenait de l’intention, de la génération de la spécification, ou de l’implémentation locale. Seuls les véritables problèmes locaux sont corrigés localement.
|
||||||
|
|
||||||
### 5. Ne faire intervenir l’humain que si nécessaire
|
### 5. Ne faire intervenir l’humain que si nécessaire
|
||||||
|
|
||||||
L'entretien sur l'intention implique la personne dans la boucle, mais ce n'est pas le même type d'interruption qu'un point de contrôle récurrent. Le workflow essaie de garder ces points de contrôle récurrents au minimum. Après la mise en forme initiale de l'intention, la personne revient principalement lorsque le workflow ne peut pas continuer en toute sécurité sans jugement, et à la fin, lorsqu'il est temps de revoir le résultat.
|
L’entretien sur l’intention implique la personne dans la boucle, mais ce n’est pas le même type d’interruption qu’un point de contrôle récurrent. Le workflow essaie de garder ces points de contrôle récurrents au minimum. Après la mise en forme initiale de l’intention, la personne revient principalement lorsque le workflow ne peut pas continuer en toute sécurité sans jugement, et à la fin, lorsqu’il est temps de revoir le résultat.
|
||||||
|
|
||||||
- **Résolution des lacunes d'intention** - intervenir à nouveau lors de la revue prouve que le workflow n'a pas pu déduire correctement ce qui était voulu
|
- **Résolution des lacunes d’intention** - intervenir à nouveau lors de la revue prouve que le workflow n’a pas pu déduire correctement ce qui était voulu
|
||||||
|
|
||||||
Tout le reste est candidat à une exécution autonome plus longue. Ce compromis est délibéré. Les anciens patterns dépensent plus d'attention humaine en supervision continue. Quick Dev fait davantage confiance au modèle, mais préserve l'attention humaine pour les moments où le raisonnement humain a le plus d'impact.
|
Tout le reste est candidat à une exécution autonome plus longue. Ce compromis est délibéré. Les anciens patterns dépensent plus d’attention humaine en supervision continue. Quick Dev fait davantage confiance au modèle, mais préserve l’attention humaine pour les moments où le raisonnement humain a le plus d’impact.
|
||||||
|
|
||||||
## Pourquoi le système de revue est important
|
## Pourquoi le système de revue est important
|
||||||
|
|
||||||
La phase de revue n'est pas seulement là pour trouver des bugs. Elle est là pour router la correction sans détruire l'élan.
|
La phase de revue n’est pas seulement là pour trouver des bugs. Elle est là pour router la correction sans détruire l’élan.
|
||||||
|
|
||||||
Ce workflow fonctionne mieux sur une plateforme capable de générer des sous-agents[^1], ou au moins d'invoquer un autre LLM via la ligne de commande et d'attendre un résultat. Si votre plateforme ne supporte pas cela nativement, vous pouvez ajouter un skill pour le faire. Les sous-agents sans contexte sont une pierre angulaire de la conception de la revue.
|
Ce workflow fonctionne mieux sur une plateforme capable de générer des sous-agents[^1], ou au moins d’invoquer un autre LLM via la ligne de commande et d’attendre un résultat. Si votre plateforme ne supporte pas cela nativement, vous pouvez ajouter un skill pour le faire. Les sous-agents sans contexte sont une pierre angulaire de la conception de la revue.
|
||||||
|
|
||||||
Les revues agentiques[^2] échouent souvent de deux manières :
|
Les revues agentiques[^2] échouent souvent de deux manières :
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ sidebar:
|
||||||
order: 5
|
order: 5
|
||||||
---
|
---
|
||||||
|
|
||||||
La Phase 3 (Solutioning) traduit le **quoi** construire (issu de la Planification) en **comment** le construire (conception technique). Cette phase évite les conflits entre agents dans les projets multi-epics en documentant les décisions architecturales avant le début de l'implémentation.
|
La Phase 3 (Solutioning) traduit le **quoi** construire (issu de la Planification) en **comment** le construire (conception technique). Cette phase évite les conflits entre agents dans les projets multi-epics en documentant les décisions architecturales avant le début de l’implémentation.
|
||||||
|
|
||||||
## Le Problème Sans Solutioning
|
## Le Problème Sans Solutioning
|
||||||
|
|
||||||
|
|
@ -15,7 +15,7 @@ Agent 2 implémente l'Epic 2 avec GraphQL
|
||||||
Résultat : Conception d'API incohérente, cauchemar d'intégration
|
Résultat : Conception d'API incohérente, cauchemar d'intégration
|
||||||
```
|
```
|
||||||
|
|
||||||
Lorsque plusieurs agents implémentent différentes parties d'un système sans orientation architecturale partagée, ils prennent des décisions techniques indépendantes qui peuvent entrer en conflit.
|
Lorsque plusieurs agents implémentent différentes parties d’un système sans orientation architecturale partagée, ils prennent des décisions techniques indépendantes qui peuvent entrer en conflit.
|
||||||
|
|
||||||
## La Solution Avec le Solutioning
|
## La Solution Avec le Solutioning
|
||||||
|
|
||||||
|
|
@ -25,13 +25,13 @@ Tous les agents suivent les décisions d'architecture
|
||||||
Résultat : Implémentation cohérente, pas de conflits
|
Résultat : Implémentation cohérente, pas de conflits
|
||||||
```
|
```
|
||||||
|
|
||||||
En documentant les décisions techniques de manière explicite, tous les agents implémentent de façon cohérente et l'intégration devient simple.
|
En documentant les décisions techniques de manière explicite, tous les agents implémentent de façon cohérente et l’intégration devient simple.
|
||||||
|
|
||||||
## Solutioning vs Planification
|
## Solutioning vs Planification
|
||||||
|
|
||||||
| Aspect | Planification (Phase 2) | Solutioning (Phase 3) |
|
| Aspect | Planification (Phase 2) | Solutioning (Phase 3) |
|
||||||
|----------|--------------------------|-------------------------------------------------|
|
|----------|--------------------------|-------------------------------------------------|
|
||||||
| Question | Quoi et Pourquoi ? | Comment ? Puis Quelles unités de travail ? |
|
| Question | Quoi et Pourquoi ? | Comment ? Puis Quelles unités de travail ? |
|
||||||
| Sortie | FRs/NFRs (Exigences)[^1] | Architecture + Epics[^2]/Stories[^3] |
|
| Sortie | FRs/NFRs (Exigences)[^1] | Architecture + Epics[^2]/Stories[^3] |
|
||||||
| Agent | PM | Architect → PM |
|
| Agent | PM | Architect → PM |
|
||||||
| Audience | Parties prenantes | Développeurs |
|
| Audience | Parties prenantes | Développeurs |
|
||||||
|
|
@ -43,15 +43,15 @@ En documentant les décisions techniques de manière explicite, tous les agents
|
||||||
**Rendre les décisions techniques explicites et documentées** pour que tous les agents implémentent de manière cohérente.
|
**Rendre les décisions techniques explicites et documentées** pour que tous les agents implémentent de manière cohérente.
|
||||||
|
|
||||||
Cela évite :
|
Cela évite :
|
||||||
- Les conflits de style d'API (REST vs GraphQL)
|
- Les conflits de style d’API (REST vs GraphQL)
|
||||||
- Les incohérences de conception de base de données
|
- Les incohérences de conception de base de données
|
||||||
- Les désaccords sur la gestion du state
|
- Les désaccords sur la gestion du state
|
||||||
- Les inadéquations de conventions de nommage
|
- Les inadéquations de conventions de nommage
|
||||||
- Les variations d'approche de sécurité
|
- Les variations d’approche de sécurité
|
||||||
|
|
||||||
## Quand le Solutioning est Requis
|
## Quand le Solutioning est Requis
|
||||||
|
|
||||||
| Parcours | Solutioning Requis ? |
|
| Parcours | Solutioning Requis ? |
|
||||||
|-----------------------|-----------------------------|
|
|-----------------------|-----------------------------|
|
||||||
| Quick Dev | Non - l’ignore complètement |
|
| Quick Dev | Non - l’ignore complètement |
|
||||||
| Méthode BMad Simple | Optionnel |
|
| Méthode BMad Simple | Optionnel |
|
||||||
|
|
@ -66,20 +66,20 @@ Si vous avez plusieurs epics qui pourraient être implémentés par différents
|
||||||
|
|
||||||
Sauter le solutioning sur des projets complexes entraîne :
|
Sauter le solutioning sur des projets complexes entraîne :
|
||||||
|
|
||||||
- **Des problèmes d'intégration** découverts en milieu de sprint[^5]
|
- **Des problèmes d’intégration** découverts en milieu de sprint[^5]
|
||||||
- **Du travail répété** dû à des implémentations conflictuelles
|
- **Du travail répété** dû à des implémentations conflictuelles
|
||||||
- **Un temps de développement plus long** globalement
|
- **Un temps de développement plus long** globalement
|
||||||
- **De la dette technique**[^6] due à des patterns incohérents
|
- **De la dette technique**[^6] due à des patterns incohérents
|
||||||
|
|
||||||
:::caution[Coût Multiplié]
|
:::caution[Coût Multiplié]
|
||||||
Détecter les problèmes d'alignement lors du solutioning est 10× plus rapide que de les découvrir pendant l'implémentation.
|
Détecter les problèmes d’alignement lors du solutioning est 10× plus rapide que de les découvrir pendant l’implémentation.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: FR / NFR (Functional / Non-Functional Requirement) : exigences décrivant respectivement **ce que le système doit faire** (fonctionnalités, comportements attendus) et **comment il doit le faire** (contraintes de performance, sécurité, fiabilité, ergonomie, etc.).
|
[^1]: FR / NFR (Functional / Non-Functional Requirement) : exigences décrivant respectivement **ce que le système doit faire** (fonctionnalités, comportements attendus) et **comment il doit le faire** (contraintes de performance, sécurité, fiabilité, ergonomie, etc.).
|
||||||
[^2]: Epic : dans les méthodologies agiles, une unité de travail importante qui peut être décomposée en plusieurs stories plus petites. Un epic représente généralement une fonctionnalité majeure ou un objectif métier.
|
[^2]: Epic : dans les méthodologies agiles, une unité de travail importante qui peut être décomposée en plusieurs stories plus petites. Un epic représente généralement une fonctionnalité majeure ou un objectif métier.
|
||||||
[^3]: Story (User Story) : description courte et simple d'une fonctionnalité du point de vue de l'utilisateur, utilisée dans les méthodologies agiles pour planifier et prioriser le travail.
|
[^3]: Story (User Story) : description courte et simple d’une fonctionnalité du point de vue de l’utilisateur, utilisée dans les méthodologies agiles pour planifier et prioriser le travail.
|
||||||
[^4]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d'aligner les équipes sur ce qui doit être construit et pourquoi.
|
[^4]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d’aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
[^5]: Sprint : période de temps fixe (généralement 1 à 4 semaines) dans les méthodologies agiles durant laquelle l'équipe complète un ensemble prédéfini de tâches.
|
[^5]: Sprint : période de temps fixe (généralement 1 à 4 semaines) dans les méthodologies agiles durant laquelle l’équipe complète un ensemble prédéfini de tâches.
|
||||||
[^6]: Dette technique : coût futur supplémentaire de travail résultant de choix de facilité ou de raccourcis pris lors du développement initial, nécessitant souvent une refonte ultérieure.
|
[^6]: Dette technique : coût futur supplémentaire de travail résultant de choix de facilité ou de raccourcis pris lors du développement initial, nécessitant souvent une refonte ultérieure.
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,17 @@ sidebar:
|
||||||
order: 8
|
order: 8
|
||||||
---
|
---
|
||||||
|
|
||||||
Adaptez les personas d'agents, injectez du contexte métier, ajoutez des capacités et configurez le comportement des workflows — le tout sans modifier les fichiers installés. Vos personnalisations sont préservées à chaque mise à jour.
|
Adaptez les personas d’agents, injectez du contexte métier, ajoutez des capacités et configurez le comportement des workflows — le tout sans modifier les fichiers installés. Vos personnalisations sont préservées à chaque mise à jour.
|
||||||
|
|
||||||
:::tip[Vous ne voulez pas rédiger du TOML à la main ? Utilisez `bmad-customize`]
|
:::tip[Vous ne voulez pas rédiger du TOML à la main ? Utilisez `bmad-customize`]
|
||||||
Le skill `bmad-customize` est un assistant de rédaction guidée pour les **options de personnalisation par skill (agent/workflow)** décrite dans ce document. Il scanne ce qui est personnalisable dans votre installation, vous aide à choisir la bonne surface (agent ou workflow) pour votre intention, écrit le fichier d'override pour vous et vérifie que la fusion a fonctionné. Les overrides de la configuration centrale (`_bmad/custom/config.toml`) ne sont pas couverts par la v1 du skill — rédigez-les manuellement en vous référant à la section Configuration centrale ci-dessous. Exécutez le skill chaque fois que vous souhaitez modifier un skill spécifique ; ce document est la référence sur *ce que* chaque surface expose et comment fonctionne la fusion.
|
Le skill `bmad-customize` est un assistant de rédaction guidée pour les **options de personnalisation par skill (agent/workflow)** décrite dans ce document. Il scanne ce qui est personnalisable dans votre installation, vous aide à choisir la bonne surface (agent ou workflow) pour votre intention, écrit le fichier d’override pour vous et vérifie que la fusion a fonctionné. Les overrides de la configuration centrale (`_bmad/custom/config.toml`) ne sont pas couverts par la v1 du skill — rédigez-les manuellement en vous référant à la section Configuration centrale ci-dessous. Exécutez le skill chaque fois que vous souhaitez modifier un skill spécifique ; ce document est la référence sur *ce que* chaque surface expose et comment fonctionne la fusion.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Quand utiliser cette fonctionnalité
|
## Quand utiliser cette fonctionnalité
|
||||||
|
|
||||||
- Vous souhaitez changer la personnalité ou le style de communication d'un agent
|
- Vous souhaitez changer la personnalité ou le style de communication d’un agent
|
||||||
- Vous devez fournir à un agent des faits persistants qu'il devra retenir (ex. « notre org est 100 % AWS »)
|
- Vous devez fournir à un agent des faits persistants qu’il devra retenir (ex. « notre org est 100 % AWS »)
|
||||||
- Vous souhaitez ajouter des étapes procédurales de démarrage que l'agent doit exécuter à chaque session
|
- Vous souhaitez ajouter des étapes procédurales de démarrage que l’agent doit exécuter à chaque session
|
||||||
- Vous souhaitez ajouter des éléments de menu personnalisés qui déclenchent vos propres skills ou prompts
|
- Vous souhaitez ajouter des éléments de menu personnalisés qui déclenchent vos propres skills ou prompts
|
||||||
- Votre équipe a besoin de personnalisations partagées versionnées dans git, avec des préférences personnelles ajoutées par-dessus
|
- Votre équipe a besoin de personnalisations partagées versionnées dans git, avec des préférences personnelles ajoutées par-dessus
|
||||||
|
|
||||||
|
|
@ -28,9 +28,9 @@ Le skill `bmad-customize` est un assistant de rédaction guidée pour les **opti
|
||||||
|
|
||||||
## Comment ça marche
|
## Comment ça marche
|
||||||
|
|
||||||
Chaque skill personnalisable embarque un fichier `customize.toml` avec ses valeurs par défaut. Ce fichier définit la surface de personnalisation complète du skill — lisez-le pour voir ce qui est personnalisable. Ne modifiez jamais ce fichier. À la place, créez des fichiers d'override allégés contenant uniquement les champs que vous souhaitez changer.
|
Chaque skill personnalisable embarque un fichier `customize.toml` avec ses valeurs par défaut. Ce fichier définit la surface de personnalisation complète du skill — lisez-le pour voir ce qui est personnalisable. Ne modifiez jamais ce fichier. À la place, créez des fichiers d’override allégés contenant uniquement les champs que vous souhaitez changer.
|
||||||
|
|
||||||
### Modèle d'override à trois couches
|
### Modèle d’override à trois couches
|
||||||
|
|
||||||
```text
|
```text
|
||||||
Priorité 1 (gagne) : _bmad/custom/{skill-name}.user.toml (personnel, ignoré par git)
|
Priorité 1 (gagne) : _bmad/custom/{skill-name}.user.toml (personnel, ignoré par git)
|
||||||
|
|
@ -38,44 +38,44 @@ Priorité 2 : _bmad/custom/{skill-name}.toml (équipe/org, version
|
||||||
Priorité 3 (base) : customize.toml du skill (valeurs par défaut)
|
Priorité 3 (base) : customize.toml du skill (valeurs par défaut)
|
||||||
```
|
```
|
||||||
|
|
||||||
Le dossier `_bmad/custom/` est initialement vide. Les fichiers n'apparaissent que lorsqu'un utilisateur commence à personnaliser.
|
Le dossier `_bmad/custom/` est initialement vide. Les fichiers n’apparaissent que lorsqu’un utilisateur commence à personnaliser.
|
||||||
|
|
||||||
### Règles de fusion (par forme, pas par nom de champ)
|
### Règles de fusion (par forme, pas par nom de champ)
|
||||||
|
|
||||||
Le résolveur applique quatre règles structurelles. Les noms de champ n'ont pas de traitement particulier — le comportement est déterminé uniquement par la forme de la valeur :
|
Le résolveur applique quatre règles structurelles. Les noms de champ n’ont pas de traitement particulier — le comportement est déterminé uniquement par la forme de la valeur :
|
||||||
|
|
||||||
| Forme | Règle |
|
| Forme | Règle |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Scalaire (chaîne, entier, booléen, flottant) | L'override prévaut |
|
| Scalaire (chaîne, entier, booléen, flottant) | L’override prévaut |
|
||||||
| Table | Fusion profonde (application récursive des mêmes règles) |
|
| Table | Fusion profonde (application récursive des mêmes règles) |
|
||||||
| Tableau de tables où chaque élément partage le **même** champ identifiant (chaque élément a `code`, ou chaque élément a `id`) | Fusionner par cette clé — les clés correspondantes **remplacent sur place**, les nouvelles clés **s'ajoutent** |
|
| Tableau de tables où chaque élément partage le **même** champ identifiant (chaque élément a `code`, ou chaque élément a `id`) | Fusionner par cette clé — les clés correspondantes **remplacent sur place**, les nouvelles clés **s’ajoutent** |
|
||||||
| Tout autre tableau (scalaires ; tables sans identifiant ; tableaux qui mélangent `code` et `id` entre les éléments) | **Ajouter** — éléments de base en premier, puis éléments d'équipe, puis éléments utilisateur |
|
| Tout autre tableau (scalaires ; tables sans identifiant ; tableaux qui mélangent `code` et `id` entre les éléments) | **Ajouter** — éléments de base en premier, puis éléments d’équipe, puis éléments utilisateur |
|
||||||
|
|
||||||
**Pas de mécanisme de suppression.** Les overrides ne peuvent pas effacer les éléments de base. Si vous devez supprimer un élément de menu par défaut, surchargez-le via son `code` avec une description ou un prompt sans effet. Si vous devez restructurer un tableau plus en profondeur, forkez le skill.
|
**Pas de mécanisme de suppression.** Les overrides ne peuvent pas effacer les éléments de base. Si vous devez supprimer un élément de menu par défaut, surchargez-le via son `code` avec une description ou un prompt sans effet. Si vous devez restructurer un tableau plus en profondeur, forkez le skill.
|
||||||
|
|
||||||
**La convention `code` / `id`.** BMad utilise `code` (code court comme `"BP"` ou `"R1"`) et `id` (identifiant stable plus long) comme clés de fusion dans les tableaux de tables. Si vous rédigez un tableau de tables personnalisé destiné à être fusionné par clé plutôt que par simple ajout, choisissez **une** convention (soit `code` sur chaque élément, soit `id` sur chaque élément) et respectez-la dans tout le tableau. Mélanger `code` sur certains éléments et `id` sur d'autres revient à un simple ajout — le résolveur ne devinera pas quelle clé utiliser pour la fusion.
|
**La convention `code` / `id`.** BMad utilise `code` (code court comme `"BP"` ou `"R1"`) et `id` (identifiant stable plus long) comme clés de fusion dans les tableaux de tables. Si vous rédigez un tableau de tables personnalisé destiné à être fusionné par clé plutôt que par simple ajout, choisissez **une** convention (soit `code` sur chaque élément, soit `id` sur chaque élément) et respectez-la dans tout le tableau. Mélanger `code` sur certains éléments et `id` sur d’autres revient à un simple ajout — le résolveur ne devinera pas quelle clé utiliser pour la fusion.
|
||||||
|
|
||||||
### Certains champs d'agent sont en lecture seule
|
### Certains champs d’agent sont en lecture seule
|
||||||
|
|
||||||
`agent.name` et `agent.title` sont présents dans `customize.toml` comme source de vérité, mais le SKILL.md de l'agent ne les lit pas à l'exécution — leur identité est codée en dur. Mettre `name = "Bob"` dans un fichier d'override n'a aucun effet. Si vous avez vraiment besoin d'un agent avec un nom différent, copiez le dossier du skill, renommez-le et distribuez-le comme skill personnalisé.
|
`agent.name` et `agent.title` sont présents dans `customize.toml` comme source de vérité, mais le SKILL.md de l’agent ne les lit pas à l’exécution — leur identité est codée en dur. Mettre `name = "Bob"` dans un fichier d’override n’a aucun effet. Si vous avez vraiment besoin d’un agent avec un nom différent, copiez le dossier du skill, renommez-le et distribuez-le comme skill personnalisé.
|
||||||
|
|
||||||
## Étapes
|
## Étapes
|
||||||
|
|
||||||
### 1. Trouver la surface de personnalisation du skill
|
### 1. Trouver la surface de personnalisation du skill
|
||||||
|
|
||||||
Consultez le `customize.toml` du skill dans son répertoire d'installation. Par exemple, l'agent PM :
|
Consultez le `customize.toml` du skill dans son répertoire d’installation. Par exemple, l’agent PM :
|
||||||
|
|
||||||
```text
|
```text
|
||||||
.claude/skills/bmad-agent-pm/customize.toml
|
.claude/skills/bmad-agent-pm/customize.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
(Le chemin varie selon l'IDE — Cursor utilise `.cursor/skills/`, Cline utilise `.cline/skills/`, etc.)
|
(Le chemin varie selon l’IDE — Cursor utilise `.cursor/skills/`, Cline utilise `.cline/skills/`, etc.)
|
||||||
|
|
||||||
Ce fichier est le schéma canonique. Chaque champ que vous voyez est personnalisable (à l'exception des champs d'identité en lecture seule mentionnés ci-dessus).
|
Ce fichier est le schéma canonique. Chaque champ que vous voyez est personnalisable (à l’exception des champs d’identité en lecture seule mentionnés ci-dessus).
|
||||||
|
|
||||||
### 2. Créer votre fichier d'override
|
### 2. Créer votre fichier d’override
|
||||||
|
|
||||||
Créez le répertoire `_bmad/custom/` à la racine de votre projet s'il n'existe pas. Puis créez un fichier portant le même nom que le skill :
|
Créez le répertoire `_bmad/custom/` à la racine de votre projet s’il n’existe pas. Puis créez un fichier portant le même nom que le skill :
|
||||||
|
|
||||||
```text
|
```text
|
||||||
_bmad/custom/
|
_bmad/custom/
|
||||||
|
|
@ -84,12 +84,12 @@ _bmad/custom/
|
||||||
```
|
```
|
||||||
|
|
||||||
:::caution[Ne copiez PAS le `customize.toml` complet]
|
:::caution[Ne copiez PAS le `customize.toml` complet]
|
||||||
Les fichiers d'override sont **allégés**. Incluez uniquement les champs que vous modifiez — rien d'autre. Chaque champ omis est hérité automatiquement de la couche inférieure (l'équipe hérite des valeurs par défaut, l'utilisateur de l'équipe ou des valeurs par défaut).
|
Les fichiers d’override sont **allégés**. Incluez uniquement les champs que vous modifiez — rien d’autre. Chaque champ omis est hérité automatiquement de la couche inférieure (l’équipe hérite des valeurs par défaut, l’utilisateur de l’équipe ou des valeurs par défaut).
|
||||||
|
|
||||||
Copier le `customize.toml` complet dans un override est contre-productif : la prochaine mise à jour livrera de nouvelles valeurs par défaut, mais votre fichier d'override figera les anciennes valeurs. Votre configuration s'éloignera silencieusement des valeurs par défaut à chaque mise à jour.
|
Copier le `customize.toml` complet dans un override est contre-productif : la prochaine mise à jour livrera de nouvelles valeurs par défaut, mais votre fichier d’override figera les anciennes valeurs. Votre configuration s’éloignera silencieusement des valeurs par défaut à chaque mise à jour.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
**Exemple — changer l'icône et ajouter un principe :**
|
**Exemple — changer l’icône et ajouter un principe :**
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-agent-pm.toml
|
# _bmad/custom/bmad-agent-pm.toml
|
||||||
|
|
@ -102,13 +102,13 @@ principles = [
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
Ceci ajoute le nouveau principe aux valeurs par défaut (en laissant les principes existants intacts) et remplace l'icône. Tous les autres champs restent inchangés.
|
Ceci ajoute le nouveau principe aux valeurs par défaut (en laissant les principes existants intacts) et remplace l’icône. Tous les autres champs restent inchangés.
|
||||||
|
|
||||||
### 3. Personnaliser selon vos besoins
|
### 3. Personnaliser selon vos besoins
|
||||||
|
|
||||||
Tous les exemples ci-dessous supposent le schéma d'agent plat de BMad. Les champs se trouvent directement sous `[agent]` — pas de sous-tables `metadata` ou `persona` imbriquées.
|
Tous les exemples ci-dessous supposent le schéma d’agent plat de BMad. Les champs se trouvent directement sous `[agent]` — pas de sous-tables `metadata` ou `persona` imbriquées.
|
||||||
|
|
||||||
**Scalaires (icon, role, identity, communication_style).** Les overrides scalaires prévalent. Vous n'avez besoin de définir que les champs que vous modifiez :
|
**Scalaires (icon, role, identity, communication_style).** Les overrides scalaires prévalent. Vous n’avez besoin de définir que les champs que vous modifiez :
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-agent-pm.toml
|
# _bmad/custom/bmad-agent-pm.toml
|
||||||
|
|
@ -119,7 +119,7 @@ role = "Pilote la découverte produit pour un domaine de santé réglementé."
|
||||||
communication_style = "Précis, sensible à la réglementation, pose des questions orientées conformité tôt."
|
communication_style = "Précis, sensible à la réglementation, pose des questions orientées conformité tôt."
|
||||||
```
|
```
|
||||||
|
|
||||||
**Faits persistants, principes, hooks d'activation (tableaux en mode ajout).** Les quatre tableaux ci-dessous sont en ajout uniquement. Les éléments d'équipe s'exécutent après les valeurs par défaut, les éléments utilisateur s'exécutent en dernier.
|
**Faits persistants, principes, hooks d’activation (tableaux en mode ajout).** Les quatre tableaux ci-dessous sont en ajout uniquement. Les éléments d’équipe s’exécutent après les valeurs par défaut, les éléments utilisateur s’exécutent en dernier.
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[agent]
|
[agent]
|
||||||
|
|
@ -156,9 +156,9 @@ activation_steps_append = [
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
**Pourquoi deux hooks ?** Le préfixe s'exécute avant la salutation pour que l'agent puisse charger le contexte dont il a besoin pour personnaliser la salutation elle-même. Le suffixe s'exécute après la salutation pour que l'utilisateur ne reste pas devant un terminal vide pendant les scans lourds.
|
**Pourquoi deux hooks ?** Le préfixe s’exécute avant la salutation pour que l’agent puisse charger le contexte dont il a besoin pour personnaliser la salutation elle-même. Le suffixe s’exécute après la salutation pour que l’utilisateur ne reste pas devant un terminal vide pendant les scans lourds.
|
||||||
|
|
||||||
**Personnalisation du menu (fusion par `code`).** Le menu est un tableau de tables. Chaque élément possède un champ `code` (convention BMad). Le résolveur fusionne donc par code : les codes correspondants remplacent sur place, les nouveaux codes s'ajoutent.
|
**Personnalisation du menu (fusion par `code`).** Le menu est un tableau de tables. Chaque élément possède un champ `code` (convention BMad). Le résolveur fusionne donc par code : les codes correspondants remplacent sur place, les nouveaux codes s’ajoutent.
|
||||||
|
|
||||||
La syntaxe TOML pour les tableaux de tables utilise `[[agent.menu]]` pour chaque élément :
|
La syntaxe TOML pour les tableaux de tables utilise `[[agent.menu]]` pour chaque élément :
|
||||||
|
|
||||||
|
|
@ -182,13 +182,13 @@ Signaler tout écart et citer la section réglementaire pertinente.
|
||||||
|
|
||||||
Chaque élément de menu possède exactement un `skill` (invoque un skill enregistré) ou `prompt` (exécute le texte directement). Les éléments non listés dans votre override conservent leurs valeurs par défaut.
|
Chaque élément de menu possède exactement un `skill` (invoque un skill enregistré) ou `prompt` (exécute le texte directement). Les éléments non listés dans votre override conservent leurs valeurs par défaut.
|
||||||
|
|
||||||
**Référencer des fichiers.** Quand le texte d'un champ doit pointer vers un fichier (dans `persistent_facts`, `activation_steps_prepend`/`activation_steps_append`, ou le `prompt` d'un élément de menu), utilisez un chemin complet partant de `{project-root}`. Même si le fichier se trouve à côté de votre override dans `_bmad/custom/`, écrivez le chemin complet : `{project-root}/_bmad/custom/info.md`. L'agent résout `{project-root}` à l'exécution.
|
**Référencer des fichiers.** Quand le texte d’un champ doit pointer vers un fichier (dans `persistent_facts`, `activation_steps_prepend`/`activation_steps_append`, ou le `prompt` d’un élément de menu), utilisez un chemin complet partant de `{project-root}`. Même si le fichier se trouve à côté de votre override dans `_bmad/custom/`, écrivez le chemin complet : `{project-root}/_bmad/custom/info.md`. L’agent résout `{project-root}` à l’exécution.
|
||||||
|
|
||||||
### 4. Personnel vs Équipe
|
### 4. Personnel vs Équipe
|
||||||
|
|
||||||
**Fichier d'équipe** (`bmad-agent-pm.toml`) : Versionné dans git. Partagé au sein de l'organisation. À utiliser pour les règles de conformité, le persona de l'entreprise, les capacités personnalisées.
|
**Fichier d’équipe** (`bmad-agent-pm.toml`) : Versionné dans git. Partagé au sein de l’organisation. À utiliser pour les règles de conformité, le persona de l’entreprise, les capacités personnalisées.
|
||||||
|
|
||||||
**Fichier personnel** (`bmad-agent-pm.user.toml`) : Automatiquement ignoré par git. À utiliser pour les ajustements de ton, les préférences de workflow personnelles et les faits privés que l'agent doit garder en tête.
|
**Fichier personnel** (`bmad-agent-pm.user.toml`) : Automatiquement ignoré par git. À utiliser pour les ajustements de ton, les préférences de workflow personnelles et les faits privés que l’agent doit garder en tête.
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-agent-pm.user.toml
|
# _bmad/custom/bmad-agent-pm.user.toml
|
||||||
|
|
@ -201,7 +201,7 @@ persistent_facts = [
|
||||||
|
|
||||||
## Comment fonctionne la résolution
|
## Comment fonctionne la résolution
|
||||||
|
|
||||||
À l'activation, le SKILL.md de l'agent exécute un script Python partagé qui effectue la fusion à trois couches et renvoie le bloc résolu en JSON. Le script utilise le module `tomllib` de la bibliothèque standard Python (aucune dépendance externe), donc `python3` suffit :
|
À l’activation, le SKILL.md de l’agent exécute un script Python partagé qui effectue la fusion à trois couches et renvoie le bloc résolu en JSON. Le script utilise le module `tomllib` de la bibliothèque standard Python (aucune dépendance externe), donc `python3` suffit :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python3 {project-root}/_bmad/scripts/resolve_customization.py \
|
python3 {project-root}/_bmad/scripts/resolve_customization.py \
|
||||||
|
|
@ -209,11 +209,11 @@ python3 {project-root}/_bmad/scripts/resolve_customization.py \
|
||||||
--key agent
|
--key agent
|
||||||
```
|
```
|
||||||
|
|
||||||
**Prérequis** : Python 3.11+ (les versions antérieures n'incluent pas `tomllib`). Pas de `pip install`, pas de `uv`, pas de virtualenv. Vérifiez avec `python3 --version`. Certaines plateformes (macOS sans Homebrew, Ubuntu 22.04) ont `python3` par défaut en 3.10 ou antérieur, vous devrez peut-être installer 3.11+ séparément.
|
**Prérequis** : Python 3.11+ (les versions antérieures n’incluent pas `tomllib`). Pas de `pip install`, pas de `uv`, pas de virtualenv. Vérifiez avec `python3 --version`. Certaines plateformes (macOS sans Homebrew, Ubuntu 22.04) ont `python3` par défaut en 3.10 ou antérieur, vous devrez peut-être installer 3.11+ séparément.
|
||||||
|
|
||||||
`--skill` pointe vers le répertoire installé du skill (où se trouve `customize.toml`). Le nom du skill est déduit du basename du répertoire, et le script cherche automatiquement `_bmad/custom/{skill-name}.toml` et `{skill-name}.user.toml`.
|
`--skill` pointe vers le répertoire installé du skill (où se trouve `customize.toml`). Le nom du skill est déduit du basename du répertoire, et le script cherche automatiquement `_bmad/custom/{skill-name}.toml` et `{skill-name}.user.toml`.
|
||||||
|
|
||||||
Exemples d'utilisation :
|
Exemples d’utilisation :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Résoudre le bloc agent complet
|
# Résoudre le bloc agent complet
|
||||||
|
|
@ -231,11 +231,11 @@ python3 {project-root}/_bmad/scripts/resolve_customization.py \
|
||||||
--skill /chemin/absolu/vers/bmad-agent-pm
|
--skill /chemin/absolu/vers/bmad-agent-pm
|
||||||
```
|
```
|
||||||
|
|
||||||
La sortie est toujours en JSON. Si le script n'est pas disponible sur une plateforme donnée, le SKILL.md demande à l'agent de lire les trois fichiers TOML directement et d'appliquer les mêmes règles de fusion.
|
La sortie est toujours en JSON. Si le script n’est pas disponible sur une plateforme donnée, le SKILL.md demande à l’agent de lire les trois fichiers TOML directement et d’appliquer les mêmes règles de fusion.
|
||||||
|
|
||||||
## Personnalisation des workflows
|
## Personnalisation des workflows
|
||||||
|
|
||||||
Les workflows (skills qui pilotent des processus multi-étapes comme `bmad-product-brief`) partagent le même mécanisme d'override que les agents. Leur surface personnalisable se trouve sous `[workflow]` au lieu de `[agent]` :
|
Les workflows (skills qui pilotent des processus multi-étapes comme `bmad-product-brief`) partagent le même mécanisme d’override que les agents. Leur surface personnalisable se trouve sous `[workflow]` au lieu de `[agent]` :
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-product-brief.toml
|
# _bmad/custom/bmad-product-brief.toml
|
||||||
|
|
@ -260,32 +260,32 @@ persistent_facts = [
|
||||||
on_complete = "Résumer le brief en trois points et proposer de l'envoyer par email via le skill gws-gmail-send."
|
on_complete = "Résumer le brief en trois points et proposer de l'envoyer par email via le skill gws-gmail-send."
|
||||||
```
|
```
|
||||||
|
|
||||||
Les mêmes conventions de champs s'appliquent indifféremment aux agents et aux workflows : `activation_steps_prepend`/`activation_steps_append`, `persistent_facts` (avec refs `file:`) et les tables `[[…]]` de style menu avec `code`/`id` pour la fusion par clé. Le résolveur applique les mêmes quatre règles structurelles quelle que soit la clé de premier niveau. Les références dans SKILL.md suivent l'espace de noms : `{workflow.activation_steps_prepend}`, `{workflow.persistent_facts}`, `{workflow.on_complete}`. Tout champ supplémentaire qu'un workflow expose (chemins de sortie, bascules, paramètres de revue, drapeaux d'étape) suit les mêmes règles de fusion basées sur la forme. Lisez le `customize.toml` du workflow pour voir ce qui est personnalisable.
|
Les mêmes conventions de champs s’appliquent indifféremment aux agents et aux workflows : `activation_steps_prepend`/`activation_steps_append`, `persistent_facts` (avec refs `file:`) et les tables `[[…]]` de style menu avec `code`/`id` pour la fusion par clé. Le résolveur applique les mêmes quatre règles structurelles quelle que soit la clé de premier niveau. Les références dans SKILL.md suivent l’espace de noms : `{workflow.activation_steps_prepend}`, `{workflow.persistent_facts}`, `{workflow.on_complete}`. Tout champ supplémentaire qu’un workflow expose (chemins de sortie, bascules, paramètres de revue, drapeaux d’étape) suit les mêmes règles de fusion basées sur la forme. Lisez le `customize.toml` du workflow pour voir ce qui est personnalisable.
|
||||||
|
|
||||||
### Ordre d'activation
|
### Ordre d’activation
|
||||||
|
|
||||||
Les workflows personnalisables exécutent leur activation dans une séquence fixe pour que vous sachiez exactement quand vos hooks se déclenchent :
|
Les workflows personnalisables exécutent leur activation dans une séquence fixe pour que vous sachiez exactement quand vos hooks se déclenchent :
|
||||||
|
|
||||||
1. Résoudre le bloc `[workflow]` (fusion base → équipe → utilisateur)
|
1. Résoudre le bloc `[workflow]` (fusion base → équipe → utilisateur)
|
||||||
2. Exécuter `activation_steps_prepend` dans l'ordre
|
2. Exécuter `activation_steps_prepend` dans l’ordre
|
||||||
3. Charger `persistent_facts` comme contexte fondamental pour l'exécution
|
3. Charger `persistent_facts` comme contexte fondamental pour l’exécution
|
||||||
4. Charger la configuration (`_bmad/bmm/config.yaml`) et résoudre les variables standard (nom du projet, langues, chemins, date)
|
4. Charger la configuration (`_bmad/bmm/config.yaml`) et résoudre les variables standard (nom du projet, langues, chemins, date)
|
||||||
5. Saluer l'utilisateur
|
5. Saluer l’utilisateur
|
||||||
6. Exécuter `activation_steps_append` dans l'ordre
|
6. Exécuter `activation_steps_append` dans l’ordre
|
||||||
|
|
||||||
Après l'étape 6, le corps du workflow commence. Utilisez `activation_steps_prepend` quand vous avez besoin de contexte chargé avant que la salutation puisse être personnalisée ; utilisez `activation_steps_append` quand le chargement est lourd et que vous préférez que l'utilisateur voie la salutation d'abord.
|
Après l’étape 6, le corps du workflow commence. Utilisez `activation_steps_prepend` quand vous avez besoin de contexte chargé avant que la salutation puisse être personnalisée ; utilisez `activation_steps_append` quand le chargement est lourd et que vous préférez que l’utilisateur voie la salutation d’abord.
|
||||||
|
|
||||||
### Périmètre de cette première passe
|
### Périmètre de cette première passe
|
||||||
|
|
||||||
La personnalisation est déployée de manière incrémentale. Les champs documentés ci-dessus — `activation_steps_prepend`, `activation_steps_append`, `persistent_facts`, `on_complete` — sont la **surface de base** que chaque workflow personnalisable expose, et ils resteront stables d'une version à l'autre. Ils vous donnent un contrôle à grands traits dès aujourd'hui : injecter des étapes pré/post, épingler du contexte fondamental, déclencher des actions de suivi.
|
La personnalisation est déployée de manière incrémentale. Les champs documentés ci-dessus — `activation_steps_prepend`, `activation_steps_append`, `persistent_facts`, `on_complete` — sont la **surface de base** que chaque workflow personnalisable expose, et ils resteront stables d’une version à l’autre. Ils vous donnent un contrôle à grands traits dès aujourd’hui : injecter des étapes pré/post, épingler du contexte fondamental, déclencher des actions de suivi.
|
||||||
|
|
||||||
Au fil du temps, les workflows individuels exposeront des **points de personnalisation plus ciblés** adaptés à ce que le workflow fait réellement — par exemple des bascules par étape, des drapeaux d'étape, des chemins de templates de sortie ou des jalons de revue. Quand ils arriveront, ils viendront s'ajouter aux champs de base plutôt que de les remplacer, pour que les personnalisations que vous rédigez aujourd'hui continuent de fonctionner.
|
Au fil du temps, les workflows individuels exposeront des **points de personnalisation plus ciblés** adaptés à ce que le workflow fait réellement — par exemple des bascules par étape, des drapeaux d’étape, des chemins de templates de sortie ou des jalons de revue. Quand ils arriveront, ils viendront s’ajouter aux champs de base plutôt que de les remplacer, pour que les personnalisations que vous rédigez aujourd’hui continuent de fonctionner.
|
||||||
|
|
||||||
Si vous avez besoin d'un réglage précis qui n'est pas encore exposé, utilisez `activation_steps_*` et `persistent_facts` pour orienter le comportement, ou ouvrez une issue décrivant le point de personnalisation spécifique que vous souhaitez — ces demandes déterminent quels champs ciblés seront ajoutés ensuite.
|
Si vous avez besoin d’un réglage précis qui n’est pas encore exposé, utilisez `activation_steps_*` et `persistent_facts` pour orienter le comportement, ou ouvrez une issue décrivant le point de personnalisation spécifique que vous souhaitez — ces demandes déterminent quels champs ciblés seront ajoutés ensuite.
|
||||||
|
|
||||||
## Configuration centrale
|
## Configuration centrale
|
||||||
|
|
||||||
Le `customize.toml` par skill couvre le **comportement profond** (hooks, menus, persistent_facts, overrides de persona pour un seul agent ou workflow). Une surface séparée couvre l'**état transversal** — les réponses d'installation et le registre des agents que les skills externes comme `bmad-party-mode`, `bmad-retrospective` et `bmad-advanced-elicitation` consomment. Cette surface se trouve dans quatre fichiers TOML à la racine du projet :
|
Le `customize.toml` par skill couvre le **comportement profond** (hooks, menus, persistent_facts, overrides de persona pour un seul agent ou workflow). Une surface séparée couvre l'**état transversal** — les réponses d’installation et le registre des agents que les skills externes comme `bmad-party-mode`, `bmad-retrospective` et `bmad-advanced-elicitation` consomment. Cette surface se trouve dans quatre fichiers TOML à la racine du projet :
|
||||||
|
|
||||||
```text
|
```text
|
||||||
_bmad/config.toml (géré par l'installateur) périmètre équipe : réponses d'installation + registre des agents
|
_bmad/config.toml (géré par l'installateur) périmètre équipe : réponses d'installation + registre des agents
|
||||||
|
|
@ -303,19 +303,19 @@ Priorité 3 : _bmad/config.user.toml
|
||||||
Priorité 4 (base) : _bmad/config.toml
|
Priorité 4 (base) : _bmad/config.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
Mêmes règles structurelles que la personnalisation par skill (scalaires prévalent, tables fusionnent en profondeur, tableaux à clé `code`/`id` fusionnent par clé, autres tableaux s'ajoutent).
|
Mêmes règles structurelles que la personnalisation par skill (scalaires prévalent, tables fusionnent en profondeur, tableaux à clé `code`/`id` fusionnent par clé, autres tableaux s’ajoutent).
|
||||||
|
|
||||||
### Répartition du contenu
|
### Répartition du contenu
|
||||||
|
|
||||||
L'installateur répartit les réponses selon le `scope:` déclaré sur chaque prompt dans `module.yaml` :
|
L’installateur répartit les réponses selon le `scope:` déclaré sur chaque prompt dans `module.yaml` :
|
||||||
|
|
||||||
- Les sections `[core]` et `[modules.<code>]` — réponses d'installation. Le scope `team` figure dans `_bmad/config.toml` ; le scope `user` figure dans `_bmad/config.user.toml`.
|
- Les sections `[core]` et `[modules.<code>]` — réponses d’installation. Le scope `team` figure dans `_bmad/config.toml` ; le scope `user` figure dans `_bmad/config.user.toml`.
|
||||||
- `[agents.<code>]` — descripteur de l'agent (code, name, title, icon, description, team) extrait du bloc `agents:` de chaque `module.yaml`. Toujours de scope équipe.
|
- `[agents.<code>]` — descripteur de l’agent (code, name, title, icon, description, team) extrait du bloc `agents:` de chaque `module.yaml`. Toujours de scope équipe.
|
||||||
|
|
||||||
### Règles de modification
|
### Règles de modification
|
||||||
|
|
||||||
- `_bmad/config.toml` et `_bmad/config.user.toml` sont **régénérés à chaque installation** à partir des réponses collectées pendant le processus d'installation. Traitez-les comme des sorties en lecture seule — les modifications directes seront écrasées à la prochaine installation. Pour changer une réponse d'installation de manière durable, relancez l'installateur (il se souvient de vos réponses précédentes comme valeurs par défaut) ou surchargez la valeur dans `_bmad/custom/config.toml`.
|
- `_bmad/config.toml` et `_bmad/config.user.toml` sont **régénérés à chaque installation** à partir des réponses collectées pendant le processus d’installation. Traitez-les comme des sorties en lecture seule — les modifications directes seront écrasées à la prochaine installation. Pour changer une réponse d’installation de manière durable, relancez l’installateur (il se souvient de vos réponses précédentes comme valeurs par défaut) ou surchargez la valeur dans `_bmad/custom/config.toml`.
|
||||||
- `_bmad/custom/config.toml` et `_bmad/custom/config.user.toml` ne sont **jamais modifiés** par l'installateur. C'est l'espace approprié pour les agents personnalisés, les overrides de descripteur d'agent, les paramètres imposés par l'équipe et toute valeur que vous souhaitez figer indépendamment des réponses d'installation.
|
- `_bmad/custom/config.toml` et `_bmad/custom/config.user.toml` ne sont **jamais modifiés** par l’installateur. C’est l’espace approprié pour les agents personnalisés, les overrides de descripteur d’agent, les paramètres imposés par l’équipe et toute valeur que vous souhaitez figer indépendamment des réponses d’installation.
|
||||||
|
|
||||||
### Exemple — Renommer un agent
|
### Exemple — Renommer un agent
|
||||||
|
|
||||||
|
|
@ -327,7 +327,7 @@ description = "PM Santé — sensible à la réglementation, orienté parties pr
|
||||||
icon = "🏥"
|
icon = "🏥"
|
||||||
```
|
```
|
||||||
|
|
||||||
Le résolveur fusionne par-dessus le `[agents.bmad-agent-pm]` écrit par l'installateur. `bmad-party-mode` et tout autre utilisateur du registre récupèrent automatiquement la nouvelle description.
|
Le résolveur fusionne par-dessus le `[agents.bmad-agent-pm]` écrit par l’installateur. `bmad-party-mode` et tout autre utilisateur du registre récupèrent automatiquement la nouvelle description.
|
||||||
|
|
||||||
### Exemple — Ajouter un agent fictif
|
### Exemple — Ajouter un agent fictif
|
||||||
|
|
||||||
|
|
@ -342,9 +342,9 @@ icon = "🖖"
|
||||||
description = "Commandant audacieux, enfreignant les règles. Parle en pauses dramatiques. Pense à voix haute sur le poids du commandement."
|
description = "Commandant audacieux, enfreignant les règles. Parle en pauses dramatiques. Pense à voix haute sur le poids du commandement."
|
||||||
```
|
```
|
||||||
|
|
||||||
Pas de dossier de skill requis — le descripteur seul suffit pour que party-mode instancie Kirk comme voix. Filtrez par le champ `team` pour inviter uniquement l'équipage de l'Enterprise à une table ronde.
|
Pas de dossier de skill requis — le descripteur seul suffit pour que party-mode instancie Kirk comme voix. Filtrez par le champ `team` pour inviter uniquement l’équipage de l’Enterprise à une table ronde.
|
||||||
|
|
||||||
### Exemple — Override des paramètres d'installation du module
|
### Exemple — Override des paramètres d’installation du module
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/config.toml
|
# _bmad/custom/config.toml
|
||||||
|
|
@ -353,43 +353,43 @@ Pas de dossier de skill requis — le descripteur seul suffit pour que party-mod
|
||||||
planning_artifacts = "/shared/org-planning-artifacts"
|
planning_artifacts = "/shared/org-planning-artifacts"
|
||||||
```
|
```
|
||||||
|
|
||||||
L'override prévaut sur ce que chaque développeur a répondu lors de son installation locale. Utile pour figer les conventions d'équipe.
|
L’override prévaut sur ce que chaque développeur a répondu lors de son installation locale. Utile pour figer les conventions d’équipe.
|
||||||
|
|
||||||
### Quelle surface utiliser pour quel besoin
|
### Quelle surface utiliser pour quel besoin
|
||||||
|
|
||||||
| Besoin | Utiliser |
|
| Besoin | Utiliser |
|
||||||
|---|---|
|
|----------------------------------------------------------|-------------------------------------------------------------------------------|
|
||||||
| Ajouter des appels d'outils MCP à chaque workflow de dev | Par skill : `_bmad/custom/bmad-agent-dev.toml` `persistent_facts` |
|
| Ajouter des appels d’outils MCP à chaque workflow de dev | Par skill : `_bmad/custom/bmad-agent-dev.toml` `persistent_facts` |
|
||||||
| Ajouter un élément de menu à un agent | Par skill : `_bmad/custom/bmad-agent-{role}.toml` `[[agent.menu]]` |
|
| Ajouter un élément de menu à un agent | Par skill : `_bmad/custom/bmad-agent-{role}.toml` `[[agent.menu]]` |
|
||||||
| Remplacer le template de sortie d'un workflow | Par skill : `_bmad/custom/{workflow}.toml` override scalaire |
|
| Remplacer le template de sortie d’un workflow | Par skill : `_bmad/custom/{workflow}.toml` override scalaire |
|
||||||
| Renommer le descripteur public d'un agent | **Centrale** : `_bmad/custom/config.toml` `[agents.<code>]` |
|
| Renommer le descripteur public d’un agent | **Centrale** : `_bmad/custom/config.toml` `[agents.<code>]` |
|
||||||
| Ajouter un agent personnalisé ou fictif au registre | **Centrale** : `_bmad/custom/config.*.toml` nouvelle entrée `[agents.<code>]` |
|
| Ajouter un agent personnalisé ou fictif au registre | **Centrale** : `_bmad/custom/config.*.toml` nouvelle entrée `[agents.<code>]` |
|
||||||
| Figer les paramètres d'installation pour l'équipe | **Centrale** : `_bmad/custom/config.toml` `[modules.<code>]` ou `[core]` |
|
| Figer les paramètres d’installation pour l’équipe | **Centrale** : `_bmad/custom/config.toml` `[modules.<code>]` ou `[core]` |
|
||||||
|
|
||||||
Utilisez les deux espaces dans le même projet selon vos besoins.
|
Utilisez les deux espaces dans le même projet selon vos besoins.
|
||||||
|
|
||||||
## Exemples concrets
|
## Exemples concrets
|
||||||
|
|
||||||
Pour des recettes orientées entreprise (façonner un agent à travers tous les workflows qu'il gère, imposer les conventions d'organisation, publier les livrables vers Confluence et Jira, personnaliser le registre des agents et remplacer vos propres templates de sortie), consultez [Comment étendre BMad pour votre organisation](./expand-bmad-for-your-org.md).
|
Pour des recettes orientées entreprise (façonner un agent à travers tous les workflows qu’il gère, imposer les conventions d’organisation, publier les livrables vers Confluence et Jira, personnaliser le registre des agents et remplacer vos propres templates de sortie), consultez [Comment étendre BMad pour votre organisation](./expand-bmad-for-your-org.md).
|
||||||
|
|
||||||
## Dépannage
|
## Dépannage
|
||||||
|
|
||||||
**La personnalisation n'apparaît pas ?**
|
**La personnalisation n’apparaît pas ?**
|
||||||
|
|
||||||
- Vérifiez que votre fichier se trouve dans `_bmad/custom/` avec le nom de skill correct
|
- Vérifiez que votre fichier se trouve dans `_bmad/custom/` avec le nom de skill correct
|
||||||
- Vérifiez la syntaxe TOML : les chaînes doivent être entre guillemets, les en-têtes de table utilisent `[section]`, les tableaux de tables utilisent `[[section]]`, et toute clé scalaire ou de tableau pour une table doit apparaître *avant* toute `[[sous-table]]` de cette table dans le fichier
|
- Vérifiez la syntaxe TOML : les chaînes doivent être entre guillemets, les en-têtes de table utilisent `[section]`, les tableaux de tables utilisent `[[section]]`, et toute clé scalaire ou de tableau pour une table doit apparaître *avant* toute `[[sous-table]]` de cette table dans le fichier
|
||||||
- Pour les agents, la personnalisation se trouve sous `[agent]` — les champs écrits sous cet en-tête appartiennent à `agent` jusqu'à ce qu'un autre en-tête de table commence
|
- Pour les agents, la personnalisation se trouve sous `[agent]` — les champs écrits sous cet en-tête appartiennent à `agent` jusqu’à ce qu’un autre en-tête de table commence
|
||||||
- Rappelez-vous que `agent.name` et `agent.title` sont en lecture seule ; les overrides n'ont aucun effet
|
- Rappelez-vous que `agent.name` et `agent.title` sont en lecture seule ; les overrides n’ont aucun effet
|
||||||
|
|
||||||
**Les mises à jour ont cassé votre personnalisation ?**
|
**Les mises à jour ont cassé votre personnalisation ?**
|
||||||
|
|
||||||
- Avez-vous copié le `customize.toml` complet dans votre fichier d'override ? **Ne le faites pas.** Les fichiers d'override ne doivent contenir que les champs que vous modifiez. Une copie complète fige les anciennes valeurs par défaut et dérive silencieusement à chaque version. Réduisez votre override aux seuls deltas.
|
- Avez-vous copié le `customize.toml` complet dans votre fichier d’override ? **Ne le faites pas.** Les fichiers d’override ne doivent contenir que les champs que vous modifiez. Une copie complète fige les anciennes valeurs par défaut et dérive silencieusement à chaque version. Réduisez votre override aux seuls deltas.
|
||||||
|
|
||||||
**Besoin de voir ce qui est personnalisable ?**
|
**Besoin de voir ce qui est personnalisable ?**
|
||||||
|
|
||||||
- Exécutez le skill `bmad-customize` — il énumère chaque skill personnalisable installé dans votre projet, montre lesquels ont déjà des overrides et vous guide pour en ajouter ou en modifier.
|
- Exécutez le skill `bmad-customize` — il énumère chaque skill personnalisable installé dans votre projet, montre lesquels ont déjà des overrides et vous guide pour en ajouter ou en modifier.
|
||||||
- Ou lisez directement le `customize.toml` du skill — chaque champ listé est personnalisable (sauf `name` et `title`)
|
- Ou lisez directement le `customize.toml` du skill — chaque champ listé est personnalisable (sauf `name` et `title`)
|
||||||
|
|
||||||
**Besoin de réinitialiser ?**
|
**Besoin de réinitialiser ?**
|
||||||
|
|
||||||
- Supprimez votre fichier d'override de `_bmad/custom/` — le skill revient à ses valeurs par défaut intégrées.
|
- Supprimez votre fichier d’override de `_bmad/custom/` — le skill revient à ses valeurs par défaut intégrées.
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ sidebar:
|
||||||
|
|
||||||
Utilisez la méthode BMad efficacement lorsque vous travaillez sur des projets existants et des bases de code legacy.
|
Utilisez la méthode BMad efficacement lorsque vous travaillez sur des projets existants et des bases de code legacy.
|
||||||
|
|
||||||
Ce guide couvre le flux de travail essentiel pour l'intégration à des projets existants avec la méthode BMad.
|
Ce guide couvre le flux de travail essentiel pour l’intégration à des projets existants avec la méthode BMad.
|
||||||
|
|
||||||
:::note[Prérequis]
|
:::note[Prérequis]
|
||||||
- méthode BMad installée (`npx bmad-method install`)
|
- méthode BMad installée (`npx bmad-method install`)
|
||||||
|
|
@ -17,7 +17,7 @@ Ce guide couvre le flux de travail essentiel pour l'intégration à des projets
|
||||||
|
|
||||||
## Étape 1 : Nettoyer les artefacts de planification terminés
|
## Étape 1 : Nettoyer les artefacts de planification terminés
|
||||||
|
|
||||||
Si vous avez terminé tous les epics et stories du PRD[^1] via le processus BMad, nettoyez ces fichiers. Archivez-les, supprimez-les, ou appuyez-vous sur l'historique des versions si nécessaire. Ne conservez pas ces fichiers dans :
|
Si vous avez terminé tous les epics et stories du PRD[^1] via le processus BMad, nettoyez ces fichiers. Archivez-les, supprimez-les, ou appuyez-vous sur l’historique des versions si nécessaire. Ne conservez pas ces fichiers dans :
|
||||||
|
|
||||||
- `docs/`
|
- `docs/`
|
||||||
- `_bmad-output/planning-artifacts/`
|
- `_bmad-output/planning-artifacts/`
|
||||||
|
|
@ -26,7 +26,7 @@ Si vous avez terminé tous les epics et stories du PRD[^1] via le processus BMad
|
||||||
## Étape 2 : Créer le contexte du projet
|
## Étape 2 : Créer le contexte du projet
|
||||||
|
|
||||||
:::tip[Recommandé pour les projets existants]
|
:::tip[Recommandé pour les projets existants]
|
||||||
Générez `project-context.md` pour capturer les patterns et conventions de votre base de code existante. Cela garantit que les agents IA suivent vos pratiques établies lors de l'implémentation des modifications.
|
Générez `project-context.md` pour capturer les patterns et conventions de votre base de code existante. Cela garantit que les agents IA suivent vos pratiques établies lors de l’implémentation des modifications.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
Exécutez le workflow de génération de contexte du projet :
|
Exécutez le workflow de génération de contexte du projet :
|
||||||
|
|
@ -37,7 +37,7 @@ bmad-generate-project-context
|
||||||
|
|
||||||
Cela analyse votre base de code pour identifier :
|
Cela analyse votre base de code pour identifier :
|
||||||
- La pile technologique et les versions
|
- La pile technologique et les versions
|
||||||
- Les patterns d'organisation du code
|
- Les patterns d’organisation du code
|
||||||
- Les conventions de nommage
|
- Les conventions de nommage
|
||||||
- Les approches de test
|
- Les approches de test
|
||||||
- Les patterns spécifiques aux frameworks
|
- Les patterns spécifiques aux frameworks
|
||||||
|
|
@ -50,18 +50,18 @@ Vous pouvez examiner et affiner le fichier généré, ou le créer manuellement
|
||||||
|
|
||||||
Votre dossier `docs/` doit contenir une documentation succincte et bien organisée qui représente fidèlement votre projet :
|
Votre dossier `docs/` doit contenir une documentation succincte et bien organisée qui représente fidèlement votre projet :
|
||||||
|
|
||||||
- L'intention et la justification métier
|
- L’intention et la justification métier
|
||||||
- Les règles métier
|
- Les règles métier
|
||||||
- L'architecture
|
- L’architecture
|
||||||
- Toute autre information pertinente sur le projet
|
- Toute autre information pertinente sur le projet
|
||||||
|
|
||||||
Pour les projets complexes, envisagez d'utiliser le workflow `bmad-document-project`. Il offre des variantes d'exécution qui analyseront l'ensemble de votre projet et documenteront son état actuel réel.
|
Pour les projets complexes, envisagez d’utiliser le workflow `bmad-document-project`. Il offre des variantes d’exécution qui analyseront l’ensemble de votre projet et documenteront son état actuel réel.
|
||||||
|
|
||||||
## Étape 4 : Obtenir de l'aide
|
## Étape 4 : Obtenir de l’aide
|
||||||
|
|
||||||
### BMad-Help : Votre point de départ
|
### BMad-Help : Votre point de départ
|
||||||
|
|
||||||
**Exécutez `bmad-help` chaque fois que vous n'êtes pas sûr de la prochaine étape.** Ce guide intelligent :
|
**Exécutez `bmad-help` chaque fois que vous n’êtes pas sûr de la prochaine étape.** Ce guide intelligent :
|
||||||
|
|
||||||
- Inspecte votre projet pour voir ce qui a déjà été fait
|
- Inspecte votre projet pour voir ce qui a déjà été fait
|
||||||
- Affiche les options basées sur vos modules installés
|
- Affiche les options basées sur vos modules installés
|
||||||
|
|
@ -73,25 +73,25 @@ bmad-help Quelle est la différence entre quick-dev et la méthode complète ?
|
||||||
bmad-help Montre-moi quels workflows sont disponibles
|
bmad-help Montre-moi quels workflows sont disponibles
|
||||||
```
|
```
|
||||||
|
|
||||||
BMad-Help s'exécute également **automatiquement à la fin de chaque workflow**, fournissant des conseils clairs sur exactement quoi faire ensuite.
|
BMad-Help s’exécute également **automatiquement à la fin de chaque workflow**, fournissant des conseils clairs sur exactement quoi faire ensuite.
|
||||||
|
|
||||||
### Choisir votre approche
|
### Choisir votre approche
|
||||||
|
|
||||||
Vous avez deux options principales selon l'ampleur des modifications :
|
Vous avez deux options principales selon l’ampleur des modifications :
|
||||||
|
|
||||||
| Portée | Approche recommandée |
|
| Portée | Approche recommandée |
|
||||||
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
|
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| **Petites mises à jour ou ajouts** | Exécutez `bmad-quick-dev` pour clarifier l'intention, planifier, implémenter et réviser dans un seul workflow. La méthode BMad complète en quatre phases est probablement excessive. |
|
| **Petites mises à jour ou ajouts** | Exécutez `bmad-quick-dev` pour clarifier l’intention, planifier, implémenter et réviser dans un seul workflow. La méthode BMad complète en quatre phases est probablement excessive. |
|
||||||
| **Modifications ou ajouts majeurs** | Commencez avec la méthode BMad, en appliquant autant ou aussi peu de rigueur que nécessaire. |
|
| **Modifications ou ajouts majeurs** | Commencez avec la méthode BMad, en appliquant autant ou aussi peu de rigueur que nécessaire. |
|
||||||
|
|
||||||
### Pendant la création du PRD
|
### Pendant la création du PRD
|
||||||
|
|
||||||
Lors de la création d'un brief ou en passant directement au PRD[^1], assurez-vous que l'agent :
|
Lors de la création d’un brief ou en passant directement au PRD[^1], assurez-vous que l’agent :
|
||||||
|
|
||||||
- Trouve et analyse votre documentation de projet existante
|
- Trouve et analyse votre documentation de projet existante
|
||||||
- Lit le contexte approprié sur votre système actuel
|
- Lit le contexte approprié sur votre système actuel
|
||||||
|
|
||||||
Vous pouvez guider l'agent explicitement, mais l'objectif est de garantir que la nouvelle fonctionnalité s'intègre bien à votre système existant.
|
Vous pouvez guider l’agent explicitement, mais l’objectif est de garantir que la nouvelle fonctionnalité s’intègre bien à votre système existant.
|
||||||
|
|
||||||
### Considérations UX
|
### Considérations UX
|
||||||
|
|
||||||
|
|
@ -100,23 +100,23 @@ Le travail UX[^2] est optionnel. La décision dépend non pas de savoir si votre
|
||||||
- Si vous allez travailler sur des modifications UX
|
- Si vous allez travailler sur des modifications UX
|
||||||
- Si des conceptions ou patterns UX significatifs sont nécessaires
|
- Si des conceptions ou patterns UX significatifs sont nécessaires
|
||||||
|
|
||||||
Si vos modifications se résument à de simples mises à jour d'écrans existants qui vous satisfont, un processus UX complet n'est pas nécessaire.
|
Si vos modifications se résument à de simples mises à jour d’écrans existants qui vous satisfont, un processus UX complet n’est pas nécessaire.
|
||||||
|
|
||||||
### Considérations d'architecture
|
### Considérations d’architecture
|
||||||
|
|
||||||
Lors de la création de l'architecture, assurez-vous que l'architecte :
|
Lors de la création de l’architecture, assurez-vous que l’architecte :
|
||||||
|
|
||||||
- Utilise les fichiers documentés appropriés
|
- Utilise les fichiers documentés appropriés
|
||||||
- Analyse la base de code existante
|
- Analyse la base de code existante
|
||||||
|
|
||||||
Soyez particulièrement attentif ici pour éviter de réinventer la roue ou de prendre des décisions qui ne s'alignent pas avec votre architecture existante.
|
Soyez particulièrement attentif ici pour éviter de réinventer la roue ou de prendre des décisions qui ne s’alignent pas avec votre architecture existante.
|
||||||
|
|
||||||
## Plus d'informations
|
## Plus d’informations
|
||||||
|
|
||||||
- **[Corrections rapides](./quick-fixes.md)** - Corrections de bugs et modifications ad-hoc
|
- **[Corrections rapides](./quick-fixes.md)** - Corrections de bugs et modifications ad-hoc
|
||||||
- **[FAQ Projets existants](../explanation/established-projects-faq.md)** - Questions courantes sur le travail sur des projets établis
|
- **[FAQ Projets existants](../explanation/established-projects-faq.md)** - Questions courantes sur le travail sur des projets établis
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d'aligner les équipes sur ce qui doit être construit et pourquoi.
|
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d’aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
[^2]: UX (User Experience) : expérience utilisateur, englobant l'ensemble des interactions et perceptions d'un utilisateur face à un produit. Le design UX vise à créer des interfaces intuitives, efficaces et agréables en tenant compte des besoins, comportements et contexte d'utilisation.
|
[^2]: UX (User Experience) : expérience utilisateur, englobant l’ensemble des interactions et perceptions d’un utilisateur face à un produit. Le design UX vise à créer des interfaces intuitives, efficaces et agréables en tenant compte des besoins, comportements et contexte d’utilisation.
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
---
|
---
|
||||||
title: 'Comment étendre BMad pour votre organisation'
|
title: 'Comment étendre BMad pour votre organisation'
|
||||||
description: Six patterns de personnalisation qui remodèlent BMad sans créer de fork — règles applicables aux agents, conventions de workflow, publication externe, remplacements de templates, modifications du registre des agents et patterns d'intégration avancés
|
description: Six patterns de personnalisation qui remodèlent BMad sans créer de fork — règles applicables aux agents, conventions de workflow, publication externe, remplacements de templates, modifications du registre des agents et patterns d’intégration avancés
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 9
|
order: 9
|
||||||
---
|
---
|
||||||
|
|
||||||
Le système de personnalisation de BMad permet à une organisation d'adapter les comportements sans modifier les fichiers installés ni forker les skills. Ce guide présente six recettes qui couvrent la plupart des besoins en entreprise.
|
Le système de personnalisation de BMad permet à une organisation d’adapter les comportements sans modifier les fichiers installés ni forker les skills. Ce guide présente six recettes qui couvrent la plupart des besoins en entreprise.
|
||||||
|
|
||||||
:::note[Prérequis]
|
:::note[Prérequis]
|
||||||
|
|
||||||
|
|
@ -15,7 +15,7 @@ Le système de personnalisation de BMad permet à une organisation d'adapter les
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::tip[Appliquer ces recettes]
|
:::tip[Appliquer ces recettes]
|
||||||
Les **recettes par skill** ci-dessous (Recettes 1–4) peuvent être appliquées en exécutant le skill `bmad-customize` et en décrivant l'intention — il sélectionnera le bon point de personnalisation, générera le fichier d'override et vérifiera la fusion. La Recette 5 (overrides de la configuration centrale du registre des agents) n'est pas couverte par la v1 du skill et reste rédigée manuellement. Les recettes ici constituent la source de vérité sur *quoi* personnaliser ; `bmad-customize` gère le *comment* pour la surface agent/workflow.
|
Les **recettes par skill** ci-dessous (Recettes 1–4) peuvent être appliquées en exécutant le skill `bmad-customize` et en décrivant l’intention — il sélectionnera le bon point de personnalisation, générera le fichier d’override et vérifiera la fusion. La Recette 5 (overrides de la configuration centrale du registre des agents) n’est pas couverte par la v1 du skill et reste rédigée manuellement. Les recettes ici constituent la source de vérité sur *quoi* personnaliser ; `bmad-customize` gère le *comment* pour la surface agent/workflow.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Le modèle mental à trois couches
|
## Le modèle mental à trois couches
|
||||||
|
|
@ -24,17 +24,17 @@ Avant de choisir une recette, comprenez où votre override se situe :
|
||||||
|
|
||||||
| Couche | Où vivent les overrides | Périmètre |
|
| Couche | Où vivent les overrides | Périmètre |
|
||||||
|----------------------------------------------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
|
|----------------------------------------------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| **Agent** (ex. Amelia, Mary, John) | Section `[agent]` de `_bmad/custom/bmad-agent-{role}.toml` | Se propage avec le persona dans **chaque workflow que l'agent dispatche** |
|
| **Agent** (ex. Amelia, Mary, John) | Section `[agent]` de `_bmad/custom/bmad-agent-{role}.toml` | Se propage avec le persona dans **chaque workflow que l’agent dispatche** |
|
||||||
| **Workflow** (ex. product-brief, create-prd) | Section `[workflow]` de `_bmad/custom/{workflow-name}.toml` | S'applique uniquement à l'exécution de ce workflow |
|
| **Workflow** (ex. product-brief, create-prd) | Section `[workflow]` de `_bmad/custom/{workflow-name}.toml` | S’applique uniquement à l’exécution de ce workflow |
|
||||||
| **Configuration centrale** | `[agents.*]`, `[core]`, `[modules.*]` dans `_bmad/custom/config.toml` | Registre des agents (qui est disponible pour party-mode, retrospective, elicitation), paramètres d'installation figés pour toute l'organisation |
|
| **Configuration centrale** | `[agents.*]`, `[core]`, `[modules.*]` dans `_bmad/custom/config.toml` | Registre des agents (qui est disponible pour party-mode, retrospective, elicitation), paramètres d’installation figés pour toute l’organisation |
|
||||||
|
|
||||||
En règle générale : si la règle doit s'appliquer partout où un ingénieur travaille sur le développement, personnalisez l'**agent dev**. Si elle s'applique uniquement quand quelqu'un rédige un product brief, personnalisez le **workflow product-brief**. Si elle change *qui participe* (renommer un agent, ajouter une voix personnalisée, imposer un chemin d'artefact partagé), modifiez la **configuration centrale**.
|
En règle générale : si la règle doit s’appliquer partout où un ingénieur travaille sur le développement, personnalisez l'**agent dev**. Si elle s’applique uniquement quand quelqu’un rédige un product brief, personnalisez le **workflow product-brief**. Si elle change *qui participe* (renommer un agent, ajouter une voix personnalisée, imposer un chemin d’artefact partagé), modifiez la **configuration centrale**.
|
||||||
|
|
||||||
## Recette 1 : Façonner un agent à travers tous les workflows qu'il dispatche
|
## Recette 1 : Façonner un agent à travers tous les workflows qu’il dispatche
|
||||||
|
|
||||||
**Cas d'usage :** Standardiser l'utilisation des outils et les intégrations avec les systèmes externes pour que chaque workflow dispatché par un agent hérite du comportement. C'est le pattern le plus impactant.
|
**Cas d’usage :** Standardiser l’utilisation des outils et les intégrations avec les systèmes externes pour que chaque workflow dispatché par un agent hérite du comportement. C’est le pattern le plus impactant.
|
||||||
|
|
||||||
**Exemple : Amelia (agent dev) utilise toujours Context7 pour la documentation des bibliothèques, et se rabat sur Linear quand une story n'est pas trouvée dans la liste des epics.**
|
**Exemple : Amelia (agent dev) utilise toujours Context7 pour la documentation des bibliothèques, et se rabat sur Linear quand une story n’est pas trouvée dans la liste des epics.**
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-agent-dev.toml
|
# _bmad/custom/bmad-agent-dev.toml
|
||||||
|
|
@ -49,17 +49,17 @@ persistent_facts = [
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
**Pourquoi ça marche :** Deux phrases suffisent à reconfigurer tous les workflows de dev de l'organisation, sans duplication par workflow ni modification du code source. Chaque nouvel ingénieur qui clone le dépôt hérite automatiquement des conventions.
|
**Pourquoi ça marche :** Deux phrases suffisent à reconfigurer tous les workflows de dev de l’organisation, sans duplication par workflow ni modification du code source. Chaque nouvel ingénieur qui clone le dépôt hérite automatiquement des conventions.
|
||||||
|
|
||||||
**Fichier d'équipe vs fichier personnel :**
|
**Fichier d’équipe vs fichier personnel :**
|
||||||
- `bmad-agent-dev.toml` : versionné dans git ; s'applique à toute l'équipe
|
- `bmad-agent-dev.toml` : versionné dans git ; s’applique à toute l’équipe
|
||||||
- `bmad-agent-dev.user.toml` : ignoré par git ; préférences personnelles ajoutées par-dessus
|
- `bmad-agent-dev.user.toml` : ignoré par git ; préférences personnelles ajoutées par-dessus
|
||||||
|
|
||||||
## Recette 2 : Imposer les conventions de l'organisation dans un workflow spécifique
|
## Recette 2 : Imposer les conventions de l’organisation dans un workflow spécifique
|
||||||
|
|
||||||
**Cas d'usage :** Façonner le *contenu* de la sortie d'un workflow pour qu'il réponde aux exigences de conformité, d'audit ou des consommateurs en aval.
|
**Cas d’usage :** Façonner le *contenu* de la sortie d’un workflow pour qu’il réponde aux exigences de conformité, d’audit ou des consommateurs en aval.
|
||||||
|
|
||||||
**Exemple : chaque product brief doit inclure des champs de conformité, et l'agent connaît les conventions de publication de l'organisation.**
|
**Exemple : chaque product brief doit inclure des champs de conformité, et l’agent connaît les conventions de publication de l’organisation.**
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-product-brief.toml
|
# _bmad/custom/bmad-product-brief.toml
|
||||||
|
|
@ -73,13 +73,13 @@ persistent_facts = [
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
**Ce qui se passe :** Les faits sont chargés durant l'étape 3 de l'activation du workflow. Quand l'agent rédige le brief, il connaît les champs requis et le document de conventions enterprise. La valeur par défaut livrée (`file:{project-root}/**/project-context.md`) se charge toujours, car il s'agit d'un ajout.
|
**Ce qui se passe :** Les faits sont chargés durant l’étape 3 de l’activation du workflow. Quand l’agent rédige le brief, il connaît les champs requis et le document de conventions enterprise. La valeur par défaut livrée (`file:{project-root}/**/project-context.md`) se charge toujours, car il s’agit d’un ajout.
|
||||||
|
|
||||||
## Recette 3 : Publier les livrables finis vers des systèmes externes
|
## Recette 3 : Publier les livrables finis vers des systèmes externes
|
||||||
|
|
||||||
**Cas d'usage :** Une fois le livrable produit, le publier automatiquement vers les systèmes de référence de l'entreprise (Confluence, Notion, SharePoint) et créer des tickets de suivi (Jira, Linear, Asana).
|
**Cas d’usage :** Une fois le livrable produit, le publier automatiquement vers les systèmes de référence de l’entreprise (Confluence, Notion, SharePoint) et créer des tickets de suivi (Jira, Linear, Asana).
|
||||||
|
|
||||||
**Exemple : les briefs sont automatiquement publiés vers Confluence et proposent la création facultative d'un epic Jira.**
|
**Exemple : les briefs sont automatiquement publiés vers Confluence et proposent la création facultative d’un epic Jira.**
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-product-brief.toml
|
# _bmad/custom/bmad-product-brief.toml
|
||||||
|
|
@ -112,18 +112,18 @@ et demander à l'utilisateur de publier manuellement.
|
||||||
"""
|
"""
|
||||||
```
|
```
|
||||||
|
|
||||||
**Pourquoi `on_complete` et pas `activation_steps_append` :** `on_complete` s'exécute exactement une fois, au stade terminal, après que le workflow a écrit sa sortie principale. C'est le bon moment pour publier des artefacts. `activation_steps_append` s'exécute à chaque activation, avant que le workflow ne fasse son travail.
|
**Pourquoi `on_complete` et pas `activation_steps_append` :** `on_complete` s’exécute exactement une fois, au stade terminal, après que le workflow a écrit sa sortie principale. C’est le bon moment pour publier des artefacts. `activation_steps_append` s’exécute à chaque activation, avant que le workflow ne fasse son travail.
|
||||||
|
|
||||||
**Arbitrages :**
|
**Arbitrages :**
|
||||||
- **La publication Confluence est non-destructive** et s'exécute toujours à la fin
|
- **La publication Confluence est non-destructive** et s’exécute toujours à la fin
|
||||||
- **La création d'epic Jira est visible par toute l'équipe** et déclenche un processus de planification de sprint, conditionnez-la donc à la confirmation de l'utilisateur
|
- **La création d’epic Jira est visible par toute l’équipe** et déclenche un processus de planification de sprint, conditionnez-la donc à la confirmation de l’utilisateur
|
||||||
- **Dégradation gracieuse :** si les outils MCP échouent, passer la main à l'utilisateur plutôt que de silencieusement abandonner le livrable
|
- **Dégradation gracieuse :** si les outils MCP échouent, passer la main à l’utilisateur plutôt que de silencieusement abandonner le livrable
|
||||||
|
|
||||||
## Recette 4 : Remplacer le template de sortie par le vôtre
|
## Recette 4 : Remplacer le template de sortie par le vôtre
|
||||||
|
|
||||||
**Cas d'usage :** La structure de sortie par défaut ne correspond pas au format attendu par votre organisation, ou différentes organisations dans le même dépôt ont besoin de templates différents.
|
**Cas d’usage :** La structure de sortie par défaut ne correspond pas au format attendu par votre organisation, ou différentes organisations dans le même dépôt ont besoin de templates différents.
|
||||||
|
|
||||||
**Exemple : pointer le workflow product-brief vers un template appartenant à l'entreprise.**
|
**Exemple : pointer le workflow product-brief vers un template appartenant à l’entreprise.**
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-product-brief.toml
|
# _bmad/custom/bmad-product-brief.toml
|
||||||
|
|
@ -132,20 +132,20 @@ et demander à l'utilisateur de publier manuellement.
|
||||||
brief_template = "{project-root}/docs/enterprise/brief-template.md"
|
brief_template = "{project-root}/docs/enterprise/brief-template.md"
|
||||||
```
|
```
|
||||||
|
|
||||||
**Comment ça marche :** Le `customize.toml` du workflow est fourni avec `brief_template = "resources/brief-template.md"` (chemin relatif, résolu depuis la racine du skill). Votre override pointe vers un fichier sous `{project-root}`, donc l'agent lit votre template à l'étape 4 au lieu de celui livré par défaut.
|
**Comment ça marche :** Le `customize.toml` du workflow est fourni avec `brief_template = "resources/brief-template.md"` (chemin relatif, résolu depuis la racine du skill). Votre override pointe vers un fichier sous `{project-root}`, donc l’agent lit votre template à l’étape 4 au lieu de celui livré par défaut.
|
||||||
|
|
||||||
**Conseils pour la rédaction de templates :**
|
**Conseils pour la rédaction de templates :**
|
||||||
- Gardez les templates dans `{project-root}/docs/` ou `{project-root}/_bmad/custom/templates/` pour qu'ils soient versionnés avec le fichier d'override
|
- Gardez les templates dans `{project-root}/docs/` ou `{project-root}/_bmad/custom/templates/` pour qu’ils soient versionnés avec le fichier d’override
|
||||||
- Utilisez les mêmes conventions structurelles que le template livré (titres de sections, frontmatter) ; l'agent s'adapte à ce qu'il trouve
|
- Utilisez les mêmes conventions structurelles que le template livré (titres de sections, frontmatter) ; l’agent s’adapte à ce qu’il trouve
|
||||||
- Pour les dépôts multi-organisations, utilisez `.user.toml` pour permettre à chaque équipe de pointer vers ses propres templates sans toucher au fichier d'équipe versionné dans git
|
- Pour les dépôts multi-organisations, utilisez `.user.toml` pour permettre à chaque équipe de pointer vers ses propres templates sans toucher au fichier d’équipe versionné dans git
|
||||||
|
|
||||||
## Recette 5 : Personnaliser le registre des agents
|
## Recette 5 : Personnaliser le registre des agents
|
||||||
|
|
||||||
**Cas d'usage :** Changer *qui sera présent dans la pièce* pour les skills basés sur le registre comme `bmad-party-mode`, `bmad-retrospective` et `bmad-advanced-elicitation`, sans modifier le code source ni forker. Voici trois variantes courantes.
|
**Cas d’usage :** Changer *qui sera présent dans la pièce* pour les skills basés sur le registre comme `bmad-party-mode`, `bmad-retrospective` et `bmad-advanced-elicitation`, sans modifier le code source ni forker. Voici trois variantes courantes.
|
||||||
|
|
||||||
### 5a. Renommer un agent BMad pour toute l'organisation
|
### 5a. Renommer un agent BMad pour toute l’organisation
|
||||||
|
|
||||||
Chaque agent réel possède un descripteur que l'installateur synthétise à partir de `module.yaml`. Surchargez-le pour changer la voix et le cadrage pour tous les consommateurs du registre :
|
Chaque agent réel possède un descripteur que l’installateur synthétise à partir de `module.yaml`. Surchargez-le pour changer la voix et le cadrage pour tous les consommateurs du registre :
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/config.toml (versionné dans git — s'applique à tous les développeurs)
|
# _bmad/custom/config.toml (versionné dans git — s'applique à tous les développeurs)
|
||||||
|
|
@ -154,7 +154,7 @@ Chaque agent réel possède un descripteur que l'installateur synthétise à par
|
||||||
description = "Mary l'Analyste d'Affaires sensible à la réglementation — s'inspire de Porter et Minto, mais vit et respire les pistes d'audit FDA. Parle comme un expert en criminalistique présentant un dossier."
|
description = "Mary l'Analyste d'Affaires sensible à la réglementation — s'inspire de Porter et Minto, mais vit et respire les pistes d'audit FDA. Parle comme un expert en criminalistique présentant un dossier."
|
||||||
```
|
```
|
||||||
|
|
||||||
Party-mode génère Mary avec la nouvelle description. L'activation de l'analyste elle-même fonctionne toujours normalement car le comportement de Mary se trouve dans son `customize.toml` par skill. Cet override change la façon dont **les skills externes la perçoivent et la présentent**, pas la façon dont elle travaille en interne.
|
Party-mode génère Mary avec la nouvelle description. L’activation de l’analyste elle-même fonctionne toujours normalement car le comportement de Mary se trouve dans son `customize.toml` par skill. Cet override change la façon dont **les skills externes la perçoivent et la présentent**, pas la façon dont elle travaille en interne.
|
||||||
|
|
||||||
### 5b. Ajouter un agent fictif ou personnalisé
|
### 5b. Ajouter un agent fictif ou personnalisé
|
||||||
|
|
||||||
|
|
@ -178,11 +178,11 @@ icon = "⚕️"
|
||||||
description = "Chaleur du médecin de campagne, caractère explosif. 'Bon sang Jim, je suis un docteur pas un ___.' Contrepoids éthique à Spock."
|
description = "Chaleur du médecin de campagne, caractère explosif. 'Bon sang Jim, je suis un docteur pas un ___.' Contrepoids éthique à Spock."
|
||||||
```
|
```
|
||||||
|
|
||||||
Demandez à party-mode d'« inviter l'équipage de l'Enterprise ». Il filtre par `team = "startrek"` et génère Spock et McCoy avec ces descripteurs. Les agents BMad réels (Mary, Amelia) peuvent se retrouver à la même table si vous les invitez.
|
Demandez à party-mode d'« inviter l’équipage de l’Enterprise ». Il filtre par `team = "startrek"` et génère Spock et McCoy avec ces descripteurs. Les agents BMad réels (Mary, Amelia) peuvent se retrouver à la même table si vous les invitez.
|
||||||
|
|
||||||
### 5c. Figer les paramètres d'installation de l'équipe
|
### 5c. Figer les paramètres d’installation de l’équipe
|
||||||
|
|
||||||
L'installateur demande à chaque développeur des valeurs comme le chemin `planning_artifacts`. Quand l'organisation a besoin d'une réponse partagée, figez-la dans la configuration centrale — la réponse locale de chaque développeur est surchargée au moment de la résolution :
|
L’installateur demande à chaque développeur des valeurs comme le chemin `planning_artifacts`. Quand l’organisation a besoin d’une réponse partagée, figez-la dans la configuration centrale — la réponse locale de chaque développeur est surchargée au moment de la résolution :
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/config.toml
|
# _bmad/custom/config.toml
|
||||||
|
|
@ -195,20 +195,20 @@ implementation_artifacts = "{project-root}/shared/implementation"
|
||||||
document_output_language = "English"
|
document_output_language = "English"
|
||||||
```
|
```
|
||||||
|
|
||||||
Les paramètres personnels comme `user_name`, `communication_language` ou `user_skill_level` restent dans leur propre fichier `_bmad/config.user.toml` de chaque développeur. Le fichier d'équipe ne doit pas les modifier.
|
Les paramètres personnels comme `user_name`, `communication_language` ou `user_skill_level` restent dans leur propre fichier `_bmad/config.user.toml` de chaque développeur. Le fichier d’équipe ne doit pas les modifier.
|
||||||
|
|
||||||
**Pourquoi la configuration centrale vs le customize.toml par agent :** Les fichiers par agent façonnent la façon dont *un seul* agent se comporte quand il s'active. La configuration centrale façonne ce que les consommateurs du registre *voient* : quels agents existent, comment ils s'appellent, à quelle équipe ils appartiennent, et les paramètres d'installation partagés sur lesquels tout le dépôt s'accorde. Deux surfaces, des rôles différents.
|
**Pourquoi la configuration centrale vs le customize.toml par agent :** Les fichiers par agent façonnent la façon dont *un seul* agent se comporte quand il s’active. La configuration centrale façonne ce que les consommateurs du registre *voient* : quels agents existent, comment ils s’appellent, à quelle équipe ils appartiennent, et les paramètres d’installation partagés sur lesquels tout le dépôt s’accorde. Deux surfaces, des rôles différents.
|
||||||
|
|
||||||
## Renforcer les règles globales dans le fichier de session de votre IDE
|
## Renforcer les règles globales dans le fichier de session de votre IDE
|
||||||
|
|
||||||
Les personnalisations BMad se chargent quand un skill est activé. Beaucoup d'outils IDE chargent aussi un fichier d'instructions global au **début de chaque session**, avant tout skill (`CLAUDE.md`, `AGENTS.md`, `.cursor/rules/`, `.github/copilot-instructions.md`, etc.). Pour les règles qui doivent s'appliquer même en dehors des skills BMad, reproduisez-y les plus critiques.
|
Les personnalisations BMad se chargent quand un skill est activé. Beaucoup d’outils IDE chargent aussi un fichier d’instructions global au **début de chaque session**, avant tout skill (`CLAUDE.md`, `AGENTS.md`, `.cursor/rules/`, `.github/copilot-instructions.md`, etc.). Pour les règles qui doivent s’appliquer même en dehors des skills BMad, reproduisez-y les plus critiques.
|
||||||
|
|
||||||
**Quand les utiliser ensemble :**
|
**Quand les utiliser ensemble :**
|
||||||
- Une règle est suffisamment importante pour qu'une conversation simple (sans skill actif) doive la respecter
|
- Une règle est suffisamment importante pour qu’une conversation simple (sans skill actif) doive la respecter
|
||||||
- Vous voulez une double sécurisation parce que les défauts des données d'entraînement pourraient autrement détourner le modèle
|
- Vous voulez une double sécurisation parce que les défauts des données d’entraînement pourraient autrement détourner le modèle
|
||||||
- La règle est assez concise pour être répétée sans alourdir le fichier de session
|
- La règle est assez concise pour être répétée sans alourdir le fichier de session
|
||||||
|
|
||||||
**Exemple : une ligne dans le `CLAUDE.md` du dépôt renforçant la règle de l'agent dev de la Recette 1.**
|
**Exemple : une ligne dans le `CLAUDE.md` du dépôt renforçant la règle de l’agent dev de la Recette 1.**
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
<!-- Toute lecture de documentation de bibliothèque passe par l'outil MCP context7
|
<!-- Toute lecture de documentation de bibliothèque passe par l'outil MCP context7
|
||||||
|
|
@ -216,24 +216,24 @@ Les personnalisations BMad se chargent quand un skill est activé. Beaucoup d'ou
|
||||||
avant de s'appuyer sur les connaissances des données d'entraînement. -->
|
avant de s'appuyer sur les connaissances des données d'entraînement. -->
|
||||||
```
|
```
|
||||||
|
|
||||||
Une phrase, chargée à chaque session. Elle s'associe à la personnalisation `bmad-agent-dev.toml` pour que la règle s'applique à la fois dans les workflows d'Amelia et lors des chats ad hoc avec l'assistant. Chaque couche possède son propre périmètre :
|
Une phrase, chargée à chaque session. Elle s’associe à la personnalisation `bmad-agent-dev.toml` pour que la règle s’applique à la fois dans les workflows d’Amelia et lors des chats ad hoc avec l’assistant. Chaque couche possède son propre périmètre :
|
||||||
|
|
||||||
| Couche | Périmètre | Utilisée pour |
|
| Couche | Périmètre | Utilisée pour |
|
||||||
|----------------------------------------------------|----------------------------------------------------------|-------------------------------------------------------------------------|
|
|----------------------------------------------------|----------------------------------------------------------|-------------------------------------------------------------------------|
|
||||||
| Fichier de session IDE (`CLAUDE.md` / `AGENTS.md`) | Chaque session, avant toute activation de skill | Règles courtes et universelles qui doivent survivre hors de BMad |
|
| Fichier de session IDE (`CLAUDE.md` / `AGENTS.md`) | Chaque session, avant toute activation de skill | Règles courtes et universelles qui doivent survivre hors de BMad |
|
||||||
| Personnalisation d'agent BMad | Chaque workflow que l'agent dispatche | Comportement spécifique au persona de l'agent |
|
| Personnalisation d’agent BMad | Chaque workflow que l’agent dispatche | Comportement spécifique au persona de l’agent |
|
||||||
| Personnalisation de workflow BMad | Une exécution de workflow | Forme de sortie spécifique au workflow, hooks de publication, templates |
|
| Personnalisation de workflow BMad | Une exécution de workflow | Forme de sortie spécifique au workflow, hooks de publication, templates |
|
||||||
| Configuration centrale BMad | Registre des agents + paramètres d'installation partagés | Qui est dans la pièce et quels chemins partagés l'équipe utilise |
|
| Configuration centrale BMad | Registre des agents + paramètres d’installation partagés | Qui est dans la pièce et quels chemins partagés l’équipe utilise |
|
||||||
|
|
||||||
Gardez le fichier IDE **concis**. Une douzaine de lignes bien choisies sont plus efficaces qu'une liste étendue. Les modèles le lisent à chaque tour, et le superflu noie l’information utile.
|
Gardez le fichier IDE **concis**. Une douzaine de lignes bien choisies sont plus efficaces qu’une liste étendue. Les modèles le lisent à chaque tour, et le superflu noie l’information utile.
|
||||||
|
|
||||||
## Recette 6 : Patterns d'intégration avancés
|
## Recette 6 : Patterns d’intégration avancés
|
||||||
|
|
||||||
Plusieurs workflows BMad exposent une surface de configuration plus riche au-delà des bases couvertes dans les Recettes 1–5. Ces patterns — sources de connaissance à la demande, publication automatique des livrables, standards de documentation à la finalisation et templates interchangeables — apparaissent dans plusieurs workflows. Consultez le `customize.toml` d'un workflow pour voir quels champs il expose ; les exemples ci-dessous utilisent `bmad-prd` car il les expose tous, mais les mêmes patterns s'appliquent partout où le champ apparaît.
|
Plusieurs workflows BMad exposent une surface de configuration plus riche au-delà des bases couvertes dans les Recettes 1–5. Ces patterns — sources de connaissance à la demande, publication automatique des livrables, standards de documentation à la finalisation et templates interchangeables — apparaissent dans plusieurs workflows. Consultez le `customize.toml` d’un workflow pour voir quels champs il expose ; les exemples ci-dessous utilisent `bmad-prd` car il les expose tous, mais les mêmes patterns s’appliquent partout où le champ apparaît.
|
||||||
|
|
||||||
### Sources de connaissance à la demande (`external_sources`)
|
### Sources de connaissance à la demande (`external_sources`)
|
||||||
|
|
||||||
Connectez le workflow à des bases de connaissances internes, des bases de données concurrentielles ou des référentiels de conformité. L'agent les consulte à la demande quand la conversation révèle un besoin correspondant — jamais par anticipation.
|
Connectez le workflow à des bases de connaissances internes, des bases de données concurrentielles ou des référentiels de conformité. L’agent les consulte à la demande quand la conversation révèle un besoin correspondant — jamais par anticipation.
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-prd.toml (même pattern pour tout workflow exposant external_sources)
|
# _bmad/custom/bmad-prd.toml (même pattern pour tout workflow exposant external_sources)
|
||||||
|
|
@ -245,11 +245,11 @@ external_sources = [
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
Chaque entrée est une directive en langage naturel nommant l'outil MCP, la condition de déclenchement et les champs nécessaires. Si l'outil n'est pas disponible à l'exécution, le workflow se rabat sur le comportement standard et signale l'écart.
|
Chaque entrée est une directive en langage naturel nommant l’outil MCP, la condition de déclenchement et les champs nécessaires. Si l’outil n’est pas disponible à l’exécution, le workflow se rabat sur le comportement standard et signale l’écart.
|
||||||
|
|
||||||
### Publication automatique des livrables (`external_handoffs`)
|
### Publication automatique des livrables (`external_handoffs`)
|
||||||
|
|
||||||
Acheminez les artefacts terminés vers les systèmes de référence externes après la finalisation du workflow. Contrairement à `on_complete` (Recette 3), `external_handoffs` est un tableau d'ajout dédié — les entrées d'équipe s'accumulent et chaque handoff se déclenche indépendamment avec dégradation progressive si un outil est indisponible.
|
Acheminez les artefacts terminés vers les systèmes de référence externes après la finalisation du workflow. Contrairement à `on_complete` (Recette 3), `external_handoffs` est un tableau d’ajout dédié — les entrées d’équipe s’accumulent et chaque handoff se déclenche indépendamment avec dégradation progressive si un outil est indisponible.
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-prd.toml (même pattern pour tout workflow exposant external_handoffs)
|
# _bmad/custom/bmad-prd.toml (même pattern pour tout workflow exposant external_handoffs)
|
||||||
|
|
@ -265,7 +265,7 @@ Si un outil nommé est indisponible, le handoff est ignoré et signalé — les
|
||||||
|
|
||||||
### Standards de documentation à la finalisation (`doc_standards`)
|
### Standards de documentation à la finalisation (`doc_standards`)
|
||||||
|
|
||||||
Appliquez les standards rédactionnels de l'organisation aux documents à destination des utilisateurs à la finalisation, après que le contenu est complet mais avant que l'utilisateur ne voie le livrable. Chaque entrée est une directive `skill:`, `file:` ou en texte brut ; les passes s'exécutent comme des sous-agents parallèles.
|
Appliquez les standards rédactionnels de l’organisation aux documents à destination des utilisateurs à la finalisation, après que le contenu est complet mais avant que l’utilisateur ne voie le livrable. Chaque entrée est une directive `skill:`, `file:` ou en texte brut ; les passes s’exécutent comme des sous-agents parallèles.
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-prd.toml (même pattern pour tout workflow exposant doc_standards)
|
# _bmad/custom/bmad-prd.toml (même pattern pour tout workflow exposant doc_standards)
|
||||||
|
|
@ -278,11 +278,11 @@ doc_standards = [
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
`doc_standards` est un tableau d'ajout — les entrées d'équipe s'ajoutent aux valeurs par défaut livrées par le workflow. Les passes structurelles larges doivent venir avant les passes rédactionnelles plus ciblées.
|
`doc_standards` est un tableau d’ajout — les entrées d’équipe s’ajoutent aux valeurs par défaut livrées par le workflow. Les passes structurelles larges doivent venir avant les passes rédactionnelles plus ciblées.
|
||||||
|
|
||||||
### Templates et checklists interchangeables
|
### Templates et checklists interchangeables
|
||||||
|
|
||||||
Les workflows qui produisent des documents structurés exposent généralement des chemins de templates et de checklists comme scalaires surchargeables. Pointez-les vers des fichiers appartenant à l'organisation sous `{project-root}` pour imposer une structure différente sans modifier le code source.
|
Les workflows qui produisent des documents structurés exposent généralement des chemins de templates et de checklists comme scalaires surchargeables. Pointez-les vers des fichiers appartenant à l’organisation sous `{project-root}` pour imposer une structure différente sans modifier le code source.
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-prd.toml
|
# _bmad/custom/bmad-prd.toml
|
||||||
|
|
@ -295,11 +295,11 @@ prd_template = "{project-root}/docs/enterprise/prd-template-hipaa.md"
|
||||||
validation_checklist = "{project-root}/docs/enterprise/prd-checklist-regulated.md"
|
validation_checklist = "{project-root}/docs/enterprise/prd-checklist-regulated.md"
|
||||||
```
|
```
|
||||||
|
|
||||||
L'agent s'adapte à la structure définie par le template. Gardez les templates sous `{project-root}/docs/` ou `{project-root}/_bmad/custom/templates/` pour qu'ils soient versionnés avec le fichier d'override. Pour les dépôts multi-organisations, utilisez `.user.toml` pour permettre aux équipes de pointer vers leurs propres templates sans toucher au fichier d'équipe versionné dans git.
|
L’agent s’adapte à la structure définie par le template. Gardez les templates sous `{project-root}/docs/` ou `{project-root}/_bmad/custom/templates/` pour qu’ils soient versionnés avec le fichier d’override. Pour les dépôts multi-organisations, utilisez `.user.toml` pour permettre aux équipes de pointer vers leurs propres templates sans toucher au fichier d’équipe versionné dans git.
|
||||||
|
|
||||||
## Combiner les recettes
|
## Combiner les recettes
|
||||||
|
|
||||||
Les six recettes se combinent librement. Un override entreprise réaliste pour `bmad-product-brief` pourrait définir `persistent_facts` (Recette 2), `on_complete` (Recette 3) et `brief_template` (Recette 4) dans un seul fichier. La règle au niveau agent (Recette 1) se trouve dans un fichier séparé sous le nom de l'agent, la configuration centrale (Recette 5) fige le registre partagé et les paramètres d'équipe, les patterns d'intégration avancés (Recette 6) configurent les sources externes et les handoffs, et toutes les couches s'appliquent en parallèle.
|
Les six recettes se combinent librement. Un override entreprise réaliste pour `bmad-product-brief` pourrait définir `persistent_facts` (Recette 2), `on_complete` (Recette 3) et `brief_template` (Recette 4) dans un seul fichier. La règle au niveau agent (Recette 1) se trouve dans un fichier séparé sous le nom de l’agent, la configuration centrale (Recette 5) fige le registre partagé et les paramètres d’équipe, les patterns d’intégration avancés (Recette 6) configurent les sources externes et les handoffs, et toutes les couches s’appliquent en parallèle.
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
# _bmad/custom/bmad-product-brief.toml (niveau workflow)
|
# _bmad/custom/bmad-product-brief.toml (niveau workflow)
|
||||||
|
|
@ -317,12 +317,12 @@ on_complete = """ ... """
|
||||||
persistent_facts = ["Toujours inclure une section 'Revue réglementaire' quand le domaine implique la santé, la finance ou les données d'enfants."]
|
persistent_facts = ["Toujours inclure une section 'Revue réglementaire' quand le domaine implique la santé, la finance ou les données d'enfants."]
|
||||||
```
|
```
|
||||||
|
|
||||||
Résultat : Mary charge la règle de revue réglementaire à l'activation de son persona. Quand l'utilisateur choisit le product brief dans le menu, le workflow charge ses propres conventions par-dessus, écrit avec le template enterprise et publie vers Confluence à la fin. Chaque couche contribue, et aucune n'a nécessité de modifier le code source de BMad.
|
Résultat : Mary charge la règle de revue réglementaire à l’activation de son persona. Quand l’utilisateur choisit le product brief dans le menu, le workflow charge ses propres conventions par-dessus, écrit avec le template enterprise et publie vers Confluence à la fin. Chaque couche contribue, et aucune n’a nécessité de modifier le code source de BMad.
|
||||||
|
|
||||||
## Dépannage
|
## Dépannage
|
||||||
|
|
||||||
**L'override ne prend pas effet ?** Vérifiez que le fichier se trouve sous `_bmad/custom/` avec le nom exact du répertoire du skill (ex. `bmad-agent-dev.toml`, pas `bmad-dev.toml`). Voir [Comment personnaliser BMad](./customize-bmad.md#dépannage).
|
**L’override ne prend pas effet ?** Vérifiez que le fichier se trouve sous `_bmad/custom/` avec le nom exact du répertoire du skill (ex. `bmad-agent-dev.toml`, pas `bmad-dev.toml`). Voir [Comment personnaliser BMad](./customize-bmad.md#dépannage).
|
||||||
|
|
||||||
**Nom d'outil MCP inconnu ?** Utilisez le nom exact que le serveur MCP expose dans la session en cours. Demandez à Claude Code de lister les outils MCP disponibles en cas de doute. Les noms codés en dur dans `persistent_facts` ou `on_complete` ne fonctionneront pas si le serveur MCP n'est pas connecté.
|
**Nom d’outil MCP inconnu ?** Utilisez le nom exact que le serveur MCP expose dans la session en cours. Demandez à Claude Code de lister les outils MCP disponibles en cas de doute. Les noms codés en dur dans `persistent_facts` ou `on_complete` ne fonctionneront pas si le serveur MCP n’est pas connecté.
|
||||||
|
|
||||||
**Le pattern ne s'applique pas à ma configuration ?** Les recettes ci-dessus sont illustratives. L'infrastructure sous-jacente (fusion à trois couches, règles structurelles, agent traversant les workflows) supporte de nombreux patterns supplémentaires ; composez-les selon vos besoins.
|
**Le pattern ne s’applique pas à ma configuration ?** Les recettes ci-dessus sont illustratives. L’infrastructure sous-jacente (fusion à trois couches, règles structurelles, agent traversant les workflows) supporte de nombreux patterns supplémentaires ; composez-les selon vos besoins.
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@ sidebar:
|
||||||
order: 5
|
order: 5
|
||||||
---
|
---
|
||||||
|
|
||||||
Utilisez l'aide intégrée de BMad, la documentation source ou la communauté pour obtenir des réponses — du plus rapide au plus approfondi.
|
Utilisez l’aide intégrée de BMad, la documentation source ou la communauté pour obtenir des réponses — du plus rapide au plus approfondi.
|
||||||
|
|
||||||
## 1. Demandez à BMad-Help
|
## 1. Demandez à BMad-Help
|
||||||
|
|
||||||
Le moyen le plus rapide d'obtenir des réponses. Le skill `bmad-help` est disponible directement dans votre session IA et répond à plus de 80 % des questions — il inspecte votre projet, voit ce que vous avez accompli et vous dit quoi faire ensuite.
|
Le moyen le plus rapide d’obtenir des réponses. Le skill `bmad-help` est disponible directement dans votre session IA et répond à plus de 80 % des questions — il inspecte votre projet, voit ce que vous avez accompli et vous dit quoi faire ensuite.
|
||||||
|
|
||||||
```
|
```
|
||||||
bmad-help J'ai une idée de SaaS et je connais toutes les fonctionnalités. Par où commencer ?
|
bmad-help J'ai une idée de SaaS et je connais toutes les fonctionnalités. Par où commencer ?
|
||||||
|
|
@ -23,28 +23,28 @@ Vous pouvez également utiliser `/bmad-help` ou `$bmad-help` selon votre platefo
|
||||||
|
|
||||||
## 2. Approfondissez avec les sources
|
## 2. Approfondissez avec les sources
|
||||||
|
|
||||||
BMad-Help s'appuie sur votre configuration installée. Pour les questions sur les éléments internes de BMad, son historique ou son architecture — ou si vous faites des recherches sur BMad avant de l'installer — pointez votre IA directement vers les sources.
|
BMad-Help s’appuie sur votre configuration installée. Pour les questions sur les éléments internes de BMad, son historique ou son architecture — ou si vous faites des recherches sur BMad avant de l’installer — pointez votre IA directement vers les sources.
|
||||||
|
|
||||||
Clonez ou ouvrez le [dépôt BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) et posez vos questions à votre IA. Tout outil capable d'utiliser des agents (Claude Code, Cursor, Windsurf, etc.) peut lire les sources et répondre directement à vos questions.
|
Clonez ou ouvrez le [dépôt BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) et posez vos questions à votre IA. Tout outil capable d’utiliser des agents (Claude Code, Cursor, Windsurf, etc.) peut lire les sources et répondre directement à vos questions.
|
||||||
|
|
||||||
:::note[Exemple]
|
:::note[Exemple]
|
||||||
**Q :** "Quel est le moyen le plus rapide de construire quelque chose avec BMad ?"
|
**Q :** « Quel est le moyen le plus rapide de construire quelque chose avec BMad ? »
|
||||||
|
|
||||||
**R :** Utilisez le flux rapide : Lancez `bmad-quick-dev` — il clarifie votre intention, planifie, implémente, révise et présente les résultats dans un seul workflow, en sautant les phases de planification complètes.
|
**R :** Utilisez le flux rapide : Lancez `bmad-quick-dev` — il clarifie votre intention, planifie, implémente, révise et présente les résultats dans un seul workflow, en sautant les phases de planification complètes.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
**Conseils pour de meilleures réponses :**
|
**Conseils pour de meilleures réponses :**
|
||||||
|
|
||||||
- **Soyez précis** — "Que fait l'étape 3 du workflow PRD ?" est mieux que "Comment fonctionne le PRD ?"
|
- **Soyez précis** — « Que fait l’étape 3 du workflow PRD ? » est mieux que « Comment fonctionne le PRD ? »
|
||||||
- **Vérifiez les affirmations surprenantes** — Les LLM font parfois des erreurs. Consultez le fichier source ou posez la question sur Discord.
|
- **Vérifiez les affirmations surprenantes** — Les LLM font parfois des erreurs. Consultez le fichier source ou posez la question sur Discord.
|
||||||
|
|
||||||
### Vous n'utilisez pas d'agent ? Utilisez le site de documentation
|
### Vous n’utilisez pas d’agent ? Utilisez le site de documentation
|
||||||
|
|
||||||
Si votre IA ne peut pas lire des fichiers locaux (ChatGPT, Claude.ai, etc.), importez [llms-full.txt](https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt) dans votre session — c'est un instantané en un seul fichier de la documentation BMad.
|
Si votre IA ne peut pas lire des fichiers locaux (ChatGPT, Claude.ai, etc.), importez [llms-full.txt](https://bmad-code-org.github.io/BMAD-METHOD/llms-full.txt) dans votre session — c’est un instantané en un seul fichier de la documentation BMad.
|
||||||
|
|
||||||
## 3. Demandez à quelqu'un
|
## 3. Demandez à quelqu’un
|
||||||
|
|
||||||
Si ni BMad-Help ni la source n'ont répondu à votre question, vous avez maintenant une bien meilleure question à poser.
|
Si ni BMad-Help ni la source n’ont répondu à votre question, vous avez maintenant une bien meilleure question à poser.
|
||||||
|
|
||||||
| Canal | Utilisé pour |
|
| Canal | Utilisé pour |
|
||||||
| ------------------------- | ------------------------------------------- |
|
| ------------------------- | ------------------------------------------- |
|
||||||
|
|
@ -54,27 +54,27 @@ Si ni BMad-Help ni la source n'ont répondu à votre question, vous avez mainten
|
||||||
**Discord :** [discord.gg/gk8jAdXWmj](https://discord.gg/gk8jAdXWmj)
|
**Discord :** [discord.gg/gk8jAdXWmj](https://discord.gg/gk8jAdXWmj)
|
||||||
|
|
||||||
**GitHub Issues :** [github.com/bmad-code-org/BMAD-METHOD/issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)
|
**GitHub Issues :** [github.com/bmad-code-org/BMAD-METHOD/issues](https://github.com/bmad-code-org/BMAD-METHOD/issues)
|
||||||
*Toi !*
|
*Toi !*
|
||||||
*Bloqué*
|
*Bloqué*
|
||||||
*dans la file d'attente—*
|
*dans la file d’attente—*
|
||||||
*qui*
|
*qui*
|
||||||
*attends-tu ?*
|
*attends-tu ?*
|
||||||
|
|
||||||
*La source*
|
*La source*
|
||||||
*est là,*
|
*est là,*
|
||||||
*facile à voir !*
|
*facile à voir !*
|
||||||
|
|
||||||
*Pointez*
|
*Pointez*
|
||||||
*votre machine.*
|
*votre machine.*
|
||||||
*Libérez-la.*
|
*Libérez-la.*
|
||||||
|
|
||||||
*Elle lit.*
|
*Elle lit.*
|
||||||
*Elle parle.*
|
*Elle parle.*
|
||||||
*Demandez—*
|
*Demandez—*
|
||||||
|
|
||||||
*Pourquoi attendre*
|
*Pourquoi attendre*
|
||||||
*demain*
|
*demain*
|
||||||
*quand tu as déjà*
|
*quand tu as déjà*
|
||||||
*cette journée ?*
|
*cette journée ?*
|
||||||
|
|
||||||
*—Claude*
|
*—Claude*
|
||||||
|
|
|
||||||
|
|
@ -7,18 +7,18 @@ sidebar:
|
||||||
|
|
||||||
Utilisez `npx bmad-method install` pour configurer BMad dans votre projet. Une seule commande gère les premières installations, les mises à niveau, le changement de canal et les exécutions CI scriptées. Cette page couvre tout cela.
|
Utilisez `npx bmad-method install` pour configurer BMad dans votre projet. Une seule commande gère les premières installations, les mises à niveau, le changement de canal et les exécutions CI scriptées. Cette page couvre tout cela.
|
||||||
|
|
||||||
## Quand l'utiliser
|
## Quand l’utiliser
|
||||||
|
|
||||||
- Démarrer un nouveau projet avec BMad
|
- Démarrer un nouveau projet avec BMad
|
||||||
- Ajouter ou retirer des modules sur une installation existante
|
- Ajouter ou retirer des modules sur une installation existante
|
||||||
- Basculer un module sur main-HEAD ou l'épingler à une version spécifique
|
- Basculer un module sur main-HEAD ou l’épingler à une version spécifique
|
||||||
- Scripter des installations pour des pipelines CI, des Dockerfiles ou des déploiements en entreprise
|
- Scripter des installations pour des pipelines CI, des Dockerfiles ou des déploiements en entreprise
|
||||||
|
|
||||||
:::note[Prérequis]
|
:::note[Prérequis]
|
||||||
|
|
||||||
- **Node.js** 20.12+ (requis pour l'installateur)
|
- **Node.js** 20.12+ (requis pour l’installateur)
|
||||||
- **Git** (pour cloner les modules externes)
|
- **Git** (pour cloner les modules externes)
|
||||||
- **Un outil d'IA** tel que Claude Code ou Cursor (exécutez `npx bmad-method install --list-tools` pour voir tous les outils supportés)
|
- **Un outil d’IA** tel que Claude Code ou Cursor (exécutez `npx bmad-method install --list-tools` pour voir tous les outils supportés)
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
@ -28,23 +28,23 @@ Utilisez `npx bmad-method install` pour configurer BMad dans votre projet. Une s
|
||||||
npx bmad-method install
|
npx bmad-method install
|
||||||
```
|
```
|
||||||
|
|
||||||
L'assistant interactif vous pose cinq questions :
|
L’assistant interactif vous pose cinq questions :
|
||||||
|
|
||||||
1. Le répertoire d'installation (par défaut le répertoire de travail courant)
|
1. Le répertoire d’installation (par défaut le répertoire de travail courant)
|
||||||
2. Quels modules installer (cases à cocher pour core, bmm, bmb, cis, gds, tea)
|
2. Quels modules installer (cases à cocher pour core, bmm, bmb, cis, gds, tea)
|
||||||
3. **« Ready to install (all stable)? »** — Oui accepte le dernier tag publié pour chaque module externe
|
3. **« Ready to install (all stable)? »** — Oui accepte le dernier tag publié pour chaque module externe
|
||||||
4. Quels outils/IDE d'IA intégrer (claude-code, cursor et d'autres)
|
4. Quels outils/IDE d’IA intégrer (claude-code, cursor et d’autres)
|
||||||
5. La configuration par module (nom, langue, dossier de sortie)
|
5. La configuration par module (nom, langue, dossier de sortie)
|
||||||
|
|
||||||
En acceptant les valeurs par défaut, vous obtenez la dernière version stable de chaque module, configurée pour votre outil choisi.
|
En acceptant les valeurs par défaut, vous obtenez la dernière version stable de chaque module, configurée pour votre outil choisi.
|
||||||
|
|
||||||
:::tip[Vous voulez juste la dernière préversion ?]
|
:::tip[Vous voulez juste la dernière préversion ?]
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx bmad-method@next install
|
npx bmad-method@next install
|
||||||
```
|
```
|
||||||
|
|
||||||
Exécute l'installateur de préversion, qui fournit un snapshot plus récent de core et bmm. Davantage de changements, avec un délai réduit entre le développement et la publication.
|
Exécute l’installateur de préversion, qui fournit un snapshot plus récent de core et bmm. Davantage de changements, avec un délai réduit entre le développement et la publication.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Choisir une version spécifique
|
## Choisir une version spécifique
|
||||||
|
|
@ -53,44 +53,44 @@ Deux axes indépendants contrôlent ce qui se retrouve sur le disque.
|
||||||
|
|
||||||
### Axe 1 : canaux des modules externes
|
### Axe 1 : canaux des modules externes
|
||||||
|
|
||||||
Chaque module externe — bmb, cis, gds, tea, et tout module communautaire — s'installe via l'un des trois canaux suivants :
|
Chaque module externe — bmb, cis, gds, tea, et tout module communautaire — s’installe via l’un des trois canaux suivants :
|
||||||
|
|
||||||
| Canal | Ce qui est installé | Pour qui |
|
| Canal | Ce qui est installé | Pour qui |
|
||||||
|-------------------|--------------------------------------------------------------------------------------|-----------------------------------------------|
|
|-------------------|--------------------------------------------------------------------------------------|-----------------------------------------------|
|
||||||
| `stable` (défaut) | Le plus haut tag semver publié. Les préversions comme `v2.0.0-alpha.1` sont exclues. | La plupart des utilisateurs |
|
| `stable` (défaut) | Le plus haut tag semver publié. Les préversions comme `v2.0.0-alpha.1` sont exclues. | La plupart des utilisateurs |
|
||||||
| `next` | Le HEAD de la branche main au moment de l'installation | Contributeurs, early adopters |
|
| `next` | Le HEAD de la branche main au moment de l’installation | Contributeurs, early adopters |
|
||||||
| `pinned` | Un tag spécifique de votre choix | Installations entreprise, reproductibilité CI |
|
| `pinned` | Un tag spécifique de votre choix | Installations entreprise, reproductibilité CI |
|
||||||
|
|
||||||
Les canaux sont définis module par module. Vous pouvez exécuter bmb sur `next` tout en laissant cis sur `stable` — les options ci-dessous permettent de les combiner librement.
|
Les canaux sont définis module par module. Vous pouvez exécuter bmb sur `next` tout en laissant cis sur `stable` — les options ci-dessous permettent de les combiner librement.
|
||||||
|
|
||||||
### Axe 2 : version du binaire de l'installateur
|
### Axe 2 : version du binaire de l’installateur
|
||||||
|
|
||||||
Le paquet npm `bmad-method` lui-même a deux dist-tags :
|
Le paquet npm `bmad-method` lui-même a deux dist-tags :
|
||||||
|
|
||||||
| Commande | Ce que vous obtenez |
|
| Commande | Ce que vous obtenez |
|
||||||
|---------------------------------------|---------------------------------------------------------------------------------------|
|
|---------------------------------------|---------------------------------------------------------------------------------------|
|
||||||
| `npx bmad-method install` (`@latest`) | Dernière version stable de l'installateur |
|
| `npx bmad-method install` (`@latest`) | Dernière version stable de l’installateur |
|
||||||
| `npx bmad-method@next install` | Dernière préversion de l'installateur, publiée automatiquement à chaque push sur main |
|
| `npx bmad-method@next install` | Dernière préversion de l’installateur, publiée automatiquement à chaque push sur main |
|
||||||
|
|
||||||
**Le binaire de l'installateur détermine vos versions de core et bmm.** Ces deux modules sont embarqués dans le paquet de l'installateur plutôt que clonés depuis des dépôts séparés.
|
**Le binaire de l’installateur détermine vos versions de core et bmm.** Ces deux modules sont embarqués dans le paquet de l’installateur plutôt que clonés depuis des dépôts séparés.
|
||||||
|
|
||||||
### Pourquoi core et bmm n'ont pas leur propre canal
|
### Pourquoi core et bmm n’ont pas leur propre canal
|
||||||
|
|
||||||
Ils sont liés au binaire de l'installateur que vous avez exécuté :
|
Ils sont liés au binaire de l’installateur que vous avez exécuté :
|
||||||
|
|
||||||
- `npx bmad-method install` → core et bmm stables les plus récents
|
- `npx bmad-method install` → core et bmm stables les plus récents
|
||||||
- `npx bmad-method@next install` → core et bmm en préversion
|
- `npx bmad-method@next install` → core et bmm en préversion
|
||||||
- `node /chemin/vers/checkout-local/tools/installer/bmad-cli.js install` → ce que votre checkout local contient
|
- `node /chemin/vers/checkout-local/tools/installer/bmad-cli.js install` → ce que votre checkout local contient
|
||||||
|
|
||||||
`--pin bmm=v6.3.0` et `--next=bmm` n'ont aucun effet sur les modules intégrés (l'installateur vous avertit si vous tentez de les utiliser). Une prochaine version détachera bmm du paquet de l'installateur ; une fois publiée, bmm disposera d'un sélecteur de canal dédié, comme c'est le cas pour bmb aujourd'hui.
|
`--pin bmm=v6.3.0` et `--next=bmm` n’ont aucun effet sur les modules intégrés (l’installateur vous avertit si vous tentez de les utiliser). Une prochaine version détachera bmm du paquet de l’installateur ; une fois publiée, bmm disposera d’un sélecteur de canal dédié, comme c’est le cas pour bmb aujourd’hui.
|
||||||
|
|
||||||
## Mettre à jour une installation existante
|
## Mettre à jour une installation existante
|
||||||
|
|
||||||
Exécuter `npx bmad-method install` dans un répertoire contenant déjà `_bmad/` affiche un menu :
|
Exécuter `npx bmad-method install` dans un répertoire contenant déjà `_bmad/` affiche un menu :
|
||||||
|
|
||||||
| Choix | Ce qu'il fait |
|
| Choix | Ce qu’il fait |
|
||||||
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| **Quick Update** | Réexécute l'installation avec vos paramètres existants. Rafraîchit les fichiers, applique les correctifs et les mises à niveau mineures du canal stable, refuse les mises à niveau majeures. Rapide, non interactif. |
|
| **Quick Update** | Réexécute l’installation avec vos paramètres existants. Rafraîchit les fichiers, applique les correctifs et les mises à niveau mineures du canal stable, refuse les mises à niveau majeures. Rapide, non interactif. |
|
||||||
| **Modify Install** | Flux interactif complet. Ajoutez ou retirez des modules, reconfigurez les paramètres, examinez et, si besoin, modifiez les canaux des modules existants. |
|
| **Modify Install** | Flux interactif complet. Ajoutez ou retirez des modules, reconfigurez les paramètres, examinez et, si besoin, modifiez les canaux des modules existants. |
|
||||||
|
|
||||||
### Invites de mise à niveau
|
### Invites de mise à niveau
|
||||||
|
|
@ -103,13 +103,13 @@ Quand Modify détecte un tag stable plus récent pour un module que vous avez in
|
||||||
| Mineure | v1.7.0 → v1.8.0 | O |
|
| Mineure | v1.7.0 → v1.8.0 | O |
|
||||||
| Majeure | v1.7.0 → v2.0.0 | **N** |
|
| Majeure | v1.7.0 → v2.0.0 | **N** |
|
||||||
|
|
||||||
Les mises à niveau majeures sont refusées par défaut (N) car les changements cassants se manifestent souvent comme une « instabilité » quand ils ne sont pas attendus. L'invite inclut une URL vers les notes de version GitHub pour que vous puissiez lire ce qui a changé avant d'accepter.
|
Les mises à niveau majeures sont refusées par défaut (N) car les changements cassants se manifestent souvent comme une « instabilité » quand ils ne sont pas attendus. L’invite inclut une URL vers les notes de version GitHub pour que vous puissiez lire ce qui a changé avant d’accepter.
|
||||||
|
|
||||||
Avec `--yes`, les mises à niveau patch et mineure s'appliquent automatiquement. Les majeures restent bloquées — utilisez `--pin <code>=<nouveau-tag>` pour les accepter de manière non interactive.
|
Avec `--yes`, les mises à niveau patch et mineure s’appliquent automatiquement. Les majeures restent bloquées — utilisez `--pin <code>=<nouveau-tag>` pour les accepter de manière non interactive.
|
||||||
|
|
||||||
### Changer le canal d'un module
|
### Changer le canal d’un module
|
||||||
|
|
||||||
**En mode interactif :** choisissez Modify → répondez **Oui** à « Review channel assignments? » → chaque module externe offre Conserver, Basculer vers stable, Basculer vers next, ou Épingler à un tag.
|
**En mode interactif :** choisissez Modify → répondez **Oui** à « Review channel assignments? » → chaque module externe offre Conserver, Basculer vers stable, Basculer vers next, ou Épingler à un tag.
|
||||||
|
|
||||||
**En ligne de commande :** les recettes dans la section suivante couvrent les cas courants.
|
**En ligne de commande :** les recettes dans la section suivante couvrent les cas courants.
|
||||||
|
|
||||||
|
|
@ -119,12 +119,12 @@ Avec `--yes`, les mises à niveau patch et mineure s'appliquent automatiquement.
|
||||||
|
|
||||||
| Option | Objectif |
|
| Option | Objectif |
|
||||||
|--------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|--------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `--yes`, `-y` | Ignorer toutes les invites ; accepter les valeurs des options + les défauts |
|
| `--yes`, `-y` | Ignorer toutes les invites ; accepter les valeurs des options + les défauts |
|
||||||
| `--directory <chemin>` | Installer dans ce répertoire (défaut : répertoire de travail courant) |
|
| `--directory <chemin>` | Installer dans ce répertoire (défaut : répertoire de travail courant) |
|
||||||
| `--modules <a,b,c>` | Ensemble exact de modules. Core est ajouté automatiquement. Ce n'est pas un delta — listez tout ce que vous voulez conserver. |
|
| `--modules <a,b,c>` | Ensemble exact de modules. Core est ajouté automatiquement. Ce n’est pas un delta — listez tout ce que vous voulez conserver. |
|
||||||
| `--tools <a,b>` | Sélection d'IDE/outil. Requis pour les nouvelles installations `--yes`. Exécutez `--list-tools` pour les IDs valides. |
|
| `--tools <a,b>` | Sélection d’IDE/outil. Requis pour les nouvelles installations `--yes`. Exécutez `--list-tools` pour les IDs valides. |
|
||||||
| `--list-tools` | Afficher tous les IDs d'outils/IDE supportés (avec les répertoires cibles) et quitter. |
|
| `--list-tools` | Afficher tous les IDs d’outils/IDE supportés (avec les répertoires cibles) et quitter. |
|
||||||
| `--action <type>` | `install`, `update` ou `quick-update`. La valeur par défaut dépend de l'état de l'installation. |
|
| `--action <type>` | `install`, `update` ou `quick-update`. La valeur par défaut dépend de l’état de l’installation. |
|
||||||
| `--custom-source <urls>` | Installer des modules personnalisés depuis des URLs Git ou des chemins locaux |
|
| `--custom-source <urls>` | Installer des modules personnalisés depuis des URLs Git ou des chemins locaux |
|
||||||
| `--channel <stable\|next>` | Appliquer à tous les externes (alias `--all-stable` / `--all-next`) |
|
| `--channel <stable\|next>` | Appliquer à tous les externes (alias `--all-stable` / `--all-next`) |
|
||||||
| `--all-stable` | Alias pour `--channel=stable` |
|
| `--all-stable` | Alias pour `--channel=stable` |
|
||||||
|
|
@ -149,7 +149,7 @@ Priorité en cas de chevauchement des options : `--pin` bat `--next=` bat `--cha
|
||||||
npx bmad-method install --yes --modules bmm,bmb,cis --tools claude-code
|
npx bmad-method install --yes --modules bmm,bmb,cis --tools claude-code
|
||||||
```
|
```
|
||||||
|
|
||||||
**Installation entreprise verrouillée — reproductible à l'octet près :**
|
**Installation entreprise verrouillée — reproductible à l’octet près :**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx bmad-method install --yes \
|
npx bmad-method install --yes \
|
||||||
|
|
@ -183,7 +183,7 @@ npx bmad-method install --yes --action update \
|
||||||
|
|
||||||
### Substitutions de config de module
|
### Substitutions de config de module
|
||||||
|
|
||||||
`--set <module>.<clé>=<valeur>` vous permet de définir toute option de config de module de manière non interactive. Cette option est répétable et s'adapte à chaque module — présent et futur. L'option est appliquée comme un correctif post-installation : l'installateur exécute d'abord son flux normal, puis `--set` insère ou met à jour chaque valeur dans `_bmad/config.toml` (portée équipe) ou `_bmad/config.user.toml` (portée utilisateur), et dans `_bmad/<module>/config.yaml` pour que les valeurs déclarées soient conservées à la prochaine installation.
|
`--set <module>.<clé>=<valeur>` vous permet de définir toute option de config de module de manière non interactive. Cette option est répétable et s’adapte à chaque module — présent et futur. L’option est appliquée comme un correctif post-installation : l’installateur exécute d’abord son flux normal, puis `--set` insère ou met à jour chaque valeur dans `_bmad/config.toml` (portée équipe) ou `_bmad/config.user.toml` (portée utilisateur), et dans `_bmad/<module>/config.yaml` pour que les valeurs déclarées soient conservées à la prochaine installation.
|
||||||
|
|
||||||
**Exemple — installer bmm avec des connaissances projet et un niveau de compétence explicites :**
|
**Exemple — installer bmm avec des connaissances projet et un niveau de compétence explicites :**
|
||||||
|
|
||||||
|
|
@ -201,27 +201,27 @@ npx bmad-method install --yes \
|
||||||
npx bmad-method install --list-options bmm
|
npx bmad-method install --list-options bmm
|
||||||
```
|
```
|
||||||
|
|
||||||
`--list-options` (sans argument) liste chaque clé que l'installateur peut trouver localement — modules intégrés (`core`, `bmm`) plus tous les modules officiels actuellement en cache. Le cache est par machine et peut être vidé, donc les modules officiels précédemment installés n'apparaîtront pas sur un nouveau checkout ou un worker CI éphémère tant qu'ils ne sont pas réinstallés. Les modules communautaires et personnalisés ne sont pas énumérés ici ; lisez directement le `module.yaml` du module pour voir les clés qu'il déclare.
|
`--list-options` (sans argument) liste chaque clé que l’installateur peut trouver localement — modules intégrés (`core`, `bmm`) plus tous les modules officiels actuellement en cache. Le cache est par machine et peut être vidé, donc les modules officiels précédemment installés n’apparaîtront pas sur un nouveau checkout ou un worker CI éphémère tant qu’ils ne sont pas réinstallés. Les modules communautaires et personnalisés ne sont pas énumérés ici ; lisez directement le `module.yaml` du module pour voir les clés qu’il déclare.
|
||||||
|
|
||||||
**Comment ça fonctionne :**
|
**Comment ça fonctionne :**
|
||||||
|
|
||||||
- **Routage.** L'étape de correctif cherche `[modules.<module>] <clé>` (ou `[core] <clé>`) dans `config.user.toml` en premier ; si elle y est trouvée, elle met à jour ce fichier. Sinon elle écrit dans le `config.toml` de portée équipe. Ainsi, les clés de portée utilisateur (ex. `core.user_name`, `bmm.user_skill_level`) finissent dans `config.user.toml` et les clés de portée équipe dans `config.toml`, correspondant à la partition utilisée par l'installateur.
|
- **Routage.** L’étape de correctif cherche `[modules.<module>] <clé>` (ou `[core] <clé>`) dans `config.user.toml` en premier ; si elle y est trouvée, elle met à jour ce fichier. Sinon elle écrit dans le `config.toml` de portée équipe. Ainsi, les clés de portée utilisateur (ex. `core.user_name`, `bmm.user_skill_level`) finissent dans `config.user.toml` et les clés de portée équipe dans `config.toml`, correspondant à la partition utilisée par l’installateur.
|
||||||
- **Valeurs littérales.** La valeur est écrite exactement comme vous l'avez fournie — aucun rendu de template `result:`. Pour obtenir la valeur résolue (ex. `{project-root}/research`), passez-la explicitement : `--set bmm.project_knowledge='{project-root}/research'`.
|
- **Valeurs littérales.** La valeur est écrite exactement comme vous l’avez fournie — aucun rendu de template `result:`. Pour obtenir la valeur résolue (ex. `{project-root}/research`), passez-la explicitement : `--set bmm.project_knowledge='{project-root}/research'`.
|
||||||
- **Persistance, clés déclarées.** Les valeurs pour les clés déclarées dans `module.yaml` sont conservées entre les installations car elles sont aussi écrites dans `_bmad/<module>/config.yaml`, que l'installateur lit comme valeur par défaut de l'invite lors de la prochaine exécution.
|
- **Persistance, clés déclarées.** Les valeurs pour les clés déclarées dans `module.yaml` sont conservées entre les installations car elles sont aussi écrites dans `_bmad/<module>/config.yaml`, que l’installateur lit comme valeur par défaut de l’invite lors de la prochaine exécution.
|
||||||
- **Persistance, clés non déclarées.** Une valeur pour une clé que le schéma du module ne déclare pas est enregistrée dans `config.toml` pour l'installation courante mais ne sera pas réécrite à la prochaine installation (le partitionneur strict au schéma du manifeste ignore les clés inconnues). Repassez `--set` pour qu'elle soit persistante, ou éditez `_bmad/config.toml` directement.
|
- **Persistance, clés non déclarées.** Une valeur pour une clé que le schéma du module ne déclare pas est enregistrée dans `config.toml` pour l’installation courante mais ne sera pas réécrite à la prochaine installation (le partitionneur strict au schéma du manifeste ignore les clés inconnues). Repassez `--set` pour qu’elle soit persistante, ou éditez `_bmad/config.toml` directement.
|
||||||
- **Pas de validation.** Les valeurs `single-select` ne sont pas vérifiées contre les choix autorisés, et les clés inconnues ne sont pas rejetées — la valeur fournie est écrite telle quelle.
|
- **Pas de validation.** Les valeurs `single-select` ne sont pas vérifiées contre les choix autorisés, et les clés inconnues ne sont pas rejetées — la valeur fournie est écrite telle quelle.
|
||||||
- **Modules non présents dans `--modules`.** Définir une valeur pour un module que vous n'avez pas inclus affiche un avertissement et la valeur est ignorée (aucun fichier n'est créé pour un module non installé).
|
- **Modules non présents dans `--modules`.** Définir une valeur pour un module que vous n’avez pas inclus affiche un avertissement et la valeur est ignorée (aucun fichier n’est créé pour un module non installé).
|
||||||
|
|
||||||
Les raccourcis historiques de core (`--user-name`, `--output-folder`, etc.) fonctionnent toujours et restent documentés pour la rétrocompatibilité, mais `--set core.user_name=...` est équivalent.
|
Les raccourcis historiques de core (`--user-name`, `--output-folder`, etc.) fonctionnent toujours et restent documentés pour la rétrocompatibilité, mais `--set core.user_name=...` est équivalent.
|
||||||
|
|
||||||
:::note[Fonctionne avec quick-update]
|
:::note[Fonctionne avec quick-update]
|
||||||
`--set` est un correctif post-installation, il s'applique donc de la même manière quel que soit le type d'action. Avec `bmad install --action quick-update` (ou `--yes` sur une installation existante, où quick-update est le défaut), `--set` met à jour les fichiers de configuration centraux à la fin comme une installation normale.
|
`--set` est un correctif post-installation, il s’applique donc de la même manière quel que soit le type d’action. Avec `bmad install --action quick-update` (ou `--yes` sur une installation existante, où quick-update est le défaut), `--set` met à jour les fichiers de configuration centraux à la fin comme une installation normale.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::caution[Limitation de débit sur les IPs partagées]
|
:::caution[Limitation de débit sur les IPs partagées]
|
||||||
Les appels anonymes à l'API GitHub sont limités à 60/heure par IP. Une seule installation fait un appel API par module externe pour résoudre le tag stable. Les bureaux derrière NAT, les pools de runners CI et les VPN peuvent collectivement épuiser cette limite.
|
Les appels anonymes à l’API GitHub sont limités à 60/heure par IP. Une seule installation fait un appel API par module externe pour résoudre le tag stable. Les bureaux derrière NAT, les pools de runners CI et les VPN peuvent collectivement épuiser cette limite.
|
||||||
|
|
||||||
Définissez `GITHUB_TOKEN=<personal access token>` dans l'environnement pour augmenter la limite à 5000/heure par compte. Tout PAT avec accès en lecture aux dépôts publics fonctionne ; aucune portée spécifique n'est requise.
|
Définissez `GITHUB_TOKEN=<personal access token>` dans l’environnement pour augmenter la limite à 5000/heure par compte. Tout PAT avec accès en lecture aux dépôts publics fonctionne ; aucune portée spécifique n’est requise.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Ce qui a été installé
|
## Ce qui a été installé
|
||||||
|
|
@ -238,9 +238,9 @@ modules:
|
||||||
repoUrl: https://github.com/bmad-code-org/bmad-builder
|
repoUrl: https://github.com/bmad-code-org/bmad-builder
|
||||||
```
|
```
|
||||||
|
|
||||||
Le champ `sha` est écrit pour les modules basés sur git (externes, communautaires et personnalisés par URL). Les modules intégrés (core, bmm) et les modules personnalisés par chemin local n'en ont pas — leur code voyage avec le binaire de l'installateur ou votre système de fichiers, pas un ref clonable.
|
Le champ `sha` est écrit pour les modules basés sur git (externes, communautaires et personnalisés par URL). Les modules intégrés (core, bmm) et les modules personnalisés par chemin local n’en ont pas — leur code voyage avec le binaire de l’installateur ou votre système de fichiers, pas un ref clonable.
|
||||||
|
|
||||||
Pour la reproductibilité inter-machines, ne comptez pas sur la réexécution de la même commande `--modules`. Les installations sur canal stable résolvent vers le plus haut tag publié **au moment de l'installation**, donc une réexécution ultérieure obtiendra les versions publiées entre-temps. Convertissez les tags enregistrés de `manifest.yaml` en options `--pin` explicites sur la machine cible, par ex. :
|
Pour la reproductibilité inter-machines, ne comptez pas sur la réexécution de la même commande `--modules`. Les installations sur canal stable résolvent vers le plus haut tag publié **au moment de l’installation**, donc une réexécution ultérieure obtiendra les versions publiées entre-temps. Convertissez les tags enregistrés de `manifest.yaml` en options `--pin` explicites sur la machine cible, par ex. :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx bmad-method install --yes --modules bmb,cis \
|
npx bmad-method install --yes --modules bmb,cis \
|
||||||
|
|
@ -249,18 +249,18 @@ npx bmad-method install --yes --modules bmb,cis \
|
||||||
|
|
||||||
## Résolution de problèmes
|
## Résolution de problèmes
|
||||||
|
|
||||||
### « Could not resolve stable tag » ou « API rate limit exceeded »
|
### « Could not resolve stable tag » ou « API rate limit exceeded »
|
||||||
|
|
||||||
Vous avez atteint la limite anonyme de 60/heure de GitHub. Définissez `GITHUB_TOKEN` et réessayez. Si vous avez déjà un token défini, il peut être expiré ou limité sur son propre budget — essayez un token différent ou attendez la réinitialisation horaire.
|
Vous avez atteint la limite anonyme de 60/heure de GitHub. Définissez `GITHUB_TOKEN` et réessayez. Si vous avez déjà un token défini, il peut être expiré ou limité sur son propre budget — essayez un token différent ou attendez la réinitialisation horaire.
|
||||||
|
|
||||||
### « Tag 'vX.Y.Z' not found »
|
### « Tag ’vX.Y.Z' not found »
|
||||||
|
|
||||||
Le tag que vous avez passé à `--pin` n'existe pas dans le dépôt du module. Consultez la page des releases du dépôt sur GitHub pour les tags valides.
|
Le tag que vous avez passé à `--pin` n’existe pas dans le dépôt du module. Consultez la page des releases du dépôt sur GitHub pour les tags valides.
|
||||||
|
|
||||||
### Une installation épinglée continue de se mettre à niveau
|
### Une installation épinglée continue de se mettre à niveau
|
||||||
|
|
||||||
Les installations épinglées ne se mettent pas à niveau. Quick-update applique les correctifs et les mises à niveau mineures uniquement sur le canal stable ; il ne touche pas `pinned` ou `next`. Si une installation épinglée a changé, ouvrez `_bmad/_config/manifest.yaml` — `channel: pinned` plus un `version` et `sha` fixes doivent rester stables d'une exécution à l'autre, sauf écrasement explicite via les options.
|
Les installations épinglées ne se mettent pas à niveau. Quick-update applique les correctifs et les mises à niveau mineures uniquement sur le canal stable ; il ne touche pas `pinned` ou `next`. Si une installation épinglée a changé, ouvrez `_bmad/_config/manifest.yaml` — `channel: pinned` plus un `version` et `sha` fixes doivent rester stables d’une exécution à l’autre, sauf écrasement explicite via les options.
|
||||||
|
|
||||||
### `--pin bmm=X` n'a rien fait
|
### `--pin bmm=X` n’a rien fait
|
||||||
|
|
||||||
bmm est un module intégré — `--pin` et `--next=` ne s'appliquent pas. Utilisez `npx bmad-method@next install` pour un core/bmm en préversion, ou clonez le dépôt bmad-bmm et exécutez l'installateur localement pour obtenir les modifications non publiées.
|
bmm est un module intégré — `--pin` et `--next=` ne s’appliquent pas. Utilisez `npx bmad-method@next install` pour un core/bmm en préversion, ou clonez le dépôt bmad-bmm et exécutez l’installateur localement pour obtenir les modifications non publiées.
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ sidebar:
|
||||||
order: 3
|
order: 3
|
||||||
---
|
---
|
||||||
|
|
||||||
Utilisez l'installateur BMad pour ajouter des modules depuis le registre communautaire, des dépôts Git tiers ou des chemins locaux.
|
Utilisez l’installateur BMad pour ajouter des modules depuis le registre communautaire, des dépôts Git tiers ou des chemins locaux.
|
||||||
|
|
||||||
## Quand l'utiliser
|
## Quand l’utiliser
|
||||||
|
|
||||||
- Installer un module contribué par la communauté depuis le registre BMad
|
- Installer un module contribué par la communauté depuis le registre BMad
|
||||||
- Installer un module depuis un dépôt Git tiers (GitHub, GitLab, Bitbucket, auto-hébergé)
|
- Installer un module depuis un dépôt Git tiers (GitHub, GitLab, Bitbucket, auto-hébergé)
|
||||||
|
|
@ -15,14 +15,14 @@ Utilisez l'installateur BMad pour ajouter des modules depuis le registre communa
|
||||||
- Installer des modules depuis un serveur Git privé ou auto-hébergé
|
- Installer des modules depuis un serveur Git privé ou auto-hébergé
|
||||||
|
|
||||||
:::note[Prérequis]
|
:::note[Prérequis]
|
||||||
Nécessite [Node.js](https://nodejs.org) v20.12+ et `npx` (inclus avec npm). Les modules personnalisés et communautaires peuvent être sélectionnés lors d'une nouvelle installation ou ajoutés à une installation existante.
|
Nécessite [Node.js](https://nodejs.org) v20.12+ et `npx` (inclus avec npm). Les modules personnalisés et communautaires peuvent être sélectionnés lors d’une nouvelle installation ou ajoutés à une installation existante.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Modules communautaires
|
## Modules communautaires
|
||||||
|
|
||||||
Les modules communautaires sont regroupés dans le [marketplace de plugins BMad](https://github.com/bmad-code-org/bmad-plugins-marketplace). Ils sont organisés par catégorie et épinglés à un commit approuvé pour des raisons de sécurité.
|
Les modules communautaires sont regroupés dans le [marketplace de plugins BMad](https://github.com/bmad-code-org/bmad-plugins-marketplace). Ils sont organisés par catégorie et épinglés à un commit approuvé pour des raisons de sécurité.
|
||||||
|
|
||||||
### 1. Lancer l'installateur
|
### 1. Lancer l’installateur
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx bmad-method install
|
npx bmad-method install
|
||||||
|
|
@ -30,7 +30,7 @@ npx bmad-method install
|
||||||
|
|
||||||
### 2. Parcourir le catalogue communautaire
|
### 2. Parcourir le catalogue communautaire
|
||||||
|
|
||||||
Après avoir sélectionné les modules officiels, l'installateur demande :
|
Après avoir sélectionné les modules officiels, l’installateur demande :
|
||||||
|
|
||||||
```
|
```
|
||||||
Would you like to browse community modules?
|
Would you like to browse community modules?
|
||||||
|
|
@ -45,19 +45,19 @@ Sélectionnez **Yes** pour accéder au navigateur de catalogue. Vous pouvez :
|
||||||
|
|
||||||
### 3. Sélectionner des modules
|
### 3. Sélectionner des modules
|
||||||
|
|
||||||
Choisissez des modules dans n'importe quelle catégorie. L'installateur affiche les descriptions, versions et niveaux de confiance. Les modules déjà installés sont pré-sélectionnés pour la mise à jour.
|
Choisissez des modules dans n’importe quelle catégorie. L’installateur affiche les descriptions, versions et niveaux de confiance. Les modules déjà installés sont pré-sélectionnés pour la mise à jour.
|
||||||
|
|
||||||
### 4. Poursuivre l'installation
|
### 4. Poursuivre l’installation
|
||||||
|
|
||||||
Après avoir sélectionné les modules communautaires, l'installateur passe aux sources personnalisées, puis à la configuration des outils/IDE et au reste du flux d'installation.
|
Après avoir sélectionné les modules communautaires, l’installateur passe aux sources personnalisées, puis à la configuration des outils/IDE et au reste du flux d’installation.
|
||||||
|
|
||||||
## Sources personnalisées (URL Git et chemins locaux)
|
## Sources personnalisées (URL Git et chemins locaux)
|
||||||
|
|
||||||
Les modules personnalisés peuvent provenir de n'importe quel dépôt Git ou d'un répertoire local sur votre machine. L'installateur résout la source, analyse la structure du module et l'installe aux côtés de vos autres modules.
|
Les modules personnalisés peuvent provenir de n’importe quel dépôt Git ou d’un répertoire local sur votre machine. L’installateur résout la source, analyse la structure du module et l’installe aux côtés de vos autres modules.
|
||||||
|
|
||||||
### Installation interactive
|
### Installation interactive
|
||||||
|
|
||||||
Durant l'installation, après l'étape des modules communautaires, l'installateur demande :
|
Durant l’installation, après l’étape des modules communautaires, l’installateur demande :
|
||||||
|
|
||||||
```
|
```
|
||||||
Would you like to install from a custom source (Git URL or local path)?
|
Would you like to install from a custom source (Git URL or local path)?
|
||||||
|
|
@ -65,7 +65,7 @@ Would you like to install from a custom source (Git URL or local path)?
|
||||||
|
|
||||||
Sélectionnez **Yes**, puis indiquez une source :
|
Sélectionnez **Yes**, puis indiquez une source :
|
||||||
|
|
||||||
| Type d'entrée | Exemple |
|
| Type d’entrée | Exemple |
|
||||||
| ------------------------- | ------------------------------------------------- |
|
| ------------------------- | ------------------------------------------------- |
|
||||||
| URL HTTPS (tout hôte) | `https://github.com/org/repo` |
|
| URL HTTPS (tout hôte) | `https://github.com/org/repo` |
|
||||||
| URL HTTP (tout hôte) | `http://host/org/repo` |
|
| URL HTTP (tout hôte) | `http://host/org/repo` |
|
||||||
|
|
@ -74,11 +74,11 @@ Sélectionnez **Yes**, puis indiquez une source :
|
||||||
| Chemin local | `/Users/me/projects/my-module` |
|
| Chemin local | `/Users/me/projects/my-module` |
|
||||||
| Chemin local avec tilde | `~/projects/my-module` |
|
| Chemin local avec tilde | `~/projects/my-module` |
|
||||||
|
|
||||||
L'installateur clone le dépôt (pour les URL) ou lit directement depuis le disque (pour les chemins locaux), puis présente les modules découverts pour la sélection.
|
L’installateur clone le dépôt (pour les URL) ou lit directement depuis le disque (pour les chemins locaux), puis présente les modules découverts pour la sélection.
|
||||||
|
|
||||||
### Installation non interactive
|
### Installation non interactive
|
||||||
|
|
||||||
Utilisez l'option `--custom-source` pour installer des modules personnalisés depuis la ligne de commande :
|
Utilisez l’option `--custom-source` pour installer des modules personnalisés depuis la ligne de commande :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx bmad-method install \
|
npx bmad-method install \
|
||||||
|
|
@ -107,22 +107,22 @@ Plusieurs sources peuvent être séparées par des virgules :
|
||||||
|
|
||||||
## Fonctionnement de la découverte de modules
|
## Fonctionnement de la découverte de modules
|
||||||
|
|
||||||
L'installateur utilise deux modes pour trouver les modules installables dans une source :
|
L’installateur utilise deux modes pour trouver les modules installables dans une source :
|
||||||
|
|
||||||
| Mode | Déclencheur | Comportement |
|
| Mode | Déclencheur | Comportement |
|
||||||
| ----------- | ------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
| ----------- | ------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
||||||
| Découverte | La source contient `.claude-plugin/marketplace.json` | Liste tous les plugins du manifeste ; vous choisissez lesquels installer |
|
| Découverte | La source contient `.claude-plugin/marketplace.json` | Liste tous les plugins du manifeste ; vous choisissez lesquels installer |
|
||||||
| Direct | Aucun `marketplace.json` trouvé | Analyse le répertoire pour trouver des skills (sous-répertoires avec `SKILL.md`), les résout en un module unique |
|
| Direct | Aucun `marketplace.json` trouvé | Analyse le répertoire pour trouver des skills (sous-répertoires avec `SKILL.md`), les résout en un module unique |
|
||||||
|
|
||||||
Le mode découverte est typique des modules publiés. Le mode direct est pratique pour pointer vers un répertoire de skills pendant le développement local.
|
Le mode découverte est typique des modules publiés. Le mode direct est pratique pour pointer vers un répertoire de skills pendant le développement local.
|
||||||
|
|
||||||
:::note[À propos de `.claude-plugin/`]
|
:::note[À propos de `.claude-plugin/`]
|
||||||
Le chemin `.claude-plugin/marketplace.json` est une convention standard adoptée par plusieurs installateurs d'outils IA pour la découvabilité des plugins. Il ne nécessite pas Claude, n'utilise pas les API Claude et n'a aucun impact sur l'outil d'IA que vous utilisez. Tout module contenant ce fichier peut être découvert par tout installateur suivant cette convention.
|
Le chemin `.claude-plugin/marketplace.json` est une convention standard adoptée par plusieurs installateurs d’outils IA pour la découvabilité des plugins. Il ne nécessite pas Claude, n’utilise pas les API Claude et n’a aucun impact sur l’outil d’IA que vous utilisez. Tout module contenant ce fichier peut être découvert par tout installateur suivant cette convention.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Flux de travail en développement local
|
## Flux de travail en développement local
|
||||||
|
|
||||||
Si vous construisez un module avec [BMad Builder](https://github.com/bmad-code-org/bmad-builder), vous pouvez l'installer directement depuis votre répertoire de travail :
|
Si vous construisez un module avec [BMad Builder](https://github.com/bmad-code-org/bmad-builder), vous pouvez l’installer directement depuis votre répertoire de travail :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
npx bmad-method install \
|
npx bmad-method install \
|
||||||
|
|
@ -132,15 +132,15 @@ npx bmad-method install \
|
||||||
--yes
|
--yes
|
||||||
```
|
```
|
||||||
|
|
||||||
Les sources locales sont référencées par leur chemin, non copiées dans un cache. Lorsque vous mettez à jour la source de votre module et réinstallez, l'installateur récupère les dernières modifications.
|
Les sources locales sont référencées par leur chemin, non copiées dans un cache. Lorsque vous mettez à jour la source de votre module et réinstallez, l’installateur récupère les dernières modifications.
|
||||||
|
|
||||||
:::caution[Suppression de la source]
|
:::caution[Suppression de la source]
|
||||||
Si vous supprimez le répertoire source local après l'installation, les fichiers du module installé dans `_bmad/` sont préservés. Le module sera ignoré lors des mises à jour tant que le chemin source n'est pas restauré.
|
Si vous supprimez le répertoire source local après l’installation, les fichiers du module installé dans `_bmad/` sont préservés. Le module sera ignoré lors des mises à jour tant que le chemin source n’est pas restauré.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Ce que vous obtenez
|
## Ce que vous obtenez
|
||||||
|
|
||||||
Après l'installation, les modules personnalisés apparaissent dans `_bmad/` aux côtés des modules officiels :
|
Après l’installation, les modules personnalisés apparaissent dans `_bmad/` aux côtés des modules officiels :
|
||||||
|
|
||||||
```
|
```
|
||||||
your-project/
|
your-project/
|
||||||
|
|
@ -162,20 +162,20 @@ Le manifeste enregistre la source de chaque module personnalisé (`repoUrl` pour
|
||||||
|
|
||||||
Les modules personnalisés participent au flux de mise à jour normal :
|
Les modules personnalisés participent au flux de mise à jour normal :
|
||||||
|
|
||||||
- **Mise à jour rapide** (`--action quick-update`) : Rafraîchit tous les modules depuis leurs sources d'origine. Les modules Git sont re-téléchargés ; les modules locaux sont relus depuis leur chemin source.
|
- **Mise à jour rapide** (`--action quick-update`) : Rafraîchit tous les modules depuis leurs sources d’origine. Les modules Git sont re-téléchargés ; les modules locaux sont relus depuis leur chemin source.
|
||||||
- **Mise à jour complète** : Relance la sélection de modules pour que vous puissiez ajouter ou retirer des modules personnalisés.
|
- **Mise à jour complète** : Relance la sélection de modules pour que vous puissiez ajouter ou retirer des modules personnalisés.
|
||||||
|
|
||||||
## Créer vos propres modules
|
## Créer vos propres modules
|
||||||
|
|
||||||
Utilisez [BMad Builder](https://github.com/bmad-code-org/bmad-builder) pour créer des modules que d'autres pourront installer :
|
Utilisez [BMad Builder](https://github.com/bmad-code-org/bmad-builder) pour créer des modules que d’autres pourront installer :
|
||||||
|
|
||||||
1. Exécutez `bmad-module-builder` pour générer la structure de votre module
|
1. Exécutez `bmad-module-builder` pour générer la structure de votre module
|
||||||
2. Ajoutez des skills, agents et workflows avec les divers outils BMad Builder
|
2. Ajoutez des skills, agents et workflows avec les divers outils BMad Builder
|
||||||
3. Publiez dans un dépôt Git ou partagez le dossier
|
3. Publiez dans un dépôt Git ou partagez le dossier
|
||||||
4. D'autres installent avec `--custom-source <url-de-votre-dépôt>`
|
4. D’autres installent avec `--custom-source <url-de-votre-dépôt>`
|
||||||
|
|
||||||
Pour que les modules supportent le mode découverte, incluez un fichier `.claude-plugin/marketplace.json` à la racine de votre dépôt (c'est une convention multi-outils, pas spécifique à Claude). Consultez la [documentation BMad Builder](https://github.com/bmad-code-org/bmad-builder) pour le format du fichier `marketplace.json`.
|
Pour que les modules supportent le mode découverte, incluez un fichier `.claude-plugin/marketplace.json` à la racine de votre dépôt (c’est une convention multi-outils, pas spécifique à Claude). Consultez la [documentation BMad Builder](https://github.com/bmad-code-org/bmad-builder) pour le format du fichier `marketplace.json`.
|
||||||
|
|
||||||
:::tip[Tester localement d'abord]
|
:::tip[Tester localement d’abord]
|
||||||
Pendant le développement, installez votre module avec un chemin local pour itérer rapidement avant de publier dans un dépôt Git.
|
Pendant le développement, installez votre module avec un chemin local pour itérer rapidement avant de publier dans un dépôt Git.
|
||||||
:::
|
:::
|
||||||
|
|
|
||||||
|
|
@ -6,5 +6,5 @@ sidebar:
|
||||||
---
|
---
|
||||||
|
|
||||||
:::note[Cette page a été déplacée]
|
:::note[Cette page a été déplacée]
|
||||||
Les flags d'installation headless et CI, la sélection de canal et l'épinglage de version se trouvent désormais dans le guide unifié [Comment installer BMad](./install-bmad.md). Consultez la section [Installations CI non interactives](./install-bmad.md#installations-ci-non-interactives) pour la référence des flags et les exemples prêts à copier-coller.
|
Les flags d’installation headless et CI, la sélection de canal et l’épinglage de version se trouvent désormais dans le guide unifié [Comment installer BMad](./install-bmad.md). Consultez la section [Installations CI non interactives](./install-bmad.md#installations-ci-non-interactives) pour la référence des flags et les exemples prêts à copier-coller.
|
||||||
:::
|
:::
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ sidebar:
|
||||||
order: 9
|
order: 9
|
||||||
---
|
---
|
||||||
|
|
||||||
Utilisez le fichier `project-context.md` pour garantir que les agents IA respectent les préférences techniques et les règles d'implémentation de votre projet tout au long des workflows. Pour vous assurer qu'il est toujours disponible, vous pouvez également ajouter la ligne `Le contexte et les conventions importantes du projet se trouvent dans [chemin vers le contexte du projet]/project-context.md` à votre fichier de contexte ou de règles permanentes (comme `AGENTS.md`).
|
Utilisez le fichier `project-context.md` pour garantir que les agents IA respectent les préférences techniques et les règles d’implémentation de votre projet tout au long des workflows. Pour vous assurer qu’il est toujours disponible, vous pouvez également ajouter la ligne `Le contexte et les conventions importantes du projet se trouvent dans [chemin vers le contexte du projet]/project-context.md` à votre fichier de contexte ou de règles permanentes (comme `AGENTS.md`).
|
||||||
|
|
||||||
:::note[Prérequis]
|
:::note[Prérequis]
|
||||||
- Méthode BMad installée
|
- Méthode BMad installée
|
||||||
|
|
@ -14,8 +14,8 @@ Utilisez le fichier `project-context.md` pour garantir que les agents IA respect
|
||||||
|
|
||||||
## Quand utiliser cette fonctionnalité
|
## Quand utiliser cette fonctionnalité
|
||||||
|
|
||||||
- Vous avez des préférences techniques fortes avant de commencer l'architecture
|
- Vous avez des préférences techniques fortes avant de commencer l’architecture
|
||||||
- Vous avez terminé l'architecture et souhaitez consigner les décisions pour l'implémentation
|
- Vous avez terminé l’architecture et souhaitez consigner les décisions pour l’implémentation
|
||||||
- Vous travaillez sur une base de code existante avec des patterns établis
|
- Vous travaillez sur une base de code existante avec des patterns établis
|
||||||
- Vous remarquez que les agents prennent des décisions incohérentes entre les stories
|
- Vous remarquez que les agents prennent des décisions incohérentes entre les stories
|
||||||
|
|
||||||
|
|
@ -23,7 +23,7 @@ Utilisez le fichier `project-context.md` pour garantir que les agents IA respect
|
||||||
|
|
||||||
**Création manuelle** — Idéal lorsque vous savez exactement quelles règles vous souhaitez documenter
|
**Création manuelle** — Idéal lorsque vous savez exactement quelles règles vous souhaitez documenter
|
||||||
|
|
||||||
**Génération après l'architecture** — Idéal pour capturer les décisions prises lors du solutioning
|
**Génération après l’architecture** — Idéal pour capturer les décisions prises lors du solutioning
|
||||||
|
|
||||||
**Génération pour les projets existants** — Idéal pour découvrir les patterns dans les bases de code existantes
|
**Génération pour les projets existants** — Idéal pour découvrir les patterns dans les bases de code existantes
|
||||||
|
|
||||||
|
|
@ -31,14 +31,14 @@ Utilisez le fichier `project-context.md` pour garantir que les agents IA respect
|
||||||
|
|
||||||
### Option A : Création manuelle
|
### Option A : Création manuelle
|
||||||
|
|
||||||
Créez le fichier à l'emplacement `_bmad-output/project-context.md` :
|
Créez le fichier à l’emplacement `_bmad-output/project-context.md` :
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p _bmad-output
|
mkdir -p _bmad-output
|
||||||
touch _bmad-output/project-context.md
|
touch _bmad-output/project-context.md
|
||||||
```
|
```
|
||||||
|
|
||||||
Ajoutez votre pile technologique et vos règles d'implémentation :
|
Ajoutez votre pile technologique et vos règles d’implémentation :
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
---
|
---
|
||||||
|
|
@ -72,7 +72,7 @@ sections_completed: ['technology_stack', 'critical_rules']
|
||||||
- Tests d'intégration utilisent MSW pour le mock API
|
- Tests d'intégration utilisent MSW pour le mock API
|
||||||
```
|
```
|
||||||
|
|
||||||
### Option B : Génération après l'architecture
|
### Option B : Génération après l’architecture
|
||||||
|
|
||||||
Exécutez le workflow dans une nouvelle conversation :
|
Exécutez le workflow dans une nouvelle conversation :
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ Exécutez le workflow dans une nouvelle conversation :
|
||||||
bmad-generate-project-context
|
bmad-generate-project-context
|
||||||
```
|
```
|
||||||
|
|
||||||
Le workflow analyse votre document d'architecture et vos fichiers projet pour générer un fichier de contexte qui capture les décisions prises.
|
Le workflow analyse votre document d’architecture et vos fichiers projet pour générer un fichier de contexte qui capture les décisions prises.
|
||||||
|
|
||||||
### Option C : Génération pour les projets existants
|
### Option C : Génération pour les projets existants
|
||||||
|
|
||||||
|
|
@ -94,7 +94,7 @@ Le workflow analyse votre base de code pour identifier les conventions, puis gé
|
||||||
|
|
||||||
## Étape 3 : Vérifiez le contenu
|
## Étape 3 : Vérifiez le contenu
|
||||||
|
|
||||||
Révisez le fichier généré et assurez-vous qu'il capture :
|
Révisez le fichier généré et assurez-vous qu’il capture :
|
||||||
|
|
||||||
- Les versions correctes des technologies
|
- Les versions correctes des technologies
|
||||||
- Vos conventions réelles (pas les bonnes pratiques génériques)
|
- Vos conventions réelles (pas les bonnes pratiques génériques)
|
||||||
|
|
@ -109,15 +109,15 @@ Un fichier `project-context.md` qui :
|
||||||
|
|
||||||
- Garantit que tous les agents suivent les mêmes conventions
|
- Garantit que tous les agents suivent les mêmes conventions
|
||||||
- Évite les décisions incohérentes entre les stories
|
- Évite les décisions incohérentes entre les stories
|
||||||
- Capture les décisions d'architecture pour l'implémentation
|
- Capture les décisions d’architecture pour l’implémentation
|
||||||
- Sert de référence pour les patterns et règles de votre projet
|
- Sert de référence pour les patterns et règles de votre projet
|
||||||
|
|
||||||
## Conseils
|
## Conseils
|
||||||
|
|
||||||
:::tip[Bonnes pratiques]
|
:::tip[Bonnes pratiques]
|
||||||
- **Concentrez-vous sur ce qui n'est pas évident** — Documentez les patterns que les agents pourraient manquer (par ex. « Utiliser JSDoc sur chaque classe publique »), et non les pratiques universelles comme « utiliser des noms de variables significatifs ».
|
- **Concentrez-vous sur ce qui n’est pas évident** — Documentez les patterns que les agents pourraient manquer (par ex. « Utiliser JSDoc sur chaque classe publique »), et non les pratiques universelles comme « utiliser des noms de variables significatifs ».
|
||||||
- **Gardez-le concis** — Ce fichier est chargé par chaque workflow d'implémentation. Les fichiers longs gaspillent le contexte. Excluez le contenu qui ne s'applique qu'à un périmètre restreint ou à des stories spécifiques.
|
- **Gardez-le concis** — Ce fichier est chargé par chaque workflow d’implémentation. Les fichiers longs gaspillent le contexte. Excluez le contenu qui ne s’applique qu’à un périmètre restreint ou à des stories spécifiques.
|
||||||
- **Mettez à jour si nécessaire** — Modifiez manuellement lorsque les patterns changent, ou régénérez après des changements d'architecture significatifs.
|
- **Mettez à jour si nécessaire** — Modifiez manuellement lorsque les patterns changent, ou régénérez après des changements d’architecture significatifs.
|
||||||
- Fonctionne aussi bien pour Quick Dev que pour les projets complets méthode BMad.
|
- Fonctionne aussi bien pour Quick Dev que pour les projets complets méthode BMad.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,11 +23,11 @@ Utilisez **Quick Dev** pour les corrections de bugs, les refactorisations ou les
|
||||||
|
|
||||||
### 1. Démarrer une Nouvelle Conversation
|
### 1. Démarrer une Nouvelle Conversation
|
||||||
|
|
||||||
Ouvrez une **nouvelle conversation** dans votre IDE IA. Réutiliser une session d'un workflow précédent peut causer des conflits de contexte.
|
Ouvrez une **nouvelle conversation** dans votre IDE IA. Réutiliser une session d’un workflow précédent peut causer des conflits de contexte.
|
||||||
|
|
||||||
### 2. Spécifiez Votre Intention
|
### 2. Spécifiez Votre Intention
|
||||||
|
|
||||||
Quick Dev accepte l'intention en forme libre — avant, avec, ou après l'invocation. Exemples :
|
Quick Dev accepte l’intention en forme libre — avant, avec, ou après l’invocation. Exemples :
|
||||||
|
|
||||||
```text
|
```text
|
||||||
quick-dev — Corrige le bug de validation de connexion qui permet les mots de passe vides.
|
quick-dev — Corrige le bug de validation de connexion qui permet les mots de passe vides.
|
||||||
|
|
@ -52,18 +52,18 @@ quick-dev
|
||||||
Refactoriser UserService pour utiliser async/await au lieu des callbacks.
|
Refactoriser UserService pour utiliser async/await au lieu des callbacks.
|
||||||
```
|
```
|
||||||
|
|
||||||
Texte brut, chemins de fichiers, URLs d'issues GitHub, liens de trackers de bugs — tout ce que le LLM peut résoudre en une intention concrète.
|
Texte brut, chemins de fichiers, URLs d’issues GitHub, liens de trackers de bugs — tout ce que le LLM peut résoudre en une intention concrète.
|
||||||
|
|
||||||
### 3. Répondre aux Questions et Approuver
|
### 3. Répondre aux Questions et Approuver
|
||||||
|
|
||||||
Quick Dev peut poser des questions de clarification ou présenter une courte spécification demandant votre approbation avant l'implémentation. Répondez à ses questions et approuvez lorsque vous êtes satisfait du plan.
|
Quick Dev peut poser des questions de clarification ou présenter une courte spécification demandant votre approbation avant l’implémentation. Répondez à ses questions et approuvez lorsque vous êtes satisfait du plan.
|
||||||
|
|
||||||
### 4. Réviser et Pousser
|
### 4. Réviser et Pousser
|
||||||
|
|
||||||
Quick Dev implémente la modification, révise son propre travail, corrige les problèmes et effectue un commit local. Lorsqu'il a terminé, il ouvre les fichiers affectés dans votre éditeur.
|
Quick Dev implémente la modification, révise son propre travail, corrige les problèmes et effectue un commit local. Lorsqu’il a terminé, il ouvre les fichiers affectés dans votre éditeur.
|
||||||
|
|
||||||
- Parcourez le diff pour confirmer que la modification correspond à votre intention
|
- Parcourez le diff pour confirmer que la modification correspond à votre intention
|
||||||
- Si quelque chose semble incorrect, dites à l'agent ce qu'il faut corriger — il peut itérer dans la même session
|
- Si quelque chose semble incorrect, dites à l’agent ce qu’il faut corriger — il peut itérer dans la même session
|
||||||
|
|
||||||
Une fois satisfait, poussez le commit. Quick Dev vous proposera de pousser et de créer une PR pour vous.
|
Une fois satisfait, poussez le commit. Quick Dev vous proposera de pousser et de créer une PR pour vous.
|
||||||
|
|
||||||
|
|
@ -79,20 +79,20 @@ Si une modification poussée cause des problèmes inattendus, utilisez `git reve
|
||||||
|
|
||||||
## Travail Différé
|
## Travail Différé
|
||||||
|
|
||||||
Quick Dev garde chaque exécution concentrée sur un seul objectif. Si votre demande contient plusieurs objectifs indépendants, ou si la revue remonte des problèmes préexistants non liés à votre modification, Quick Dev les diffère vers un fichier (`deferred-work.md` dans votre répertoire d'artefacts d'implémentation) plutôt que d'essayer de tout régler en même temps.
|
Quick Dev garde chaque exécution concentrée sur un seul objectif. Si votre demande contient plusieurs objectifs indépendants, ou si la revue remonte des problèmes préexistants non liés à votre modification, Quick Dev les diffère vers un fichier (`deferred-work.md` dans votre répertoire d’artefacts d’implémentation) plutôt que d’essayer de tout régler en même temps.
|
||||||
|
|
||||||
Consultez ce fichier après une exécution — c'est votre backlog[^1] de choses sur lesquelles revenir. Chaque élément différé peut être introduit dans une nouvelle exécution Quick Dev ultérieurement.
|
Consultez ce fichier après une exécution — c’est votre backlog[^1] de choses sur lesquelles revenir. Chaque élément différé peut être introduit dans une nouvelle exécution Quick Dev ultérieurement.
|
||||||
|
|
||||||
## Quand Passer à une Planification Formelle
|
## Quand Passer à une Planification Formelle
|
||||||
|
|
||||||
Envisagez d'utiliser la méthode BMad complète lorsque :
|
Envisagez d’utiliser la méthode BMad complète lorsque :
|
||||||
|
|
||||||
- La modification affecte plusieurs systèmes ou nécessite des mises à jour coordonnées dans de nombreux fichiers
|
- La modification affecte plusieurs systèmes ou nécessite des mises à jour coordonnées dans de nombreux fichiers
|
||||||
- Vous n'êtes pas sûr de la portée et avez besoin d'une découverte des exigences d'abord
|
- Vous n’êtes pas sûr de la portée et avez besoin d’une découverte des exigences d’abord
|
||||||
- Vous avez besoin de documentation ou de décisions architecturales enregistrées pour l'équipe
|
- Vous avez besoin de documentation ou de décisions architecturales enregistrées pour l’équipe
|
||||||
|
|
||||||
Voir [Quick Dev](../explanation/quick-dev.md) pour plus d'informations sur la façon dont Quick Dev s'intègre dans la méthode BMad.
|
Voir [Quick Dev](../explanation/quick-dev.md) pour plus d’informations sur la façon dont Quick Dev s’intègre dans la méthode BMad.
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: Backlog : liste priorisée de tâches ou d'éléments de travail à traiter ultérieurement, issue des méthodologies agiles.
|
[^1]: Backlog : liste priorisée de tâches ou d’éléments de travail à traiter ultérieurement, issue des méthodologies agiles.
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,17 @@ sidebar:
|
||||||
order: 10
|
order: 10
|
||||||
---
|
---
|
||||||
|
|
||||||
Utilisez l'outil `bmad-shard-doc` si vous avez besoin de diviser des fichiers markdown volumineux en fichiers plus petits et organisés pour une meilleure gestion du contexte.
|
Utilisez l’outil `bmad-shard-doc` si vous avez besoin de diviser des fichiers markdown volumineux en fichiers plus petits et organisés pour une meilleure gestion du contexte.
|
||||||
|
|
||||||
:::caution[Déprécié]
|
:::caution[Déprécié]
|
||||||
Ceci n'est plus recommandé, et bientôt avec les workflows mis à jour et la plupart des LLM et outils majeurs supportant les sous-processus, cela deviendra inutile.
|
Ceci n’est plus recommandé, et bientôt avec les workflows mis à jour et la plupart des LLM et outils majeurs supportant les sous-processus, cela deviendra inutile.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Quand l’Utiliser
|
## Quand l’Utiliser
|
||||||
|
|
||||||
Utilisez ceci uniquement si vous remarquez que votre combinaison outil / modèle ne parvient pas à charger et lire tous les documents en entrée lorsque c'est nécessaire.
|
Utilisez ceci uniquement si vous remarquez que votre combinaison outil / modèle ne parvient pas à charger et lire tous les documents en entrée lorsque c’est nécessaire.
|
||||||
|
|
||||||
## Qu'est-ce que la Division de Documents ?
|
## Qu’est-ce que la Division de Documents ?
|
||||||
|
|
||||||
La division de documents divise les fichiers markdown volumineux en fichiers plus petits et organisés basés sur les titres de niveau 2 (`## Titre`).
|
La division de documents divise les fichiers markdown volumineux en fichiers plus petits et organisés basés sur les titres de niveau 2 (`## Titre`).
|
||||||
|
|
||||||
|
|
@ -38,7 +38,7 @@ _bmad-output/planning-artifacts/
|
||||||
|
|
||||||
## Étapes
|
## Étapes
|
||||||
|
|
||||||
### 1. Exécuter l'Outil Shard-Doc
|
### 1. Exécuter l’Outil Shard-Doc
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
/bmad-shard-doc
|
/bmad-shard-doc
|
||||||
|
|
@ -64,7 +64,7 @@ Agent : Division de PRD.md...
|
||||||
|
|
||||||
Les workflows BMad utilisent un **système de découverte double** :
|
Les workflows BMad utilisent un **système de découverte double** :
|
||||||
|
|
||||||
1. **Essaye d'abord le document entier** - Rechercher `document-name.md`
|
1. **Essaye d’abord le document entier** - Rechercher `document-name.md`
|
||||||
2. **Vérifie la version divisée** - Rechercher `document-name/index.md`
|
2. **Vérifie la version divisée** - Rechercher `document-name/index.md`
|
||||||
3. **Règle de priorité** - Le document entier a la priorité si les deux existent - supprimez le document entier si vous souhaitez que la version divisée soit utilisée à la place
|
3. **Règle de priorité** - Le document entier a la priorité si les deux existent - supprimez le document entier si vous souhaitez que la version divisée soit utilisée à la place
|
||||||
|
|
||||||
|
|
@ -75,4 +75,4 @@ Tous les workflows BMM prennent en charge les deux formats :
|
||||||
- Documents entiers
|
- Documents entiers
|
||||||
- Documents divisés
|
- Documents divisés
|
||||||
- Détection automatique
|
- Détection automatique
|
||||||
- Transparent pour l'utilisateur
|
- Transparent pour l’utilisateur
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ sidebar:
|
||||||
order: 4
|
order: 4
|
||||||
---
|
---
|
||||||
|
|
||||||
Utilisez l'installateur BMad pour passer de la v4 à la v6, qui inclut une détection automatique des installations existantes et une assistance à la migration.
|
Utilisez l’installateur BMad pour passer de la v4 à la v6, qui inclut une détection automatique des installations existantes et une assistance à la migration.
|
||||||
|
|
||||||
## Quand utiliser ce guide
|
## Quand utiliser ce guide
|
||||||
|
|
||||||
|
|
@ -20,15 +20,15 @@ Utilisez l'installateur BMad pour passer de la v4 à la v6, qui inclut une déte
|
||||||
|
|
||||||
## Étapes
|
## Étapes
|
||||||
|
|
||||||
### 1. Lancer l'installateur
|
### 1. Lancer l’installateur
|
||||||
|
|
||||||
Suivez les [Instructions d'installation](./install-bmad.md).
|
Suivez les [Instructions d’installation](./install-bmad.md).
|
||||||
|
|
||||||
### 2. Gérer l'installation existante
|
### 2. Gérer l’installation existante
|
||||||
|
|
||||||
Quand v4 est détecté, vous pouvez :
|
Quand v4 est détecté, vous pouvez :
|
||||||
|
|
||||||
- Autoriser l'installateur à sauvegarder et supprimer `.bmad-method`
|
- Autoriser l’installateur à sauvegarder et supprimer `.bmad-method`
|
||||||
- Quitter et gérer le nettoyage manuellement
|
- Quitter et gérer le nettoyage manuellement
|
||||||
|
|
||||||
Si votre dossier de méthode BMad porte un nom différent, vous devrez le supprimer manuellement.
|
Si votre dossier de méthode BMad porte un nom différent, vous devrez le supprimer manuellement.
|
||||||
|
|
@ -53,13 +53,13 @@ Déplacez-les dans `_bmad-output/planning-artifacts/` avec des noms descriptifs
|
||||||
- Incluez `brief`, `architecture`, ou `ux-design` selon le cas
|
- Incluez `brief`, `architecture`, ou `ux-design` selon le cas
|
||||||
- Les documents divisés peuvent être dans des sous-dossiers au nom descriptif
|
- Les documents divisés peuvent être dans des sous-dossiers au nom descriptif
|
||||||
|
|
||||||
**Si vous êtes en cours de planification :** Envisagez de recommencer avec les workflows v6. Utilisez vos documents existants comme entrées — les nouveaux workflows de découverte progressive avec recherche web et le mode plan de l'IDE produisent de meilleurs résultats.
|
**Si vous êtes en cours de planification :** Envisagez de recommencer avec les workflows v6. Utilisez vos documents existants comme entrées — les nouveaux workflows de découverte progressive avec recherche web et le mode plan de l’IDE produisent de meilleurs résultats.
|
||||||
|
|
||||||
### 5. Migrer le développement en cours
|
### 5. Migrer le développement en cours
|
||||||
|
|
||||||
Si vous avez des stories[^3] créées ou implémentées :
|
Si vous avez des stories[^3] créées ou implémentées :
|
||||||
|
|
||||||
1. Terminez l'installation v6
|
1. Terminez l’installation v6
|
||||||
2. Placez `epics.md` ou `epics/epic*.md`[^2] dans `_bmad-output/planning-artifacts/`
|
2. Placez `epics.md` ou `epics/epic*.md`[^2] dans `_bmad-output/planning-artifacts/`
|
||||||
3. Lancez le workflow Développeur `bmad-sprint-planning`[^4]
|
3. Lancez le workflow Développeur `bmad-sprint-planning`[^4]
|
||||||
4. Indiquez à l’agent quels epics/stories sont déjà terminés
|
4. Indiquez à l’agent quels epics/stories sont déjà terminés
|
||||||
|
|
@ -101,7 +101,7 @@ votre-projet/
|
||||||
|
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d'aligner les équipes sur ce qui doit être construit et pourquoi.
|
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d’aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
[^2]: Epic : dans les méthodologies agiles, une grande unité de travail qui peut être décomposée en plusieurs stories. Un epic représente généralement une fonctionnalité majeure ou un ensemble de capacités livrable sur plusieurs sprints.
|
[^2]: Epic : dans les méthodologies agiles, une grande unité de travail qui peut être décomposée en plusieurs stories. Un epic représente généralement une fonctionnalité majeure ou un ensemble de capacités livrable sur plusieurs sprints.
|
||||||
[^3]: Story (User Story) : une description courte et simple d'une fonctionnalité du point de vue de l'utilisateur. Les stories sont des unités de travail suffisamment petites pour être complétées en un sprint.
|
[^3]: Story (User Story) : une description courte et simple d’une fonctionnalité du point de vue de l’utilisateur. Les stories sont des unités de travail suffisamment petites pour être complétées en un sprint.
|
||||||
[^4]: Sprint : dans Scrum, une période de temps fixe (généralement 1 à 4 semaines) pendant laquelle l'équipe travaille à livrer un incrément de produit potentiellement libérable.
|
[^4]: Sprint : dans Scrum, une période de temps fixe (généralement 1 à 4 semaines) pendant laquelle l’équipe travaille à livrer un incrément de produit potentiellement libérable.
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,24 @@
|
||||||
---
|
---
|
||||||
title: Bienvenue dans la méthode BMad
|
title: Bienvenue dans la méthode BMad
|
||||||
description: Framework de développement alimenté par l'IA avec des agents spécialisés, des workflows guidés et une planification intelligente
|
description: Framework de développement alimenté par l’IA avec des agents spécialisés, des workflows guidés et une planification intelligente
|
||||||
---
|
---
|
||||||
|
|
||||||
La méthode BMad (**B**uild **M**ore **A**rchitect **D**reams) est un module[^1] de développement assisté par l'IA au sein de l'écosystème BMad. Elle couvre l'intégralité du processus de création logicielle — de l'idéation et de la planification jusqu'à la mise en œuvre par des agents. BMad met à votre disposition des agents IA spécialisés[^2], des workflows guidés et une planification intelligente qui s'adapte à la complexité de votre projet, qu'il s'agisse de corriger un bug ou de bâtir une plateforme d'entreprise.
|
La méthode BMad (**B**uild **M**ore **A**rchitect **D**reams) est un module[^1] de développement assisté par l’IA au sein de l’écosystème BMad. Elle couvre l’intégralité du processus de création logicielle — de l’idéation et de la planification jusqu’à la mise en œuvre par des agents. BMad met à votre disposition des agents IA spécialisés[^2], des workflows guidés et une planification intelligente qui s’adapte à la complexité de votre projet, qu’il s’agisse de corriger un bug ou de bâtir une plateforme d’entreprise.
|
||||||
|
|
||||||
Si vous êtes à l'aise avec les assistants de codage IA comme Claude, Cursor ou GitHub Copilot, vous êtes prêt à commencer.
|
Si vous êtes à l’aise avec les assistants de codage IA comme Claude, Cursor ou GitHub Copilot, vous êtes prêt à commencer.
|
||||||
|
|
||||||
:::note[🚀 La V6 est là et ce n'est que le début !]
|
:::note[🚀 La V6 est là et ce n’est que le début !]
|
||||||
Architecture de Skills, BMad Builder v1, automatisation Dev Loop, et bien plus encore à venir. **[Consultez la Feuille de route →](./roadmap)**
|
Architecture de Skills, BMad Builder v1, automatisation Dev Loop, et bien plus encore à venir. **[Consultez la Feuille de route →](./roadmap)**
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Vous découvrez BMad ? Commencez par un tutoriel
|
## Vous découvrez BMad ? Commencez par un tutoriel
|
||||||
|
|
||||||
La façon la plus rapide de comprendre BMad est de l'essayer.
|
La façon la plus rapide de comprendre BMad est de l’essayer.
|
||||||
|
|
||||||
- **[Premiers pas avec BMad](./tutorials/getting-started.md)** — Installez BMad et découvrez son fonctionnement
|
- **[Premiers pas avec BMad](./tutorials/getting-started.md)** — Installez BMad et découvrez son fonctionnement
|
||||||
- **[Carte des workflows](./reference/workflow-map.md)** — Vue d'ensemble visuelle des phases BMM, des workflows et de la gestion du contexte
|
- **[Carte des workflows](./reference/workflow-map.md)** — Vue d’ensemble visuelle des phases BMM, des workflows et de la gestion du contexte
|
||||||
|
|
||||||
:::tip[Envie de passer à la pratique ?]
|
:::tip[Envie de passer à la pratique ?]
|
||||||
Installez BMad et utilisez le skill[^3] `bmad-help` — il vous guidera pas à pas, en fonction de votre projet et des modules installés.
|
Installez BMad et utilisez le skill[^3] `bmad-help` — il vous guidera pas à pas, en fonction de votre projet et des modules installés.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
@ -28,36 +28,36 @@ Cette documentation est organisée en quatre sections, selon votre objectif :
|
||||||
|
|
||||||
| Section | Objectif |
|
| Section | Objectif |
|
||||||
|----------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
|
|----------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| **Tutoriels** | Orientés apprentissage. Guides pas à pas pour vous accompagner dans la réalisation d'un projet. Le point de départ idéal si vous débutez. |
|
| **Tutoriels** | Orientés apprentissage. Guides pas à pas pour vous accompagner dans la réalisation d’un projet. Le point de départ idéal si vous débutez. |
|
||||||
| **Guides pratiques** | Orientés tâches. Guides concrets pour résoudre des problèmes spécifiques. Vous y trouverez par exemple « Comment personnaliser un agent ? ». |
|
| **Guides pratiques** | Orientés tâches. Guides concrets pour résoudre des problèmes spécifiques. Vous y trouverez par exemple « Comment personnaliser un agent ? ». |
|
||||||
| **Explications** | Orientés compréhension. Plongées dans les concepts et l'architecture. À consulter pour comprendre le *pourquoi*. |
|
| **Explications** | Orientés compréhension. Plongées dans les concepts et l’architecture. À consulter pour comprendre le *pourquoi*. |
|
||||||
| **Référence** | Orientés information. Spécifications techniques des agents, workflows et configuration. |
|
| **Référence** | Orientés information. Spécifications techniques des agents, workflows et configuration. |
|
||||||
|
|
||||||
## Étendre et personnaliser
|
## Étendre et personnaliser
|
||||||
|
|
||||||
Vous souhaitez étendre BMad avec vos propres agents, workflows ou modules ? Le **[BMad Builder](https://bmad-builder-docs.bmad-method.org/)** met à votre disposition le framework et les outils nécessaires pour créer des extensions personnalisées — que ce soit pour ajouter de nouvelles capacités à BMad ou pour concevoir des modules entièrement nouveaux de zéro.
|
Vous souhaitez étendre BMad avec vos propres agents, workflows ou modules ? Le **[BMad Builder](https://bmad-builder-docs.bmad-method.org/)** met à votre disposition le framework et les outils nécessaires pour créer des extensions personnalisées — que ce soit pour ajouter de nouvelles capacités à BMad ou pour concevoir des modules entièrement nouveaux de zéro.
|
||||||
|
|
||||||
## Ce dont vous aurez besoin
|
## Ce dont vous aurez besoin
|
||||||
|
|
||||||
BMad fonctionne avec tout assistant de codage IA qui prend en charge les prompts système personnalisés ou le contexte de projet. Parmi les options les plus populaires :
|
BMad fonctionne avec tout assistant de codage IA qui prend en charge les prompts système personnalisés ou le contexte de projet. Parmi les options les plus populaires :
|
||||||
|
|
||||||
- **[Claude Code](https://code.claude.com)** — Outil CLI d'Anthropic (recommandé)
|
- **[Claude Code](https://code.claude.com)** — Outil CLI d’Anthropic (recommandé)
|
||||||
- **[Cursor](https://cursor.sh)** — Éditeur de code propulsé par l'IA
|
- **[Cursor](https://cursor.sh)** — Éditeur de code propulsé par l’IA
|
||||||
- **[Codex CLI](https://github.com/openai/codex)** — Agent de codage en ligne de commande d'OpenAI
|
- **[Codex CLI](https://github.com/openai/codex)** — Agent de codage en ligne de commande d’OpenAI
|
||||||
|
|
||||||
Vous devriez être à l'aise avec les concepts de base du développement logiciel : gestion de versions, structure de projet et méthodologies agiles. Aucune expérience préalable des systèmes d'agents de type BMad n'est requise — c'est précisément l'objet de cette documentation.
|
Vous devriez être à l’aise avec les concepts de base du développement logiciel : gestion de versions, structure de projet et méthodologies agiles. Aucune expérience préalable des systèmes d’agents de type BMad n’est requise — c’est précisément l’objet de cette documentation.
|
||||||
|
|
||||||
## Rejoindre la communauté
|
## Rejoindre la communauté
|
||||||
|
|
||||||
Trouvez de l'aide, partagez vos projets ou contribuez à BMad :
|
Trouvez de l’aide, partagez vos projets ou contribuez à BMad :
|
||||||
|
|
||||||
- **[Discord](https://discord.gg/gk8jAdXWmj)** — Discutez avec d'autres utilisateurs de BMad, posez des questions, partagez des idées
|
- **[Discord](https://discord.gg/gk8jAdXWmj)** — Discutez avec d’autres utilisateurs de BMad, posez des questions, partagez des idées
|
||||||
- **[GitHub](https://github.com/bmad-code-org/BMAD-METHOD)** — Code source, tickets et contributions
|
- **[GitHub](https://github.com/bmad-code-org/BMAD-METHOD)** — Code source, tickets et contributions
|
||||||
- **[YouTube](https://www.youtube.com/@BMadCode)** — Tutoriels vidéo et démonstrations
|
- **[YouTube](https://www.youtube.com/@BMadCode)** — Tutoriels vidéo et démonstrations
|
||||||
|
|
||||||
## Prochaine étape
|
## Prochaine étape
|
||||||
|
|
||||||
Prêt à vous lancer ? **[Commencez avec BMad](./tutorials/getting-started.md)** et réalisez votre premier projet.
|
Prêt à vous lancer ? **[Commencez avec BMad](./tutorials/getting-started.md)** et réalisez votre premier projet.
|
||||||
|
|
||||||
---
|
---
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
@ -66,4 +66,4 @@ Prêt à vous lancer ? **[Commencez avec BMad](./tutorials/getting-started.md)**
|
||||||
|
|
||||||
[^2]: **Agent** : assistant IA spécialisé avec une expertise spécifique qui guide les utilisateurs dans les workflows.
|
[^2]: **Agent** : assistant IA spécialisé avec une expertise spécifique qui guide les utilisateurs dans les workflows.
|
||||||
|
|
||||||
[^3]: **Skill** : capacité ou fonctionnalité invoquable d'un agent pour effectuer une tâche spécifique.
|
[^3]: **Skill** : capacité ou fonctionnalité invoquable d’un agent pour effectuer une tâche spécifique.
|
||||||
|
|
|
||||||
|
|
@ -26,19 +26,19 @@ Cette page liste les agents BMM (suite Agile) par défaut installés avec la mé
|
||||||
|
|
||||||
## Types de déclencheurs
|
## Types de déclencheurs
|
||||||
|
|
||||||
Les déclencheurs de menu d'agent utilisent deux types d'invocation différents. Connaître le type utilisé par un déclencheur vous aide à fournir la bonne entrée.
|
Les déclencheurs de menu d’agent utilisent deux types d’invocation différents. Connaître le type utilisé par un déclencheur vous aide à fournir la bonne entrée.
|
||||||
|
|
||||||
### Déclencheurs de workflow (aucun argument nécessaire)
|
### Déclencheurs de workflow (aucun argument nécessaire)
|
||||||
|
|
||||||
La plupart des déclencheurs chargent un fichier de workflow structuré. Tapez le code du déclencheur et l'agent démarre le workflow, vous demandant de saisir les informations à chaque étape.
|
La plupart des déclencheurs chargent un fichier de workflow structuré. Tapez le code du déclencheur et l’agent démarre le workflow, vous demandant de saisir les informations à chaque étape.
|
||||||
|
|
||||||
Exemples : `CP` (Create PRD), `DS` (Dev Story), `CA` (Create Architecture), `QD` (Quick Dev)
|
Exemples : `CP` (Create PRD), `DS` (Dev Story), `CA` (Create Architecture), `QD` (Quick Dev)
|
||||||
|
|
||||||
### Déclencheurs conversationnels (arguments requis)
|
### Déclencheurs conversationnels (arguments requis)
|
||||||
|
|
||||||
Certains déclencheurs lancent une conversation libre au lieu d'un workflow structuré. Ils s'attendent à ce que vous décriviez ce dont vous avez besoin à côté du code du déclencheur.
|
Certains déclencheurs lancent une conversation libre au lieu d’un workflow structuré. Ils s’attendent à ce que vous décriviez ce dont vous avez besoin à côté du code du déclencheur.
|
||||||
|
|
||||||
| Agent | Déclencheur | Ce qu'il faut fournir |
|
| Agent | Déclencheur | Ce qu’il faut fournir |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| Rédacteur Technique (Paige) | `WD` | Description du document à rédiger |
|
| Rédacteur Technique (Paige) | `WD` | Description du document à rédiger |
|
||||||
| Rédacteur Technique (Paige) | `US` | Préférences ou conventions à ajouter aux standards |
|
| Rédacteur Technique (Paige) | `US` | Préférences ou conventions à ajouter aux standards |
|
||||||
|
|
|
||||||
|
|
@ -1,50 +1,50 @@
|
||||||
---
|
---
|
||||||
title: Skills
|
title: Skills
|
||||||
description: Référence des skills BMad — ce qu'ils sont, comment ils fonctionnent et où les trouver.
|
description: Référence des skills BMad — ce qu’ils sont, comment ils fonctionnent et où les trouver.
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 4
|
order: 4
|
||||||
---
|
---
|
||||||
|
|
||||||
Les skills sont des prompts pré-construits qui chargent des agents, exécutent des workflows ou lancent des tâches dans votre IDE. L'installateur BMad les génère à partir de vos modules installés au moment de l'installation. Si vous ajoutez, supprimez ou modifiez des modules ultérieurement, relancez l'installateur pour garder les skills synchronisés (voir [Dépannage](#dépannage)).
|
Les skills sont des prompts pré-construits qui chargent des agents, exécutent des workflows ou lancent des tâches dans votre IDE. L’installateur BMad les génère à partir de vos modules installés au moment de l’installation. Si vous ajoutez, supprimez ou modifiez des modules ultérieurement, relancez l’installateur pour garder les skills synchronisés (voir [Dépannage](#dépannage)).
|
||||||
|
|
||||||
## Skills vs. Déclencheurs du menu Agent
|
## Skills vs. Déclencheurs du menu Agent
|
||||||
|
|
||||||
BMad offre deux façons de démarrer un travail, chacune ayant un usage différent.
|
BMad offre deux façons de démarrer un travail, chacune ayant un usage différent.
|
||||||
|
|
||||||
| Mécanisme | Comment l'invoquer | Ce qui se passe |
|
| Mécanisme | Comment l’invoquer | Ce qui se passe |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| **Skill** | Tapez le nom du skill (ex. `bmad-help`) dans votre IDE | Charge directement un agent, exécute un workflow ou lance une tâche |
|
| **Skill** | Tapez le nom du skill (ex. `bmad-help`) dans votre IDE | Charge directement un agent, exécute un workflow ou lance une tâche |
|
||||||
| **Déclencheur du menu agent** | Chargez d'abord un agent, puis tapez un code court (ex. `DS`) | L'agent interprète le code et démarre le workflow correspondant tout en préservant son persona |
|
| **Déclencheur du menu agent** | Chargez d’abord un agent, puis tapez un code court (ex. `DS`) | L’agent interprète le code et démarre le workflow correspondant tout en préservant son persona |
|
||||||
|
|
||||||
Les déclencheurs du menu agent nécessitent une session agent active. Utilisez les skills lorsque vous savez quel workflow vous voulez. Utilisez les déclencheurs lorsque vous travaillez déjà avec un agent et souhaitez changer de tâche sans quitter la conversation.
|
Les déclencheurs du menu agent nécessitent une session agent active. Utilisez les skills lorsque vous savez quel workflow vous voulez. Utilisez les déclencheurs lorsque vous travaillez déjà avec un agent et souhaitez changer de tâche sans quitter la conversation.
|
||||||
|
|
||||||
## Comment les skills sont générés
|
## Comment les skills sont générés
|
||||||
|
|
||||||
Lorsque vous exécutez `npx bmad-method install`, l'installateur lit les manifests de chaque module sélectionné et écrit un skill par agent, workflow, tâche et outil. Chaque skill est un répertoire contenant un fichier `SKILL.md` qui indique à l'IA de charger le fichier source correspondant et de suivre ses instructions.
|
Lorsque vous exécutez `npx bmad-method install`, l’installateur lit les manifests de chaque module sélectionné et écrit un skill par agent, workflow, tâche et outil. Chaque skill est un répertoire contenant un fichier `SKILL.md` qui indique à l’IA de charger le fichier source correspondant et de suivre ses instructions.
|
||||||
|
|
||||||
L'installateur utilise des modèles pour chaque type de skill :
|
L’installateur utilise des modèles pour chaque type de skill :
|
||||||
|
|
||||||
| Type de skill | Ce que fait le fichier généré |
|
| Type de skill | Ce que fait le fichier généré |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| **Lanceur d'agent** | Charge le fichier de persona de l'agent, active son menu et reste en caractère |
|
| **Lanceur d’agent** | Charge le fichier de persona de l’agent, active son menu et reste en caractère |
|
||||||
| **Skill de workflow** | Charge la configuration du workflow et suit ses étapes |
|
| **Skill de workflow** | Charge la configuration du workflow et suit ses étapes |
|
||||||
| **Skill de tâche** | Charge un fichier de tâche autonome et suit ses instructions |
|
| **Skill de tâche** | Charge un fichier de tâche autonome et suit ses instructions |
|
||||||
| **Skill d'outil** | Charge un fichier d'outil autonome et suit ses instructions |
|
| **Skill d’outil** | Charge un fichier d’outil autonome et suit ses instructions |
|
||||||
|
|
||||||
:::note[Relancer l'installateur]
|
:::note[Relancer l’installateur]
|
||||||
Si vous ajoutez ou supprimez des modules, relancez l'installateur. Il régénère tous les fichiers de skill pour correspondre à votre sélection actuelle de modules.
|
Si vous ajoutez ou supprimez des modules, relancez l’installateur. Il régénère tous les fichiers de skill pour correspondre à votre sélection actuelle de modules.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Emplacement des fichiers de skill
|
## Emplacement des fichiers de skill
|
||||||
|
|
||||||
L'installateur écrit les fichiers de skill dans un répertoire spécifique à l'IDE à l'intérieur de votre projet. Le chemin exact dépend de l'IDE que vous avez sélectionné lors de l'installation.
|
L’installateur écrit les fichiers de skill dans un répertoire spécifique à l’IDE à l’intérieur de votre projet. Le chemin exact dépend de l’IDE que vous avez sélectionné lors de l’installation.
|
||||||
|
|
||||||
| IDE / CLI | Répertoire des skills |
|
| IDE / CLI | Répertoire des skills |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| Claude Code | `.claude/skills/` |
|
| Claude Code | `.claude/skills/` |
|
||||||
| Cursor | `.cursor/skills/` |
|
| Cursor | `.cursor/skills/` |
|
||||||
| Windsurf | `.windsurf/skills/` |
|
| Windsurf | `.windsurf/skills/` |
|
||||||
| Autres IDE | Consultez la sortie de l'installateur pour le chemin cible |
|
| Autres IDE | Consultez la sortie de l’installateur pour le chemin cible |
|
||||||
|
|
||||||
Chaque skill est un répertoire contenant un fichier `SKILL.md`. Par exemple, une installation Claude Code ressemble à :
|
Chaque skill est un répertoire contenant un fichier `SKILL.md`. Par exemple, une installation Claude Code ressemble à :
|
||||||
|
|
||||||
|
|
@ -63,7 +63,7 @@ Le nom du répertoire détermine le nom du skill dans votre IDE. Par exemple, le
|
||||||
|
|
||||||
## Comment découvrir vos skills
|
## Comment découvrir vos skills
|
||||||
|
|
||||||
Tapez le nom du skill dans votre IDE pour l'invoquer. Certaines plateformes nécessitent d'activer les skills dans les paramètres avant qu'ils n'apparaissent.
|
Tapez le nom du skill dans votre IDE pour l’invoquer. Certaines plateformes nécessitent d’activer les skills dans les paramètres avant qu’ils n’apparaissent.
|
||||||
|
|
||||||
Exécutez `bmad-help` pour obtenir des conseils contextuels sur votre prochaine étape.
|
Exécutez `bmad-help` pour obtenir des conseils contextuels sur votre prochaine étape.
|
||||||
|
|
||||||
|
|
@ -73,38 +73,38 @@ Les répertoires de skills générés dans votre projet sont la liste de référ
|
||||||
|
|
||||||
## Catégories de skills
|
## Catégories de skills
|
||||||
|
|
||||||
### Skills d'agent
|
### Skills d’agent
|
||||||
|
|
||||||
Les skills d'agent chargent un persona[^2] IA spécialisé avec un rôle défini, un style de communication et un menu de workflows. Une fois chargé, l'agent reste en caractère et répond aux déclencheurs du menu.
|
Les skills d’agent chargent un persona[^2] IA spécialisé avec un rôle défini, un style de communication et un menu de workflows. Une fois chargé, l’agent reste en caractère et répond aux déclencheurs du menu.
|
||||||
|
|
||||||
| Exemple de skill | Agent | Rôle |
|
| Exemple de skill | Agent | Rôle |
|
||||||
|------------------|------------------------|-------------------------------------------------------------|
|
|------------------|------------------------|-------------------------------------------------------------|
|
||||||
| `bmad-agent-dev` | Amelia (Développeur) | Implémente les stories avec une adhérence stricte aux specs |
|
| `bmad-agent-dev` | Amelia (Développeur) | Implémente les stories avec une adhérence stricte aux specs |
|
||||||
| `bmad-pm` | John (Product Manager) | Crée et valide les PRDs[^1] |
|
| `bmad-pm` | John (Product Manager) | Crée et valide les PRDs[^1] |
|
||||||
| `bmad-architect` | Winston (Architecte) | Conçoit l'architecture système |
|
| `bmad-architect` | Winston (Architecte) | Conçoit l’architecture système |
|
||||||
|
|
||||||
Consultez [Agents](./agents.md) pour la liste complète des agents par défaut et leurs déclencheurs.
|
Consultez [Agents](./agents.md) pour la liste complète des agents par défaut et leurs déclencheurs.
|
||||||
|
|
||||||
### Skills de workflow
|
### Skills de workflow
|
||||||
|
|
||||||
Les skills de workflow exécutent un processus structuré en plusieurs étapes sans charger d'abord un persona d'agent. Ils chargent une configuration de workflow et suivent ses étapes.
|
Les skills de workflow exécutent un processus structuré en plusieurs étapes sans charger d’abord un persona d’agent. Ils chargent une configuration de workflow et suivent ses étapes.
|
||||||
|
|
||||||
| Exemple de skill | Objectif |
|
| Exemple de skill | Objectif |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `bmad-product-brief` | Créer ou mettre à jour un product brief[^3] — découverte guidée lorsque votre concept est clair |
|
| `bmad-product-brief` | Créer ou mettre à jour un product brief[^3] — découverte guidée lorsque votre concept est clair |
|
||||||
| `bmad-prfaq` | Défi [PRFAQ Working Backwards](../explanation/analysis-phase.md#prfaq-working-backwards) pour éprouver votre concept produit |
|
| `bmad-prfaq` | Défi [PRFAQ Working Backwards](../explanation/analysis-phase.md#prfaq-working-backwards) pour éprouver votre concept produit |
|
||||||
| `bmad-prd` | Créer, mettre à jour ou valider un PRD[^1] |
|
| `bmad-prd` | Créer, mettre à jour ou valider un PRD[^1] |
|
||||||
| `bmad-create-architecture` | Concevoir l'architecture système |
|
| `bmad-create-architecture` | Concevoir l’architecture système |
|
||||||
| `bmad-create-epics-and-stories` | Créer des epics et des stories |
|
| `bmad-create-epics-and-stories` | Créer des epics et des stories |
|
||||||
| `bmad-dev-story` | Implémenter une story |
|
| `bmad-dev-story` | Implémenter une story |
|
||||||
| `bmad-code-review` | Effectuer une revue de code |
|
| `bmad-code-review` | Effectuer une revue de code |
|
||||||
| `bmad-quick-dev` | Flux rapide unifié — clarifier l'intention, planifier, implémenter, réviser, présenter |
|
| `bmad-quick-dev` | Flux rapide unifié — clarifier l’intention, planifier, implémenter, réviser, présenter |
|
||||||
|
|
||||||
Consultez la [Carte des workflows](./workflow-map.md) pour la référence complète des workflows organisés par phase.
|
Consultez la [Carte des workflows](./workflow-map.md) pour la référence complète des workflows organisés par phase.
|
||||||
|
|
||||||
### Skills de tâche et d'outil
|
### Skills de tâche et d’outil
|
||||||
|
|
||||||
Les tâches et outils sont des opérations autonomes qui ne nécessitent pas de contexte d'agent ou de workflow.
|
Les tâches et outils sont des opérations autonomes qui ne nécessitent pas de contexte d’agent ou de workflow.
|
||||||
|
|
||||||
**BMad-Help : Votre guide intelligent**
|
**BMad-Help : Votre guide intelligent**
|
||||||
|
|
||||||
|
|
@ -124,18 +124,18 @@ Le module principal inclut 11 outils intégrés — revues, compression, brainst
|
||||||
|
|
||||||
## Convention de nommage
|
## Convention de nommage
|
||||||
|
|
||||||
Tous les skills utilisent le préfixe `bmad-` suivi d'un nom descriptif (ex. `bmad-agent-dev`, `bmad-prd`, `bmad-help`). Consultez [Modules](./modules.md) pour les modules disponibles.
|
Tous les skills utilisent le préfixe `bmad-` suivi d’un nom descriptif (ex. `bmad-agent-dev`, `bmad-prd`, `bmad-help`). Consultez [Modules](./modules.md) pour les modules disponibles.
|
||||||
|
|
||||||
## Dépannage
|
## Dépannage
|
||||||
|
|
||||||
**Les skills n'apparaissent pas après l'installation.** Certaines plateformes nécessitent d'activer explicitement les skills dans les paramètres. Consultez la documentation de votre IDE ou demandez à votre assistant IA comment activer les skills. Vous devrez peut-être aussi redémarrer votre IDE ou recharger la fenêtre.
|
**Les skills n’apparaissent pas après l’installation.** Certaines plateformes nécessitent d’activer explicitement les skills dans les paramètres. Consultez la documentation de votre IDE ou demandez à votre assistant IA comment activer les skills. Vous devrez peut-être aussi redémarrer votre IDE ou recharger la fenêtre.
|
||||||
|
|
||||||
**Des skills attendus sont manquants.** L'installateur génère uniquement les skills pour les modules que vous avez sélectionnés. Exécutez à nouveau `npx bmad-method install` et vérifiez votre sélection de modules. Vérifiez que les fichiers de skill existent dans le répertoire attendu.
|
**Des skills attendus sont manquants.** L’installateur génère uniquement les skills pour les modules que vous avez sélectionnés. Exécutez à nouveau `npx bmad-method install` et vérifiez votre sélection de modules. Vérifiez que les fichiers de skill existent dans le répertoire attendu.
|
||||||
|
|
||||||
**Des skills d'un module supprimé apparaissent encore.** L'installateur ne supprime pas automatiquement les anciens fichiers de skill. Supprimez les répertoires obsolètes du répertoire de skills de votre IDE, ou supprimez tout le répertoire de skills et relancez l'installateur pour obtenir un ensemble propre.
|
**Des skills d’un module supprimé apparaissent encore.** L’installateur ne supprime pas automatiquement les anciens fichiers de skill. Supprimez les répertoires obsolètes du répertoire de skills de votre IDE, ou supprimez tout le répertoire de skills et relancez l’installateur pour obtenir un ensemble propre.
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d’aligner les équipes sur ce qui doit être construit et pourquoi.
|
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d’aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
[^2]: Persona : dans le contexte de BMad, un persona désigne un agent IA avec un rôle défini, un style de communication et une expertise spécifiques (ex. Mary l'analyste, Winston l'architecte). Chaque persona garde son "caractère" pendant les interactions.
|
[^2]: Persona : dans le contexte de BMad, un persona désigne un agent IA avec un rôle défini, un style de communication et une expertise spécifiques (ex. Mary l’analyste, Winston l’architecte). Chaque persona garde son « caractère » pendant les interactions.
|
||||||
[^3]: Brief : document synthétique qui formalise le contexte, les objectifs, le périmètre et les contraintes d'un projet ou d'une demande, afin d'aligner rapidement les parties prenantes avant le travail détaillé.
|
[^3]: Brief : document synthétique qui formalise le contexte, les objectifs, le périmètre et les contraintes d’un projet ou d’une demande, afin d’aligner rapidement les parties prenantes avant le travail détaillé.
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,10 @@ sidebar:
|
||||||
Chaque installation BMad comprend un ensemble de compétences principales qui peuvent être utilisées conjointement avec tout ce que vous faites — des tâches et des workflows autonomes qui fonctionnent dans tous les projets, tous les modules et toutes les phases. Ceux-ci sont toujours disponibles, quels que soient les modules optionnels que vous installez.
|
Chaque installation BMad comprend un ensemble de compétences principales qui peuvent être utilisées conjointement avec tout ce que vous faites — des tâches et des workflows autonomes qui fonctionnent dans tous les projets, tous les modules et toutes les phases. Ceux-ci sont toujours disponibles, quels que soient les modules optionnels que vous installez.
|
||||||
|
|
||||||
:::tip[Raccourci Rapide]
|
:::tip[Raccourci Rapide]
|
||||||
Exécutez n'importe quel outil principal en tapant son nom de compétence (par ex., `bmad-help`) dans votre IDE. Aucune session d'agent requise.
|
Exécutez n’importe quel outil principal en tapant son nom de compétence (par ex., `bmad-help`) dans votre IDE. Aucune session d’agent requise.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Vue d'ensemble
|
## Vue d’ensemble
|
||||||
|
|
||||||
| Outil | Type | Objectif |
|
| Outil | Type | Objectif |
|
||||||
|-----------------------------------------------------------------------|----------|------------------------------------------------------------------------------|
|
|-----------------------------------------------------------------------|----------|------------------------------------------------------------------------------|
|
||||||
|
|
@ -29,12 +29,12 @@ Exécutez n'importe quel outil principal en tapant son nom de compétence (par e
|
||||||
|
|
||||||
## bmad-help
|
## bmad-help
|
||||||
|
|
||||||
**Votre guide intelligent pour la suite.** — Inspecte l'état de votre projet, détecte ce qui a été fait et recommande la prochaine étape requise ou facultative.
|
**Votre guide intelligent pour la suite.** — Inspecte l’état de votre projet, détecte ce qui a été fait et recommande la prochaine étape requise ou facultative.
|
||||||
|
|
||||||
**Utilisez-le quand :**
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
- Vous avez terminé un workflow et voulez savoir ce qui suit
|
- Vous avez terminé un workflow et voulez savoir ce qui suit
|
||||||
- Vous êtes nouveau sur BMad et avez besoin d'orientation
|
- Vous êtes nouveau sur BMad et avez besoin d’orientation
|
||||||
- Vous êtes bloqué et voulez des conseils contextuels
|
- Vous êtes bloqué et voulez des conseils contextuels
|
||||||
- Vous avez installé de nouveaux modules et voulez voir ce qui est disponible
|
- Vous avez installé de nouveaux modules et voulez voir ce qui est disponible
|
||||||
|
|
||||||
|
|
@ -42,7 +42,7 @@ Exécutez n'importe quel outil principal en tapant son nom de compétence (par e
|
||||||
|
|
||||||
1. Analyse votre projet pour les artefacts existants (PRD, architecture, stories, etc.)
|
1. Analyse votre projet pour les artefacts existants (PRD, architecture, stories, etc.)
|
||||||
2. Détecte quels modules sont installés et leurs workflows disponibles
|
2. Détecte quels modules sont installés et leurs workflows disponibles
|
||||||
3. Recommande les prochaines étapes par ordre de priorité — étapes requises d'abord, puis facultatives
|
3. Recommande les prochaines étapes par ordre de priorité — étapes requises d’abord, puis facultatives
|
||||||
4. Présente chaque recommandation avec la commande de compétence et une brève description
|
4. Présente chaque recommandation avec la commande de compétence et une brève description
|
||||||
|
|
||||||
**Entrée :** Requête optionnelle en langage naturel (par ex., `bmad-help J'ai une idée de SaaS, par où commencer ?`)
|
**Entrée :** Requête optionnelle en langage naturel (par ex., `bmad-help J'ai une idée de SaaS, par où commencer ?`)
|
||||||
|
|
@ -51,13 +51,13 @@ Exécutez n'importe quel outil principal en tapant son nom de compétence (par e
|
||||||
|
|
||||||
## bmad-brainstorming
|
## bmad-brainstorming
|
||||||
|
|
||||||
**Génère des idées diverses à travers des techniques créatives interactives.** — Une session de brainstorming facilitée qui charge des méthodes d'idéation éprouvées depuis une bibliothèque de techniques et vous guide vers plus de 100 idées avant organisation.
|
**Génère des idées diverses à travers des techniques créatives interactives.** — Une session de brainstorming facilitée qui charge des méthodes d’idéation éprouvées depuis une bibliothèque de techniques et vous guide vers plus de 100 idées avant organisation.
|
||||||
|
|
||||||
**Utilisez-le quand :**
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
- Vous commencez un nouveau projet et devez explorer l’espace problème
|
- Vous commencez un nouveau projet et devez explorer l’espace problème
|
||||||
- Vous êtes bloqué dans la génération d'idées et avez besoin de créativité structurée
|
- Vous êtes bloqué dans la génération d’idées et avez besoin de créativité structurée
|
||||||
- Vous voulez utiliser des cadres d'idéation éprouvés (SCAMPER, brainstorming inversé, etc.)
|
- Vous voulez utiliser des cadres d’idéation éprouvés (SCAMPER, brainstorming inversé, etc.)
|
||||||
|
|
||||||
**Fonctionnement :**
|
**Fonctionnement :**
|
||||||
|
|
||||||
|
|
@ -81,13 +81,13 @@ La magie se produit dans les idées 50–100. Le workflow encourage la générat
|
||||||
|
|
||||||
**Utilisez-le quand :**
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
- Vous avez besoin de multiples perspectives d'experts sur une décision
|
- Vous avez besoin de multiples perspectives d’experts sur une décision
|
||||||
- Vous voulez que les agents remettent en question les hypothèses des autres
|
- Vous voulez que les agents remettent en question les hypothèses des autres
|
||||||
- Vous explorez un sujet complexe qui couvre plusieurs domaines
|
- Vous explorez un sujet complexe qui couvre plusieurs domaines
|
||||||
|
|
||||||
**Fonctionnement :**
|
**Fonctionnement :**
|
||||||
|
|
||||||
1. Charge le manifeste d'agents avec toutes les personnalités d'agents installées
|
1. Charge le manifeste d’agents avec toutes les personnalités d’agents installées
|
||||||
2. Analyse votre sujet pour sélectionner les 2–3 agents les plus pertinents
|
2. Analyse votre sujet pour sélectionner les 2–3 agents les plus pertinents
|
||||||
3. Les agents prennent des tours pour contribuer, avec des échanges naturels et des désaccords
|
3. Les agents prennent des tours pour contribuer, avec des échanges naturels et des désaccords
|
||||||
4. Fait rouler la participation des agents pour assurer des perspectives diverses au fil du temps
|
4. Fait rouler la participation des agents pour assurer des perspectives diverses au fil du temps
|
||||||
|
|
@ -95,30 +95,30 @@ La magie se produit dans les idées 50–100. Le workflow encourage la générat
|
||||||
|
|
||||||
**Entrée :** Sujet de discussion ou question, ainsi que la spécification des personas que vous souhaitez faire participer (optionnel)
|
**Entrée :** Sujet de discussion ou question, ainsi que la spécification des personas que vous souhaitez faire participer (optionnel)
|
||||||
|
|
||||||
**Sortie :** Conversation multi-agents en temps réel avec des personnalités d'agents maintenues
|
**Sortie :** Conversation multi-agents en temps réel avec des personnalités d’agents maintenues
|
||||||
|
|
||||||
## bmad-distillator
|
## bmad-distillator
|
||||||
|
|
||||||
**Compression sans perte optimisée pour LLM de documents sources.** — Produit des distillats denses et efficaces en tokens qui préservent toute l'information pour la consommation par des LLM en aval. Vérifiable par reconstruction aller-retour.
|
**Compression sans perte optimisée pour LLM de documents sources.** — Produit des distillats denses et efficaces en tokens qui préservent toute l’information pour la consommation par des LLM en aval. Vérifiable par reconstruction aller-retour.
|
||||||
|
|
||||||
**Utilisez-le quand :**
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
- Un document est trop volumineux pour la fenêtre de contexte d'un LLM
|
- Un document est trop volumineux pour la fenêtre de contexte d’un LLM
|
||||||
- Vous avez besoin de versions économes en tokens de recherches, spécifications ou artefacts de planification
|
- Vous avez besoin de versions économes en tokens de recherches, spécifications ou artefacts de planification
|
||||||
- Vous voulez vérifier qu'aucune information n'est perdue pendant la compression
|
- Vous voulez vérifier qu’aucune information n’est perdue pendant la compression
|
||||||
- Les agents auront besoin de référencer et de trouver fréquemment des informations dedans
|
- Les agents auront besoin de référencer et de trouver fréquemment des informations dedans
|
||||||
|
|
||||||
**Fonctionnement :**
|
**Fonctionnement :**
|
||||||
|
|
||||||
1. **Analyser** — Lit les documents sources, identifie la densité d'information et la structure
|
1. **Analyser** — Lit les documents sources, identifie la densité d’information et la structure
|
||||||
2. **Compresser** — Convertit la prose en format dense de liste de points, supprime le formatage décoratif
|
2. **Compresser** — Convertit la prose en format dense de liste de points, supprime le formatage décoratif
|
||||||
3. **Vérifier** — Vérifie l'exhaustivité pour s'assurer que toute l'information originale est préservée
|
3. **Vérifier** — Vérifie l’exhaustivité pour s’assurer que toute l’information originale est préservée
|
||||||
4. **Valider** (optionnel) — Le test de reconstruction aller-retour prouve la compression sans perte
|
4. **Valider** (optionnel) — Le test de reconstruction aller-retour prouve la compression sans perte
|
||||||
|
|
||||||
**Entrée :**
|
**Entrée :**
|
||||||
|
|
||||||
- `source_documents` (requis) — Chemins de fichiers, chemins de dossiers ou motifs glob
|
- `source_documents` (requis) — Chemins de fichiers, chemins de dossiers ou motifs glob
|
||||||
- `downstream_consumer` (optionnel) — Ce qui va le consommer (par ex., "création de PRD")
|
- `downstream_consumer` (optionnel) — Ce qui va le consommer (par ex., « création de PRD »)
|
||||||
- `token_budget` (optionnel) — Taille cible approximative
|
- `token_budget` (optionnel) — Taille cible approximative
|
||||||
- `--validate` (drapeau) — Exécuter le test de reconstruction aller-retour
|
- `--validate` (drapeau) — Exécuter le test de reconstruction aller-retour
|
||||||
|
|
||||||
|
|
@ -126,7 +126,7 @@ La magie se produit dans les idées 50–100. Le workflow encourage la générat
|
||||||
|
|
||||||
## bmad-advanced-elicitation
|
## bmad-advanced-elicitation
|
||||||
|
|
||||||
**Passer la sortie du LLM à travers des méthodes de raffinement itératives.** — Sélectionne depuis une bibliothèque de techniques d'élicitation pour améliorer systématiquement le contenu à travers multiples passages.
|
**Passer la sortie du LLM à travers des méthodes de raffinement itératives.** — Sélectionne depuis une bibliothèque de techniques d’élicitation pour améliorer systématiquement le contenu à travers multiples passages.
|
||||||
|
|
||||||
**Utilisez-le quand :**
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
|
@ -136,11 +136,11 @@ La magie se produit dans les idées 50–100. Le workflow encourage la générat
|
||||||
|
|
||||||
**Fonctionnement :**
|
**Fonctionnement :**
|
||||||
|
|
||||||
1. Charge le registre de méthodes avec plus de 5 techniques d'élicitation
|
1. Charge le registre de méthodes avec plus de 5 techniques d’élicitation
|
||||||
2. Sélectionne les 5 méthodes les mieux adaptées selon le type de contenu et la complexité
|
2. Sélectionne les 5 méthodes les mieux adaptées selon le type de contenu et la complexité
|
||||||
3. Présente un menu interactif — choisissez une méthode, remélangez, ou listez tout
|
3. Présente un menu interactif — choisissez une méthode, remélangez, ou listez tout
|
||||||
4. Applique la méthode sélectionnée pour améliorer le contenu
|
4. Applique la méthode sélectionnée pour améliorer le contenu
|
||||||
5. Re-présente les options pour l'amélioration itérative jusqu'à ce que vous sélectionniez "Procéder"
|
5. Re-présente les options pour l’amélioration itérative jusqu’à ce que vous sélectionniez « Procéder »
|
||||||
|
|
||||||
**Entrée :** Section de contenu à améliorer
|
**Entrée :** Section de contenu à améliorer
|
||||||
|
|
||||||
|
|
@ -152,32 +152,32 @@ La magie se produit dans les idées 50–100. Le workflow encourage la générat
|
||||||
|
|
||||||
**Utilisez-le quand :**
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
- Vous avez besoin d'assurance qualité avant de finaliser un livrable
|
- Vous avez besoin d’assurance qualité avant de finaliser un livrable
|
||||||
- Vous voulez tester en conditions réelles une spécification, story ou document
|
- Vous voulez tester en conditions réelles une spécification, story ou document
|
||||||
- Vous voulez trouver des lacunes de couverture que les revues optimistes manquent
|
- Vous voulez trouver des lacunes de couverture que les revues optimistes manquent
|
||||||
|
|
||||||
**Fonctionnement :**
|
**Fonctionnement :**
|
||||||
|
|
||||||
1. Lit le contenu avec une perspective contradictoire et critique
|
1. Lit le contenu avec une perspective contradictoire et critique
|
||||||
2. Identifie les problèmes à travers l'exhaustivité, la justesse et la qualité
|
2. Identifie les problèmes à travers l’exhaustivité, la justesse et la qualité
|
||||||
3. Recherche spécifiquement ce qui manque — pas seulement ce qui est présent et faux
|
3. Recherche spécifiquement ce qui manque — pas seulement ce qui est présent et faux
|
||||||
4. Doit trouver un minimum de 10 problèmes ou réanalyse plus profondément
|
4. Doit trouver un minimum de 10 problèmes ou réanalyse plus profondément
|
||||||
|
|
||||||
**Entrée :**
|
**Entrée :**
|
||||||
|
|
||||||
- `content` (requis) — Diff, spécification, story, document ou tout artefact
|
- `content` (requis) — Diff, spécification, story, document ou tout artefact
|
||||||
- `also_consider` (optionnel) — Domaines supplémentaires à garder à l'esprit
|
- `also_consider` (optionnel) — Domaines supplémentaires à garder à l’esprit
|
||||||
|
|
||||||
**Sortie :** Liste markdown de plus de 10 constatations avec descriptions
|
**Sortie :** Liste markdown de plus de 10 constatations avec descriptions
|
||||||
|
|
||||||
## bmad-review-edge-case-hunter
|
## bmad-review-edge-case-hunter
|
||||||
|
|
||||||
**Parcours tous les chemins de branchement et les conditions limites, ne rapporte que les cas non gérés.** — Méthodologie pure de traçage de chemin[^1] qui dérive mécaniquement les classes de cas limites. Orthogonale à la revue contradictoire — centrée sur la méthode, pas sur l'attitude.
|
**Parcours tous les chemins de branchement et les conditions limites, ne rapporte que les cas non gérés.** — Méthodologie pure de traçage de chemin[^1] qui dérive mécaniquement les classes de cas limites. Orthogonale à la revue contradictoire — centrée sur la méthode, pas sur l’attitude.
|
||||||
|
|
||||||
**À utiliser quand :**
|
**À utiliser quand :**
|
||||||
|
|
||||||
- Vous souhaitez une couverture exhaustive des cas limites pour le code ou la logique
|
- Vous souhaitez une couverture exhaustive des cas limites pour le code ou la logique
|
||||||
- Vous avez besoin d'un complément à la revue contradictoire (méthodologie différente, résultats différents)
|
- Vous avez besoin d’un complément à la revue contradictoire (méthodologie différente, résultats différents)
|
||||||
- Vous révisez un diff ou une fonction pour des conditions limites
|
- Vous révisez un diff ou une fonction pour des conditions limites
|
||||||
|
|
||||||
**Fonctionnement :**
|
**Fonctionnement :**
|
||||||
|
|
@ -195,7 +195,7 @@ La magie se produit dans les idées 50–100. Le workflow encourage la générat
|
||||||
**Sortie :** Tableau JSON des résultats, chacun avec `location`, `trigger_condition`, `guard_snippet` et `potential_consequence`
|
**Sortie :** Tableau JSON des résultats, chacun avec `location`, `trigger_condition`, `guard_snippet` et `potential_consequence`
|
||||||
|
|
||||||
:::note[Revue Complémentaire]
|
:::note[Revue Complémentaire]
|
||||||
Exécutez à la fois `bmad-review-adversarial-general` et `bmad-review-edge-case-hunter` pour une couverture orthogonale. La revue contradictoire détecte les problèmes de qualité et de complétude ; le chasseur de cas limites détecte les chemins non gérés.
|
Exécutez à la fois `bmad-review-adversarial-general` et `bmad-review-edge-case-hunter` pour une couverture orthogonale. La revue contradictoire détecte les problèmes de qualité et de complétude ; le chasseur de cas limites détecte les chemins non gérés.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## bmad-editorial-review-prose
|
## bmad-editorial-review-prose
|
||||||
|
|
@ -225,7 +225,7 @@ Exécutez à la fois `bmad-review-adversarial-general` et `bmad-review-edge-case
|
||||||
|
|
||||||
## bmad-editorial-review-structure
|
## bmad-editorial-review-structure
|
||||||
|
|
||||||
**Édition structurelle — propose des coupes, fusions, déplacements et condensations.** — Révise l'organisation du document et propose des changements substantiels pour améliorer la clarté et le flux avant la révision de copie.
|
**Édition structurelle — propose des coupes, fusions, déplacements et condensations.** — Révise l’organisation du document et propose des changements substantiels pour améliorer la clarté et le flux avant la révision de copie.
|
||||||
|
|
||||||
**Utilisez-le quand :**
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
|
|
@ -243,7 +243,7 @@ Exécutez à la fois `bmad-review-adversarial-general` et `bmad-review-edge-case
|
||||||
**Entrée :**
|
**Entrée :**
|
||||||
|
|
||||||
- `content` (requis) — Document à réviser
|
- `content` (requis) — Document à réviser
|
||||||
- `purpose` (optionnel) — Objectif prévu (par ex., "tutoriel de démarrage rapide")
|
- `purpose` (optionnel) — Objectif prévu (par ex., « tutoriel de démarrage rapide »)
|
||||||
- `target_audience` (optionnel) — Qui lit ceci
|
- `target_audience` (optionnel) — Qui lit ceci
|
||||||
- `reader_type` (optionnel) — `humans` ou `llm`
|
- `reader_type` (optionnel) — `humans` ou `llm`
|
||||||
- `length_target` (optionnel) — Réduction cible (par ex., "30% plus court")
|
- `length_target` (optionnel) — Réduction cible (par ex., "30% plus court")
|
||||||
|
|
@ -258,14 +258,14 @@ Exécutez à la fois `bmad-review-adversarial-general` et `bmad-review-edge-case
|
||||||
|
|
||||||
- Un document markdown est devenu trop volumineux pour être géré efficacement (plus de 500 lignes)
|
- Un document markdown est devenu trop volumineux pour être géré efficacement (plus de 500 lignes)
|
||||||
- Vous voulez diviser un document monolithique en sections navigables
|
- Vous voulez diviser un document monolithique en sections navigables
|
||||||
- Vous avez besoin de fichiers séparés pour l'édition parallèle ou la gestion de contexte LLM
|
- Vous avez besoin de fichiers séparés pour l’édition parallèle ou la gestion de contexte LLM
|
||||||
|
|
||||||
**Fonctionnement :**
|
**Fonctionnement :**
|
||||||
|
|
||||||
1. Valide que le fichier source existe et est markdown
|
1. Valide que le fichier source existe et est markdown
|
||||||
2. Divise sur les en-têtes de niveau 2 (`##`) en fichiers de sections numérotées
|
2. Divise sur les en-têtes de niveau 2 (`##`) en fichiers de sections numérotées
|
||||||
3. Crée un `index.md` avec manifeste de sections et liens
|
3. Crée un `index.md` avec manifeste de sections et liens
|
||||||
4. Vous invite à supprimer, archiver ou conserver l'original
|
4. Vous invite à supprimer, archiver ou conserver l’original
|
||||||
|
|
||||||
**Entrée :** Chemin du fichier markdown source, dossier de destination optionnel
|
**Entrée :** Chemin du fichier markdown source, dossier de destination optionnel
|
||||||
|
|
||||||
|
|
@ -277,8 +277,8 @@ Exécutez à la fois `bmad-review-adversarial-general` et `bmad-review-edge-case
|
||||||
|
|
||||||
**Utilisez-le quand :**
|
**Utilisez-le quand :**
|
||||||
|
|
||||||
- Vous avez besoin d'un index léger pour un scan LLM rapide des documents disponibles
|
- Vous avez besoin d’un index léger pour un scan LLM rapide des documents disponibles
|
||||||
- Un dossier de documentation a grandi et a besoin d'une table des matières organisée
|
- Un dossier de documentation a grandi et a besoin d’une table des matières organisée
|
||||||
- Vous voulez un aperçu auto-généré qui reste à jour
|
- Vous voulez un aperçu auto-généré qui reste à jour
|
||||||
|
|
||||||
**Fonctionnement :**
|
**Fonctionnement :**
|
||||||
|
|
@ -294,5 +294,5 @@ Exécutez à la fois `bmad-review-adversarial-general` et `bmad-review-edge-case
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: Path-tracing : méthode d'analyse qui suit systématiquement tous les chemins d'exécution possibles dans un programme pour identifier les cas non gérés.
|
[^1]: Path-tracing : méthode d’analyse qui suit systématiquement tous les chemins d’exécution possibles dans un programme pour identifier les cas non gérés.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
---
|
---
|
||||||
title: Modules Officiels
|
title: Modules Officiels
|
||||||
description: Modules additionnels pour créer des agents personnalisés, de l'intelligence créative, du développement de jeux et des tests
|
description: Modules additionnels pour créer des agents personnalisés, de l’intelligence créative, du développement de jeux et des tests
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 5
|
order: 5
|
||||||
---
|
---
|
||||||
|
|
||||||
BMad s'étend via des modules officiels que vous sélectionnez lors de l'installation. Ces modules additionnels fournissent des agents, des workflows et des tâches spécialisés pour des domaines spécifiques, au-delà du noyau intégré et de BMM (suite Agile).
|
BMad s’étend via des modules officiels que vous sélectionnez lors de l’installation. Ces modules additionnels fournissent des agents, des workflows et des tâches spécialisés pour des domaines spécifiques, au-delà du noyau intégré et de BMM (suite Agile).
|
||||||
|
|
||||||
:::tip[Installer des Modules]
|
:::tip[Installer des Modules]
|
||||||
Exécutez `npx bmad-method install` et sélectionnez les modules souhaités. L'installateur gère automatiquement le téléchargement, la configuration et l'intégration IDE.
|
Exécutez `npx bmad-method install` et sélectionnez les modules souhaités. L’installateur gère automatiquement le téléchargement, la configuration et l’intégration IDE.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## BMad Builder
|
## BMad Builder
|
||||||
|
|
@ -28,7 +28,7 @@ Créez des agents personnalisés, des workflows et des modules spécifiques à u
|
||||||
|
|
||||||
## Creative Intelligence Suite
|
## Creative Intelligence Suite
|
||||||
|
|
||||||
Outils basés sur l'IA pour la créativité structurée, l'idéation et l'innovation pendant le développement en phase amont. La suite fournit plusieurs agents qui facilitent le brainstorming, le design thinking et la résolution de problèmes en utilisant des cadres éprouvés.
|
Outils basés sur l’IA pour la créativité structurée, l’idéation et l’innovation pendant le développement en phase amont. La suite fournit plusieurs agents qui facilitent le brainstorming, le design thinking et la résolution de problèmes en utilisant des cadres éprouvés.
|
||||||
|
|
||||||
- **Code :** `cis`
|
- **Code :** `cis`
|
||||||
- **npm :** [`bmad-creative-intelligence-suite`](https://www.npmjs.com/package/bmad-creative-intelligence-suite)
|
- **npm :** [`bmad-creative-intelligence-suite`](https://www.npmjs.com/package/bmad-creative-intelligence-suite)
|
||||||
|
|
@ -39,7 +39,7 @@ Outils basés sur l'IA pour la créativité structurée, l'idéation et l'innova
|
||||||
- Agents Innovation Strategist, Design Thinking Coach et Brainstorming Coach
|
- Agents Innovation Strategist, Design Thinking Coach et Brainstorming Coach
|
||||||
- Problem Solver et Creative Problem Solver pour la pensée systématique et latérale
|
- Problem Solver et Creative Problem Solver pour la pensée systématique et latérale
|
||||||
- Storyteller et Presentation Master pour les récits et les présentations
|
- Storyteller et Presentation Master pour les récits et les présentations
|
||||||
- Cadres d'idéation incluant SCAMPER[^1], Brainstorming inversé et reformulation de problèmes
|
- Cadres d’idéation incluant SCAMPER[^1], Brainstorming inversé et reformulation de problèmes
|
||||||
|
|
||||||
## Game Dev Studio
|
## Game Dev Studio
|
||||||
|
|
||||||
|
|
@ -54,11 +54,11 @@ Workflows de développement de jeux structurés adaptés pour Unity, Unreal, God
|
||||||
- Workflow de génération de Document de Design de Jeu (GDD[^3])
|
- Workflow de génération de Document de Design de Jeu (GDD[^3])
|
||||||
- Mode Quick Dev pour le prototypage rapide
|
- Mode Quick Dev pour le prototypage rapide
|
||||||
- Support de design narratif pour les personnages, dialogues et construction de monde
|
- Support de design narratif pour les personnages, dialogues et construction de monde
|
||||||
- Couverture de plus de 21 types de jeux avec des conseils d'architecture spécifiques au moteur
|
- Couverture de plus de 21 types de jeux avec des conseils d’architecture spécifiques au moteur
|
||||||
|
|
||||||
## Test Architect (TEA)
|
## Test Architect (TEA)
|
||||||
|
|
||||||
Stratégie de test de niveau entreprise, conseils d'automatisation et décisions de porte de release via un agent expert et neuf workflows structurés. TEA va bien au-delà du workflow QA intégré avec une priorisation basée sur les risques et une traçabilité des exigences.
|
Stratégie de test de niveau entreprise, conseils d’automatisation et décisions de porte de release via un agent expert et neuf workflows structurés. TEA va bien au-delà du workflow QA intégré avec une priorisation basée sur les risques et une traçabilité des exigences.
|
||||||
|
|
||||||
- **Code :** `tea`
|
- **Code :** `tea`
|
||||||
- **npm :** [`bmad-method-test-architecture-enterprise`](https://www.npmjs.com/package/bmad-method-test-architecture-enterprise)
|
- **npm :** [`bmad-method-test-architecture-enterprise`](https://www.npmjs.com/package/bmad-method-test-architecture-enterprise)
|
||||||
|
|
@ -67,7 +67,7 @@ Stratégie de test de niveau entreprise, conseils d'automatisation et décisions
|
||||||
**Fournit :**
|
**Fournit :**
|
||||||
|
|
||||||
- Agent Murat (Master Test Architect and Quality Advisor)
|
- Agent Murat (Master Test Architect and Quality Advisor)
|
||||||
- Workflows pour la conception de tests, ATDD, l'automatisation, la revue de tests et la traçabilité
|
- Workflows pour la conception de tests, ATDD, l’automatisation, la revue de tests et la traçabilité
|
||||||
- Évaluation NFR[^2], configuration CI et scaffolding de framework
|
- Évaluation NFR[^2], configuration CI et scaffolding de framework
|
||||||
- Priorisation P0-P3 avec Playwright Utils et intégrations MCP optionnelles
|
- Priorisation P0-P3 avec Playwright Utils et intégrations MCP optionnelles
|
||||||
|
|
||||||
|
|
@ -77,6 +77,6 @@ Les modules communautaires et une marketplace de modules sont à venir. Consulte
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: SCAMPER : acronyme anglais pour une technique de créativité structurée (Substitute, Combine, Adapt, Modify, Put to another use, Eliminate, Reverse) qui permet d'explorer systématiquement les modifications possibles d'un produit ou d'une idée pour générer des innovations.
|
[^1]: SCAMPER : acronyme anglais pour une technique de créativité structurée (Substitute, Combine, Adapt, Modify, Put to another use, Eliminate, Reverse) qui permet d’explorer systématiquement les modifications possibles d’un produit ou d’une idée pour générer des innovations.
|
||||||
[^2]: NFR (Non-Functional Requirement) : exigence décrivant les contraintes de qualité du système (performance, sécurité, fiabilité, ergonomie) plutôt que ses fonctionnalités.
|
[^2]: NFR (Non-Functional Requirement) : exigence décrivant les contraintes de qualité du système (performance, sécurité, fiabilité, ergonomie) plutôt que ses fonctionnalités.
|
||||||
[^3]: GDD (Game Design Document) : document de conception de jeu qui décrit en détail les mécaniques, l'univers, les personnages, les niveaux et tous les aspects du jeu à développer.
|
[^3]: GDD (Game Design Document) : document de conception de jeu qui décrit en détail les mécaniques, l’univers, les personnages, les niveaux et tous les aspects du jeu à développer.
|
||||||
|
|
|
||||||
|
|
@ -1,53 +1,53 @@
|
||||||
---
|
---
|
||||||
title: Options de Testing
|
title: Options de Testing
|
||||||
description: Comparaison du workflow QA intégré avec le module Test Architect (TEA) pour l'automatisation des tests.
|
description: Comparaison du workflow QA intégré avec le module Test Architect (TEA) pour l’automatisation des tests.
|
||||||
sidebar:
|
sidebar:
|
||||||
order: 6
|
order: 6
|
||||||
---
|
---
|
||||||
|
|
||||||
BMad propose deux approches de test : un workflow QA[^1] intégré pour une génération rapide de tests et un module Test Architect installable pour une stratégie de test de qualité entreprise.
|
BMad propose deux approches de test : un workflow QA[^1] intégré pour une génération rapide de tests et un module Test Architect installable pour une stratégie de test de qualité entreprise.
|
||||||
|
|
||||||
## Lequel Choisir ?
|
## Lequel Choisir ?
|
||||||
|
|
||||||
| Facteur | QA Intégré | Module TEA |
|
| Facteur | QA Intégré | Module TEA |
|
||||||
|-------------------------|----------------------------------------------|---------------------------------------------------------------------|
|
|-------------------------|----------------------------------------------|---------------------------------------------------------------------|
|
||||||
| **Idéal pour** | Projets petits et moyens, couverture rapide | Grands projets, domaines réglementés ou complexes |
|
| **Idéal pour** | Projets petits et moyens, couverture rapide | Grands projets, domaines réglementés ou complexes |
|
||||||
| **Installation** | Rien à installer — inclus dans BMM | Installer séparément via `npx bmad-method install` |
|
| **Installation** | Rien à installer — inclus dans BMM | Installer séparément via `npx bmad-method install` |
|
||||||
| **Approche** | Générer les tests rapidement, itérer ensuite | Planifier d'abord, puis générer avec traçabilité |
|
| **Approche** | Générer les tests rapidement, itérer ensuite | Planifier d’abord, puis générer avec traçabilité |
|
||||||
| **Types de tests** | Tests API et E2E | API, E2E, ATDD[^2], NFR, et plus |
|
| **Types de tests** | Tests API et E2E | API, E2E, ATDD[^2], NFR, et plus |
|
||||||
| **Stratégie** | Chemin nominal + cas limites critiques | Priorisation basée sur les risques (P0-P3) |
|
| **Stratégie** | Chemin nominal + cas limites critiques | Priorisation basée sur les risques (P0-P3) |
|
||||||
| **Nombre de workflows** | 1 (Automate) | 9 (conception, ATDD, automatisation, revue, traçabilité, et autres) |
|
| **Nombre de workflows** | 1 (Automate) | 9 (conception, ATDD, automatisation, revue, traçabilité, et autres) |
|
||||||
|
|
||||||
:::tip[Commencez avec le QA Intégré]
|
:::tip[Commencez avec le QA Intégré]
|
||||||
La plupart des projets devraient commencer avec le workflow QA intégré. Si vous avez ensuite besoin d'une stratégie de test, de murs de qualité ou de traçabilité des exigences, installez TEA en complément.
|
La plupart des projets devraient commencer avec le workflow QA intégré. Si vous avez ensuite besoin d’une stratégie de test, de murs de qualité ou de traçabilité des exigences, installez TEA en complément.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Workflow QA Intégré
|
## Workflow QA Intégré
|
||||||
|
|
||||||
Le workflow QA intégré (`bmad-qa-generate-e2e-tests`) fait partie du module BMM (suite Agile), disponible via l'agent Developer. Il génère rapidement des tests fonctionnels en utilisant le framework de test existant de votre projet — aucune configuration ni installation supplémentaire requise.
|
Le workflow QA intégré (`bmad-qa-generate-e2e-tests`) fait partie du module BMM (suite Agile), disponible via l’agent Developer. Il génère rapidement des tests fonctionnels en utilisant le framework de test existant de votre projet — aucune configuration ni installation supplémentaire requise.
|
||||||
|
|
||||||
**Déclencheur :** `QA` (via l'agent Developer) ou `bmad-qa-generate-e2e-tests`
|
**Déclencheur :** `QA` (via l’agent Developer) ou `bmad-qa-generate-e2e-tests`
|
||||||
|
|
||||||
### Ce que le Workflow QA Fait
|
### Ce que le Workflow QA Fait
|
||||||
|
|
||||||
Le workflow QA exécute un processus unique (Automate) qui parcourt cinq étapes :
|
Le workflow QA exécute un processus unique (Automate) qui parcourt cinq étapes :
|
||||||
|
|
||||||
1. **Détecte le framework de test** — analyse `package.json` et les fichiers de test existants pour identifier votre framework (Jest, Vitest, Playwright, Cypress, ou tout runner standard). Si aucun n'existe, analyse la pile technologique du projet et en suggère un.
|
1. **Détecte le framework de test** — analyse `package.json` et les fichiers de test existants pour identifier votre framework (Jest, Vitest, Playwright, Cypress, ou tout runner standard). Si aucun n’existe, analyse la pile technologique du projet et en suggère un.
|
||||||
2. **Identifie les fonctionnalités** — demande ce qu'il faut tester ou découvre automatiquement les fonctionnalités dans le codebase.
|
2. **Identifie les fonctionnalités** — demande ce qu’il faut tester ou découvre automatiquement les fonctionnalités dans le codebase.
|
||||||
3. **Génère les tests API** — couvre les codes de statut, la structure des réponses, le chemin nominal, et 1-2 cas d'erreur.
|
3. **Génère les tests API** — couvre les codes de statut, la structure des réponses, le chemin nominal, et 1-2 cas d’erreur.
|
||||||
4. **Génére les tests E2E** — couvre les parcours utilisateur avec des localisateurs sémantiques et des assertions sur les résultats visibles.
|
4. **Génére les tests E2E** — couvre les parcours utilisateur avec des localisateurs sémantiques et des assertions sur les résultats visibles.
|
||||||
5. **Exécute et vérifie** — lance les tests générés et corrige immédiatement les échecs.
|
5. **Exécute et vérifie** — lance les tests générés et corrige immédiatement les échecs.
|
||||||
|
|
||||||
Le workflow QA produit un résumé de test sauvegardé dans le dossier des artefacts d'implémentation de votre projet.
|
Le workflow QA produit un résumé de test sauvegardé dans le dossier des artefacts d’implémentation de votre projet.
|
||||||
|
|
||||||
### Patterns de Test
|
### Patterns de Test
|
||||||
|
|
||||||
Les tests générés suivent une philosophie "simple et maintenable" :
|
Les tests générés suivent une philosophie « simple et maintenable » :
|
||||||
|
|
||||||
- **APIs standard du framework uniquement** — pas d'utilitaires externes ni d'abstractions personnalisées
|
- **APIs standard du framework uniquement** — pas d’utilitaires externes ni d’abstractions personnalisées
|
||||||
- **Localisateurs sémantiques** pour les tests UI (rôles, labels, texte plutôt que sélecteurs CSS)
|
- **Localisateurs sémantiques** pour les tests UI (rôles, labels, texte plutôt que sélecteurs CSS)
|
||||||
- **Tests indépendants** sans dépendances d'ordre
|
- **Tests indépendants** sans dépendances d’ordre
|
||||||
- **Pas d'attentes ou de sleeps codés en dur**
|
- **Pas d’attentes ou de sleeps codés en dur**
|
||||||
- **Descriptions claires** qui se lisent comme de la documentation fonctionnelle
|
- **Descriptions claires** qui se lisent comme de la documentation fonctionnelle
|
||||||
|
|
||||||
:::note[Portée]
|
:::note[Portée]
|
||||||
|
|
@ -59,7 +59,7 @@ Le workflow QA génère uniquement des tests. Pour la revue de code et la valida
|
||||||
- Couverture de test rapide pour une fonctionnalité nouvelle ou existante
|
- Couverture de test rapide pour une fonctionnalité nouvelle ou existante
|
||||||
- Automatisation de tests accessible aux débutants sans configuration avancée
|
- Automatisation de tests accessible aux débutants sans configuration avancée
|
||||||
- Patterns de test standards que tout développeur peut lire et maintenir
|
- Patterns de test standards que tout développeur peut lire et maintenir
|
||||||
- Projets petits et moyens où une stratégie de test complète n'est pas nécessaire
|
- Projets petits et moyens où une stratégie de test complète n’est pas nécessaire
|
||||||
|
|
||||||
## Module Test Architect (TEA)
|
## Module Test Architect (TEA)
|
||||||
|
|
||||||
|
|
@ -74,13 +74,13 @@ TEA est un module autonome qui fournit un agent expert (Murat) et neuf workflows
|
||||||
| Workflow | Objectif |
|
| Workflow | Objectif |
|
||||||
|-----------------------|--------------------------------------------------------------------------------------|
|
|-----------------------|--------------------------------------------------------------------------------------|
|
||||||
| Test Design | Créer une stratégie de test complète liée aux exigences |
|
| Test Design | Créer une stratégie de test complète liée aux exigences |
|
||||||
| ATDD | Développement piloté par les tests d'acceptation avec critères des parties prenantes |
|
| ATDD | Développement piloté par les tests d’acceptation avec critères des parties prenantes |
|
||||||
| Automate | Générer des tests avec des patterns et utilitaires avancés |
|
| Automate | Générer des tests avec des patterns et utilitaires avancés |
|
||||||
| Test Review | Valider la qualité et la couverture des tests par rapport à la stratégie |
|
| Test Review | Valider la qualité et la couverture des tests par rapport à la stratégie |
|
||||||
| Traceability | Remonter les tests aux exigences pour l'audit et la conformité |
|
| Traceability | Remonter les tests aux exigences pour l’audit et la conformité |
|
||||||
| NFR Assessment | Évaluer les exigences non-fonctionnelles (performance, sécurité) |
|
| NFR Assessment | Évaluer les exigences non-fonctionnelles (performance, sécurité) |
|
||||||
| CI Setup | Configurer l'exécution des tests dans les pipelines d'intégration continue |
|
| CI Setup | Configurer l’exécution des tests dans les pipelines d’intégration continue |
|
||||||
| Framework Scaffolding | Configurer l'infrastructure de test et la structure du projet |
|
| Framework Scaffolding | Configurer l’infrastructure de test et la structure du projet |
|
||||||
| Release Gate | Prendre des décisions de livraison go/no-go basées sur les données |
|
| Release Gate | Prendre des décisions de livraison go/no-go basées sur les données |
|
||||||
|
|
||||||
TEA supporte également la priorisation basée sur les risques P0-P3 et des intégrations optionnelles avec Playwright Utils et les outils MCP.
|
TEA supporte également la priorisation basée sur les risques P0-P3 et des intégrations optionnelles avec Playwright Utils et les outils MCP.
|
||||||
|
|
@ -88,24 +88,24 @@ TEA supporte également la priorisation basée sur les risques P0-P3 et des int
|
||||||
### Quand Utiliser TEA
|
### Quand Utiliser TEA
|
||||||
|
|
||||||
- Projets nécessitant une traçabilité des exigences ou une documentation de conformité
|
- Projets nécessitant une traçabilité des exigences ou une documentation de conformité
|
||||||
- Équipes ayant besoin d'une priorisation des tests basée sur les risques sur plusieurs fonctionnalités
|
- Équipes ayant besoin d’une priorisation des tests basée sur les risques sur plusieurs fonctionnalités
|
||||||
- Environnements entreprise avec des murs de qualité formels avant livraison
|
- Environnements entreprise avec des murs de qualité formels avant livraison
|
||||||
- Domaines complexes où la stratégie de test doit être planifiée avant d'écrire les tests
|
- Domaines complexes où la stratégie de test doit être planifiée avant d’écrire les tests
|
||||||
- Projets ayant dépassé l'approche à workflow unique du QA intégré
|
- Projets ayant dépassé l’approche à workflow unique du QA intégré
|
||||||
|
|
||||||
## Comment les Tests S'Intègrent dans les Workflows
|
## Comment les Tests S’Intègrent dans les Workflows
|
||||||
|
|
||||||
Le workflow Automate du QA intégré apparaît dans la Phase 4 (Implémentation) de la carte de workflow méthode BMad. Il est conçu pour s'exécuter **après qu'un epic complet soit terminé** — une fois que toutes les stories d'un epic ont été implémentées et revues. Une séquence typique :
|
Le workflow Automate du QA intégré apparaît dans la Phase 4 (Implémentation) de la carte de workflow méthode BMad. Il est conçu pour s’exécuter **après qu’un epic complet soit terminé** — une fois que toutes les stories d’un epic ont été implémentées et revues. Une séquence typique :
|
||||||
|
|
||||||
1. Pour chaque story de l'epic : implémenter avec Dev Story (`DS`), puis valider avec Code Review (`CR`)
|
1. Pour chaque story de l’epic : implémenter avec Dev Story (`DS`), puis valider avec Code Review (`CR`)
|
||||||
2. Après la fin de l'epic : générer les tests avec `QA` (via l'agent Developer) ou le workflow Automate de TEA
|
2. Après la fin de l’epic : générer les tests avec `QA` (via l’agent Developer) ou le workflow Automate de TEA
|
||||||
3. Lancer la rétrospective (`bmad-retrospective`) pour capturer les leçons apprises
|
3. Lancer la rétrospective (`bmad-retrospective`) pour capturer les leçons apprises
|
||||||
|
|
||||||
Le workflow QA travaille directement à partir du code source sans charger les documents de planification (PRD, architecture). Les workflows TEA peuvent s'intégrer avec les artefacts de planification en amont pour la traçabilité.
|
Le workflow QA travaille directement à partir du code source sans charger les documents de planification (PRD, architecture). Les workflows TEA peuvent s’intégrer avec les artefacts de planification en amont pour la traçabilité.
|
||||||
|
|
||||||
Pour en savoir plus sur la place des tests dans le processus global, consultez la [Carte des Workflows](./workflow-map.md).
|
Pour en savoir plus sur la place des tests dans le processus global, consultez la [Carte des Workflows](./workflow-map.md).
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: QA (Quality Assurance) : assurance qualité, ensemble des processus et activités visant à garantir que le produit logiciel répond aux exigences de qualité définies.
|
[^1]: QA (Quality Assurance) : assurance qualité, ensemble des processus et activités visant à garantir que le produit logiciel répond aux exigences de qualité définies.
|
||||||
[^2]: ATDD (Acceptance Test-Driven Development) : méthode de développement où les tests d'acceptation sont écrits avant le code, en collaboration avec les parties prenantes pour définir les critères de réussite.
|
[^2]: ATDD (Acceptance Test-Driven Development) : méthode de développement où les tests d’acceptation sont écrits avant le code, en collaboration avec les parties prenantes pour définir les critères de réussite.
|
||||||
|
|
|
||||||
|
|
@ -5,23 +5,23 @@ sidebar:
|
||||||
order: 1
|
order: 1
|
||||||
---
|
---
|
||||||
|
|
||||||
La méthode BMad (BMM) est un module de l'écosystème BMad, conçu pour appliquer les meilleures pratiques d'ingénierie du
|
La méthode BMad (BMM) est un module de l’écosystème BMad, conçu pour appliquer les meilleures pratiques d’ingénierie du
|
||||||
contexte et de planification. Les agents IA sont plus performants lorsqu'ils disposent d'un contexte clair et structuré. Le
|
contexte et de planification. Les agents IA sont plus performants lorsqu’ils disposent d’un contexte clair et structuré. Le
|
||||||
système BMM construit ce contexte de manière progressive, en 4 phases distinctes — chaque phase, ainsi que les workflows
|
système BMM construit ce contexte de manière progressive, en 4 phases distinctes — chaque phase, ainsi que les workflows
|
||||||
optionnels qu'elle contient, produit des documents qui nourrissent la phase suivante. Ainsi, les agents savent toujours
|
optionnels qu’elle contient, produit des documents qui nourrissent la phase suivante. Ainsi, les agents savent toujours
|
||||||
ce qu'ils doivent construire et pourquoi.
|
ce qu’ils doivent construire et pourquoi.
|
||||||
|
|
||||||
La logique et les concepts sous-jacents s'appuient sur les méthodologies agiles, largement éprouvées dans l'industrie
|
La logique et les concepts sous-jacents s’appuient sur les méthodologies agiles, largement éprouvées dans l’industrie
|
||||||
comme cadre de référence.
|
comme cadre de référence.
|
||||||
|
|
||||||
Si vous ne savez plus où vous en êtes, le skill `bmad-help` vous remettra sur la bonne voie ou vous indiquera la prochaine
|
Si vous ne savez plus où vous en êtes, le skill `bmad-help` vous remettra sur la bonne voie ou vous indiquera la prochaine
|
||||||
étape. Cette page reste une référence utile, mais `bmad-help` est interactif et bien plus rapide si vous avez déjà installé
|
étape. Cette page reste une référence utile, mais `bmad-help` est interactif et bien plus rapide si vous avez déjà installé
|
||||||
la méthode BMad. Par ailleurs, si vous utilisez des modules ayant étendu la méthode BMad ou ajouté d'autres modules
|
la méthode BMad. Par ailleurs, si vous utilisez des modules ayant étendu la méthode BMad ou ajouté d’autres modules
|
||||||
complémentaires non extensibles, `bmad-help` s'adapte automatiquement pour couvrir tout ce qui est disponible et vous
|
complémentaires non extensibles, `bmad-help` s’adapte automatiquement pour couvrir tout ce qui est disponible et vous
|
||||||
fournir les meilleurs conseils en temps réel.
|
fournir les meilleurs conseils en temps réel.
|
||||||
|
|
||||||
Note importante : chaque workflow ci-dessous peut être exécuté directement via un skill avec l'outil de votre choix, ou
|
Note importante : chaque workflow ci-dessous peut être exécuté directement via un skill avec l’outil de votre choix, ou
|
||||||
en chargeant d'abord un agent depuis le menu des agents.
|
en chargeant d’abord un agent depuis le menu des agents.
|
||||||
|
|
||||||
<iframe src="/workflow-map-diagram-fr.html" title="Diagramme de la carte des workflows de la méthode BMad" width="100%" height="100%" style="border-radius: 8px; border: 1px solid #334155; min-height: 900px;"></iframe>
|
<iframe src="/workflow-map-diagram-fr.html" title="Diagramme de la carte des workflows de la méthode BMad" width="100%" height="100%" style="border-radius: 8px; border: 1px solid #334155; min-height: 900px;"></iframe>
|
||||||
|
|
||||||
|
|
@ -31,35 +31,35 @@ en chargeant d'abord un agent depuis le menu des agents.
|
||||||
|
|
||||||
## Phase 1 : Analyse (Optionnelle)
|
## Phase 1 : Analyse (Optionnelle)
|
||||||
|
|
||||||
Explorez l'espace problème et validez vos idées avant de vous lancer dans la planification. [**Découvrez ce que fait
|
Explorez l’espace problème et validez vos idées avant de vous lancer dans la planification. [**Découvrez ce que fait
|
||||||
chaque outil et quand l'utiliser**](../explanation/analysis-phase.md).
|
chaque outil et quand l’utiliser**](../explanation/analysis-phase.md).
|
||||||
|
|
||||||
| Workflow | Objectif | Livrable |
|
| Workflow | Objectif | Livrable |
|
||||||
|---------------------------------------------------------------------------|--------------------------------------------------------------------------------|---------------------------|
|
|---------------------------------------------------------------------------|--------------------------------------------------------------------------------|---------------------------|
|
||||||
| `bmad-brainstorming` | Brainstormez des idées de projet, animé par un coach de brainstorming dédié | `brainstorming-report.md` |
|
| `bmad-brainstorming` | Brainstormez des idées de projet, animé par un coach de brainstorming dédié | `brainstorming-report.md` |
|
||||||
| `bmad-domain-research`, `bmad-market-research`, `bmad-technical-research` | Validez vos hypothèses de marché, techniques ou liées au domaine | Rapport de recherches |
|
| `bmad-domain-research`, `bmad-market-research`, `bmad-technical-research` | Validez vos hypothèses de marché, techniques ou liées au domaine | Rapport de recherches |
|
||||||
| `bmad-product-brief` | Formalisez la vision stratégique — idéal lorsque votre concept est bien défini | `product-brief.md` |
|
| `bmad-product-brief` | Formalisez la vision stratégique — idéal lorsque votre concept est bien défini | `product-brief.md` |
|
||||||
| `bmad-prfaq` | Working Backwards — mettez à l'épreuve et affinez votre concept produit | `prfaq-{project}.md` |
|
| `bmad-prfaq` | Working Backwards — mettez à l’épreuve et affinez votre concept produit | `prfaq-{project}.md` |
|
||||||
|
|
||||||
## Phase 2 : Planification
|
## Phase 2 : Planification
|
||||||
|
|
||||||
Définissez ce qu'il faut construire et pour qui.
|
Définissez ce qu’il faut construire et pour qui.
|
||||||
|
|
||||||
| Workflow | Objectif | Livrable |
|
| Workflow | Objectif | Livrable |
|
||||||
|-------------------------|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------|
|
|-------------------------|--------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------|
|
||||||
| `bmad-prd` | Créez, mettez à jour ou validez un PRD[^1] — découverte accompagnée, trois intentions en un seul skill | Création/Mise à jour : `prd.md`, `addendum.md`, `decision-log.md` ; Validation : `validation-report.html` + `.md` |
|
| `bmad-prd` | Créez, mettez à jour ou validez un PRD[^1] — découverte accompagnée, trois intentions en un seul skill | Création/Mise à jour : `prd.md`, `addendum.md`, `decision-log.md` ; Validation : `validation-report.html` + `.md` |
|
||||||
| `bmad-create-ux-design` | Concevez l'expérience utilisateur (lorsque l'UX compte) | `ux-spec.md` |
|
| `bmad-create-ux-design` | Concevez l’expérience utilisateur (lorsque l’UX compte) | `ux-spec.md` |
|
||||||
|
|
||||||
:::tip[Trois intentions en un seul skill]
|
:::tip[Trois intentions en un seul skill]
|
||||||
`bmad-prd` couvre l'intégralité du cycle de vie du PRD. Précisez votre intention lors de l'appel, sinon le skill vous la demandera :
|
`bmad-prd` couvre l’intégralité du cycle de vie du PRD. Précisez votre intention lors de l’appel, sinon le skill vous la demandera :
|
||||||
|
|
||||||
- **Créer** — nouveau PRD à partir de zéro via une découverte accompagnée ; produit `prd.md`, `addendum.md` et `decision-log.md`
|
- **Créer** — nouveau PRD à partir de zéro via une découverte accompagnée ; produit `prd.md`, `addendum.md` et `decision-log.md`
|
||||||
- **Mettre à jour** — réconcilie un PRD existant avec un signal de changement, en mettant en évidence les conflits avant d'appliquer les modifications
|
- **Mettre à jour** — réconcilie un PRD existant avec un signal de changement, en mettant en évidence les conflits avant d’appliquer les modifications
|
||||||
- **Valider** — évalue un PRD à l'aide d'une liste de contrôle configurable et produit un rapport de constats structuré au format HTML
|
- **Valider** — évalue un PRD à l’aide d’une liste de contrôle configurable et produit un rapport de constats structuré au format HTML
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::tip[En amont : `bmad-product-brief`]
|
:::tip[En amont : `bmad-product-brief`]
|
||||||
`bmad-product-brief` (Phase 1) produit un `product-brief.md` que `bmad-prd` peut exploiter lors de la découverte, réduisant les redondances et gardant les deux documents alignés. Aucun des deux skills ne nécessite l'autre — commencez directement par `bmad-prd` si vous savez déjà ce que vous construisez.
|
`bmad-product-brief` (Phase 1) produit un `product-brief.md` que `bmad-prd` peut exploiter lors de la découverte, réduisant les redondances et gardant les deux documents alignés. Aucun des deux skills ne nécessite l’autre — commencez directement par `bmad-prd` si vous savez déjà ce que vous construisez.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Phase 3 : Conception de la Solution
|
## Phase 3 : Conception de la Solution
|
||||||
|
|
@ -69,22 +69,22 @@ Décidez comment le construire et décomposez le travail en stories.
|
||||||
| Workflow | Objectif | Livrable |
|
| Workflow | Objectif | Livrable |
|
||||||
|---------------------------------------|---------------------------------------------------|--------------------------------|
|
|---------------------------------------|---------------------------------------------------|--------------------------------|
|
||||||
| `bmad-create-architecture` | Rendez explicites les décisions techniques | `architecture.md` avec ADRs[^2] |
|
| `bmad-create-architecture` | Rendez explicites les décisions techniques | `architecture.md` avec ADRs[^2] |
|
||||||
| `bmad-create-epics-and-stories` | Décomposez les exigences en tâches implémentables | Fichiers d'epic avec stories |
|
| `bmad-create-epics-and-stories` | Décomposez les exigences en tâches implémentables | Fichiers d’epic avec stories |
|
||||||
| `bmad-check-implementation-readiness` | Jalon de validation avant implémentation | Décision OK / RÉSERVES / ÉCHEC |
|
| `bmad-check-implementation-readiness` | Jalon de validation avant implémentation | Décision OK / RÉSERVES / ÉCHEC |
|
||||||
|
|
||||||
## Phase 4 : Implémentation
|
## Phase 4 : Implémentation
|
||||||
|
|
||||||
Construisez, une story à la fois. L'automatisation complète de la phase 4 arrive bientôt !
|
Construisez, une story à la fois. L’automatisation complète de la phase 4 arrive bientôt !
|
||||||
|
|
||||||
| Workflow | Objectif | Livrable |
|
| Workflow | Objectif | Livrable |
|
||||||
|------------------------|--------------------------------------------------------------------------------------|----------------------------------|
|
|------------------------|--------------------------------------------------------------------------------------|----------------------------------|
|
||||||
| `bmad-sprint-planning` | Initialisez le suivi (une fois par projet, pour séquencer le cycle de développement) | `sprint-status.yaml` |
|
| `bmad-sprint-planning` | Initialisez le suivi (une fois par projet, pour séquencer le cycle de développement) | `sprint-status.yaml` |
|
||||||
| `bmad-create-story` | Préparez la story suivante pour implémentation | `story-[slug].md` |
|
| `bmad-create-story` | Préparez la story suivante pour implémentation | `story-[slug].md` |
|
||||||
| `bmad-dev-story` | Implémentez la story | Code fonctionnel + tests |
|
| `bmad-dev-story` | Implémentez la story | Code fonctionnel + tests |
|
||||||
| `bmad-code-review` | Validez la qualité de l'implémentation | Approuvé ou changements demandés |
|
| `bmad-code-review` | Validez la qualité de l’implémentation | Approuvé ou changements demandés |
|
||||||
| `bmad-correct-course` | Gérez les changements significatifs en cours de sprint | Plan mis à jour ou réorientation |
|
| `bmad-correct-course` | Gérez les changements significatifs en cours de sprint | Plan mis à jour ou réorientation |
|
||||||
| `bmad-sprint-status` | Suivez la progression du sprint et le statut des stories | Mise à jour du statut du sprint |
|
| `bmad-sprint-status` | Suivez la progression du sprint et le statut des stories | Mise à jour du statut du sprint |
|
||||||
| `bmad-retrospective` | Bilan après l'achèvement d'un epic | Leçons apprises |
|
| `bmad-retrospective` | Bilan après l’achèvement d’un epic | Leçons apprises |
|
||||||
| `bmad-investigate` | Analyse forensique avec conclusions pondérées par les preuves, adaptée au cas traité | `{slug}-investigation.md` |
|
| `bmad-investigate` | Analyse forensique avec conclusions pondérées par les preuves, adaptée au cas traité | `{slug}-investigation.md` |
|
||||||
|
|
||||||
## Flux Rapide (Parcours Parallèle)
|
## Flux Rapide (Parcours Parallèle)
|
||||||
|
|
@ -93,27 +93,27 @@ Ignorez les phases 1 à 3 pour les travaux de faible envergure et bien cernés.
|
||||||
|
|
||||||
| Workflow | Objectif | Livrable |
|
| Workflow | Objectif | Livrable |
|
||||||
|------------------|---------------------------------------------------------------------------------------|--------------------|
|
|------------------|---------------------------------------------------------------------------------------|--------------------|
|
||||||
| `bmad-quick-dev` | Flux rapide unifié — clarifiez l'intention, planifiez, implémentez, révisez et livrez | `spec-*.md` + code |
|
| `bmad-quick-dev` | Flux rapide unifié — clarifiez l’intention, planifiez, implémentez, révisez et livrez | `spec-*.md` + code |
|
||||||
|
|
||||||
## Gestion du Contexte
|
## Gestion du Contexte
|
||||||
|
|
||||||
Chaque document nourrit le contexte de la phase suivante. Le PRD indique à l'architecte les contraintes à respecter.
|
Chaque document nourrit le contexte de la phase suivante. Le PRD indique à l’architecte les contraintes à respecter.
|
||||||
L'architecture précise à l'agent de développement les modèles à suivre. Les fichiers de story fournissent un contexte
|
L’architecture précise à l’agent de développement les modèles à suivre. Les fichiers de story fournissent un contexte
|
||||||
ciblé et exhaustif pour l'implémentation. Sans cette structure, les agents prennent des décisions incohérentes.
|
ciblé et exhaustif pour l’implémentation. Sans cette structure, les agents prennent des décisions incohérentes.
|
||||||
|
|
||||||
### Contexte du Projet
|
### Contexte du Projet
|
||||||
|
|
||||||
:::tip[Recommandé]
|
:::tip[Recommandé]
|
||||||
Créez `project-context.md` pour que les agents IA respectent les règles et préférences de votre projet. Ce fichier agit
|
Créez `project-context.md` pour que les agents IA respectent les règles et préférences de votre projet. Ce fichier agit
|
||||||
comme une charte pour votre projet — il oriente les décisions d'implémentation à travers tous les workflows. Ce fichier
|
comme une charte pour votre projet — il oriente les décisions d’implémentation à travers tous les workflows. Ce fichier
|
||||||
optionnel peut être généré à la fin de la création de l'architecture, ou, dans un projet existant, pour capturer les
|
optionnel peut être généré à la fin de la création de l’architecture, ou, dans un projet existant, pour capturer les
|
||||||
éléments clés et les garder alignés avec les conventions en vigueur.
|
éléments clés et les garder alignés avec les conventions en vigueur.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
**Comment le créer :**
|
**Comment le créer :**
|
||||||
|
|
||||||
- **Manuellement** — Créez `_bmad-output/project-context.md` avec votre stack technique et vos règles d'implémentation
|
- **Manuellement** — Créez `_bmad-output/project-context.md` avec votre stack technique et vos règles d’implémentation
|
||||||
- **Générez-le** — Exécutez `bmad-generate-project-context` pour l'auto-générer à partir de votre architecture ou de votre codebase
|
- **Générez-le** — Exécutez `bmad-generate-project-context` pour l’auto-générer à partir de votre architecture ou de votre codebase
|
||||||
|
|
||||||
[**En savoir plus sur project-context.md**](../explanation/project-context.md)
|
[**En savoir plus sur project-context.md**](../explanation/project-context.md)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,17 +30,17 @@ La Méthode BMad, BMad Method Module (BMM) et BMad Builder (BMB) évoluent. Voic
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">📦</span>
|
<span class="roadmap-emoji">📦</span>
|
||||||
<h4>Skills Centralisés</h4>
|
<h4>Skills Centralisés</h4>
|
||||||
<p>Installez une fois, utilisez partout. Partagez des skills entre projets sans l'encombrement de fichiers.</p>
|
<p>Installez une fois, utilisez partout. Partagez des skills entre projets sans l’encombrement de fichiers.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">🔄</span>
|
<span class="roadmap-emoji">🔄</span>
|
||||||
<h4>Skills Adaptatifs</h4>
|
<h4>Skills Adaptatifs</h4>
|
||||||
<p>Des skills qui connaissent vos outils. Des variantes optimisées pour Claude, Codex, Kimi et OpenCode, et bien d'autres encore.</p>
|
<p>Des skills qui connaissent vos outils. Des variantes optimisées pour Claude, Codex, Kimi et OpenCode, et bien d’autres encore.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">📝</span>
|
<span class="roadmap-emoji">📝</span>
|
||||||
<h4>Blog BMad Team Pros</h4>
|
<h4>Blog BMad Team Pros</h4>
|
||||||
<p>Guides, articles et perspectives de l'équipe. Lancement prochainement.</p>
|
<p>Guides, articles et perspectives de l’équipe. Lancement prochainement.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -60,12 +60,12 @@ La Méthode BMad, BMad Method Module (BMM) et BMad Builder (BMB) évoluent. Voic
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">🚀</span>
|
<span class="roadmap-emoji">🚀</span>
|
||||||
<h4>Optimisation Phases 1-3</h4>
|
<h4>Optimisation Phases 1-3</h4>
|
||||||
<p>Planification éclair avec collecte de contexte par sous-agents. Le mode YOLO rencontre l'excellence guidée.</p>
|
<p>Planification éclair avec collecte de contexte par sous-agents. Le mode YOLO rencontre l’excellence guidée.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">🌐</span>
|
<span class="roadmap-emoji">🌐</span>
|
||||||
<h4>Prêt pour l'Entreprise</h4>
|
<h4>Prêt pour l’Entreprise</h4>
|
||||||
<p>SSO, journaux d'audit, espaces de travail d'équipe. Toutes les choses ennuyantes qui feront dire oui aux entreprises.</p>
|
<p>SSO, journaux d’audit, espaces de travail d’équipe. Toutes les choses ennuyantes qui feront dire oui aux entreprises.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">💎</span>
|
<span class="roadmap-emoji">💎</span>
|
||||||
|
|
@ -75,7 +75,7 @@ La Méthode BMad, BMad Method Module (BMM) et BMad Builder (BMB) évoluent. Voic
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">⚡</span>
|
<span class="roadmap-emoji">⚡</span>
|
||||||
<h4>Automatisation de la Boucle de Développement</h4>
|
<h4>Automatisation de la Boucle de Développement</h4>
|
||||||
<p>Pilote automatique optionnel pour le développement. Laissez l'IA gérer le flux tout en maintenant une qualité optimale.</p>
|
<p>Pilote automatique optionnel pour le développement. Laissez l’IA gérer le flux tout en maintenant une qualité optimale.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -85,12 +85,12 @@ La Méthode BMad, BMad Method Module (BMM) et BMad Builder (BMB) évoluent. Voic
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">🎙️</span>
|
<span class="roadmap-emoji">🎙️</span>
|
||||||
<h4>Le Podcast de la Méthode BMad</h4>
|
<h4>Le Podcast de la Méthode BMad</h4>
|
||||||
<p>Conversations sur le développement natif IA. Lancement le 1er mars 2026 !</p>
|
<p>Conversations sur le développement natif IA. Lancement le 1er mars 2026 !</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">🎓</span>
|
<span class="roadmap-emoji">🎓</span>
|
||||||
<h4>Le Master Class de la Méthode BMad</h4>
|
<h4>Le Master Class de la Méthode BMad</h4>
|
||||||
<p>Passez d'utilisateur à expert. Approfondissements dans chaque phase, chaque workflow, chaque secret.</p>
|
<p>Passez d’utilisateur à expert. Approfondissements dans chaque phase, chaque workflow, chaque secret.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">🏗️</span>
|
<span class="roadmap-emoji">🏗️</span>
|
||||||
|
|
@ -100,17 +100,17 @@ La Méthode BMad, BMad Method Module (BMM) et BMad Builder (BMB) évoluent. Voic
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">⚡</span>
|
<span class="roadmap-emoji">⚡</span>
|
||||||
<h4>BMad Prototype First</h4>
|
<h4>BMad Prototype First</h4>
|
||||||
<p>De l'idée au prototype fonctionnel en une seule session. Créez l'application de vos rêves comme une œuvre d'art.</p>
|
<p>De l’idée au prototype fonctionnel en une seule session. Créez l’application de vos rêves comme une œuvre d’art.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">🌴</span>
|
<span class="roadmap-emoji">🌴</span>
|
||||||
<h4>BMad BALM !</h4>
|
<h4>BMad BALM !</h4>
|
||||||
<p>Gestion de vie native IA. Tâches, habitudes, objectifs : votre copilote IA pour tout.</p>
|
<p>Gestion de vie native IA. Tâches, habitudes, objectifs : votre copilote IA pour tout.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">🖥️</span>
|
<span class="roadmap-emoji">🖥️</span>
|
||||||
<h4>UI Officielle</h4>
|
<h4>UI Officielle</h4>
|
||||||
<p>Une belle interface pour tout l'écosystème BMad. La puissance de la CLI, le polissage de l'interface graphique.</p>
|
<p>Une belle interface pour tout l’écosystème BMad. La puissance de la CLI, le polissage de l’interface graphique.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="roadmap-future-card">
|
<div class="roadmap-future-card">
|
||||||
<span class="roadmap-emoji">🔒</span>
|
<span class="roadmap-emoji">🔒</span>
|
||||||
|
|
@ -122,8 +122,8 @@ La Méthode BMad, BMad Method Module (BMM) et BMad Builder (BMB) évoluent. Voic
|
||||||
<div style="text-align: center; margin-top: 3rem; padding: 2rem; background: var(--color-bg-card); border-radius: 12px; border: 1px solid var(--color-border);">
|
<div style="text-align: center; margin-top: 3rem; padding: 2rem; background: var(--color-bg-card); border-radius: 12px; border: 1px solid var(--color-border);">
|
||||||
<h3 style="margin: 0 0 1rem;">Envie de contribuer ?</h3>
|
<h3 style="margin: 0 0 1rem;">Envie de contribuer ?</h3>
|
||||||
<p style="color: var(--slate-color-400); margin: 0;">
|
<p style="color: var(--slate-color-400); margin: 0;">
|
||||||
Ce n'est qu'une liste partielle de ce qui est prévu. L'équipe Open Source BMad accueille les contributeurs !{" "}<br />
|
Ce n'est qu'une liste partielle de ce qui est prévu. L’équipe Open Source BMad accueille les contributeurs !{" "}<br />
|
||||||
<a href="https://github.com/bmad-code-org/BMAD-METHOD" style="color: var(--color-in-progress);">Rejoignez-nous sur GitHub</a> pour aider à façonner l'avenir du développement propulsé par l'IA.
|
<a href="https://github.com/bmad-code-org/BMAD-METHOD" style="color: var(--color-in-progress);">Rejoignez-nous sur GitHub</a> pour aider à façonner l’avenir du développement propulsé par l’IA.
|
||||||
</p>
|
</p>
|
||||||
<p style="color: var(--slate-color-400); margin: 1.5rem 0 0;">
|
<p style="color: var(--slate-color-400); margin: 1.5rem 0 0;">
|
||||||
Vous aimez ce que nous construisons ? Nous apprécions le soutien ponctuel et mensuel sur{" "}<a href="https://buymeacoffee.com/bmad" style="color: var(--color-in-progress);">Buy Me a Coffee</a>.
|
Vous aimez ce que nous construisons ? Nous apprécions le soutien ponctuel et mensuel sur{" "}<a href="https://buymeacoffee.com/bmad" style="color: var(--color-in-progress);">Buy Me a Coffee</a>.
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ title: "Premiers pas"
|
||||||
description: Installer BMad et développer votre premier projet
|
description: Installer BMad et développer votre premier projet
|
||||||
---
|
---
|
||||||
|
|
||||||
Accélérez le développement de vos applications grâce à des workflows alimentés par l'IA et des agents spécialisés qui vous guident dans la planification, l'architecture et l'implémentation.
|
Accélérez le développement de vos applications grâce à des workflows alimentés par l’IA et des agents spécialisés qui vous guident dans la planification, l’architecture et l’implémentation.
|
||||||
|
|
||||||
## Ce que vous allez apprendre
|
## Ce que vous allez apprendre
|
||||||
|
|
||||||
|
|
@ -14,10 +14,10 @@ Accélérez le développement de vos applications grâce à des workflows alimen
|
||||||
- Utiliser efficacement les agents et les workflows
|
- Utiliser efficacement les agents et les workflows
|
||||||
|
|
||||||
:::note[Prérequis]
|
:::note[Prérequis]
|
||||||
- **Node.js 20.12+** — Nécessaire pour l'installation
|
- **Node.js 20.12+** — Nécessaire pour l’installation
|
||||||
- **Git** — Recommandé pour la gestion de versions
|
- **Git** — Recommandé pour la gestion de versions
|
||||||
- **IDE avec IA intégrée** — Claude Code, Cursor ou équivalent
|
- **IDE avec IA intégrée** — Claude Code, Cursor ou équivalent
|
||||||
- **Une idée de projet** — Même simple, elle fera l'affaire pour commencer
|
- **Une idée de projet** — Même simple, elle fera l’affaire pour commencer
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::tip[Le chemin le plus rapide]
|
:::tip[Le chemin le plus rapide]
|
||||||
|
|
@ -33,7 +33,7 @@ Accélérez le développement de vos applications grâce à des workflows alimen
|
||||||
- **Inspecter votre projet** pour voir ce qui a déjà été fait
|
- **Inspecter votre projet** pour voir ce qui a déjà été fait
|
||||||
- **Vous présenter vos options** en fonction des modules installés
|
- **Vous présenter vos options** en fonction des modules installés
|
||||||
- **Vous recommander la prochaine étape** — y compris la première tâche obligatoire
|
- **Vous recommander la prochaine étape** — y compris la première tâche obligatoire
|
||||||
- **Répondre à vos questions**, par exemple : « J'ai une idée de SaaS, par où commencer ? »
|
- **Répondre à vos questions**, par exemple : « J’ai une idée de SaaS, par où commencer ? »
|
||||||
|
|
||||||
### Comment utiliser BMad-Help
|
### Comment utiliser BMad-Help
|
||||||
|
|
||||||
|
|
@ -43,7 +43,7 @@ Dans votre IDE IA, invoquez le skill :
|
||||||
bmad-help
|
bmad-help
|
||||||
```
|
```
|
||||||
|
|
||||||
Ou accompagnez-le d'une question pour obtenir des conseils contextualisés :
|
Ou accompagnez-le d’une question pour obtenir des conseils contextualisés :
|
||||||
|
|
||||||
```
|
```
|
||||||
bmad-help J'ai une idée de produit SaaS, je connais déjà toutes les fonctionnalités que je veux. Par où dois-je commencer ?
|
bmad-help J'ai une idée de produit SaaS, je connais déjà toutes les fonctionnalités que je veux. Par où dois-je commencer ?
|
||||||
|
|
@ -65,13 +65,13 @@ Après avoir installé BMad, invoquez immédiatement le skill `bmad-help`. Il d
|
||||||
|
|
||||||
## Comprendre BMad
|
## Comprendre BMad
|
||||||
|
|
||||||
BMad vous aide à développer des logiciels grâce à des workflows guidés par des agents IA spécialisés. Le processus s'articule en quatre phases :
|
BMad vous aide à développer des logiciels grâce à des workflows guidés par des agents IA spécialisés. Le processus s’articule en quatre phases :
|
||||||
|
|
||||||
| Phase | Nom | Ce qui se passe |
|
| Phase | Nom | Ce qui se passe |
|
||||||
|-------|----------------|----------------------------------------------------------------|
|
|-------|----------------|----------------------------------------------------------------|
|
||||||
| 1 | Analyse | Brainstorming, recherche, product brief ou PRFAQ _(optionnel)_ |
|
| 1 | Analyse | Brainstorming, recherche, product brief ou PRFAQ _(optionnel)_ |
|
||||||
| 2 | Planification | Définir les exigences (PRD[^1] ou spécification technique) |
|
| 2 | Planification | Définir les exigences (PRD[^1] ou spécification technique) |
|
||||||
| 3 | Solutioning | Concevoir l'architecture _(BMad Method/Enterprise uniquement)_ |
|
| 3 | Solutioning | Concevoir l’architecture _(BMad Method/Enterprise uniquement)_ |
|
||||||
| 4 | Implémentation | Développer epic[^2] par epic, story[^3] par story |
|
| 4 | Implémentation | Développer epic[^2] par epic, story[^3] par story |
|
||||||
|
|
||||||
**[Ouvrez la carte des workflows](../reference/workflow-map.md)** pour explorer les phases, les workflows et la gestion du contexte.
|
**[Ouvrez la carte des workflows](../reference/workflow-map.md)** pour explorer les phases, les workflows et la gestion du contexte.
|
||||||
|
|
@ -85,7 +85,7 @@ Selon la complexité de votre projet, BMad propose trois voies de planification
|
||||||
| **Enterprise** | Conformité, systèmes multi-tenant[^5] (30+ stories) | PRD + Architecture + Security + DevOps |
|
| **Enterprise** | Conformité, systèmes multi-tenant[^5] (30+ stories) | PRD + Architecture + Security + DevOps |
|
||||||
|
|
||||||
:::note
|
:::note
|
||||||
Le nombre de stories est indicatif, pas strictement défini. Choisissez votre voie en fonction de vos besoins de planification, pas d'un simple décompte de stories.
|
Le nombre de stories est indicatif, pas strictement défini. Choisissez votre voie en fonction de vos besoins de planification, pas d’un simple décompte de stories.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
@ -98,12 +98,12 @@ npx bmad-method install
|
||||||
|
|
||||||
Si vous préférez la dernière version préliminaire au lieu du canal de publication par défaut, utilisez `npx bmad-method@next install`.
|
Si vous préférez la dernière version préliminaire au lieu du canal de publication par défaut, utilisez `npx bmad-method@next install`.
|
||||||
|
|
||||||
À l'invite de sélection des modules, choisissez **BMad Method**.
|
À l’invite de sélection des modules, choisissez **BMad Method**.
|
||||||
|
|
||||||
L'installateur crée deux dossiers :
|
L’installateur crée deux dossiers :
|
||||||
|
|
||||||
- `_bmad/` — agents, workflows, tâches et configuration
|
- `_bmad/` — agents, workflows, tâches et configuration
|
||||||
- `_bmad-output/` — vide pour le moment, mais c'est là que seront enregistrés vos artefacts
|
- `_bmad-output/` — vide pour le moment, mais c’est là que seront enregistrés vos artefacts
|
||||||
|
|
||||||
:::tip[Votre prochaine étape]
|
:::tip[Votre prochaine étape]
|
||||||
Ouvrez votre IDE avec IA dans le dossier du projet et exécutez :
|
Ouvrez votre IDE avec IA dans le dossier du projet et exécutez :
|
||||||
|
|
@ -112,15 +112,15 @@ Ouvrez votre IDE avec IA dans le dossier du projet et exécutez :
|
||||||
bmad-help
|
bmad-help
|
||||||
```
|
```
|
||||||
|
|
||||||
BMad-Help détectera ce que vous avez déjà accompli et vous recommandera exactement la suite. Vous pouvez aussi lui poser des questions comme « Quelles sont mes options ? » ou « J'ai une idée de SaaS, par où devrais-je commencer ? »
|
BMad-Help détectera ce que vous avez déjà accompli et vous recommandera exactement la suite. Vous pouvez aussi lui poser des questions comme « Quelles sont mes options ? » ou « J’ai une idée de SaaS, par où devrais-je commencer ? »
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::note[Comment charger les agents et exécuter les workflows]
|
:::note[Comment charger les agents et exécuter les workflows]
|
||||||
Chaque workflow possède une **skill** que vous invoquez par son nom dans votre IDE (par ex. `bmad-prd`). Votre outil IA reconnaîtra le nom `bmad-*` et l'exécutera — pas besoin de charger les agents séparément. Vous pouvez aussi invoquer directement une skill d'agent pour une conversation générale (par ex. `bmad-agent-pm` pour l'agent PM).
|
Chaque workflow possède une **skill** que vous invoquez par son nom dans votre IDE (par ex. `bmad-prd`). Votre outil IA reconnaîtra le nom `bmad-*` et l’exécutera — pas besoin de charger les agents séparément. Vous pouvez aussi invoquer directement une skill d’agent pour une conversation générale (par ex. `bmad-agent-pm` pour l’agent PM).
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::caution[Nouveaux chats]
|
:::caution[Nouveaux chats]
|
||||||
Démarrez toujours un nouveau chat pour chaque workflow. Cela évite les problèmes liés aux limites de contexte de l'IA.
|
Démarrez toujours un nouveau chat pour chaque workflow. Cela évite les problèmes liés aux limites de contexte de l’IA.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Étape 1 : Élaborer votre plan
|
## Étape 1 : Élaborer votre plan
|
||||||
|
|
@ -128,14 +128,14 @@ Démarrez toujours un nouveau chat pour chaque workflow. Cela évite les problè
|
||||||
Parcourez les phases 1 à 3. **Utilisez un nouveau chat pour chaque workflow.**
|
Parcourez les phases 1 à 3. **Utilisez un nouveau chat pour chaque workflow.**
|
||||||
|
|
||||||
:::tip[Contexte projet (optionnel)]
|
:::tip[Contexte projet (optionnel)]
|
||||||
Avant de commencer, pensez à créer `project-context.md` pour documenter vos préférences techniques et vos règles d'implémentation. Ainsi, tous les agents IA respecteront vos conventions tout au long du projet.
|
Avant de commencer, pensez à créer `project-context.md` pour documenter vos préférences techniques et vos règles d’implémentation. Ainsi, tous les agents IA respecteront vos conventions tout au long du projet.
|
||||||
|
|
||||||
Créez-le manuellement à l'emplacement `_bmad-output/project-context.md`, ou générez-le après l'architecture avec `bmad-generate-project-context`. [En savoir plus](../explanation/project-context.md).
|
Créez-le manuellement à l’emplacement `_bmad-output/project-context.md`, ou générez-le après l’architecture avec `bmad-generate-project-context`. [En savoir plus](../explanation/project-context.md).
|
||||||
:::
|
:::
|
||||||
|
|
||||||
### Phase 1 : Analyse (optionnelle)
|
### Phase 1 : Analyse (optionnelle)
|
||||||
|
|
||||||
Tous les workflows de cette phase sont optionnels. [**Vous ne savez pas lequel choisir ?**](../explanation/analysis-phase.md)
|
Tous les workflows de cette phase sont optionnels. [**Vous ne savez pas lequel choisir ?**](../explanation/analysis-phase.md)
|
||||||
|
|
||||||
- **brainstorming** (`bmad-brainstorming`) — Idéation guidée
|
- **brainstorming** (`bmad-brainstorming`) — Idéation guidée
|
||||||
- **research** (`bmad-market-research` / `bmad-domain-research` / `bmad-technical-research`) — Recherche marché, domaine et technique
|
- **research** (`bmad-market-research` / `bmad-domain-research` / `bmad-technical-research`) — Recherche marché, domaine et technique
|
||||||
|
|
@ -151,15 +151,15 @@ Tous les workflows de cette phase sont optionnels. [**Vous ne savez pas lequel c
|
||||||
|
|
||||||
:::note[Intentions de `bmad-prd`]
|
:::note[Intentions de `bmad-prd`]
|
||||||
|
|
||||||
- **Create** — exploration guidée à partir de zéro ; le skill nomme le dossier de travail et vous accompagne jusqu'à l'obtention d'un PRD dont vous serez fier
|
- **Create** — exploration guidée à partir de zéro ; le skill nomme le dossier de travail et vous accompagne jusqu’à l’obtention d’un PRD dont vous serez fier
|
||||||
- **Update** — pointez vers un PRD existant et un changement à apporter ; le skill met en évidence les conflits avant d'appliquer les modifications
|
- **Update** — pointez vers un PRD existant et un changement à apporter ; le skill met en évidence les conflits avant d’appliquer les modifications
|
||||||
- **Validate** — critiquez un PRD finalisé à l'aide d'une liste de contrôle et générez un rapport HTML des constatations
|
- **Validate** — critiquez un PRD finalisé à l’aide d’une liste de contrôle et générez un rapport HTML des constatations
|
||||||
:::
|
:::
|
||||||
|
|
||||||
|
|
||||||
**Pour la voie Quick Dev :**
|
**Pour la voie Quick Dev :**
|
||||||
|
|
||||||
- Exécutez `bmad-quick-dev` — ce workflow couvre la planification et l'implémentation en une seule fois ; vous pouvez passer directement à l'implémentation
|
- Exécutez `bmad-quick-dev` — ce workflow couvre la planification et l’implémentation en une seule fois ; vous pouvez passer directement à l’implémentation
|
||||||
|
|
||||||
:::note[Design UX (optionnel)]
|
:::note[Design UX (optionnel)]
|
||||||
Si votre projet comporte une interface utilisateur, invoquez l'**agent UX Designer** (`bmad-agent-ux-designer`) et lancez le workflow de design UX (`bmad-create-ux-design`) après avoir créé votre PRD.
|
Si votre projet comporte une interface utilisateur, invoquez l'**agent UX Designer** (`bmad-agent-ux-designer`) et lancez le workflow de design UX (`bmad-create-ux-design`) après avoir créé votre PRD.
|
||||||
|
|
@ -167,31 +167,31 @@ Si votre projet comporte une interface utilisateur, invoquez l'**agent UX Design
|
||||||
|
|
||||||
### Phase 3 : Solutioning (BMad Method/Enterprise)
|
### Phase 3 : Solutioning (BMad Method/Enterprise)
|
||||||
|
|
||||||
**Créer l'architecture**
|
**Créer l’architecture**
|
||||||
|
|
||||||
1. Invoquez l'**agent Architecte** (`bmad-agent-architect`) dans un nouveau chat
|
1. Invoquez l'**agent Architecte** (`bmad-agent-architect`) dans un nouveau chat
|
||||||
2. Exécutez `bmad-create-architecture` (`bmad-create-architecture`)
|
2. Exécutez `bmad-create-architecture` (`bmad-create-architecture`)
|
||||||
3. Résultat : document d'architecture avec les décisions techniques
|
3. Résultat : document d’architecture avec les décisions techniques
|
||||||
|
|
||||||
**Créer les epics et les stories**
|
**Créer les epics et les stories**
|
||||||
|
|
||||||
:::tip[Amélioration V6]
|
:::tip[Amélioration V6]
|
||||||
Les epics et stories sont désormais créés *après* l'architecture. Cela produit des stories de meilleure qualité, car les décisions d'architecture (choix de la base de données, patterns d'API, pile technologique) influencent directement la façon dont le travail doit être découpé.
|
Les epics et stories sont désormais créés *après* l’architecture. Cela produit des stories de meilleure qualité, car les décisions d’architecture (choix de la base de données, patterns d’API, pile technologique) influencent directement la façon dont le travail doit être découpé.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
1. Invoquez l'**agent PM** (`bmad-agent-pm`) dans un nouveau chat
|
1. Invoquez l'**agent PM** (`bmad-agent-pm`) dans un nouveau chat
|
||||||
2. Exécutez `bmad-create-epics-and-stories` (`bmad-create-epics-and-stories`)
|
2. Exécutez `bmad-create-epics-and-stories` (`bmad-create-epics-and-stories`)
|
||||||
3. Le workflow s'appuie sur le PRD et l'architecture pour créer des stories techniquement fondées
|
3. Le workflow s’appuie sur le PRD et l’architecture pour créer des stories techniquement fondées
|
||||||
|
|
||||||
**Vérification de la préparation à l'implémentation** *(fortement recommandée)*
|
**Vérification de la préparation à l’implémentation** *(fortement recommandée)*
|
||||||
|
|
||||||
1. Invoquez l'**agent Architecte** (`bmad-agent-architect`) dans un nouveau chat
|
1. Invoquez l'**agent Architecte** (`bmad-agent-architect`) dans un nouveau chat
|
||||||
2. Exécutez `bmad-check-implementation-readiness` (`bmad-check-implementation-readiness`)
|
2. Exécutez `bmad-check-implementation-readiness` (`bmad-check-implementation-readiness`)
|
||||||
3. Valide la cohérence de l'ensemble des documents de planification
|
3. Valide la cohérence de l’ensemble des documents de planification
|
||||||
|
|
||||||
## Étape 2 : Développer votre projet
|
## Étape 2 : Développer votre projet
|
||||||
|
|
||||||
Une fois la planification terminée, passez à l'implémentation. **Chaque workflow doit être exécuté dans un nouveau chat.**
|
Une fois la planification terminée, passez à l’implémentation. **Chaque workflow doit être exécuté dans un nouveau chat.**
|
||||||
|
|
||||||
### Initialiser la planification de sprint
|
### Initialiser la planification de sprint
|
||||||
|
|
||||||
|
|
@ -203,20 +203,20 @@ Pour chaque story, répétez ce cycle dans de nouveaux chats :
|
||||||
|
|
||||||
| Étape | Agent | Workflow | Commande | Objectif |
|
| Étape | Agent | Workflow | Commande | Objectif |
|
||||||
|-------|-------|---------------------|---------------------|--------------------------------------|
|
|-------|-------|---------------------|---------------------|--------------------------------------|
|
||||||
| 1 | DEV | `bmad-create-story` | `bmad-create-story` | Créer le fichier story depuis l'epic |
|
| 1 | DEV | `bmad-create-story` | `bmad-create-story` | Créer le fichier story depuis l’epic |
|
||||||
| 2 | DEV | `bmad-dev-story` | `bmad-dev-story` | Implémenter la story |
|
| 2 | DEV | `bmad-dev-story` | `bmad-dev-story` | Implémenter la story |
|
||||||
| 3 | DEV | `bmad-code-review` | `bmad-code-review` | Validation qualité *(recommandée)* |
|
| 3 | DEV | `bmad-code-review` | `bmad-code-review` | Validation qualité *(recommandée)* |
|
||||||
|
|
||||||
Après avoir terminé toutes les stories d'un epic, invoquez l'**agent Développeur** (`bmad-agent-dev`) et exécutez `bmad-retrospective` (`bmad-retrospective`).
|
Après avoir terminé toutes les stories d’un epic, invoquez l'**agent Développeur** (`bmad-agent-dev`) et exécutez `bmad-retrospective` (`bmad-retrospective`).
|
||||||
|
|
||||||
## Ce que vous avez accompli
|
## Ce que vous avez accompli
|
||||||
|
|
||||||
Vous maîtrisez maintenant les bases du développement avec BMad :
|
Vous maîtrisez maintenant les bases du développement avec BMad :
|
||||||
|
|
||||||
- Installation et configuration de BMad pour votre IDE
|
- Installation et configuration de BMad pour votre IDE
|
||||||
- Initialisation d'un projet avec la voie de planification choisie
|
- Initialisation d’un projet avec la voie de planification choisie
|
||||||
- Création des documents de planification (PRD, Architecture, Epics & Stories)
|
- Création des documents de planification (PRD, Architecture, Epics & Stories)
|
||||||
- Compréhension du cycle de développement pour l'implémentation
|
- Compréhension du cycle de développement pour l’implémentation
|
||||||
|
|
||||||
Votre projet contient désormais :
|
Votre projet contient désormais :
|
||||||
|
|
||||||
|
|
@ -238,9 +238,9 @@ your-project/
|
||||||
|
|
||||||
| Workflow | Commande | Agent | Objectif |
|
| Workflow | Commande | Agent | Objectif |
|
||||||
|---------------------------------------|---------------------------------------|-----------|-----------------------------------------------------------------|
|
|---------------------------------------|---------------------------------------|-----------|-----------------------------------------------------------------|
|
||||||
| **`bmad-help`** ⭐ | `bmad-help` | Tous | **Votre guide intelligent — posez n'importe quelle question !** |
|
| **`bmad-help`** ⭐ | `bmad-help` | Tous | **Votre guide intelligent — posez n’importe quelle question !** |
|
||||||
| `bmad-prd` | `bmad-prd` | Tous | Créer, mettre à jour ou valider un PRD |
|
| `bmad-prd` | `bmad-prd` | Tous | Créer, mettre à jour ou valider un PRD |
|
||||||
| `bmad-create-architecture` | `bmad-create-architecture` | Architect | Créer le document d'architecture |
|
| `bmad-create-architecture` | `bmad-create-architecture` | Architect | Créer le document d’architecture |
|
||||||
| `bmad-generate-project-context` | `bmad-generate-project-context` | Analyst | Créer le fichier de contexte projet |
|
| `bmad-generate-project-context` | `bmad-generate-project-context` | Analyst | Créer le fichier de contexte projet |
|
||||||
| `bmad-create-epics-and-stories` | `bmad-create-epics-and-stories` | PM | Décomposer le PRD en epics |
|
| `bmad-create-epics-and-stories` | `bmad-create-epics-and-stories` | PM | Décomposer le PRD en epics |
|
||||||
| `bmad-check-implementation-readiness` | `bmad-check-implementation-readiness` | Architect | Valider la cohérence de la planification |
|
| `bmad-check-implementation-readiness` | `bmad-check-implementation-readiness` | Architect | Valider la cohérence de la planification |
|
||||||
|
|
@ -251,32 +251,32 @@ your-project/
|
||||||
|
|
||||||
## Questions fréquentes
|
## Questions fréquentes
|
||||||
|
|
||||||
**Ai-je toujours besoin d'une architecture ?**
|
**Ai-je toujours besoin d’une architecture ?**
|
||||||
Seulement pour les voies BMad Method et Enterprise. Quick Dev passe directement de la spécification à l'implémentation.
|
Seulement pour les voies BMad Method et Enterprise. Quick Dev passe directement de la spécification à l’implémentation.
|
||||||
|
|
||||||
**Puis-je modifier mon plan en cours de route ?**
|
**Puis-je modifier mon plan en cours de route ?**
|
||||||
Oui. Le workflow `bmad-correct-course` gère les changements de périmètre en cours d'implémentation.
|
Oui. Le workflow `bmad-correct-course` gère les changements de périmètre en cours d’implémentation.
|
||||||
|
|
||||||
**Et si je veux d'abord brainstormer ?**
|
**Et si je veux d’abord brainstormer ?**
|
||||||
Invoquez l'agent Analyste (`bmad-agent-analyst`) et exécutez `bmad-brainstorming` (`bmad-brainstorming`) avant de commencer votre PRD.
|
Invoquez l’agent Analyste (`bmad-agent-analyst`) et exécutez `bmad-brainstorming` (`bmad-brainstorming`) avant de commencer votre PRD.
|
||||||
|
|
||||||
**Dois-je suivre un ordre strict ?**
|
**Dois-je suivre un ordre strict ?**
|
||||||
Pas strictement. Une fois le flux maîtrisé, vous pouvez exécuter les workflows directement en vous référant au tableau ci-dessus.
|
Pas strictement. Une fois le flux maîtrisé, vous pouvez exécuter les workflows directement en vous référant au tableau ci-dessus.
|
||||||
|
|
||||||
## Obtenir de l'aide
|
## Obtenir de l’aide
|
||||||
|
|
||||||
:::tip[Premier réflexe : BMad-Help]
|
:::tip[Premier réflexe : BMad-Help]
|
||||||
**Invoquez `bmad-help` à tout moment** — c'est le moyen le plus rapide de vous débloquer. Posez-lui n'importe quelle question :
|
**Invoquez `bmad-help` à tout moment** — c’est le moyen le plus rapide de vous débloquer. Posez-lui n’importe quelle question :
|
||||||
|
|
||||||
- « Que dois-je faire après l'installation ? »
|
- « Que dois-je faire après l’installation ? »
|
||||||
- « Je suis bloqué sur le workflow X »
|
- « Je suis bloqué sur le workflow X »
|
||||||
- « Quelles sont mes options pour Y ? »
|
- « Quelles sont mes options pour Y ? »
|
||||||
- « Montre-moi ce qui a été fait jusqu'ici »
|
- « Montre-moi ce qui a été fait jusqu’ici »
|
||||||
|
|
||||||
BMad-Help inspecte votre projet, détecte ce que vous avez accompli et vous indique exactement la prochaine étape.
|
BMad-Help inspecte votre projet, détecte ce que vous avez accompli et vous indique exactement la prochaine étape.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
- **Pendant les workflows** — Les agents vous guident à l'aide de questions et d'explications
|
- **Pendant les workflows** — Les agents vous guident à l’aide de questions et d’explications
|
||||||
- **Communauté** — [Discord](https://discord.gg/gk8jAdXWmj) (#bmad-method-help, #report-bugs-and-issues)
|
- **Communauté** — [Discord](https://discord.gg/gk8jAdXWmj) (#bmad-method-help, #report-bugs-and-issues)
|
||||||
|
|
||||||
## Points clés à retenir
|
## Points clés à retenir
|
||||||
|
|
@ -284,16 +284,16 @@ BMad-Help inspecte votre projet, détecte ce que vous avez accompli et vous indi
|
||||||
:::tip[Retenez ceci]
|
:::tip[Retenez ceci]
|
||||||
- **Commencez par `bmad-help`** — Votre guide intelligent qui connaît votre projet et vos options
|
- **Commencez par `bmad-help`** — Votre guide intelligent qui connaît votre projet et vos options
|
||||||
- **Utilisez toujours de nouveaux chats** — Démarrez un nouveau chat pour chaque workflow
|
- **Utilisez toujours de nouveaux chats** — Démarrez un nouveau chat pour chaque workflow
|
||||||
- **Le choix de la voie est important** — Quick Dev utilise `bmad-quick-dev` ; BMad Method/Enterprise nécessitent un PRD et une architecture
|
- **Le choix de la voie est important** — Quick Dev utilise `bmad-quick-dev` ; BMad Method/Enterprise nécessitent un PRD et une architecture
|
||||||
- **BMad-Help se lance automatiquement** — Chaque workflow se termine par des conseils sur la prochaine étape
|
- **BMad-Help se lance automatiquement** — Chaque workflow se termine par des conseils sur la prochaine étape
|
||||||
:::
|
:::
|
||||||
|
|
||||||
Prêt à commencer ? Installez BMad, invoquez `bmad-help`, et laissez votre guide intelligent vous accompagner.
|
Prêt à commencer ? Installez BMad, invoquez `bmad-help`, et laissez votre guide intelligent vous accompagner.
|
||||||
|
|
||||||
## Glossaire
|
## Glossaire
|
||||||
|
|
||||||
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d'aligner les équipes sur ce qui doit être construit et pourquoi.
|
[^1]: PRD (Product Requirements Document) : document de référence qui décrit les objectifs du produit, les besoins utilisateurs, les fonctionnalités attendues, les contraintes et les critères de succès, afin d’aligner les équipes sur ce qui doit être construit et pourquoi.
|
||||||
[^2]: Epic : grand ensemble de fonctionnalités ou de travaux qui peut être décomposé en plusieurs user stories.
|
[^2]: Epic : grand ensemble de fonctionnalités ou de travaux qui peut être décomposé en plusieurs user stories.
|
||||||
[^3]: Story (User Story) : description courte et simple d'une fonctionnalité du point de vue de l'utilisateur ou du client. Elle représente une unité de travail implémentable en un court délai.
|
[^3]: Story (User Story) : description courte et simple d’une fonctionnalité du point de vue de l’utilisateur ou du client. Elle représente une unité de travail implémentable en un court délai.
|
||||||
[^4]: UX (User Experience) : expérience utilisateur, englobant l'ensemble des interactions et perceptions d'un utilisateur face à un produit. Le design UX vise à créer des interfaces intuitives, efficaces et agréables en tenant compte des besoins, des comportements et du contexte d'utilisation.
|
[^4]: UX (User Experience) : expérience utilisateur, englobant l’ensemble des interactions et perceptions d’un utilisateur face à un produit. Le design UX vise à créer des interfaces intuitives, efficaces et agréables en tenant compte des besoins, des comportements et du contexte d’utilisation.
|
||||||
[^5]: Multi-tenant : architecture logicielle où une seule instance de l'application sert plusieurs clients (tenants) tout en maintenant leurs données isolées et sécurisées les unes des autres.
|
[^5]: Multi-tenant : architecture logicielle où une seule instance de l’application sert plusieurs clients (tenants) tout en maintenant leurs données isolées et sécurisées les unes des autres.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue