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
  1. L’exécution est confiée à l’hôte
  2. Le vocabulaire
  3. Ce que l’installateur écrit
  4. Qui exécute quoi
  5. D’une phrase à des fichiers
  6. Comment les rôles basculent
  7. Réglages et modes d’exécution
  8. Fichiers générés et vos modifications
  9. Ce que BMAD+ ne fait volontairement pas

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

Termes utilisés dans toute la documentation
TermeSensOù cela se trouve
hôteL’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é)
adaptateurUn 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
packUn 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/
agentUne 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ôleUn 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
workflowUne procédure Markdown pas à pas dans un pack. Dev Studio en compte 38 ; Shield 11.Dans le dossier du pack
registreLe 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ôleUn 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.

Fichiers et dossiers créés dans le projet
CheminContenuÉcrit par
AGENTS.md et les fichiers d’adaptateurLe socle et les adaptateurs par outil.install
.agents/skills/Agents, compétences et dossiers de pack (pack-<name>).install, update
.agents/data/role-triggers.yamlLes règles d’activation automatique.install, update
_bmad/config.yamlVos réglages : mode d’exécution, points de contrôle, uat, swarm.install (fusionné à la réinstallation), vous
_bmad/module.yaml, _bmad/module-help.csvDescription du module et index d’aide.install, update
_bmad/.bmad-plus-install.jsonLe 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
Une installation et un diagnostic réels
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.

Sortie capturée lors d’une exécution réelle. Source: bmad-plus 0.23.0, 2026-10-19

Qui exécute quoi

Les quatre endroits où quelque chose s’exécute
OùCe qu’il faitCe 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-plusTenue 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 facultatifAvec 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

  1. 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 projet
    Atlas, help me define a small invoicing app for freelancers.

  2. 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.

  3. 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 exemple CB pour un product brief, MR pour une étude de marché). Atlas attend votre choix : un numéro, un code ou une phrase qui correspond à l’un d’eux.

  4. 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.

  5. Un livrable est écrit

    Une fois votre choix fait, par exemple CB pour 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.

  6. La CLI tient les registres quand il le faut

    Pour l’intake, les essaims, les revues ou la recette, l’agent appelle bmad-plus pour 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.

Les trois niveaux d’activation
NiveauDéclencheurExemple
MotifUn mot-clé dans votre demande.« review » fait entrer le rôle QA de Sentinel.
ContexteUne situation détectée en cours de travail.Une modification de plus de 5 fichiers fait entrer le rôle Architecte de Forge.
RaisonnementUne 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.

_bmad/config.yaml tel qu’écrit par l’installateur 0.23.0 (abrégé ; booléens et nombres sont bruts, les chaînes entre apostrophes simples)
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'

Ce que fait un point de contrôle
ValeurComportement
require_approvalS’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_onlyInformer dans la session et continuer.
autoContinuer 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