Parcourir la documentation

Arborescence du projet

Chaque dossier et fichier que BMAD+ crée dans un projet et sur votre machine, la commande qui le crée, et s’il vous appartient, s’il est géré par BMAD+ ou s’il s’agit d’un état à ne pas toucher.

Sur cette page
  1. La carte
  2. À qui appartient quoi
  3. Quoi versionner
  4. Ce que uninstall retire et garde
  5. Exemple

BMAD+ écrit dans quelques endroits bien nommés, et nulle part ailleurs. Savoir lequel est lequel répond aux trois questions pratiques : qu’est-ce que je peux modifier, que dois-je versionner, et que devient-il si je désinstalle. Cette page les cartographie tous.

La carte

Un projet avec plusieurs packs après un peu d’usage (les dossiers apparaissent quand on lance les commandes qui les créent)
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

À qui appartient quoi

La propriété est enregistrée, pas devinée. À l’installation, BMAD+ conserve l’empreinte de contenu de chaque fichier qu’il copie sous .agents/ et de _bmad/module.yaml et _bmad/module-help.csv : cette liste est l’inventaire des fichiers du manifeste. Un fichier dont l’empreinte correspond encore appartient à BMAD+ : update le rafraîchit, uninstall le retire. Un fichier que vous avez modifié, ou que BMAD+ n’a jamais livré, est à vous : update le préserve et signale un conflit, uninstall le garde. Vos réglages, votre mémoire et les livrables de _bmad-output/ ne figurent jamais dans l’inventaire.

Chaque emplacement, qui le crée, et si vous le modifiez
CheminCréé parÀ vous de le modifier ?Remarques
AGENTS.md, CLAUDE.md, GEMINI.md, CONVENTIONS.md, .cursor/rules/bmad-plus.mdc, .codex/AGENTS.md, .opencode/AGENTS.mdinstall, rafraîchis par updatePas par conceptionGénérés depuis le registre. Si vous en modifiez un, BMAD+ garde votre version et cesse de le rafraîchir. Voir la page des adaptateurs.
.agents/skills/install, updateNon : appartient à BMAD+Un dossier par agent (agent-*), par pack (pack-<name>) et par compétence (bmad-plus-*, dev-studio, design, ...). Les fichiers modifiés sont préservés comme conflits.
.agents/data/role-triggers.yamlinstall, updateNon : appartient à BMAD+Les règles d’activation automatique des rôles d’agents.
.agents/memory/install avec le pack Memory ; les agents y écriventOuidecisions.md, lessons.md, patterns.md, context.md, un dossier sessions/ et un pointeur .brain-link vers le cerveau utilisé. Les fichiers existants ne sont jamais écrasés et uninstall garde le dossier.
_bmad/config.yamlinstallOuiVos réglages ; voir la page de configuration. Conservé par uninstall.
_bmad/module.yaml, _bmad/module-help.csvinstall, updateNon : appartient à BMAD+Description du module et index d’aide, suivis dans l’inventaire.
_bmad/.bmad-plus-install.jsoninstall, updateJamais à la mainLe manifeste : version, packs, outils, langue, mode d’exécution, empreintes des adaptateurs et inventaire des fichiers. S’il est illisible, install le copie en .bmad-plus-install.json.corrupt.bak avant de le réparer.
_bmad/update-policy.jsonupdate-policy (quand vous enregistrez une politique)Via la commandeAbsent, il vaut la politique par défaut : notify. Un fichier invalide fait refuser les commandes de mise à jour.
_bmad/review-rules.yaml, _bmad/assurance/, _bmad/ai-processing-register.yamlVous, ou assurance init et ai-register initOuiLes règles de revue propres à votre projet, les dossiers d’assurance et le registre des intégrations d’IA. Aucun n’existe tant que vous ne le créez pas.
_bmad-output/discovery/, _bmad-output/build/install (vides)OuiLà où vont le brief produit, le PRD, l’architecture et les stories. Jamais dans l’inventaire, donc jamais retirés.
_bmad-output/uat/commandes uat, agentsSpecs et tri : oui. Pages : à régénérerspecs/, pages/, results/, triage/, checks/ et ORDER.md. Les résultats viennent des testeurs ; ne les modifiez pas.
_bmad-output/review/<id>/commandes reviewNon : preuvesscope.json, checklist.md, findings.json, findings.anchored.json, coverage.json, continue.json, compare.json pour une revue.
_bmad-output/assurance/commandes assuranceNon : preuvesLe registre chaîné par empreintes (runs.jsonl) d’un dossier d’assurance.
_bmad-output/design/, _bmad-output/dev-studio/, _bmad-output/osint-reports/, _bmad-output/ready-to-integrate/Atelier et intake, Dev Studio, Shadow, MakerOuiBriefs et revues de design, rapports Dev Studio (<workflow-id>.md), dossiers OSINT et agents empaquetés. Un brief écrit par intake render porte une ligne de propriété et est réécrit par la commande : modifiez les réponses, pas le brief.
.bmad/update-check.jsonupdate-checkJamais à la mainUn cache de 24 heures de la dernière réponse du registre, avec un délai avant nouvel essai après un échec. Sans risque à supprimer : il est reconstruit.
.bmad/update.lockinstall, update (pendant leur exécution)Seulement s’il est périméEmpêche deux installations ou mises à jour simultanées. doctor indique quand il est périmé (propriétaire disparu, ou plus de 60 minutes) et le message nomme le fichier à supprimer.
.bmad/updates/<receipt-id>/updateJamais à la mainreceipt.json et backups/ d’une mise à jour. C’est ce que lit update --restore <receipt-id> : gardez-les tant que vous pourriez vouloir revenir en arrière.
.bmad/venv/<pack>/install --provision-pythonJamais à la mainL’environnement Python isolé d’un pack qui en a besoin (SEO).
.bmad/memory/commandes memJamais à la mainjournal.ndjson, pattern-scores.json et les journaux de promotions et de résultats : le journal de mémoire.
.bmad-plus/swarm/runs/<run-id>/, .bmad-plus/swarm/reports/commandes swarmJamais à la mainUn dossier par exécution d’essaim (définition, fiches, briefs, réponses, décompte). La commande n’écrit que sous cette arborescence. Ajoutez les réponses avec swarm save.
.bmad-plus/nexus/runs/commandes nexusJamais à la mainL’état de référence des exécutions de tâches durables. Un .bmad-plus/orchestrator-state.yaml peut se trouver à côté, comme simple résumé de navigation.
backups/Backup Manager (pack Backup)OuiArchives ZIP horodatées du projet. Le pack Backup exclut ce dossier de ses propres archives.
~/.bmad-plus/brain/install avec le pack Memory (si aucun autre cerveau n’est trouvé), scanOuiHors du projet, dans votre dossier personnel : le cerveau global partagé par tous vos projets. Jamais touché par uninstall.

Quoi versionner

install ne modifie pas .gitignore : tout ce que vous n’ignorez pas apparaîtra dans git status. Le choix vous revient ; le tableau ci-dessus donne les faits pour décider. Dans l’exécution de recette enregistrée, le projet de démonstration ignorait déjà les chemins installés, et git status --short est resté vide après l’installation.

  • À partager avec l’équipe : _bmad/config.yaml (comportement commun), .agents/memory/ (décisions et leçons communes), les livrables de _bmad-output/, et _bmad/update-policy.json si la politique est une règle d’équipe.
  • Reproductibles depuis le paquet, donc une équipe peut préférer les ignorer : .agents/skills/, .agents/data/, les fichiers d’adaptateurs générés. Quiconque clone le projet lance alors install une fois.
  • État local sans sens sur une autre machine : .bmad/ et .bmad-plus/.

Remarque Ceci est une suggestion

Ce partage suit la façon dont chaque emplacement est produit et utilisé ; BMAD+ lui-même n’impose aucune politique de versionnement.

Ce que uninstall retire et garde

Effet de uninstall
RetiréConservé
Fichiers identiques octet pour octet à ce que BMAD+ livre sous .agents/skills/ et .agents/data/, y compris les compétences copiées du paquet Design.agents/memory/, _bmad/config.yaml, _bmad-output/, tout fichier modifié, tout fichier non livré par BMAD+
Les fichiers du module, le manifeste d’installation, et les adaptateurs qui portent encore le marqueur d’installation et une empreinte correspondante (AGENTS.md, CLAUDE.md, ...).bmad/, .bmad-plus/ (état des exécutions et reçus), et ~/.bmad-plus/brain
Les dossiers laissés vides sont supprimés ; rien n’est supprimé récursivementTout ce qui est sous un lien symbolique ou une jonction : uninstall refuse de toucher aux chemins liés
Uninstall en pratique
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 ligne donnant le nombre d’éléments retirés est volontairement omise : la première exécution enregistrée, qui avait révélé un défaut laissant les compétences Design en place, affichait un nombre qui ne vaut plus après la correction.

Sortie capturée lors d’une exécution réelle. Source: Capturé pendant deux recettes d’acceptation de la 0.23.0, le 2026-10-18 (lignes d’en-tête, puis l’attendu de l’étape 7) ; l’installateur tournait en français

Exemple

Faire le ménage de l’état local sans rien perdre d’important

Le dossier du projet est encombré après des mois de mises à jour et d’exécutions d’essaim, et vous voulez savoir ce qu’on peut supprimer sans risque.

Dans votre assistant IA
Liste ce qu’il y a sous .bmad et .bmad-plus dans ce projet, dis ce qu’est chaque élément, et indique ce que je peux supprimer sans perdre la mémoire du projet, les réglages ni la possibilité de restaurer une mise à jour.

Ce que vous devriez obtenir Une réponse fidèle distingue trois groupes. update-check.json est un cache, reconstruit à la prochaine vérification. updates/<receipt-id>/ contient les sauvegardes dont update --restore a besoin : ne supprimez que les reçus vers lesquels vous ne reviendrez jamais. update.lock ne se supprime que si doctor le déclare périmé. .bmad/memory/ contient le journal d’événements et les résultats que lisent mem recall et mem observe, et swarm/runs/ et nexus/runs/ sont les preuves d’exécutions passées : ne les supprimez que si vous n’avez plus besoin de cet historique ni de ces preuves. La mémoire du projet en Markdown vit dans .agents/memory/ et les réglages dans _bmad/config.yaml, que rien de cela ne touche.

Voir aussi