Cada clave de _bmad/config.yaml: modo de ejecución, los cuatro puntos de control, el bloque uat y el presupuesto del enjambre. Valores por defecto, quién lee cada una y su efecto.
_bmad/config.yaml es el archivo donde un proyecto le dice a BMAD+ cómo comportarse: qué idioma usar, si los agentes trabajan de uno en uno o bajo el orquestador Nexus, dónde deben detenerse y esperarte, cómo se tratan las recetas de aceptación humana y cuántos subagentes puede usar un enjambre. bmad-plus install lo crea; puedes editarlo a mano. Esta página lista todas las claves que escribe.
Nota· Quién lee este archivo
La propia línea de comandos solo lee unos pocos valores: el bloque swarm (validado por bmad-plus swarm), cinco claves de texto que usa bmad-plus studio y communication_language para el idioma de una página de aceptación construida por bmad-plus uat. Todo lo demás lo leen los agentes: las instrucciones de sus habilidades les dicen que abran este archivo y lo sigan. Por eso un punto de control modificado surte efecto la próxima vez que un agente inicia un pipeline, sin ningún comando que ejecutar.
El archivo tras install --yes --lang fr en una carpeta llamada demo-app, reproducido con el paquete 0.23.0. Al escribir se entrecomillan las cadenas con comillas simples, y user_name recurre al nombre de usuario del sistema y, si no, a Developer
Los valores de user_name, communication_language y project_name vienen del asistente o de la carpeta; el resto son los valores por defecto mostrados. uat.environment contiene name: "TEST" y la dirección si escribiste la URL de un entorno de pruebas en el asistente.
respuesta del asistente; si no, tu usuario del sistema; si no, Developer
CLI (studio) y agentes
El nombre con el que los agentes te saludan. Debe ser un texto no vacío para studio.
communication_language
nombre del idioma de --lang; si no, el idioma del sistema si está soportado; si no, English
CLI (studio, uat) y agentes
Idioma en el que responden los agentes. uat build abre la página de aceptación en él.
document_output_language
igual que communication_language
CLI (studio) y agentes
Idioma de los documentos que escriben los agentes (briefs, PRD, informes).
output_folder
_bmad-output
CLI (studio) y agentes
Dónde dejan los agentes sus entregables. Para studio, la ruta debe ser relativa al proyecto.
project_name
nombre de la carpeta del proyecto
CLI (studio) y agentes
El nombre del proyecto usado en los documentos.
execution_mode
manual
Agentes, mediante las instrucciones de sus habilidades
manual: tú llamas a los agentes. autopilot: Nexus encadena Discovery, Build y Ship. hybrid: autopilot con puntos de control frecuentes. Se fija al instalar con --mode.
auto_role_activation
true
Agentes, mediante las instrucciones de sus habilidades
true: un agente puede cambiar de rol cuando el contexto lo pide, tras anunciarlo. false: los roles solo cambian cuando tú lo pides.
parallel_execution
true
Agentes, mediante las instrucciones de sus habilidades
true: el Parallel Supervisor puede ejecutar tareas independientes en paralelo. false: solo secuencial.
checkpoints.discovery
require_approval
Agentes, mediante las instrucciones de sus habilidades
Parada tras el brief de producto, el PRD y la revisión UX.
checkpoints.architecture
require_approval
Agentes, mediante las instrucciones de sus habilidades
Parada tras la arquitectura, antes de cualquier código.
checkpoints.story
require_approval; notify_only si se instaló con --mode autopilot
Agentes, mediante las instrucciones de sus habilidades
Se aplica tras cada historia completada.
checkpoints.delivery
require_approval
Agentes, mediante las instrucciones de sus habilidades
Se aplica en la entrega final. Con uat.mode: gate, también espera un uat gate superado.
uat.mode
advisory
Agentes, mediante las instrucciones de sus habilidades
advisory: construir y ofrecer la página de aceptación sin bloquear nunca. gate: la entrega espera una puerta superada. off: sin receta, y el informe de entrega lo dice. Un bloque uat ausente equivale a advisory.
uat.granularity
delivery
Agentes, mediante las instrucciones de sus habilidades
delivery: una receta por entrega. story: la página se construye y entrega de inmediato, historia a historia.
uat.environment
name y url vacíos, o TEST y tu URL
Agentes, mediante las instrucciones de sus habilidades
El entorno de pruebas en el que se recorre la receta.
uat.page_budget
max_steps: 15, max_minutes: 30
Agentes, mediante las instrucciones de sus habilidades
Objetivo de tamaño de una página de receta: como máximo estos pasos y minutos para quien prueba.
uat.dir
_bmad-output/uat
Documenta la ubicación; bmad-plus uat la toma de --dir
Carpeta de las especificaciones, páginas, resultados y triaje de recetas. Su valor por defecto es el mismo.
swarm.budget
26
CLI (swarm) y agentes
Cuántos subagentes puede usar una ejecución de enjambre antes de que el anfitrión deba preguntarte. Entero de 1 a 1000.
swarm.wave
10
CLI (swarm) y agentes
Cuántos subagentes se lanzan juntos. Entero de 1 a 1000.
swarm.media_credits
ask
CLI (swarm) y agentes
El único valor aceptado es ask: la generación de pago de imágenes, vídeo o audio nunca queda cubierta por un presupuesto, el asistente pregunta cada vez.
Un punto de control es un lugar del pipeline autopilot donde el orquestador se detiene, te avisa y sigue, o simplemente sigue. Cada una de las cuatro claves toma uno de tres valores.
Valores de un punto de control
Valor
Comportamiento
require_approval
Parada. Presenta un punto de control revisable y espera. Si una autorización anterior tuya ya cubre la siguiente acción concreta, no se vuelve a pedir. Una notificación externa necesita un canal configurado y tu autorización.
notify_only
Informa del avance en la sesión y continúa.
auto
Continúa automáticamente y lo registra para la auditoría.
Nota· Instalar con --mode autopilot
El único punto de control que depende del modo en la instalación es story: se escribe como notify_only para autopilot y como require_approval en los demás casos. Editar después execution_mode no reescribe los puntos de control; cámbialos tú.
Confías en el pipeline hasta el build terminado y solo quieres aprobar lo que se entrega.
En tu asistente de IA
En _bmad/config.yaml, pon execution_mode en autopilot, pon los puntos de control discovery, architecture y story en notify_only y deja delivery en require_approval. Después muéstrame el bloque editado.
Lo que deberías obtener El asistente edita el archivo para que diga execution_mode: autopilot, con los puntos discovery, architecture y story en notify_only y delivery en require_approval. En el próximo autopilot, Nexus informa en los tres primeros y sigue, y se detiene en la entrega con un punto de control que revisar.
El bloque swarm es la única parte que la CLI hace cumplir. Un bloque ausente, o una clave ausente, equivale a los valores por defecto: 26 subagentes por ejecución, 10 por oleada. Cuando a bmad-plus swarm init se le piden más unidades que swarm.budget y falta --approved, no escribe nada y sale con el código 2, para que decida una persona. La generación de medios de pago queda fuera de cualquier presupuesto.
Un panel de 30 compradores simulados fue rechazado con «needs approval» porque el presupuesto es 26; decides aceptar paneles de hasta 50 sin preguntar cada vez.
En tu asistente de IA
En _bmad/config.yaml pon swarm.budget en 50 y deja wave y media_credits como están. Después vuelve a lanzar el mismo swarm init sin --approved.
Lo que deberías obtener Como 30 ya no supera el presupuesto, init no se detiene con el código 2: crea la ejecución e imprime la línea del panel (por ejemplo «panel of 30 units, budget 50»). Una petición de 60 unidades seguiría rechazándose hasta que pases --approved.
Las claves existentes mandan: volver a ejecutar install nunca sobrescribe un valor que hayas cambiado.
Las claves que faltan se añaden con su valor por defecto, incluidas las que faltan dentro de un bloque como uat o swarm. Así un proyecto instalado con una versión antigua gana los bloques más nuevos.
Las respuestas que das de forma explícita sustituyen el valor guardado: los campos del asistente (nombre, idioma de comunicación, modo de ejecución), --mode y la URL de un entorno de pruebas.
Cuando algo cambia, el archivo se reescribe con un escritor YAML bajo la cabecera «BMAD+ Project Configuration». Los comentarios añadidos a mano no se conservan en ese caso.
Si el archivo no es un mapeo YAML, install lo deja intacto y avisa: «_bmad/config.yaml could not be parsed; it was left unchanged.»
uninstall conserva este archivo, porque contiene tus ajustes.
_bmad/config.yaml: swarm.budget must be an integer from 1 to 1000.
budget (o wave, mismo mensaje con su nombre) no es un entero dentro del rango.
Escribe un entero simple, por ejemplo budget: 50.
_bmad/config.yaml: swarm.media_credits must be "ask".
Se escribió otro valor.
Pon media_credits: "ask" o borra la línea.
_bmad/config.yaml: swarm has an unknown key "<name>".
Hay en el bloque una clave distinta de budget, wave, media_credits.
Quítala o corrige la ortografía.
_bmad/config.yaml is not valid YAML: …
El archivo no se puede analizar.
Corrige la sangría o las comillas que indica el mensaje.
_bmad/config.yaml: user_name must be a nonempty string
studio exige que sus cinco claves de texto (user_name, communication_language, document_output_language, output_folder, project_name) sean cadenas no vacías cuando existen.
Dale a la clave un valor de texto o bórrala para volver al valor por defecto.