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.
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 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
Gé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, update
Non : 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.yaml
install, update
Non : appartient à BMAD+
Les règles d’activation automatique des rôles d’agents.
.agents/memory/
install avec le pack Memory ; les agents y écrivent
Oui
decisions.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.yaml
install
Oui
Vos réglages ; voir la page de configuration. Conservé par uninstall.
_bmad/module.yaml, _bmad/module-help.csv
install, update
Non : appartient à BMAD+
Description du module et index d’aide, suivis dans l’inventaire.
_bmad/.bmad-plus-install.json
install, update
Jamais à la main
Le 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.json
update-policy (quand vous enregistrez une politique)
Via la commande
Absent, il vaut la politique par défaut : notify. Un fichier invalide fait refuser les commandes de mise à jour.
Les 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)
Oui
Là 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, agents
Specs et tri : oui. Pages : à régénérer
specs/, pages/, results/, triage/, checks/ et ORDER.md. Les résultats viennent des testeurs ; ne les modifiez pas.
_bmad-output/review/<id>/
commandes review
Non : preuves
scope.json, checklist.md, findings.json, findings.anchored.json, coverage.json, continue.json, compare.json pour une revue.
_bmad-output/assurance/
commandes assurance
Non : preuves
Le registre chaîné par empreintes (runs.jsonl) d’un dossier d’assurance.
Briefs 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.json
update-check
Jamais à la main
Un 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.lock
install, 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>/
update
Jamais à la main
receipt.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-python
Jamais à la main
L’environnement Python isolé d’un pack qui en a besoin (SEO).
.bmad/memory/
commandes mem
Jamais à la main
journal.ndjson, pattern-scores.json et les journaux de promotions et de résultats : le journal de mémoire.
Un 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 nexus
Jamais à la main
L’é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)
Oui
Archives 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é), scan
Oui
Hors du projet, dans votre dossier personnel : le cerveau global partagé par tous vos projets. Jamais touché par uninstall.
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.
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écursivement
Tout 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-appT 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
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.