Chaque clé de _bmad/config.yaml : mode d’exécution, quatre points de contrôle, bloc uat et budget de l’essaim. Valeurs par défaut, qui lit quoi, et l’effet d’un changement.
_bmad/config.yaml est le fichier où un projet dit à BMAD+ comment se comporter : quelle langue employer, si les agents travaillent un par un ou sous l’orchestrateur Nexus, où ils doivent s’arrêter et vous attendre, comment les recettes d’acceptation humaine sont traitées et combien de sous-agents un essaim peut utiliser. bmad-plus install le crée ; vous pouvez le modifier à la main. Cette page liste toutes les clés qu’il écrit.
Remarque· Qui lit ce fichier
La ligne de commande elle-même ne lit que quelques valeurs : le bloc swarm (validé par bmad-plus swarm), cinq clés texte utilisées par bmad-plus studio, et communication_language pour la langue d’une page de recette construite par bmad-plus uat. Tout le reste est lu par les agents : les instructions de leurs compétences leur demandent d’ouvrir ce fichier et de le suivre. C’est pourquoi un point de contrôle modifié prend effet au prochain démarrage d’un pipeline par un agent, sans commande à lancer.
Le fichier après install --yes --lang fr dans un dossier nommé demo-app, rejoué avec le paquet 0.23.0. L’écriture met les chaînes entre apostrophes, et user_name retombe sur le nom d’utilisateur du système, puis sur Developer
Les valeurs de user_name, communication_language et project_name viennent de l’assistant ou du dossier ; le reste correspond aux valeurs par défaut affichées. uat.environment contient name: "TEST" et l’adresse si vous avez saisi l’URL d’un environnement de test dans l’assistant.
réponse de l’assistant, sinon le nom d’utilisateur système, sinon Developer
CLI (studio) et agents
Le nom que les agents emploient pour vous saluer. Doit être un texte non vide pour studio.
communication_language
nom de la langue de --lang, sinon la langue du système si elle est prise en charge, sinon English
CLI (studio, uat) et agents
Langue dans laquelle les agents répondent. uat build ouvre la page de recette dans cette langue.
document_output_language
comme communication_language
CLI (studio) et agents
Langue des documents que les agents écrivent (briefs, PRD, rapports).
output_folder
_bmad-output
CLI (studio) et agents
Où les agents déposent leurs livrables. Pour studio, le chemin doit être relatif au projet.
project_name
nom du dossier du projet
CLI (studio) et agents
Le nom du projet utilisé dans les documents.
execution_mode
manual
Agents, via les instructions de leurs compétences
manual : vous appelez les agents. autopilot : Nexus enchaîne Discovery, Build et Ship. hybrid : autopilot avec des points de contrôle fréquents. Fixé à l’installation par --mode.
auto_role_activation
true
Agents, via les instructions de leurs compétences
true : un agent peut changer de rôle quand le contexte l’exige, après l’avoir annoncé. false : les rôles ne changent que sur votre demande.
parallel_execution
true
Agents, via les instructions de leurs compétences
true : le Parallel Supervisor peut mener des tâches indépendantes en parallèle. false : séquentiel uniquement.
checkpoints.discovery
require_approval
Agents, via les instructions de leurs compétences
Arrêt après le brief produit, le PRD et la revue UX.
checkpoints.architecture
require_approval
Agents, via les instructions de leurs compétences
Arrêt après l’architecture, avant tout code.
checkpoints.story
require_approval ; notify_only si installé avec --mode autopilot
Agents, via les instructions de leurs compétences
Appliqué après chaque story terminée.
checkpoints.delivery
require_approval
Agents, via les instructions de leurs compétences
Appliqué à la livraison finale. Avec uat.mode: gate, il attend aussi un uat gate réussi.
uat.mode
advisory
Agents, via les instructions de leurs compétences
advisory : construire et proposer la page de recette, sans jamais bloquer. gate : la livraison attend une porte franchie. off : pas de recette, et le rapport de livraison le dit. Un bloc uat absent vaut advisory.
uat.granularity
delivery
Agents, via les instructions de leurs compétences
delivery : une recette par livraison. story : la page est construite et remise tout de suite, story par story.
uat.environment
name et url vides, ou TEST et votre URL
Agents, via les instructions de leurs compétences
L’environnement de test sur lequel la recette est jouée.
uat.page_budget
max_steps: 15, max_minutes: 30
Agents, via les instructions de leurs compétences
Cible de taille d’une page de recette : au plus ce nombre d’étapes et de minutes pour le testeur.
uat.dir
_bmad-output/uat
Indique l’emplacement ; bmad-plus uat le prend dans --dir
Dossier des spécifications, pages, résultats et tris de recette. Sa valeur par défaut est la même.
swarm.budget
26
CLI (swarm) et agents
Nombre de sous-agents qu’une exécution d’essaim peut employer avant que l’hôte doive vous demander. Entier de 1 à 1000.
swarm.wave
10
CLI (swarm) et agents
Nombre de sous-agents lancés ensemble. Entier de 1 à 1000.
swarm.media_credits
ask
CLI (swarm) et agents
La seule valeur acceptée est ask : la génération payante d’images, de vidéo ou d’audio n’est jamais couverte par un budget, l’assistant demande à chaque fois.
Un point de contrôle est un endroit du pipeline autopilot où l’orchestrateur s’arrête, vous prévient puis continue, ou continue simplement. Chacune des quatre clés prend l’une de trois valeurs.
Valeurs d’un point de contrôle
Valeur
Comportement
require_approval
Arrêt. Présente un point de contrôle relisible et attend. Si une autorisation antérieure de votre part couvre déjà l’action concrète suivante, elle n’est pas redemandée. Une notification externe exige un canal configuré et votre autorisation.
notify_only
Rend compte de l’avancement dans la session et continue.
auto
Continue automatiquement et le consigne pour la traçabilité.
Remarque· Installer avec --mode autopilot
Le seul point de contrôle qui dépend du mode à l’installation est story : il est écrit notify_only pour autopilot et require_approval sinon. Modifier ensuite execution_mode ne réécrit pas les points de contrôle ; changez-les vous-même.
Vous faites confiance au pipeline jusqu’au build terminé et ne voulez valider que ce qui part en production.
Dans votre assistant IA
Dans _bmad/config.yaml, passe execution_mode à autopilot, mets les points de contrôle discovery, architecture et story sur notify_only et garde delivery sur require_approval. Montre-moi ensuite le bloc modifié.
Ce que vous devriez obtenir L’assistant modifie le fichier pour qu’il indique execution_mode: autopilot, avec les points discovery, architecture et story sur notify_only et delivery sur require_approval. Au prochain autopilot, Nexus rend compte aux trois premiers points et poursuit, puis s’arrête à la livraison avec un point de contrôle à relire.
Le bloc swarm est la seule partie que la CLI applique. Un bloc absent, ou une clé absente, vaut les valeurs par défaut : 26 sous-agents par exécution, 10 par vague. Quand bmad-plus swarm init reçoit plus d’unités que swarm.budget sans --approved, il n’écrit rien et sort avec le code 2 : un humain décide. La génération de médias payante est hors de tout budget.
Un panel de 30 acheteurs simulés a été refusé avec « needs approval » parce que le budget est de 26 ; vous décidez d’accepter des panels jusqu’à 50 sans redemander.
Dans votre assistant IA
Dans _bmad/config.yaml, mets swarm.budget à 50 et laisse wave et media_credits tels quels. Relance ensuite le même swarm init sans --approved.
Ce que vous devriez obtenir Comme 30 ne dépasse plus le budget, init ne s’arrête plus avec le code 2 : il crée l’exécution et affiche la ligne du panel (par exemple « panel of 30 units, budget 50 »). Une demande de 60 unités serait toujours refusée tant que vous ne passez pas --approved.
Les clés existantes l’emportent : relancer install n’écrase jamais une valeur que vous avez changée.
Les clés manquantes sont ajoutées avec leur valeur par défaut, y compris les clés manquantes à l’intérieur d’un bloc comme uat ou swarm. C’est ainsi qu’un projet installé avec une ancienne version gagne les blocs plus récents.
Les réponses que vous donnez explicitement remplacent la valeur stockée : les champs de l’assistant (nom, langue de communication, mode d’exécution), --mode et l’URL d’un environnement de test.
Dès que quelque chose change, le fichier est réécrit par un écrivain YAML sous l’en-tête « BMAD+ Project Configuration ». Les commentaires ajoutés à la main ne sont pas conservés dans ce cas.
Si le fichier n’est pas un mapping YAML, install le laisse intact et avertit : « _bmad/config.yaml could not be parsed; it was left unchanged. »
uninstall conserve ce fichier, car il contient vos réglages.
_bmad/config.yaml: swarm.budget must be an integer from 1 to 1000.
budget (ou wave, même message avec son nom) n’est pas un entier dans la plage.
Écrivez un entier simple, par exemple budget: 50.
_bmad/config.yaml: swarm.media_credits must be "ask".
Une autre valeur a été écrite.
Mettez media_credits: "ask" ou supprimez la ligne.
_bmad/config.yaml: swarm has an unknown key "<name>".
Une clé autre que budget, wave, media_credits figure dans le bloc.
Supprimez-la ou corrigez l’orthographe.
_bmad/config.yaml is not valid YAML: …
Le fichier ne peut pas être analysé.
Corrigez l’indentation ou les guillemets indiqués dans le message.
_bmad/config.yaml: user_name must be a nonempty string
studio exige que ses cinq clés texte (user_name, communication_language, document_output_language, output_folder, project_name) soient des chaînes non vides lorsqu’elles sont présentes.
Donnez à la clé une valeur texte ou supprimez-la pour revenir à la valeur par défaut.