# Adaptadores

> Las siete herramientas de IA que BMAD+ prepara: el archivo que se escribe para cada una, cómo se detecta, la columna común AGENTS.md y cómo install y update protegen tus propias instrucciones.

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

Documentación de BMAD+ › [Referencia](https://bmad-plus.rochetta.fr/es/docs/reference/) › Adaptadores

Cada asistente de IA busca sus instrucciones en un archivo distinto. Un adaptador es ese archivo: un documento generado y breve que informa a un asistente de los agentes, habilidades y reglas que BMAD+ instaló. Install escribe un adaptador por herramienta que uses, más una columna común, `AGENTS.md`, para que todos los asistentes vean el mismo equipo y las mismas reglas. Esta página es para quien elige `--tools` o se pregunta qué hará BMAD+ con un archivo de instrucciones que ya existe.

<a id="tools"></a>
## Las siete herramientas

**Herramientas, archivos y detección**

| Id para `--tools` | Herramienta | Archivo escrito | Se detecta si existe esto | Nota escrita para la herramienta |
| --- | --- | --- | --- | --- |
| `claude-code` | Claude Code | `CLAUDE.md` | `.claude` | Carga `CLAUDE.md` de la raíz por sí mismo; activa un agente diciendo su nombre. |
| `gemini-cli` | Gemini CLI | `GEMINI.md` | `.gemini` | Carga `GEMINI.md` de la raíz por sí mismo. |
| `antigravity` | Antigravity | `GEMINI.md` (compartido con Gemini CLI) | `.gemini/antigravity` | Lee el mismo archivo; la nota añade una regla de concurrencia: coordinarse con otras herramientas agénticas y no editar nunca los mismos archivos a la vez. |
| `cursor` | Cursor | `.cursor/rules/bmad-plus.mdc` | `.cursor` | Una regla con `alwaysApply: true` en su cabecera, así que Cursor siempre la carga; la columna sigue siendo la fuente de verdad. |
| `codex-cli` | Codex CLI | `.codex/AGENTS.md` | `.codex` | Sigue la convención abierta AGENTS.md; el archivo remite a la columna de la raíz, que conviene leer directamente cuando existen ambos. |
| `opencode` | OpenCode | `.opencode/AGENTS.md` | `.opencode` | Igual que Codex CLI. |
| `aider` | Aider | `CONVENTIONS.md` | `.aider.conf.yml` | Aider no carga por sí mismo los archivos de convenciones: añade `read: CONVENTIONS.md` a `.aider.conf.yml` o ejecuta `/read CONVENTIONS.md` en la sesión. |

Gemini CLI y Antigravity apuntan al mismo `GEMINI.md`. Si se eligen ambos, se escribe un solo archivo, titulado para los dos. La detección solo comprueba que el marcador exista en la carpeta del proyecto; no dice nada de si la herramienta está instalada en la máquina.

<a id="choosing"></a>
## Elegir herramientas al instalar

**Cómo deciden --tools y el asistente**

| Pasas | Resultado |
| --- | --- |
| nada, en interactivo | Se eligen las herramientas cuyo marcador se encuentra. Si no hay ninguno, el asistente pregunta cuáles usas. |
| nada, con `--yes` | Solo las herramientas detectadas. Si no se detecta ninguna, no se escribe ningún adaptador y el instalador dice: `No AI tool detected; no instruction adapter written. Re-run with --tools <ids> or --tools all to add one.` |
| `--tools claude-code,cursor` | Exactamente estas. La lista se separa con comas. |
| `--tools all` | Las siete. |
| `--tools none` (or `skip`) | No se escribe ningún adaptador y los archivos de instrucciones existentes quedan intactos. Los agentes y habilidades se instalan igualmente. |
| un id desconocido | El comando se detiene antes de escribir nada: «Unknown tool ID(s): … Available: claude-code, gemini-cli, antigravity, cursor, codex-cli, opencode, aider, all, none.» |

Volver a ejecutar `install` conserva las herramientas que esta instalación ya posee, pases lo que pases, salvo con `--tools none`. Así, añadir una herramienta nunca quita otra.

**Una instalación real que prepara Claude Code**

```text
$ npx bmad-plus install --yes --lang fr --packs core,design --tools claude-code --directory .\demo-app
•  IDE détectés: Claude Code
o  ✅ 5 agents, 9 skills, 4 fichiers copiés
o  ✅ 1 IDE configuré(s)
```

Salida capturada de una ejecución real. Fuente: Capturado durante la receta de aceptación de la 0.23.0, el 2026-10-18 (paso 1; instalador ejecutado en francés)

<a id="files"></a>
## Qué contienen los archivos

`AGENTS.md` es la columna. Se escribe en cuanto se elige al menos una herramienta y lo lleva todo: el contexto del proyecto, el equipo de agentes (con las habilidades que conduce cada uno), la carpeta de habilidades y el archivo de activación automática, tu nombre y tu idioma, las instrucciones de actualización, los hechos del registro (número de packs y agentes, flujos de datos, notas de convivencia) y los comandos clave del chat. Las reglas de memoria (cuatro salvaguardas y cuatro archivos de `.agents/memory`) solo se añaden si el pack Memory está instalado. Cada archivo de herramienta empieza con un enlace a la columna y la nota de la tabla, y luego repite las mismas secciones, porque muchas herramientas solo cargan su propio archivo.

**Dos líneas de un AGENTS.md generado**

```text
$ Select-String -Path .\demo-app\AGENTS.md -Pattern 'Atelier','Cohabitation'
demo-app\AGENTS.md:22:- **Atelier** (Design Engine) — Senior product designer and design engineer: surfaces, tokens, accessibility, audits, redesigns (Design) — drives: design, design-review, redesign
demo-app\AGENTS.md:54:- Cohabitation (Design): Overlaps Sentinel's UX-review role and Dev Studio's Rachel (UX Designer); when this pack is installed its rules govern visual design and accessibility, and the others hand those over.
# La terminal había partido las líneas largas en la ejecución grabada; aquí se muestran unidas.
```

Salida capturada de una ejecución real. Fuente: Capturado durante la receta de aceptación de la 0.23.0, el 2026-10-18 (paso 3; Select-String sobre el AGENTS.md de la carpeta demo-app)

Cada archivo generado lleva los marcadores `AUTO-GENERATED by tools/build/generate-adapters.js — DO NOT EDIT.` y `BMAD+ installed project configuration`. Esos marcadores son lo que permite a BMAD+ reconocer luego un archivo como suyo. La regla de Cursor empieza con su encabezado YAML (`description`, `alwaysApply: true`), así que los marcadores van justo después.

<a id="ownership"></a>
## Qué pasa con un archivo que ya existe

Install registra una huella de cada adaptador que escribe (el hash del contenido, con los finales de línea normalizados). Esa huella, guardada en el manifiesto de instalación, permite a BMAD+ distinguir su archivo intacto de uno que has editado.

**Comportamiento según la situación**

| El archivo en la ruta de destino es… | install | update |
| --- | --- | --- |
| inexistente | Se escribe. | Se escribe. |
| de BMAD+, idéntico a lo que se escribiría | Se deja como está. | Se deja como está. |
| de BMAD+, intacto desde la instalación | Se actualiza. | Se actualiza y se registra la nueva huella. |
| de BMAD+, pero lo has editado | Se conserva. Aviso: `<file>: existing project instructions preserved.` | Se conserva y se lista como conflicto (motivo `local-instructions`). |
| escrito por ti, sin marcadores de BMAD+ (ejecución interactiva) | Se conserva, con el mismo aviso. | Se conserva, incluso con `--yes`. |
| escrito por ti, sin marcadores de BMAD+, con `install --yes` | Se copia antes a `<file>.bak` y luego se reemplaza. Un `.bak` existente nunca se sobrescribe: la siguiente copia es `.bak.1`, luego `.bak.2`. | — |
| dejado por un instalador antiguo de BMAD+ | Se guarda en `.bak` y se actualiza: `<file>: backed up to <file>.bak before refreshing.` | Igual: se guarda y luego se migra. |
| el archivo generado de un repositorio fuente de BMAD+ (marcador del generador, sin marcador de instalación) | Se conserva, con una indicación para compararlo con los valores del paquete. | Se conserva, motivo `repository-adopted`. |

> **Advertencia · install --yes reemplaza un archivo de instrucciones que escribiste** Una instalación desatendida no puede preguntar, así que hace una copia `.bak` y escribe la versión de BMAD+. Si tu propio `CLAUDE.md` importa, ejecuta `install` una vez en interactivo, o pasa `--tools none` y fusiona tú mismo el contenido generado. `update` nunca hace esto: siempre conserva un archivo que no le pertenece.

`doctor` informa del estado de cada adaptador como `Instruction file: <state>.` con los estados `unchanged` (correcto), `modified`, `unowned` o `adopted` (avisos), y `missing` o `unreadable` (errores). `uninstall` solo quita un adaptador si aún lleva el marcador de instalación y su huella coincide con la registrada; un archivo que editaste se queda.

<a id="limits"></a>
## Lo que un adaptador no hace

- Es texto que el asistente lee. BMAD+ no instala ningún hook ni extensión en ninguna de estas herramientas: el registro describe la integración como gestionada por el anfitrión, sin eventos de ciclo de vida integrados.
- Es agnóstico del modelo por contrato: se admiten Claude, GPT, Gemini y modelos locales, porque el contenido son simples instrucciones.
- No hace que el asistente ejecute `bmad-help`, `autopilot` o `parallel`: son frases que dices en el chat.
- Indica al asistente que compruebe una nueva versión una vez por sesión con `npx --no-install bmad-plus update-check --json` y que solo aplique una dentro de lo que permita tu política de actualización. Esa forma solo ejecuta una copia local: añade el paquete una vez con `npm install --save-dev bmad-plus` o usa `npx bmad-plus update-check --json`.

<a id="examples"></a>
## Ejemplos

<a id="example-cli-adapters-add-cursor"></a>
### Añadir Cursor a un proyecto que ya usa Claude Code

BMAD+ está instalado con `claude-code`. Un compañero trabaja en Cursor y necesita los mismos agentes.

**En tu asistente de IA**

```text
Añade Cursor a la instalación de BMAD+ de este proyecto sin tocar la configuración de Claude Code: ejecuta `npx bmad-plus install --yes --tools cursor` y dime qué archivos cambiaron.
```

**Lo que deberías obtener** `--yes` hace falta cuando el asistente ejecuta el comando, porque sin terminal el instalador se niega a arrancar; en tu propia terminal preguntaría antes el idioma, los packs y tu nombre. El instalador conserva `claude-code` (las herramientas ya poseídas se retienen) y escribe `.cursor/rules/bmad-plus.mdc` con `alwaysApply: true` y un enlace a `AGENTS.md`. `CLAUDE.md` y `AGENTS.md` solo se reescriben si su contenido generado difiere; una copia que hayas editado se conserva con el aviso «existing project instructions preserved». El manifiesto lista ahora ambas herramientas.

<a id="example-cli-adapters-edited-claude-md"></a>
### Has añadido tus propias reglas a CLAUDE.md

Añadiste las convenciones del equipo al final del `CLAUDE.md` generado y sale una nueva versión de BMAD+.

**En tu asistente de IA**

```text
Actualiza BMAD+ en este proyecto con `npx bmad-plus update --latest --yes` y lista cada archivo que la actualización conservó en lugar de reemplazar.
```

**Lo que deberías obtener** El plan muestra «CLAUDE.md: preserved (local-instructions).» y el recibo lo registra como conflicto; la actualización termina con «applied partially.» Tus añadidos quedan intactos. Para adoptar el nuevo texto generado, fusiona a mano o restaura el original y edita de nuevo.

**Véase también**

- [install y su opción --tools](https://bmad-plus.rochetta.fr/es/docs/reference/cli-install/)
- [update: cómo se conservan los conflictos](https://bmad-plus.rochetta.fr/es/docs/reference/cli-update/)
- [doctor: estados de los adaptadores](https://bmad-plus.rochetta.fr/es/docs/reference/cli-doctor/)
- [uninstall](https://bmad-plus.rochetta.fr/es/docs/reference/cli-uninstall/)
- [Estructura del proyecto](https://bmad-plus.rochetta.fr/es/docs/reference/project-layout/)

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

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