Explorar la documentación

Estructura del proyecto

Cada carpeta y archivo que BMAD+ crea en un proyecto y en tu máquina, qué comando lo crea y si es tuyo para editar, gestionado por BMAD+ o un estado que conviene no tocar.

En esta página
  1. El mapa
  2. De quién es cada cosa
  3. Qué versionar
  4. Qué quita y qué conserva uninstall
  5. Ejemplo

BMAD+ escribe en unos pocos lugares bien nombrados y en ningún otro. Saber cuál es cuál responde a las tres preguntas prácticas: qué puedo editar, qué debo versionar y qué se quita si desinstalo. Esta página los mapea todos.

El mapa

Un proyecto con varios packs tras algo de uso (las carpetas aparecen cuando se ejecutan los comandos que las crean)
your-project/
├── AGENTS.md                      common spine for every assistant
├── CLAUDE.md, GEMINI.md, ...      one adapter per selected tool
├── .agents/
│   ├── skills/                    agents, packs and skills (agent-*, pack-*, bmad-plus-*, ...)
│   ├── data/role-triggers.yaml    auto-activation rules
│   └── memory/                    project memory (Memory pack)
├── _bmad/
│   ├── config.yaml                your settings
│   ├── module.yaml, module-help.csv
│   ├── .bmad-plus-install.json    install manifest (ownership hashes)
│   └── update-policy.json         only after update-policy
├── _bmad-output/                  deliverables written by agents and commands
│   ├── discovery/  build/         created by install
│   └── uat/  review/  assurance/  design/  dev-studio/  osint-reports/  ready-to-integrate/
├── .bmad/                         local state: caches, locks, receipts, journals, Python environments
├── .bmad-plus/                    durable run state: swarm/ and nexus/
├── docs/                          created empty by install
└── backups/                       only with the Backup pack

De quién es cada cosa

La propiedad se registra, no se adivina. Al instalar, BMAD+ guarda una huella de contenido de cada archivo que copia bajo .agents/ y de _bmad/module.yaml y _bmad/module-help.csv: esa lista es el inventario de archivos del manifiesto. Un archivo cuya huella sigue coincidiendo es de BMAD+: update lo actualiza y uninstall lo quita. Un archivo que cambiaste, o que BMAD+ nunca entregó, es tuyo: update lo conserva e informa de un conflicto, y uninstall lo mantiene. Tus ajustes, tu memoria y los entregables de _bmad-output/ nunca están en el inventario.

Cada ubicación, quién la crea y si la editas
RutaCreado por¿Es tuyo para editar?Notas
AGENTS.md, CLAUDE.md, GEMINI.md, CONVENTIONS.md, .cursor/rules/bmad-plus.mdc, .codex/AGENTS.md, .opencode/AGENTS.mdinstall, actualizados por updateNo por diseñoGenerados desde el registro. Si editas uno, BMAD+ conserva tu versión y deja de actualizarlo. Ver la página de adaptadores.
.agents/skills/install, updateNo: es de BMAD+Una carpeta por agente (agent-*), por pack (pack-<name>) y por habilidad (bmad-plus-*, dev-studio, design, ...). Los archivos editados se conservan como conflictos.
.agents/data/role-triggers.yamlinstall, updateNo: es de BMAD+Las reglas de activación automática de roles de agentes.
.agents/memory/install con el pack Memory; los agentes escriben en ellaSídecisions.md, lessons.md, patterns.md, context.md, una carpeta sessions/ y un puntero .brain-link al cerebro en uso. Los archivos existentes nunca se sobrescriben y uninstall conserva la carpeta.
_bmad/config.yamlinstallSíTus ajustes; ver la página de configuración. Lo conserva uninstall.
_bmad/module.yaml, _bmad/module-help.csvinstall, updateNo: es de BMAD+Descripción del módulo e índice de ayuda, seguidos en el inventario.
_bmad/.bmad-plus-install.jsoninstall, updateNunca a manoEl manifiesto: versión, packs, herramientas, idioma, modo de ejecución, huellas de los adaptadores e inventario de archivos. Si no se puede leer, install lo copia a .bmad-plus-install.json.corrupt.bak antes de repararlo.
_bmad/update-policy.jsonupdate-policy (cuando guardas una política)Mediante el comandoSi falta, rige la política por defecto: notify. Un archivo inválido hace que los comandos de actualización se nieguen a ejecutarse.
_bmad/review-rules.yaml, _bmad/assurance/, _bmad/ai-processing-register.yamlTú, o assurance init y ai-register initSíLas reglas de revisión propias de tu proyecto, los casos de aseguramiento y el registro de integraciones de IA. Ninguno existe hasta que lo creas.
_bmad-output/discovery/, _bmad-output/build/install (vacías)SíDonde van el brief de producto, el PRD, la arquitectura y las historias. Nunca están en el inventario, así que nunca se quitan.
_bmad-output/uat/comandos uat, agentesSpecs y triaje: sí. Páginas: regenerarspecs/, pages/, results/, triage/, checks/ y ORDER.md. Los resultados los producen quienes prueban; no los edites.
_bmad-output/review/<id>/comandos reviewNo: evidenciasscope.json, checklist.md, findings.json, findings.anchored.json, coverage.json, continue.json, compare.json de una revisión.
_bmad-output/assurance/comandos assuranceNo: evidenciasEl registro encadenado por huellas (runs.jsonl) de un caso de aseguramiento.
_bmad-output/design/, _bmad-output/dev-studio/, _bmad-output/osint-reports/, _bmad-output/ready-to-integrate/Atelier e intake, Dev Studio, Shadow, MakerSíBriefs y revisiones de diseño, informes de Dev Studio (<workflow-id>.md), dosieres OSINT y agentes empaquetados. Un brief escrito por intake render lleva una línea de propiedad y lo reescribe el comando: edita las respuestas, no el brief.
.bmad/update-check.jsonupdate-checkNunca a manoUna caché de 24 horas de la última respuesta del registro, con una espera antes de reintentar tras un fallo. Se puede borrar sin riesgo: se reconstruye.
.bmad/update.lockinstall, update (mientras se ejecutan)Solo si está obsoletoEvita dos instalaciones o actualizaciones a la vez. doctor avisa cuando está obsoleto (propietario desaparecido, o más de 60 minutos) y el mensaje nombra el archivo que borrar.
.bmad/updates/<receipt-id>/updateNunca a manoreceipt.json y backups/ de una actualización. Es lo que lee update --restore <receipt-id>: consérvalos mientras puedas querer volver atrás.
.bmad/venv/<pack>/install --provision-pythonNunca a manoEl entorno Python aislado de un pack que lo necesita (SEO).
.bmad/memory/comandos memNunca a manojournal.ndjson, pattern-scores.json y los registros de promociones y resultados: el diario de memoria.
.bmad-plus/swarm/runs/<run-id>/, .bmad-plus/swarm/reports/comandos swarmNunca a manoUna carpeta por ejecución de enjambre (definición, fichas, briefs, respuestas, recuento). El comando solo escribe bajo este árbol. Añade respuestas con swarm save.
.bmad-plus/nexus/runs/comandos nexusNunca a manoEl estado de referencia de las ejecuciones de tareas duraderas. Un .bmad-plus/orchestrator-state.yaml puede estar al lado, solo como resumen de navegación.
backups/Backup Manager (pack Backup)SíArchivos ZIP con marca de tiempo del proyecto. El pack Backup excluye esta carpeta de sus propios archivos.
~/.bmad-plus/brain/install con el pack Memory (si no se halla otro cerebro), scanSíFuera del proyecto, en tu carpeta personal: el cerebro global compartido por todos tus proyectos. uninstall nunca lo toca.

Qué versionar

install no edita .gitignore: lo que no ignores aparecerá en git status. La decisión es tuya; la tabla de arriba da los hechos para decidir. En la ejecución de aceptación registrada, el proyecto de demostración ya ignoraba las rutas instaladas, y git status --short siguió vacío tras la instalación.

  • Conviene compartir con el equipo: _bmad/config.yaml (comportamiento común), .agents/memory/ (decisiones y lecciones comunes), los entregables de _bmad-output/ y _bmad/update-policy.json si la política es una regla del equipo.
  • Reproducibles desde el paquete, así que un equipo puede preferir ignorarlos: .agents/skills/, .agents/data/, los archivos de adaptadores generados. Quien clone el proyecto ejecuta entonces install una vez.
  • Estado local sin sentido en otra máquina: .bmad/ y .bmad-plus/.

Nota Esto es una sugerencia

Esta división sigue cómo se produce y se usa cada ubicación; BMAD+ no impone ninguna política de control de versiones.

Qué quita y qué conserva uninstall

Efecto de uninstall
QuitadoConservado
Archivos idénticos byte a byte a lo que BMAD+ entrega bajo .agents/skills/ y .agents/data/, incluidas las habilidades copiadas del paquete Design.agents/memory/, _bmad/config.yaml, _bmad-output/, cualquier archivo editado, cualquier archivo que BMAD+ no entregó
Los archivos del módulo, el manifiesto de instalación y los adaptadores que aún llevan el marcador de instalación y una huella coincidente (AGENTS.md, CLAUDE.md, ...).bmad/, .bmad-plus/ (estado de ejecuciones y recibos) y ~/.bmad-plus/brain
Las carpetas que quedan vacías se eliminan; nada se borra de forma recursivaTodo lo que esté bajo un enlace simbólico o una unión: uninstall se niega a tocar rutas enlazadas
Uninstall en la práctica
npx bmad-plus uninstall --yes --directory .\demo-app
T   BMAD+ Uninstaller
•  BMAD+ v0.23.0 (installé le 2026-10-18)
•  Packs sélectionnés: core, design
—  La mémoire, les réglages et les fichiers inconnus ou modifiés ont été conservés.
La línea con el número de elementos quitados se omite a propósito: la primera ejecución registrada, que reveló un fallo que dejaba las habilidades Design en su sitio, mostraba una cifra que ya no vale tras la corrección.

Salida capturada de una ejecución real. Fuente: Capturado durante dos recetas de aceptación de la 0.23.0, el 2026-10-18 (líneas de cabecera y luego lo esperado del paso 7); el instalador se ejecutó en francés

Ejemplo

Limpiar el estado local sin perder nada importante

La carpeta del proyecto está recargada tras meses de actualizaciones y ejecuciones de enjambre, y quieres saber qué se puede borrar sin riesgo.

En tu asistente de IA
Lista lo que hay bajo .bmad y .bmad-plus en este proyecto, di qué es cada elemento e indica cuáles puedo borrar sin perder la memoria del proyecto, los ajustes ni la posibilidad de restaurar una actualización.

Lo que deberías obtener Una respuesta fiel separa tres grupos. update-check.json es una caché y se reconstruye en la próxima comprobación. updates/<receipt-id>/ guarda las copias que update --restore necesita, así que borra solo recibos a los que nunca volverás. update.lock solo se borra si doctor lo declara obsoleto. .bmad/memory/ contiene el diario de eventos y los resultados que leen mem recall y mem observe, y swarm/runs/ y nexus/runs/ son la evidencia de ejecuciones pasadas: bórralos solo si ya no necesitas ese historial ni esa evidencia. La memoria del proyecto en Markdown vive en .agents/memory/ y los ajustes en _bmad/config.yaml, que nada de esto toca.

Véase también