# Adaptateurs

> Les sept outils d’IA que BMAD+ prépare : le fichier écrit pour chacun, la détection, le socle AGENTS.md commun, et la façon dont install et update protègent vos propres instructions.

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

Documentation BMAD+ › [Référence](https://bmad-plus.rochetta.fr/fr/docs/reference/) › Adaptateurs

Chaque assistant d’IA cherche ses instructions dans un fichier différent. Un adaptateur est ce fichier : un court document généré qui présente à un assistant les agents, compétences et règles installés par BMAD+. Install écrit un adaptateur par outil utilisé, plus un socle commun, `AGENTS.md`, pour que tous les assistants voient la même équipe et les mêmes règles. Cette page s’adresse à qui choisit `--tools` ou se demande ce que BMAD+ fera d’un fichier d’instructions déjà présent.

<a id="tools"></a>
## Les sept outils

**Outils, fichiers et détection**

| Id pour `--tools` | Outil | Fichier écrit | Détecté si ceci existe | Note écrite pour l’outil |
| --- | --- | --- | --- | --- |
| `claude-code` | Claude Code | `CLAUDE.md` | `.claude` | Charge `CLAUDE.md` à la racine tout seul ; activez un agent en disant son nom. |
| `gemini-cli` | Gemini CLI | `GEMINI.md` | `.gemini` | Charge `GEMINI.md` à la racine tout seul. |
| `antigravity` | Antigravity | `GEMINI.md` (partagé avec Gemini CLI) | `.gemini/antigravity` | Lit le même fichier ; la note ajoute une règle de concurrence : se coordonner avec les autres outils agentiques et ne jamais modifier les mêmes fichiers en même temps. |
| `cursor` | Cursor | `.cursor/rules/bmad-plus.mdc` | `.cursor` | Une règle avec `alwaysApply: true` dans son en-tête, donc toujours chargée par Cursor ; le socle reste la source de vérité. |
| `codex-cli` | Codex CLI | `.codex/AGENTS.md` | `.codex` | Suit la convention ouverte AGENTS.md ; le fichier renvoie au socle racine, qu’il vaut mieux lire directement quand les deux existent. |
| `opencode` | OpenCode | `.opencode/AGENTS.md` | `.opencode` | Comme Codex CLI. |
| `aider` | Aider | `CONVENTIONS.md` | `.aider.conf.yml` | Aider ne charge pas seul les fichiers de conventions : ajoutez `read: CONVENTIONS.md` à `.aider.conf.yml`, ou lancez `/read CONVENTIONS.md` dans la session. |

Gemini CLI et Antigravity pointent vers le même `GEMINI.md`. Quand les deux sont choisis, un seul fichier est écrit, intitulé pour les deux. La détection vérifie simplement que le marqueur existe dans le dossier du projet ; elle ne dit rien de la présence de l’outil sur la machine.

<a id="choosing"></a>
## Choisir les outils à l’installation

**Comment --tools et l’assistant décident**

| Vous passez | Résultat |
| --- | --- |
| rien, en interactif | Les outils dont le marqueur est trouvé sont retenus. Si aucun ne l’est, l’assistant demande lesquels vous utilisez. |
| rien, avec `--yes` | Seulement les outils détectés. Sans détection, aucun adaptateur n’est écrit et l’installateur dit : `No AI tool detected; no instruction adapter written. Re-run with --tools <ids> or --tools all to add one.` |
| `--tools claude-code,cursor` | Exactement ceux-ci. La liste est séparée par des virgules. |
| `--tools all` | Les sept. |
| `--tools none` (or `skip`) | Aucun adaptateur n’est écrit et les fichiers d’instructions existants restent intacts. Les agents et compétences sont tout de même installés. |
| un id inconnu | La commande s’arrête avant d’écrire quoi que ce soit : « Unknown tool ID(s): … Available: claude-code, gemini-cli, antigravity, cursor, codex-cli, opencode, aider, all, none. » |

Relancer `install` conserve les outils que cette installation possède déjà, quoi que vous passiez, sauf avec `--tools none`. Ajouter un outil n’en retire donc jamais un autre.

**Une vraie installation qui prépare Claude Code**

```text
$ npx bmad-plus install --yes --lang fr --packs core,design --tools claude-code --directory .\demo-app
•  IDE détectés: Claude Code
o  ✅ 5 agents, 9 skills, 4 fichiers copiés
o  ✅ 1 IDE configuré(s)
```

Sortie capturée lors d’une exécution réelle. Source: Capturé pendant la recette d’acceptation de la 0.23.0, le 2026-10-18 (étape 1; installateur lancé en français)

<a id="files"></a>
## Ce que contiennent les fichiers

`AGENTS.md` est le socle. Il est écrit dès qu’au moins un outil est retenu et porte tout : le contexte du projet, l’équipe d’agents (avec les compétences que chacun pilote), le dossier des compétences et le fichier d’activation automatique, votre nom et votre langue, les instructions de mise à jour, les faits du registre (nombre de packs et d’agents, flux de données, notes de cohabitation) et les commandes de chat clés. Les règles de mémoire (quatre garde-fous et quatre fichiers `.agents/memory`) ne sont ajoutées que si le pack Memory est installé. Chaque fichier d’outil commence par un lien vers le socle et la note du tableau, puis répète les mêmes sections, car beaucoup d’outils ne chargent que leur propre fichier.

**Deux lignes d’un AGENTS.md généré**

```text
$ Select-String -Path .\demo-app\AGENTS.md -Pattern 'Atelier','Cohabitation'
demo-app\AGENTS.md:22:- **Atelier** (Design Engine) — Senior product designer and design engineer: surfaces, tokens, accessibility, audits, redesigns (Design) — drives: design, design-review, redesign
demo-app\AGENTS.md:54:- Cohabitation (Design): Overlaps Sentinel's UX-review role and Dev Studio's Rachel (UX Designer); when this pack is installed its rules govern visual design and accessibility, and the others hand those over.
# Le terminal avait replié les lignes longues dans l’exécution enregistrée ; elles sont ici rejointes.
```

Sortie capturée lors d’une exécution réelle. Source: Capturé pendant la recette d’acceptation de la 0.23.0, le 2026-10-18 (étape 3; Select-String sur le AGENTS.md du dossier demo-app)

Chaque fichier généré porte les marqueurs `AUTO-GENERATED by tools/build/generate-adapters.js — DO NOT EDIT.` et `BMAD+ installed project configuration`. Ces marqueurs permettent à BMAD+ de reconnaître plus tard un fichier comme le sien. La règle Cursor commence par son en-tête YAML (`description`, `alwaysApply: true`) : les marqueurs viennent donc juste après.

<a id="ownership"></a>
## Ce qui arrive à un fichier déjà présent

Install enregistre l’empreinte de chaque adaptateur écrit (le hachage du contenu, fins de ligne normalisées). Cette empreinte, gardée dans le manifeste d’installation, permet à BMAD+ de distinguer son propre fichier intact d’un fichier que vous avez modifié.

**Comportement selon la situation**

| Le fichier à l’emplacement visé est… | install | update |
| --- | --- | --- |
| absent | Écrit. | Écrit. |
| celui de BMAD+, identique à ce qui serait écrit | Laissé tel quel. | Laissé tel quel. |
| celui de BMAD+, intact depuis l’installation | Rafraîchi. | Rafraîchi, avec enregistrement de la nouvelle empreinte. |
| celui de BMAD+, mais vous l’avez modifié | Préservé. Avertissement : `<file>: existing project instructions preserved.` | Préservé et listé comme conflit (raison `local-instructions`). |
| écrit par vous, sans marqueurs BMAD+ (exécution interactive) | Préservé, avec le même avertissement. | Préservé, même avec `--yes`. |
| écrit par vous, sans marqueurs BMAD+, avec `install --yes` | Copié d’abord vers `<file>.bak`, puis remplacé. Un `.bak` existant n’est jamais écrasé : la copie suivante s’appelle `.bak.1`, puis `.bak.2`. | — |
| laissé par un ancien installateur BMAD+ | Sauvegardé en `.bak`, puis rafraîchi : `<file>: backed up to <file>.bak before refreshing.` | Pareil : sauvegardé, puis migré. |
| le fichier généré d’un dépôt source BMAD+ (marqueur du générateur, pas de marqueur d’installation) | Préservé, avec une indication pour le comparer aux valeurs du paquet. | Préservé, raison `repository-adopted`. |

> **Attention · install --yes remplace un fichier d’instructions que vous avez écrit** Une installation sans surveillance ne peut pas demander : elle fait une copie `.bak` et écrit la version BMAD+. Si votre propre `CLAUDE.md` compte, lancez `install` une fois en interactif, ou passez `--tools none` et fusionnez vous-même le contenu généré. `update` ne fait jamais cela : il préserve toujours un fichier qu’il ne possède pas.

`doctor` rapporte l’état de chaque adaptateur sous la forme `Instruction file: <state>.` avec les états `unchanged` (réussi), `modified`, `unowned` ou `adopted` (avertissements), et `missing` ou `unreadable` (erreurs). `uninstall` ne retire un adaptateur que s’il porte encore le marqueur d’installation et que son empreinte correspond à celle enregistrée ; un fichier que vous avez modifié reste.

<a id="limits"></a>
## Ce qu’un adaptateur ne fait pas

- C’est du texte que l’assistant lit. BMAD+ n’installe ni hook ni extension dans aucun de ces outils : le registre décrit l’intégration comme gérée par l’hôte, sans événements de cycle de vie intégrés.
- Il est agnostique du modèle par contrat : Claude, GPT, Gemini et les modèles locaux sont pris en charge, car le contenu est de simples instructions.
- Il ne fait pas lancer `bmad-help`, `autopilot` ou `parallel` à l’assistant : ce sont des phrases que vous dites dans le chat.
- Il demande à l’assistant de vérifier une nouvelle version une fois par session avec `npx --no-install bmad-plus update-check --json`, et de n’en appliquer une que dans les limites de votre politique de mise à jour. Cette forme n’exécute qu’une copie locale : ajoutez le paquet une fois avec `npm install --save-dev bmad-plus`, ou utilisez `npx bmad-plus update-check --json`.

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

<a id="example-cli-adapters-add-cursor"></a>
### Ajouter Cursor à un projet qui utilise déjà Claude Code

BMAD+ est installé avec `claude-code`. Un collègue travaille dans Cursor et a besoin des mêmes agents.

**Dans votre assistant IA**

```text
Ajoute Cursor à l’installation BMAD+ de ce projet sans toucher à la configuration de Claude Code : lance `npx bmad-plus install --yes --tools cursor`, puis dis-moi quels fichiers ont changé.
```

**Ce que vous devriez obtenir** `--yes` est nécessaire quand l’assistant lance la commande, car sans terminal l’installateur refuse de démarrer ; lancée dans votre propre terminal, elle demanderait d’abord la langue, les packs et votre nom. L’installateur conserve `claude-code` (les outils déjà possédés sont retenus) et écrit `.cursor/rules/bmad-plus.mdc` avec `alwaysApply: true` et un lien vers `AGENTS.md`. `CLAUDE.md` et `AGENTS.md` ne sont réécrits que si leur contenu généré diffère ; une copie que vous avez modifiée est préservée avec l’avertissement « existing project instructions preserved ». Le manifeste liste désormais les deux outils.

<a id="example-cli-adapters-edited-claude-md"></a>
### Vous avez ajouté vos propres règles à CLAUDE.md

Vous avez ajouté les conventions de l’équipe en bas du `CLAUDE.md` généré, puis une nouvelle version de BMAD+ sort.

**Dans votre assistant IA**

```text
Mets à jour BMAD+ dans ce projet avec `npx bmad-plus update --latest --yes`, et liste chaque fichier que la mise à jour a préservé au lieu de le remplacer.
```

**Ce que vous devriez obtenir** Le plan affiche « CLAUDE.md: preserved (local-instructions). » et le reçu l’enregistre comme conflit ; la mise à jour se termine par « applied partially. » Vos ajouts sont intacts. Pour adopter le nouveau texte généré, fusionnez à la main ou restaurez l’original et modifiez à nouveau.

**Voir aussi**

- [install et son option --tools](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-install/)
- [update : comment les conflits sont préservés](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-update/)
- [doctor : états des adaptateurs](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-doctor/)
- [uninstall](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-uninstall/)
- [Arborescence du projet](https://bmad-plus.rochetta.fr/fr/docs/reference/project-layout/)

[Documentation BMAD+](https://bmad-plus.rochetta.fr/fr/docs/) · [Référence](https://bmad-plus.rochetta.fr/fr/docs/reference/)

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