# autoconfig

> Prepara BMAD+ en un repositorio existente o una carpeta vacía: detecta el stack, puntúa la salud del proyecto, recomienda packs, los instala y siembra la memoria del proyecto.

Canonical: https://bmad-plus.rochetta.fr/es/docs/reference/cli-autoconfig/
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/) › autoconfig

`autoconfig` es el arranque en un solo comando para un proyecto que aún no has configurado. En lugar de elegir los packs tú mismo, dejas que BMAD+ mire la carpeta, recomiende un conjunto de packs, ejecute `install` con ellos y escriba un primer contexto del proyecto en la memoria. Úsalo cuando llegues a un repositorio desconocido o todavía no sepas qué packs necesitas. Si ya sabes lo que quieres, `install` te da el control completo.

Un pack es un conjunto instalable de agentes y habilidades (consulta la sección de packs). Un proyecto se considera existente cuando su carpeta contiene al menos una entrada visible, es decir, cuyo nombre no empieza por un punto. Si no, se considera nuevo.

<a id="synopsis"></a>
## Sinopsis

**En la terminal de tu proyecto**

```sh
npx bmad-plus autoconfig [-d <path>] [-l <code>] [-y]
```

**Opciones de autoconfig**

| Opción | Argumento | Por defecto | Qué hace |
| --- | --- | --- | --- |
| `-d, --directory <path>` | ruta | carpeta actual | Proyecto que analizar e instalar. |
| `-l, --lang <code>` | en, fr, es, de, pt-br, ru, zh, he, ja, it | en | Idioma que se pasa al instalador que ejecuta. Los mensajes propios de autoconfig siguen en inglés. |
| `-y, --yes` | ninguno | desactivado | Solo proyecto existente: omite la confirmación «Install N recommended packs?». No omite las preguntas del proyecto nuevo. |

> **Advertencia · --yes no hace autónomo un proyecto nuevo** En una carpeta vacía el asistente siempre hace dos preguntas (tipo de proyecto, descripción en una frase), diga lo que diga `--yes`. Ejecútalo en una terminal donde puedas responder.

<a id="how-it-decides"></a>
## Cómo decide

<a id="existing-project"></a>
### Proyecto existente

Lee la carpeta, muestra un análisis breve (stack, estructura, una barra de salud, si ya hay BMAD+ o un archivo de instrucciones), lista los packs recomendados con un motivo cada uno, pide confirmación (salvo `--yes`), instala e imprime hasta cinco pasos siguientes redactados como peticiones a un agente.

**Qué packs se recomiendan**

| Pack | Se recomienda cuando |
| --- | --- |
| `core`, `memory` | Siempre. |
| `dev-studio` | No hay carpeta `docs`, `doc` ni `documentation`, o el proyecto tiene más de cinco carpetas visibles en la raíz (sin contar `node_modules`). |
| `shield` | Existe una carpeta `.github`, `.gitlab-ci` o `.circleci`, o un archivo `Dockerfile`, `docker-compose.yml` o `docker-compose.yaml`. |
| `seo` | El framework detectado en `package.json` es Next.js, Nuxt, Angular, React, Vue.js o Svelte. |

La barra de salud es una lista de comprobación ponderada. Su puntuación es la proporción redondeada sobre un peso total de 10; solo informa los consejos finales y nunca cambia los packs recomendados.

**Lista de comprobación de salud**

| Comprobación | Peso | Cuenta cuando |
| --- | --- | --- |
| Código fuente | 2 | existe una carpeta `src`, `lib` o `app` |
| Pruebas | 2 | existe una carpeta `tests`, `test`, `__tests__` o `spec` |
| Documentación | 1 | existe una carpeta `docs`, `doc` o `documentation` |
| CI/CD | 1 | existe una carpeta `.github`, `.gitlab-ci` o `.circleci` |
| Git | 1 | existe una carpeta `.git` o un archivo `.gitignore` |
| README | 1 | existe `README.md` o `readme.md` |
| Licencia | 1 | existe `LICENSE` o `LICENSE.md` |
| Docker | 1 | existe `Dockerfile` o un archivo docker-compose |

La detección del stack lee primero `package.json` (framework, TypeScript y gestor de paquetes según `pnpm-lock.yaml`, `yarn.lock` o `bun.lockb`, o npm si no hay ninguno). Sin `package.json` busca `Cargo.toml` (Rust), `pyproject.toml` o `requirements.txt` (Python), `go.mod` (Go), `composer.json` (PHP), `Gemfile` (Ruby), `pom.xml` o `build.gradle` (Java).

<a id="new-project"></a>
### Proyecto nuevo

En una carpeta vacía pregunta el tipo de proyecto, luego una descripción en una frase, e instala los packs asociados al tipo.

**Packs por tipo de proyecto**

| Tipo de proyecto | Packs instalados |
| --- | --- |
| Aplicación web (Web Application) | `core`, `memory`, `dev-studio`, `seo` |
| API / backend (API / Backend) | `core`, `memory`, `dev-studio`, `shield` |
| Herramienta de línea de comandos (CLI Tool) | `core`, `memory` |
| Aplicación móvil (Mobile App) | `core`, `memory`, `dev-studio` |
| Biblioteca / paquete (Library / Package) | `core`, `memory`, `dev-studio` |
| Otro (Other) | `core`, `memory` |

<a id="reads-writes"></a>
## Qué lee y qué escribe

- Lee: las entradas de primer nivel de la carpeta, `package.json`, `tsconfig.json`, los archivos de bloqueo y los demás manifiestos citados arriba. No hace ninguna petición de red ni lanza otro proceso.
- Escribe: todo lo que `install` escribe para los packs elegidos (llama al instalador con `--yes`), y después `.agents/memory/context.md`.
- Archivos de instrucciones: si ya existe `CLAUDE.md`, `GEMINI.md` o `AGENTS.md` en la raíz, pasa `--tools none` y no toca ningún adaptador. Si no, pasa las herramientas cuya carpeta marcadora encuentra (por ejemplo `.claude`), o `none` si no hay ninguna.
- En un proyecto nuevo no pasa ninguna opción `--tools`: el instalador detecta por su cuenta y, con `--yes`, no escribe ningún adaptador si no encuentra herramienta.

> **Advertencia · context.md se reescribe** autoconfig sustituye `.agents/memory/context.md` por un archivo generado (stack, estructura, salud, carpetas clave, packs instalados, o el brief del proyecto si es nuevo). Todo lo que tú o un agente hubierais escrito ahí se sobrescribe. Ejecútalo una vez, al principio, no en un proyecto cuyo contexto vienes cuidando.

<a id="exit-codes"></a>
## Códigos de salida

**Códigos de salida de autoconfig**

| Código | Significado |
| --- | --- |
| 0 | Terminó, o rechazaste o cancelaste una pregunta (en ese caso no se instaló nada). |
| 1 | Falló el instalador al que llama. autoconfig no fija ningún código por sí mismo; el instalador pone 1 cuando rechaza (por ejemplo un conflicto de versión) o lanza un error (la CLI imprime entonces `BMAD+: <message>`). |

<a id="real-output"></a>
## Lo que ves

**Proyecto Next.js existente con carpeta de CI y sin docs (simulado)** (Simulado)

```text
$ npx bmad-plus autoconfig --yes
BMAD+ Autoconfig
Existing project detected: invoice-app
Analysis complete
Project Analysis
  Stack:       Next.js + TypeScript + Node.js (npm)
  Structure:   src/  tests/  CI/CD  no docs
  Health:      ████████░░ 80%
Recommended Packs
  ✓ core         Essential multi-role agents (Atlas, Forge, Sentinel, Nexus)
  ✓ memory       Persistent brain for context continuity across sessions
  ✓ dev-studio   No docs/ found — Huldah (Tech Writer) will help document
  ✓ shield       CI/CD and/or Docker detected — GRC compliance agents recommended
  ✓ seo          Next.js web app detected — SEO audit agents recommended
# Después el instalador se ejecuta igual que en la página install, sin preguntas.
Recommended Next Steps
  !  "Forge, document the project architecture and API"
  ·  "Forge, continue developing the current module"
  ·  "Zecher, consolidate session memory"
Autoconfig complete! 🚀
```

Transcripción ilustrativa, no capturada de una ejecución real. Fuente: Compuesto a partir de las plantillas de mensajes de tools/cli/commands/autoconfig.js; colores, emojis y caracteres de recuadro omitidos

La cifra de salud es la lista de comprobación de arriba: este proyecto ficticio tiene código, pruebas, CI, git, README y licencia (8 de 10), pero ni docs ni Docker. Los siguientes pasos salen de reglas fijas: la falta de pruebas da un paso de Sentinel de prioridad alta, la falta de docs y de CI da pasos de Forge, una puntuación inferior al 60 % añade una revisión de Sentinel, el código fuente añade «seguir desarrollando», y un paso de Zecher va el último. Se imprimen cinco pasos como máximo, así que un proyecto que activa las otras cinco reglas no ve el paso de Zecher. El 80 % supone git, un README y una licencia, que la línea Structure no lista: con git pero sin README ni licencia, la misma línea muestra 60 %.

<a id="errors"></a>
## Errores y qué hacer

**Mensajes de autoconfig**

| Mensaje | Causa | Qué hacer |
| --- | --- | --- |
| `Autoconfig install failed: <message>` | El instalador lanzó un error; la CLI imprime después el mismo error como `BMAD+: <message>` y el código de salida es 1. | Lee el mensaje, o ejecuta `install` directamente para ver el mismo fallo en contexto. |
| `BMAD+ v<old> is installed; this package is v<new>. Run bmad-plus update first ...` | El proyecto contiene otra versión de BMAD+. El instalador rechaza y pone el código de salida en 1, pero autoconfig imprime igualmente sus propias líneas finales. | Ejecuta `update` y luego autoconfig otra vez. No tomes «Installation complete» por éxito cuando el código de salida es 1. |
| `Autoconfig cancelled.` | Respondiste que no a la confirmación, o cancelaste una pregunta del asistente. | No se instaló nada. Vuelve a ejecutarlo cuando estés listo. |
| `autoconfig: Failed to list directory <message>` | No se pudo leer la carpeta. El resultado es una lista vacía, así que se trata como un proyecto nuevo. | Comprueba la ruta dada a `--directory` y sus permisos antes de responder al asistente. |

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

<a id="example-cli-autoconfig-existing-repo"></a>
### Configurar un repositorio desconocido

Has clonado un proyecto que no conoces y quieres que BMAD+ elija los packs.

**En tu asistente de IA**

```text
Ejecuta `npx bmad-plus autoconfig --yes` en este repositorio. Luego dime qué packs recomendó y por qué, y qué petición a un agente sugiere primero.
```

**Lo que deberías obtener** El asistente ejecuta el comando, que imprime el análisis, un motivo por pack recomendado (`core` y `memory` siempre, los demás según las reglas de arriba) y los instala. Te informa de la lista de packs con cada motivo impreso y de la primera línea de «Recommended Next Steps» (la primera regla aplicable, por ejemplo un paso de Sentinel cuando no hay pruebas). `.agents/memory/context.md` contiene ahora el resumen generado del stack y la salud.

<a id="example-cli-autoconfig-new-idea"></a>
### Empezar desde una carpeta vacía

Solo tienes una idea y una carpeta vacía, y puedes responder a dos preguntas en la terminal.

**En tu asistente de IA**

```text
En esta carpeta vacía ejecuta `npx bmad-plus autoconfig`. Cuando pregunte, elige «Web Application» y describe el proyecto así: una página de reservas para una pequeña consulta de fisioterapia.
```

**Lo que deberías obtener** Imprime «Empty directory — starting new project wizard», instala `core`, `memory`, `dev-studio` y `seo` (el conjunto Web Application), escribe `.agents/memory/context.md` con el tipo, tu descripción y el estado «New — not started», e imprime cuatro primeros pasos: pedir a Atlas que construya el proyecto descrito, pedirle el PRD, pedir la arquitectura a Forge, o decir «autopilot».

**Véase también**

- [install: elegir tú mismo packs y herramientas](https://bmad-plus.rochetta.fr/es/docs/reference/cli-install/)
- [memory: leer la memoria que siembra autoconfig](https://bmad-plus.rochetta.fr/es/docs/reference/cli-memory/)
- [doctor: comprobar la instalación después](https://bmad-plus.rochetta.fr/es/docs/reference/cli-doctor/)
- [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)
