Parcourir la documentation
Comment fonctionne BMAD+
Ce que BMAD+ installe dans votre projet, qui exécute quoi, et comment une demande comme « Atlas, ... » devient des fichiers : exécution par l’hôte, socle AGENTS.md, packs, agents, compétences.
Sur cette page
Cette page explique la mécanique d’un seul tenant, pour qui veut savoir ce qui se passe après npx bmad-plus install avant de lui confier un projet. BMAD+ n’est pas un programme qui exécute vos agents. C’est un ensemble de fichiers (instructions, rôles, workflows) et un petit outil en ligne de commande qui tient des registres. Votre outil de codage IA, appelé l’hôte dans ces pages, lit les fichiers et fait le travail avec son propre modèle et ses propres permissions.
L’exécution est confiée à l’hôte
Le registre l’énonce comme un contrat : execution: host-managed, lifecycle_events: not-integrated. Concrètement, cela fait quatre choses. L’hôte fournit le modèle : BMAD+ ne détient aucune clé d’API et n’appelle aucun modèle. L’hôte fournit les permissions : une modification de fichier ou une commande shell est autorisée ou refusée par votre outil, pas par BMAD+. L’hôte fournit les sous-agents parallèles éventuels. Et rien ne tourne en arrière-plan : ni démon, ni planificateur, ni télémétrie.
Remarque Une exception facultative
Nexus peut lancer une commande locale ou un processus Codex CLI, mais seulement pour une tâche d’un plan que vous avez écrit, seulement avec un nexus launch explicite, et sous un superviseur au premier plan qui reste actif dans votre terminal. Rien n’est planifié. Voir la page Nexus.
Le vocabulaire
| Terme | Sens | Où cela se trouve |
|---|---|---|
| hôte | L’outil de codage IA qui lit les instructions et fait le travail : Claude Code, Gemini CLI, Cursor, Codex CLI, etc. | En dehors de BMAD+ |
| socle (spine) | Le fichier d’instructions unique que tous les outils lisent. Il liste les agents, les compétences, les règles de mémoire et les faits du registre. | AGENTS.md à la racine du projet (généré) |
| adaptateur | Un fichier court, au format attendu par un hôte, qui renvoie au socle et ajoute des notes propres à l’outil. | CLAUDE.md, GEMINI.md, .cursor/rules/bmad-plus.mdc, .codex/AGENTS.md, .opencode/AGENTS.md, CONVENTIONS.md |
| pack | Un groupe d’agents, de compétences et de workflows installés ensemble. Il y en a 10 ; Core est toujours installé. | Déclaré dans registry.yaml ; installé sous .agents/skills/ |
| agent | Une persona nommée que vous interpellez par son nom (« Forge, ... »). 48 au total dans les packs, dont 15 points d’entrée de l’installateur. | .agents/skills/<agent>/SKILL.md ou dans un dossier de pack |
| rôle | Un mode à l’intérieur d’un agent. Atlas est Analyste ou Product Manager ; l’agent bascule sur demande ou selon le contexte. | Décrit dans le fichier de l’agent ; règles dans .agents/data/role-triggers.yaml |
| compétence (compétence) | Une procédure que l’hôte charge au besoin : un SKILL.md et ses fichiers de référence. Autopilot, intake, swarm et uat sont des compétences Core. | .agents/skills/<skill>/SKILL.md |
| workflow | Une procédure Markdown pas à pas dans un pack. Dev Studio en compte 38 ; Shield 11. | Dans le dossier du pack |
| registre | Le fichier unique qui déclare packs, agents, compétences, adaptateurs, pipelines et intakes. Tout ce qui est généré en dérive. | registry.yaml dans le dépôt source de BMAD+ |
| point de contrôle | Un endroit où une exécution autopilot s’arrête, informe ou continue, selon la configuration. | checkpoints dans _bmad/config.yaml |
Ce que l’installateur écrit
L’installation copie des fichiers dans votre projet et enregistre ce qu’elle a copié. Elle ne touche pas à votre code source et ne lance rien. La seule écriture hors du projet est le cerveau global du pack Memory, dans votre dossier personnel (ligne ~/.bmad-plus/brain/). Le tableau liste les emplacements ; les dernières lignes n’apparaissent que lorsque vous utilisez la fonction correspondante.
| Chemin | Contenu | Écrit par |
|---|---|---|
AGENTS.md et les fichiers d’adaptateur | Le socle et les adaptateurs par outil. | install |
.agents/skills/ | Agents, compétences et dossiers de pack (pack-<name>). | install, update |
.agents/data/role-triggers.yaml | Les règles d’activation automatique. | install, update |
_bmad/config.yaml | Vos réglages : mode d’exécution, points de contrôle, uat, swarm. | install (fusionné à la réinstallation), vous |
_bmad/module.yaml, _bmad/module-help.csv | Description du module et index d’aide. | install, update |
_bmad/.bmad-plus-install.json | Le manifeste : version, packs, outils, un SHA-256 par fichier installé. | install, update |
_bmad-output/, docs/ | Là où vont les livrables (discovery, build, puis design, review, uat, dev-studio selon l’usage). | install crée les premiers dossiers ; les agents écrivent le reste |
.agents/memory/ | Décisions, leçons, motifs, contexte et passations de session (pack Memory uniquement). | install, agents, vous |
~/.bmad-plus/brain/ | Le cerveau global, hors du projet : identity.yaml, décisions, leçons et motifs globaux, et une entrée projects/<hash>.yaml par projet. Pack Memory uniquement : créé quand aucun cerveau n’est trouvé, complété (jamais écrasé) quand c’est le cerveau lié, laissé tel quel quand le projet est lié à un autre cerveau (un dossier _brain/ ou ~/.claude/memory). .agents/memory/.brain-link dans le projet indique quel cerveau est lié. | install (pack Memory), agents, vous |
.bmad-plus/swarm/, .bmad-plus/nexus/ | État des exécutions d’essaims et des plans Nexus. | la CLI, quand vous lancez ces commandes |
.bmad/ | Cache et reçus de mise à jour, journal de mémoire. | la CLI |
npx bmad-plus install --yes --lang en --packs core,design,memory --tools claude-code
● Selected packs: ⚙️ Core, 🧠 Memory, 🎨 Design
● Detected IDEs: Claude Code
● 🧠 Global brain created: /home/dev/.bmad-plus/brain
◇ ✅ 6 agents, 9 skills, 5 files copied
◇ ✅ 1 IDE(s) configured
└ BMAD+ is ready! Talk to Atlas to get started 🚀
npx bmad-plus doctor
│ 98/98 checks passed
│ 0 error(s), 0 warning(s)
│ Installed: v0.23.0 | Executing CLI: v0.23.0
│ Ownership inventory: complete
│ Integrations use host-managed execution; host capabilities were not probed.
Extrait : l’encadré de guide de l’installateur et les lignes vides ont été retirés, et le dossier personnel est abrégé. Les nombres dépendent des packs choisis. La ligne du cerveau n’apparaît que si le pack Memory ne trouve aucun cerveau existant.npx bmad-plus install --yes --lang en --packs core,design,memory --tools claude-code
npx bmad-plus doctorQui exécute quoi
| Où | Ce qu’il fait | Ce qu’il ne fait jamais |
|---|---|---|
| Votre outil IA (l’hôte) | Lit le socle et les compétences, dialogue avec son modèle, modifie des fichiers, exécute les commandes qu’il a le droit d’exécuter, lance des sous-agents s’il le peut. | Rien de ce que fait BMAD+ ne peut élever ses permissions. |
La CLI bmad-plus | Tenue de registres déterministe sur des fichiers locaux : install, update, doctor, intake, swarm, nexus, review, uat, mem. Elle demande Node.js 20 ou plus récent. | Appeler un modèle, lancer un démon, envoyer de la télémétrie, commiter dans Git. |
| Le backend de processus facultatif | Avec nexus launch, exécute une commande ou un appel codex exec d’un plan que vous avez écrit, au premier plan, puis vérifie le résultat par des contrôles indépendants. | Tourner sans surveillance, ou accepter son propre résultat. |
| Les outils de pack (SEO, OSINT, Animated) | Des scripts Python et autres qu’un agent exécute avec votre accord : explorer un site que vous avez nommé, interroger un fournisseur dont vous avez saisi la clé. | Démarrer sans clé ni cible fournies par vous. |
D’une phrase à des fichiers
Vous écrivez à votre hôte
Vous interpellez un agent par son nom dans la conversation de votre outil IA, dans votre langue.
Dans le terminal du projetAtlas, help me define a small invoicing app for freelancers.L’hôte charge les instructions
L’hôte lit son fichier d’adaptateur, qui renvoie à
AGENTS.md. Le socle nomme Atlas et le dossier de son SKILL.md. C’est la lecture de ce fichier qui transforme un assistant généraliste en la persona.Les réglages sont lus, puis Atlas attend
L’agent lit
_bmad/config.yaml(votre langue, le mode d’exécution, le comportement des points de contrôle), vous salue et affiche son menu de capacités (par exempleCBpour un product brief,MRpour une étude de marché). Atlas attend votre choix : un numéro, un code ou une phrase qui correspond à l’un d’eux.Un rôle est choisi
Atlas a deux rôles, Analyste (recherche, découverte) et Product Manager (planification, product briefs, PRD). Un mot-clé comme « market » ou « PRD », ou une situation comme un nouveau projet, fait changer de rôle, et l’agent le dit. Le mode d’exécution et les points de contrôle décident ensuite s’il s’arrête pour demander ou continue.
Un livrable est écrit
Une fois votre choix fait, par exemple
CBpour créer un product brief, l’hôte écrit le résultat dans le projet avec ses propres permissions, normalement dans le dossier de sortie (_bmad-output/par défaut). Vous le relisez comme n’importe quel fichier.La CLI tient les registres quand il le faut
Pour l’intake, les essaims, les revues ou la recette, l’agent appelle
bmad-pluspour valider, compter ou sceller des preuves. La CLI répond par des fichiers et des codes de sortie, jamais par des opinions.
Comment les rôles basculent
Les règles se trouvent dans .agents/data/role-triggers.yaml. Chaque agent peut changer de rôle à trois niveaux, et il annonce le changement pour que vous puissiez le refuser.
| Niveau | Déclencheur | Exemple |
|---|---|---|
| Motif | Un mot-clé dans votre demande. | « review » fait entrer le rôle QA de Sentinel. |
| Contexte | Une situation détectée en cours de travail. | Une modification de plus de 5 fichiers fait entrer le rôle Architecte de Forge. |
| Raisonnement | Une conclusion atteinte pendant l’exécution. | Une implémentation qui révèle un défaut d’architecture fait entrer le rôle Architecte. |
L’annonce ressemble à « I’m switching to QA mode - financial calculations detected. Say ’skip’ to stay in current mode. » Mettre auto_role_activation: false dans _bmad/config.yaml désactive le basculement automatique ; vous pouvez toujours demander un rôle par son nom.
Réglages et modes d’exécution
L’installateur écrit _bmad/config.yaml une fois et conserve vos modifications aux installations suivantes. execution_mode vaut manual par défaut : vous appelez chaque agent vous-même. autopilot laisse Nexus dérouler tout le pipeline ; hybrid est de l’autopilot avec des points de contrôle fréquents. Chaque point de contrôle (discovery, architecture, story, delivery) vaut require_approval, notify_only ou auto.
execution_mode: 'manual'
auto_role_activation: true
parallel_execution: true
checkpoints:
discovery: 'require_approval'
architecture: 'require_approval'
story: 'require_approval'
delivery: 'require_approval'
uat:
mode: 'advisory'
swarm:
budget: 26
wave: 10
media_credits: 'ask'| Valeur | Comportement |
|---|---|
require_approval | S’arrêter, présenter quelque chose de relisible, attendre. Une approbation antérieure qui couvre déjà l’action suivante n’est pas redemandée. |
notify_only | Informer dans la session et continuer. |
auto | Continuer et le consigner. |
Fichiers générés et vos modifications
Le socle et les adaptateurs sont générés à partir de registry.yaml dans le dépôt source de BMAD+, si bien que les nombres et les listes ne peuvent pas diverger des déclarations. Dans votre projet, vous pouvez quand même ajouter vos propres règles à un adaptateur. L’installateur enregistre un hash SHA-256 pour chaque fichier qu’il écrit ; un adaptateur ou une compétence dont le hash ne correspond plus est traité comme le vôtre et préservé par les mises à jour et par la désinstallation.
Ce que BMAD+ ne fait volontairement pas
- Pas de runtime de modèle : il n’appelle aucune API de LLM, ne détient aucune clé pour en utiliser une et n’exécute aucune boucle d’agent propre.
- Pas de processus en arrière-plan : ni démon, ni planificateur, ni exporteur de télémétrie, ni mise à jour automatique silencieuse.
- Pas de moteur de revue qui devine : les constats que le code ne permet pas d’ancrer sont signalés comme tels, jamais repositionnés par un modèle.
- Pas de correction automatique issue d’une revue : une revue n’accorde aucune permission d’écriture, et la recette humaine reste la porte de livraison.
- Pas d’extension d’IDE et pas de publication sur GitHub, GitLab ou d’autres forges.
Voir aussi
- Votre première heure avec BMAD+ Votre première heure avec BMAD+
- Intake : demander d’abord Intake : demander d’abord, agir ensuite
- Les essaims de sous-agents Les essaims de sous-agents
- Nexus, autopilot et travail parallèle Nexus : autopilot, travail parallèle et exécutions durables
- Le registre et les compétences Le registre et les compétences
- Référence : config.yaml Fichier de configuration
- Référence : outils et adaptateurs pris en charge Adaptateurs