# Cómo funciona BMAD+

> Qué instala BMAD+ en tu proyecto, quién ejecuta qué y cómo una petición como «Atlas, ...» se convierte en archivos: ejecución en el anfitrión, columna AGENTS.md, packs, agentes, habilidades.

Canonical: https://bmad-plus.rochetta.fr/es/docs/concepts/how-bmad-plus-works/
Language: es
BMAD+ version: 0.23.1
Documentation reviewed: 2026-10-19
Author: Laurent Rochetta
License: MIT

Documentación de BMAD+ › [Conceptos](https://bmad-plus.rochetta.fr/es/docs/concepts/) › Cómo funciona BMAD+

Esta página explica la mecánica de una sola vez, para quien quiera saber qué ocurre tras `npx bmad-plus install` antes de confiarle un proyecto. BMAD+ no es un programa que ejecute tus agentes. Es un conjunto de archivos (instrucciones, roles, workflows) más una pequeña herramienta de línea de comandos que lleva registros. Tu herramienta de programación con IA, llamada anfitrión en estas páginas, lee los archivos y hace el trabajo con su propio modelo y sus propios permisos.

<a id="host-managed"></a>
## La ejecución la gestiona el anfitrión

El registro lo establece como contrato: `execution: host-managed`, `lifecycle_events: not-integrated`. En la práctica son cuatro cosas. El anfitrión aporta el modelo, así que BMAD+ no guarda ninguna clave de API ni llama a ningún modelo. El anfitrión aporta los permisos: tu herramienta, no BMAD+, permite o rechaza una edición de archivo o un comando de shell. El anfitrión aporta los subagentes paralelos, si los hay. Y nada se ejecuta en segundo plano: no hay demonio, ni planificador, ni telemetría.

> **Nota · Una excepción opcional** Nexus puede lanzar un comando local o un proceso de Codex CLI, pero solo para una tarea de un plan que tú escribiste, solo con un `nexus launch` explícito y bajo un supervisor en primer plano que sigue vivo en tu terminal. Nada se programa. Consulta la página de Nexus.

<a id="vocabulary"></a>
## El vocabulario

**Términos usados en toda la documentación**

| Término | Significado | Dónde está |
| --- | --- | --- |
| anfitrión | La herramienta de programación con IA que lee las instrucciones y hace el trabajo: Claude Code, Gemini CLI, Cursor, Codex CLI, etc. | Fuera de BMAD+ |
| columna (spine) | El único archivo de instrucciones que leen todas las herramientas. Lista los agentes, las habilidades, las reglas de memoria y los datos del registro. | `AGENTS.md` en la raíz del proyecto (generado) |
| adaptador | Un archivo corto, en el formato que espera un anfitrión, que remite a la columna y añade notas propias de la herramienta. | `CLAUDE.md`, `GEMINI.md`, `.cursor/rules/bmad-plus.mdc`, `.codex/AGENTS.md`, `.opencode/AGENTS.md`, `CONVENTIONS.md` |
| pack | Un grupo de agentes, habilidades y workflows que se instalan juntos. Hay 10; Core siempre está instalado. | Declarado en `registry.yaml`; instalado en `.agents/skills/` |
| agente | Un perfil (persona) con nombre al que te diriges por su nombre («Forge, ...»). 48 en total entre los packs, 15 de ellos puntos de entrada del instalador. | `.agents/skills/<agent>/SKILL.md` o dentro de la carpeta de un pack |
| rol | Un modo dentro de un agente. Atlas es Analista o Product Manager; el agente cambia por petición o por contexto. | Descrito en el archivo del agente; reglas en `.agents/data/role-triggers.yaml` |
| habilidad (habilidad) | Un procedimiento que el anfitrión carga cuando hace falta: un SKILL.md con sus archivos de referencia. Autopilot, intake, swarm y uat son habilidades de Core. | `.agents/skills/<skill>/SKILL.md` |
| workflow | Un procedimiento en Markdown, paso a paso, dentro de un pack. Dev Studio tiene 38; Shield, 11. | En la carpeta del pack |
| registro | El único archivo que declara packs, agentes, habilidades, adaptadores, pipelines e intakes. Cuanto se genera deriva de él. | `registry.yaml` en el repositorio fuente de BMAD+ |
| punto de control | Un lugar donde una ejecución de autopilot se detiene, informa o continúa, según la configuración. | `checkpoints` en `_bmad/config.yaml` |

<a id="what-install-writes"></a>
## Lo que escribe el instalador

La instalación copia archivos en tu proyecto y registra lo que copió. No toca tu código fuente y no inicia nada. La única escritura fuera del proyecto es el cerebro global del pack Memory, en tu carpeta personal (fila `~/.bmad-plus/brain/`). La tabla lista las ubicaciones; las últimas filas solo aparecen cuando usas la función correspondiente.

**Archivos y carpetas creados en el proyecto**

| Ruta | Contenido | Escrito por |
| --- | --- | --- |
| `AGENTS.md` y los archivos de adaptador | La columna y los adaptadores por herramienta. | install |
| `.agents/skills/` | Agentes, habilidades y carpetas de pack (`pack-<name>`). | install, update |
| `.agents/data/role-triggers.yaml` | Las reglas de activación automática. | install, update |
| `_bmad/config.yaml` | Tus ajustes: modo de ejecución, puntos de control, uat, swarm. | install (se fusiona al reinstalar), tú |
| `_bmad/module.yaml`, `_bmad/module-help.csv` | Descripción del módulo e índice de ayuda. | install, update |
| `_bmad/.bmad-plus-install.json` | El manifiesto: versión, packs, herramientas y un SHA-256 por cada archivo instalado. | install, update |
| `_bmad-output/`, `docs/` | Dónde van los entregables (`discovery`, `build`, luego `design`, `review`, `uat`, `dev-studio` según el uso). | install crea las primeras carpetas; los agentes escriben el resto |
| `.agents/memory/` | Decisiones, lecciones, patrones, contexto y traspasos de sesión (solo el pack Memory). | install, agentes, tú |
| `~/.bmad-plus/brain/` | El cerebro global, fuera del proyecto: `identity.yaml`, decisiones, lecciones y patrones globales, y una entrada `projects/<hash>.yaml` por proyecto. Solo el pack Memory: se crea cuando no se encuentra ningún cerebro, se completa (nunca se sobrescribe) cuando es el cerebro enlazado y se deja intacto cuando el proyecto enlaza otro cerebro (una carpeta `_brain/` o `~/.claude/memory`). `.agents/memory/.brain-link` en el proyecto indica qué cerebro está enlazado. | install (pack Memory), agentes, tú |
| `.bmad-plus/swarm/`, `.bmad-plus/nexus/` | Estado de las ejecuciones de enjambres y de los planes de Nexus. | la CLI, cuando ejecutas esos comandos |
| `.bmad/` | Caché y recibos de actualización, diario de memoria. | la CLI |

**Una instalación y un diagnóstico reales**

```text
$ 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.
# Extracto: se omitió el recuadro de guía del instalador y las líneas vacías, y la carpeta personal está abreviada. Las cifras dependen de los packs que elijas. La línea del cerebro solo aparece si el pack Memory no encuentra ningún cerebro existente.
```

Salida capturada de una ejecución real. Fuente: bmad-plus 0.23.0, 2026-10-19

<a id="what-runs-where"></a>
## Qué se ejecuta dónde

**Los cuatro lugares donde algo se ejecuta**

| Dónde | Qué hace | Qué nunca hace |
| --- | --- | --- |
| Tu herramienta de IA (el anfitrión) | Lee la columna y las habilidades, habla con su modelo, edita archivos, ejecuta los comandos que puede ejecutar y lanza subagentes si puede. | Nada de lo que hace BMAD+ puede elevar sus permisos. |
| La CLI `bmad-plus` | Contabilidad determinista sobre archivos locales: install, update, doctor, intake, swarm, nexus, review, uat, mem. Requiere Node.js 20 o superior. | Llamar a un modelo, lanzar un demonio, enviar telemetría, hacer commits en Git. |
| El backend de procesos opcional | Con `nexus launch`, ejecuta un comando o una llamada `codex exec` de un plan que escribiste, en primer plano, y luego verifica el resultado con comprobaciones independientes. | Funcionar sin supervisión, o aceptar su propio resultado. |
| Las herramientas de los packs (SEO, OSINT, Animated) | Scripts de Python y otros que un agente ejecuta con tu visto bueno: rastrear un sitio que nombraste, consultar un proveedor cuya clave configuraste. | Arrancar sin una clave o un objetivo que tú hayas dado. |

<a id="request-flow"></a>
## De una frase a archivos

1. **Escribes a tu anfitrión** Te diriges a un agente por su nombre en el chat de tu herramienta de IA, en tu idioma.

   ```sh
   Atlas, help me define a small invoicing app for freelancers.
   ```
2. **El anfitrión carga las instrucciones** El anfitrión lee su archivo de adaptador, que remite a `AGENTS.md`. La columna nombra a Atlas y la carpeta de su SKILL.md. Leer ese archivo es lo que convierte a un asistente general en el perfil (persona).
3. **Se leen los ajustes y Atlas espera** El agente lee `_bmad/config.yaml` (tu idioma, el modo de ejecución, el comportamiento de los puntos de control), te saluda y muestra su menú de capacidades (por ejemplo `CB` para un product brief, `MR` para un estudio de mercado). Atlas espera tu elección: un número, un código o una frase que coincida con alguno.
4. **Se elige un rol** Atlas tiene dos roles, Analista (investigación, descubrimiento) y Product Manager (planificación, product briefs, PRD). Una palabra clave como «market» o «PRD», o una situación como un proyecto nuevo, cambia el rol, y el agente lo avisa. El modo de ejecución y los puntos de control deciden después si se detiene a preguntar o sigue.
5. **Se escribe un entregable** Una vez que eliges, por ejemplo `CB` para crear un product brief, el anfitrión escribe el resultado en el proyecto con sus propios permisos, normalmente en la carpeta de salida (`_bmad-output/` por defecto). Lo revisas como cualquier otro archivo.
6. **La CLI lleva los registros cuando hace falta** Para intake, enjambres, revisiones o recetas de aceptación, el agente llama a `bmad-plus` para validar, contar o sellar evidencias. La CLI responde con archivos y códigos de salida, nunca con opiniones.

<a id="roles-activation"></a>
## Cómo cambian los roles

Las reglas están en `.agents/data/role-triggers.yaml`. Cada agente puede cambiar de rol en tres niveles y anuncia el cambio para que puedas rechazarlo.

**Los tres niveles de activación**

| Nivel | Disparador | Ejemplo |
| --- | --- | --- |
| Patrón | Una palabra clave en tu petición. | «review» activa el rol de QA de Sentinel. |
| Contexto | Una situación detectada mientras trabaja. | Un cambio que toca más de 5 archivos activa el rol de Arquitecto de Forge. |
| Razonamiento | Una conclusión alcanzada durante la ejecución. | Una implementación que deja al descubierto un fallo de arquitectura activa el rol de Arquitecto. |

El aviso es del estilo «I’m switching to QA mode - financial calculations detected. Say ’skip’ to stay in current mode.» Poner `auto_role_activation: false` en `_bmad/config.yaml` desactiva el cambio automático; aun así puedes pedir un rol por su nombre.

<a id="settings-and-modes"></a>
## Ajustes y modos de ejecución

El instalador escribe `_bmad/config.yaml` una vez y conserva tus cambios en instalaciones posteriores. `execution_mode` es `manual` por defecto: llamas tú a cada agente. `autopilot` deja que Nexus ejecute el pipeline completo; `hybrid` es autopilot con puntos de control frecuentes. Cada punto de control (`discovery`, `architecture`, `story`, `delivery`) es `require_approval`, `notify_only` o `auto`.

**_bmad/config.yaml tal como lo escribe el instalador 0.23.0 (abreviado; los booleanos y los números van sin comillas, las cadenas con comillas simples)**

```yaml
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'
```

**Qué hace un punto de control**

| Valor | Comportamiento |
| --- | --- |
| `require_approval` | Detenerse, mostrar algo revisable y esperar. No se vuelve a pedir una aprobación previa que ya cubra la siguiente acción concreta. |
| `notify_only` | Informar en la sesión y continuar. |
| `auto` | Continuar y dejarlo registrado. |

<a id="generated-files"></a>
## Archivos generados y tus cambios

La columna y los adaptadores se generan a partir de `registry.yaml` en el repositorio fuente de BMAD+, de modo que las cifras y las listas no pueden desviarse de las declaraciones. En tu proyecto puedes añadir tus propias reglas a un adaptador. El instalador registra un hash SHA-256 por cada archivo que escribe; un adaptador o una habilidad cuyo hash ya no coincide se trata como tuyo y las actualizaciones y la desinstalación lo conservan.

<a id="boundaries"></a>
## Lo que BMAD+ no hace a propósito

- Sin runtime de modelo: no llama a ninguna API de LLM, no guarda ninguna clave para usar una y no ejecuta ningún bucle de agente propio.
- Sin procesos en segundo plano: ni demonio, ni planificador, ni exportador de telemetría, ni autoactualización silenciosa.
- Sin motor de revisión que adivine: los hallazgos que el código no permite anclar se notifican como tales, nunca los reubica un modelo.
- Sin corrección automática a partir de una revisión: una revisión no concede permiso de escritura y la aceptación humana sigue siendo la puerta de entrega.
- Sin extensión de IDE y sin publicar en GitHub, GitLab u otras forjas.

**Véase también**

- [Tu primera hora con BMAD+](https://bmad-plus.rochetta.fr/es/docs/guides/first-hour/)
- [Intake: preguntar primero](https://bmad-plus.rochetta.fr/es/docs/concepts/intake/)
- [Enjambres de subagentes](https://bmad-plus.rochetta.fr/es/docs/concepts/swarm/)
- [Nexus, autopilot y trabajo en paralelo](https://bmad-plus.rochetta.fr/es/docs/concepts/nexus-orchestration/)
- [El registro y las habilidades](https://bmad-plus.rochetta.fr/es/docs/concepts/registry-and-skills/)
- [Referencia: config.yaml](https://bmad-plus.rochetta.fr/es/docs/reference/config-yaml/)
- [Referencia: herramientas y adaptadores admitidos](https://bmad-plus.rochetta.fr/es/docs/reference/adapters/)

[Documentación de BMAD+](https://bmad-plus.rochetta.fr/es/docs/) · [Conceptos](https://bmad-plus.rochetta.fr/es/docs/concepts/)

[Código en GitHub](https://github.com/lrochetta/BMAD-PLUS)
