# autoconfig

> Amorcez BMAD+ dans un dépôt existant ou un dossier vide : détection de la pile, score de santé, packs recommandés, installation et amorçage de la mémoire du projet.

Canonical: https://bmad-plus.rochetta.fr/fr/docs/reference/cli-autoconfig/
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/) › autoconfig

`autoconfig` est le démarrage en une commande pour un projet pas encore configuré. Au lieu de choisir les packs vous-même, vous laissez BMAD+ regarder le dossier, recommander un ensemble de packs, lancer `install` avec eux et écrire un premier contexte de projet dans la mémoire. Utilisez-la quand vous arrivez dans un dépôt inconnu ou que vous ne savez pas encore quels packs il vous faut. Si vous savez déjà ce que vous voulez, `install` vous donne le contrôle complet.

Un pack est un lot installable d’agents et de compétences (voir la section des packs). Un projet est considéré comme existant quand son dossier contient au moins une entrée visible, c’est-à-dire dont le nom ne commence pas par un point. Sinon il est considéré comme nouveau.

<a id="synopsis"></a>
## Synopsis

**Dans le terminal de votre projet**

```sh
npx bmad-plus autoconfig [-d <path>] [-l <code>] [-y]
```

**Options de autoconfig**

| Option | Argument | Défaut | Effet |
| --- | --- | --- | --- |
| `-d, --directory <path>` | chemin | dossier courant | Projet à analyser et dans lequel installer. |
| `-l, --lang <code>` | en, fr, es, de, pt-br, ru, zh, he, ja, it | en | Langue transmise à l’installateur qu’elle lance. Les messages propres à autoconfig restent en anglais. |
| `-y, --yes` | aucun | désactivé | Projet existant uniquement : saute la confirmation « Install N recommended packs? ». Ne saute pas les questions du nouveau projet. |

> **Attention · --yes ne rend pas un nouveau projet autonome** Dans un dossier vide, l’assistant pose toujours deux questions (type de projet, description en une phrase), quoi que dise `--yes`. Lancez-le dans un terminal où vous pouvez répondre.

<a id="how-it-decides"></a>
## Comment elle décide

<a id="existing-project"></a>
### Projet existant

Elle lit le dossier, affiche une courte analyse (pile, structure, barre de santé, présence éventuelle de BMAD+ ou d’un fichier d’instructions), liste les packs recommandés avec une raison chacun, demande confirmation (sauf `--yes`), installe, puis affiche jusqu’à cinq prochaines étapes formulées comme des demandes à un agent.

**Quels packs sont recommandés**

| Pack | Recommandé quand |
| --- | --- |
| `core`, `memory` | Toujours. |
| `dev-studio` | Il n’y a aucun dossier `docs`, `doc` ou `documentation`, ou le projet compte plus de cinq dossiers visibles à la racine (`node_modules` exclu). |
| `shield` | Un dossier `.github`, `.gitlab-ci` ou `.circleci`, ou un fichier `Dockerfile`, `docker-compose.yml` ou `docker-compose.yaml` existe. |
| `seo` | Le framework détecté dans `package.json` est Next.js, Nuxt, Angular, React, Vue.js ou Svelte. |

La barre de santé est une liste de contrôle pondérée. Le score est la part arrondie du poids total de 10 ; il n’influence que les conseils finaux et ne change jamais les packs recommandés.

**Liste de contrôle de santé**

| Contrôle | Poids | Compté quand |
| --- | --- | --- |
| Code source | 2 | un dossier `src`, `lib` ou `app` existe |
| Tests | 2 | un dossier `tests`, `test`, `__tests__` ou `spec` existe |
| Documentation | 1 | un dossier `docs`, `doc` ou `documentation` existe |
| CI/CD | 1 | un dossier `.github`, `.gitlab-ci` ou `.circleci` existe |
| Git | 1 | un dossier `.git` ou un fichier `.gitignore` existe |
| README | 1 | `README.md` ou `readme.md` existe |
| Licence | 1 | `LICENSE` ou `LICENSE.md` existe |
| Docker | 1 | `Dockerfile` ou un fichier docker-compose existe |

La détection de la pile lit d’abord `package.json` (framework, TypeScript, et gestionnaire de paquets d’après `pnpm-lock.yaml`, `yarn.lock` ou `bun.lockb`, sinon npm). Sans `package.json`, elle cherche `Cargo.toml` (Rust), `pyproject.toml` ou `requirements.txt` (Python), `go.mod` (Go), `composer.json` (PHP), `Gemfile` (Ruby), `pom.xml` ou `build.gradle` (Java).

<a id="new-project"></a>
### Nouveau projet

Dans un dossier vide, elle demande le type de projet, puis une description en une phrase, et installe les packs associés au type.

**Packs par type de projet**

| Type de projet | Packs installés |
| --- | --- |
| Application web (Web Application) | `core`, `memory`, `dev-studio`, `seo` |
| API / back-end (API / Backend) | `core`, `memory`, `dev-studio`, `shield` |
| Outil en ligne de commande (CLI Tool) | `core`, `memory` |
| Application mobile (Mobile App) | `core`, `memory`, `dev-studio` |
| Bibliothèque / paquet (Library / Package) | `core`, `memory`, `dev-studio` |
| Autre (Other) | `core`, `memory` |

<a id="reads-writes"></a>
## Ce qu’elle lit et écrit

- Lit : les entrées de premier niveau du dossier, `package.json`, `tsconfig.json`, les fichiers de verrouillage et les autres manifestes cités plus haut. Aucune requête réseau, aucun autre processus lancé.
- Écrit : tout ce que `install` écrit pour les packs choisis (elle appelle l’installateur avec `--yes`), puis `.agents/memory/context.md`.
- Fichiers d’instructions : si `CLAUDE.md`, `GEMINI.md` ou `AGENTS.md` existe déjà à la racine, elle passe `--tools none` et ne touche à aucun adaptateur. Sinon elle passe les outils dont elle trouve le dossier marqueur (par exemple `.claude`), ou `none` s’il n’y en a aucun.
- Dans un nouveau projet, elle ne passe aucune option `--tools` : l’installateur détecte seul et, avec `--yes`, n’écrit aucun adaptateur s’il ne trouve aucun outil.

> **Attention · context.md est réécrit** autoconfig remplace `.agents/memory/context.md` par un fichier généré (pile, structure, santé, dossiers clés, packs installés, ou le brief du projet pour un nouveau projet). Tout ce que vous ou un agent y aviez écrit est écrasé. Lancez-la une fois, au début, pas sur un projet dont vous entretenez le contexte.

<a id="exit-codes"></a>
## Codes de sortie

**Codes de sortie de autoconfig**

| Code | Signification |
| --- | --- |
| 0 | Terminé, ou vous avez refusé ou annulé une question (rien n’a alors été installé). |
| 1 | L’installateur appelé a échoué. autoconfig ne fixe aucun code lui-même ; l’installateur met 1 quand il refuse (par exemple un conflit de version) ou lève une erreur (la CLI affiche alors `BMAD+: <message>`). |

<a id="real-output"></a>
## Ce que vous voyez

**Projet Next.js existant avec un dossier CI et sans docs (simulé)** (Simulé)

```text
$ npx bmad-plus autoconfig --yes
BMAD+ Autoconfig
Existing project detected: invoice-app
Analysis complete
Project Analysis
  Stack:       Next.js + TypeScript + Node.js (npm)
  Structure:   src/  tests/  CI/CD  no docs
  Health:      ████████░░ 80%
Recommended Packs
  ✓ core         Essential multi-role agents (Atlas, Forge, Sentinel, Nexus)
  ✓ memory       Persistent brain for context continuity across sessions
  ✓ dev-studio   No docs/ found — Huldah (Tech Writer) will help document
  ✓ shield       CI/CD and/or Docker detected — GRC compliance agents recommended
  ✓ seo          Next.js web app detected — SEO audit agents recommended
# L’installateur s’exécute ensuite exactement comme dans la page install, sans question.
Recommended Next Steps
  !  "Forge, document the project architecture and API"
  ·  "Forge, continue developing the current module"
  ·  "Zecher, consolidate session memory"
Autoconfig complete! 🚀
```

Transcription illustrative, non capturée lors d’une exécution réelle. Source: Composé à partir des modèles de messages de tools/cli/commands/autoconfig.js ; couleurs, émojis et caractères de cadre omis

Le chiffre de santé est la liste de contrôle ci-dessus : ce projet fictif a sources, tests, CI, git, README et licence (8 sur 10), mais ni docs ni Docker. Les prochaines étapes viennent de règles fixes : l’absence de tests donne une étape Sentinel de haute priorité, l’absence de docs et de CI donne des étapes Forge, un score sous 60 % ajoute une revue Sentinel, la présence de sources ajoute « continuer à développer », et une étape Zecher vient en dernier. Cinq étapes au maximum sont affichées : un projet qui déclenche les cinq autres règles ne voit donc pas l’étape Zecher. Les 80 % supposent git, un README et une licence, que la ligne Structure ne liste pas : avec git mais sans README ni licence, la même ligne affiche 60 %.

<a id="errors"></a>
## Erreurs et que faire

**Messages de autoconfig**

| Message | Cause | Que faire |
| --- | --- | --- |
| `Autoconfig install failed: <message>` | L’installateur a levé une erreur ; la CLI affiche ensuite la même erreur sous la forme `BMAD+: <message>` et le code de sortie est 1. | Lisez le message, ou lancez directement `install` pour voir la même panne en contexte. |
| `BMAD+ v<old> is installed; this package is v<new>. Run bmad-plus update first ...` | Le projet contient une autre version de BMAD+. L’installateur refuse et met le code de sortie à 1, mais autoconfig affiche quand même ses propres lignes de fin. | Lancez `update`, puis autoconfig de nouveau. Ne prenez pas « Installation complete » pour un succès quand le code de sortie est 1. |
| `Autoconfig cancelled.` | Vous avez répondu non à la confirmation, ou annulé une question de l’assistant. | Rien n’a été installé. Relancez quand vous êtes prêt. |
| `autoconfig: Failed to list directory <message>` | Le dossier n’a pas pu être lu. Le résultat est une liste vide, donc il est traité comme un nouveau projet. | Vérifiez le chemin donné à `--directory` et ses droits avant de répondre à l’assistant. |

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

<a id="example-cli-autoconfig-existing-repo"></a>
### Configurer un dépôt inconnu

Vous avez cloné un projet que vous ne connaissez pas et voulez que BMAD+ choisisse les packs.

**Dans votre assistant IA**

```text
Lance `npx bmad-plus autoconfig --yes` dans ce dépôt. Dis-moi ensuite quels packs il a recommandés et pourquoi, et quelle demande à un agent il suggère en premier.
```

**Ce que vous devriez obtenir** L’assistant lance la commande, qui affiche l’analyse, une raison par pack recommandé (`core` et `memory` toujours, les autres selon les règles ci-dessus) et les installe. Il vous rapporte la liste des packs avec chaque raison affichée et la première ligne de « Recommended Next Steps » (la première règle applicable, par exemple une étape Sentinel quand il n’y a pas de tests). `.agents/memory/context.md` contient maintenant le résumé généré de la pile et de la santé.

<a id="example-cli-autoconfig-new-idea"></a>
### Partir d’un dossier vide

Vous n’avez qu’une idée et un dossier vide, et vous pouvez répondre à deux questions dans le terminal.

**Dans votre assistant IA**

```text
Dans ce dossier vide, lance `npx bmad-plus autoconfig`. Quand il demande, choisis « Web Application » et décris le projet ainsi : une page de réservation pour un petit cabinet de kinésithérapie.
```

**Ce que vous devriez obtenir** Il affiche « Empty directory — starting new project wizard », installe `core`, `memory`, `dev-studio` et `seo` (l’ensemble Web Application), écrit `.agents/memory/context.md` avec le type, votre description et le statut « New — not started », puis affiche quatre premières étapes : demander à Atlas de construire le projet décrit, lui demander le PRD, demander l’architecture à Forge, ou dire « autopilot ».

**Voir aussi**

- [install : choisir soi-même packs et outils](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-install/)
- [memory : lire la mémoire que autoconfig amorce](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-memory/)
- [doctor : vérifier l’installation ensuite](https://bmad-plus.rochetta.fr/fr/docs/reference/cli-doctor/)
- [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)
