# Installer, mettre à jour, désinstaller

> Toute la vie de BMAD+ dans un projet : installer, contrôler, mettre à jour avec une politique et des reçus, restaurer, désinstaller en gardant votre mémoire. Ce que chaque étape écrit et retire.

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

Documentation BMAD+ › [Guides](https://bmad-plus.rochetta.fr/fr/docs/guides/) › Installer, mettre à jour, désinstaller

BMAD+ vit dans votre projet, à côté de votre code. Cela soulève trois questions légitimes : comment l’installer sans qu’il prenne le dessus, comment le tenir à jour sans perdre mes modifications, comment le retirer sans perdre mon travail. Cette page suit une installation de la première à la dernière commande et dit, à chaque étape, ce qui est lu, écrit et retiré. Le principe est partout le même : BMAD+ tient la liste des fichiers qu’il possède, avec l’empreinte de chacun, et n’agit que sur les fichiers qui y correspondent encore.

<a id="video-install-and-keep-memory"></a>
Video: [Installer, mettre à jour, désinstaller, et garder sa mémoire](https://bmad-plus.rochetta.fr/media/install-and-keep-memory-fr.mp4) — Une commande d’installation, un contrôle de santé avec doctor, des mises à jour qui gardent vos modifications, et une désinstallation qui laisse la mémoire et la configuration en place.
[Sous-titres (WebVTT)](https://bmad-plus.rochetta.fr/media/install-and-keep-memory-fr.vtt)

Transcription:

> Une seule commande depuis le dossier de votre projet, puis le choix de vos adaptateurs et de vos packs. L’installeur écrit les instructions des agents, le socle partagé du projet et les adaptateurs que vous avez choisis. Ensuite, doctor contrôle l’installation et indique combien de vérifications ont réussi. Les mises à jour conservent vos fichiers personnalisés : BMAD+ suit les fichiers qu’il gère. Une vérification de version se contente de regarder. Les mises à jour automatiques exigent une politique explicite du projet. La désinstallation ne retire que les fichiers qui correspondent encore à ce qui a été installé. Votre mémoire, vos modifications et votre configuration restent en place. Elle ne supprime jamais un dossier de façon récursive : fichiers cachés et contenus imbriqués sont épargnés.

Transcription avec description visuelle:

- **0:00** À l’écran : Un faible faisceau de lumière traverse une brume sombre et tombe sur un point d’une surface sombre. À l’endroit où il tombe, de fines lignes ambre jaillissent dans toutes les directions et se ramifient comme des pistes de circuit imprimé. La légende, en anglais, indique « npx bmad-plus@0.23.0 install ». Voix off : Une seule commande depuis le dossier de votre projet, puis le choix de vos adaptateurs et de vos packs.
- **0:06** À l’écran : Une fenêtre de terminal intitulée « ~/app ». On tape la commande npx bmad-plus install --lang en. L’installateur demande « Which packs to install? (Core is always included) » et liste les neuf packs optionnels ; Shield est choisi (« Selected packs: Core, Shield »). Puis « Which IDE are you using? » liste sept outils — Claude Code, Gemini CLI, Antigravity, Cursor, Codex CLI, OpenCode et Aider — et Claude Code est choisi. D’autres lignes suivent : « Detected IDEs: Claude Code », une question sur le prénom (Developer), la langue de communication (English), une question sur l’URL d’un environnement de test et le mode d’exécution (« Manual — You call agents yourself »). L’image zoome sur deux coches vertes : « 5 agents, 6 skills, 4 files copied », avec « files copied » entouré en orange, et « 1 IDE(s) configured ». Tout le texte du terminal est en anglais. Voix off : L’installeur écrit les instructions des agents, le socle partagé du projet et les adaptateurs que vous avez choisis.
- **0:17** À l’écran : Un terminal. On tape la commande bmad-plus doctor. L’écran affiche « BMAD+ Doctor v0.23.0 » et « Manifest found: v0.23.0 », puis un « BMAD+ Health Report » dont la première ligne, « 87/87 checks passed », est entourée en orange. Dessous : « 0 error(s), 0 warning(s) », « Installed: v0.23.0 | Executing CLI: v0.23.0 » et « Ownership inventory: complete ». L’écran se termine sur une note indiquant que la version publiée n’est pas vérifiée ici (la commande bmad-plus update-check --json interroge npm), et « Installation checks passed. » en vert. Tout le texte du terminal est en anglais. Voix off : Ensuite, doctor contrôle l’installation et indique combien de vérifications ont réussi.
- **0:24** À l’écran : Un terminal. On modifie d’abord un fichier géré : echo '# my notes' >> .agents/skills/agent-strategist/SKILL.md. Puis bmad-plus update-check affiche « Installed: 0.22.0; running: 0.23.0; channel latest: 0.23.0 » et « update-available: approval-required », avec « update-available » entouré. bmad-plus update --yes suit : « BMAD+ Updater v0.23.0 », « Installed: v0.22.0 → Executing package: v0.23.0 » et « Planned changes: 12 files (0 no longer shipped, removed with backup); preserved conflicts: 1. » L’image zoome, et « SKILL.md: preserved » est entouré dans la ligne « .agents/skills/agent-strategist/SKILL.md: preserved (modified-managed-file). » L’exécution se termine par « 12 files updated; 1 local conflicts preserved. », le chemin d’un reçu sous .bmad/updates, et « BMAD+ v0.23.0 applied partially. Reload your agent instructions or start a new session. » Tout le texte du terminal est en anglais. Voix off : Les mises à jour conservent vos fichiers personnalisés : BMAD+ suit les fichiers qu’il gère. Une vérification de version se contente de regarder. Les mises à jour automatiques exigent une politique explicite du projet.
- **0:41** À l’écran : Un terminal. On modifie le fichier racine : echo '# my notes' >> AGENTS.md. On écrit un fichier de mémoire : mkdir -p .agents/memory && echo 'decision: keep it simple' > .agents/memory/decisions.md. Puis bmad-plus uninstall --yes affiche « BMAD+ Uninstaller », « BMAD+ v0.23.0 (installed 2026-10-18) », « Selected packs: core, design » et « BMAD+ removed (105 items) », entouré. La ligne suivante indique « Project memory, settings, and unknown or modified files have been preserved », avec « have been preserved » entouré. Enfin, la commande ls AGENTS.md .agents/memory _bmad liste AGENTS.md, puis decisions.md sous .agents/memory, puis config.yaml sous _bmad. Le nom config.yaml est entouré. Tout le texte du terminal est en anglais. Voix off : La désinstallation ne retire que les fichiers qui correspondent encore à ce qui a été installé. Votre mémoire, vos modifications et votre configuration restent en place.
- **0:55** À l’écran : Une haute pile de fines plaques translucides se dresse dans l’obscurité. Une lumière chaude grandit à l’intérieur, s’intensifie, et les plaques s’écartent autour d’un éclat vif. La légende indique « Aucune suppression récursive ». Voix off : Elle ne supprime jamais un dossier de façon récursive : fichiers cachés et contenus imbriqués sont épargnés.
- **1:04** À l’écran : Un ciel bleu-noir terne, avec une faible bande de lumière à l’horizon. L’adresse « bmad-plus.rochetta.fr » apparaît en orange, puis disparaît.

<a id="the-path"></a>
## Le parcours en six étapes

1. **Installer** Copie les agents, compétences et fichiers d’instructions, écrit la configuration et le manifeste.

   ```sh
   npx bmad-plus install
   ```
2. **Contrôler** Un rapport de santé en lecture seule : tous les fichiers sont-ils là et inchangés ?

   ```sh
   npx --no-install bmad-plus doctor
   ```
3. **Chercher des nouveautés** Demander à npm s’il existe une version plus récente, sans l’appliquer.

   ```sh
   npx --no-install bmad-plus update-check
   ```
4. **Fixer la politique** Garder le défaut (prévenez-moi, je décide), couper les recherches, ou autoriser des mises à jour automatiques dans une plage de versions.

   ```sh
   npx --no-install bmad-plus update-policy --mode notify
   ```
5. **Mettre à jour** Planifier, sauvegarder, écrire, vérifier, laisser un reçu. Annuler avec `--restore`.

   ```sh
   npx --no-install bmad-plus update --latest --yes
   ```
6. **Désinstaller** Ne retirer que ce que BMAD+ possède ; mémoire, réglages et vos modifications restent.

   ```sh
   npx --no-install bmad-plus uninstall --yes
   ```

> **Attention · Les étapes 2 à 6 demandent une copie locale** L’installateur ne place pas `bmad-plus` dans le `node_modules` de votre projet : `npx --no-install bmad-plus ...` échoue donc juste après l’étape 1 (`npx canceled due to missing packages and no YES option`). Ajoutez le paquet une fois avec `npm install --save-dev bmad-plus`, ou lancez ces étapes avec `npx bmad-plus ...`, qui le télécharge au besoin. Les fichiers `CLAUDE.md` et `AGENTS.md` générés demandent à l’assistant de lancer `npx --no-install bmad-plus update-check` ; sans copie locale, la commande est indisponible, et l’assistant saute la vérification de mise à jour et poursuit votre tâche. Voir la [vue d’ensemble de la CLI](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-overview/).

<a id="ownership"></a>
## Comment BMAD+ sait ce qui lui appartient

Tout repose sur un fichier écrit par `install` : `_bmad/.bmad-plus-install.json`, le manifeste. Il note la version, les packs, les outils, votre nom et langue, le mode d’exécution, une table `adapterHashes` (une empreinte par fichier d’instructions) et un `fileInventory` : pour chaque fichier d’agent, de compétence et de données posé par BMAD+, son empreinte SHA-256. Les fins de ligne sont normalisées avant l’empreinte des fichiers d’instructions : une copie de travail Windows ne ressemble donc pas à une modification.

**États de l’inventaire de propriété affichés par doctor**

| État | Signification | Conséquence |
| --- | --- | --- |
| `complete` | Chaque fichier livré est enregistré. | Les mises à jour peuvent être automatiques si la politique le permet. |
| `incomplete` | Un fichier était déjà là, au contenu différent, lors de l’installation. | Ces fichiers sont traités comme les vôtres. |
| `legacy` | Installé avant l’existence des empreintes de propriété. | Les mises à jour sauvegardent d’abord les fichiers d’origine des packs ; `--auto` refuse. |
| `invalid` | L’inventaire est mal formé. | `doctor` signale une erreur ; réparez le manifeste ou réinstallez. |

<a id="each-step"></a>
## Ce que chaque étape lit, écrit et retire

**Effets de chaque commande du cycle de vie**

| Commande | Lit | Écrit | Retire |
| --- | --- | --- | --- |
| `install` | Manifeste et configuration existants. | Agents, compétences, données, fichiers de module, `AGENTS.md` et fichiers d’outils, `_bmad/config.yaml`, le manifeste, des dossiers de sortie vides. | Rien. |
| `doctor` | Manifeste, fichiers, empreintes, verrou. | Rien. | Rien. |
| `update-check` | Manifeste, politique ; npm sauf hors ligne ou off. | `.bmad/update-check.json` (cache). | Rien. |
| `update-policy` | Fichier de politique. | `_bmad/update-policy.json`, seulement si vous passez des options. | Rien. |
| `update` | Manifeste, fichiers, empreintes, politique. | Fichiers modifiés, manifeste, `.bmad/updates/<id>/` (reçu, sauvegardes), le verrou. | Les fichiers que la nouvelle version ne livre plus (ceux qui sont inchangés, avec sauvegarde). |
| `update --restore` | Reçu et sauvegardes. | Les fichiers sauvegardés, l’état du reçu. | Les fichiers que la mise à jour avait ajoutés. |
| `uninstall` | Manifeste, fichiers. | Rien. | Les fichiers possédés et inchangés, le manifeste, puis les dossiers vides. |

<a id="your-edits"></a>
## Quand vous avez modifié des fichiers

**Comment chaque commande traite un fichier que vous avez modifié**

| Situation | `install` | `update` | `uninstall` |
| --- | --- | --- | --- |
| Un fichier d’agent ou de compétence géré que vous avez modifié | Conservé, avertissement. | Conservé, listé comme conflit. | Conservé. |
| Un fichier d’instructions écrit par BMAD+ puis modifié par vous | Conservé. | Conservé, listé comme conflit. | Conservé. |
| Un fichier d’instructions écrit par vous, jamais de BMAD+ | Conservé en interactif ; avec `--yes`, sauvegardé en `<file>.bak` puis remplacé. | Conservé, listé comme conflit. | Conservé (pas de marque). |
| Un fichier que vous avez ajouté dans un dossier BMAD+ | Non touché. | Non touché. | Conservé, ainsi que son dossier. |
| `_bmad/config.yaml` | Fusionné, vos clés l’emportent. | Non touché. | Conservé. |

<a id="offline"></a>
## Travailler hors ligne

- Une fois le paquet installé en local (ajoutez-le une fois avec `npm install --save-dev bmad-plus`, puis utilisez `npx --no-install bmad-plus ...`), `install`, `doctor`, `update-policy`, `uninstall` et un simple `update` tournent sans aucun réseau.
- `update-check` et `update --latest` sont les seules commandes qui interrogent npm. Sans connexion, `update-check` rapporte le statut `unknown` (raison `registry-unavailable`, ou `offline` avec `--offline`), sort avec 0, et un assistant poursuit simplement votre tâche.
- Une réponse de cache périmée est présentée comme telle, avec `stale: true` ; elle n’est jamais présentée comme à jour.
- Seul le tout premier `npx bmad-plus install` demande le réseau, pour récupérer le paquet, sauf si vous l’avez installé depuis un fichier.

<a id="recovery"></a>
## Quand quelque chose tourne mal

- Une mise à jour qui échoue revient en arrière d’elle-même et affiche la commande exacte `update --restore <id>`. Les reçus restent sous `.bmad/updates/`.
- Un verrou de projet (`.bmad/update.lock`) de plus de 60 minutes, ou dont le processus a disparu, est signalé par `doctor` comme périmé avec le fichier à supprimer. Un verrou dont le processus est mort sans doute possible sur cette machine est repris par la prochaine installation ou mise à jour.
- Un manifeste abîmé est copié vers `_bmad/.bmad-plus-install.json.corrupt.bak` avant que `install` ne le remplace.
- Une installation antérieure aux empreintes de propriété (0.12.2 ou plus ancienne) est migrée une fois en lançant explicitement un paquet plus récent : `npx --yes bmad-plus@0.13.0 update --yes`. Les originaux sont d’abord sauvegardés.
- Un retour en arrière de version est toujours refusé. Pour revenir, utilisez `update --restore` avec le reçu de la mise à jour à annuler.

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

<a id="example-install-lifecycle-customised-project"></a>
### Mettre à jour un projet dont vous avez modifié les fichiers d’instructions

Vous avez ajouté vos propres règles à `CLAUDE.md` et retouché un fichier d’agent, et vous voulez la dernière version de BMAD+ sans perdre ni l’un ni l’autre.

**Dans votre assistant IA**

```text
Vérifie s’il existe une version plus récente de BMAD+ pour ce projet. Si oui, mets-la à jour et liste exactement quels fichiers ont été gardés parce que je les ai modifiés, et pourquoi.
```

**Ce que vous devriez obtenir** L’assistant lance `update-check`, puis `update --latest --yes` avec votre accord. La commande affiche un plan du type `Planned changes: N files (R no longer shipped, removed with backup); preserved conflicts: 2.` et une ligne par conflit : `CLAUDE.md: preserved (local-instructions).` et `<agent file>: preserved (modified-managed-file).` Ces deux fichiers ne sont pas touchés ; tout le reste est mis à jour après sauvegarde, et le chemin du reçu sous `.bmad/updates/` est indiqué pour pouvoir annuler avec `update --restore`.

**Voir aussi**

- [install](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-install/)
- [doctor](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-doctor/)
- [update-check](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-update-check/)
- [update-policy](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-update-policy/)
- [update](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-update/)
- [uninstall](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-uninstall/)
- [Arborescence du projet](https://bmad-plus.rochetta.fr/fr/docs/reference/project-layout/)
- [Dépannage](https://bmad-plus.rochetta.fr/fr/docs/faq/troubleshooting/)

[Documentation BMAD+](https://bmad-plus.rochetta.fr/fr/docs/) · [Guides](https://bmad-plus.rochetta.fr/fr/docs/guides/)

[Code sur GitHub](https://github.com/lrochetta/BMAD-PLUS)
