# install

> BMAD+ Agenten, Skills, Anweisungsdateien und Konfiguration in ein Projekt installieren: jede Option, was geschrieben wird, Verhalten bei erneuter Installation, echte Ausgabe und mögliche Fehler.

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

BMAD+ Dokumentation › [Referenz](https://bmad-plus.rochetta.fr/de/docs/reference/) › install

`install` ist der Befehl, der BMAD+ in ein Projekt bringt. Er kopiert Agenten und Skills der gewählten Packs, schreibt die Anweisungsdateien, die deine KI-Assistenten lesen, legt die Konfiguration an und führt ein Manifest über alles, was ihm gehört, damit `update`, `doctor` und `uninstall` später sicher handeln können. Führe ihn einmal pro Projekt aus und erneut, wenn du ein Pack oder ein Tool hinzufügen willst.

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

**Im Terminal deines Projekts**

```sh
npx bmad-plus install [-d <path>] [-p <packs>] [-y] [-l <code>] [--tools <tools>] [--mode <mode>] [--provision-python]
```

**Optionen von install**

| Option | Argument | Standard | Was sie tut |
| --- | --- | --- | --- |
| `-d, --directory <path>` | Ordner | aktueller Ordner | Projekt, in das installiert wird. |
| `-p, --packs <packs>` | kommagetrennte Liste | interaktiv abgefragt | Pack-IDs: `core`, `osint`, `maker`, `shield`, `seo`, `memory`, `dev-studio`, `backup`, `animated`, `design`, oder `all` (alle) oder `none`. Core wird immer installiert. Eine unbekannte ID ist ein Fehler. |
| `-y, --yes` | - | aus | Alle Standardwerte übernehmen und Rückfragen überspringen. Ohne Terminal Pflicht. |
| `-l, --lang <code>` | Sprachcode | abgefragt, mit `--yes` `en` | Sprache der Installer-Bildschirme: `en`, `fr`, `es`, `de`, `pt-br`, `ru`, `zh`, `he`, `ja`, `it`. |
| `--tools <tools>` | kommagetrennte Liste | automatische Erkennung | Für welche Assistenten Anweisungsdateien geschrieben werden: IDs (`claude-code`, `gemini-cli`, `antigravity`, `cursor`, `codex-cli`, `opencode`, `aider`), `all`, oder `none` / `skip`, um die Tool-Konfiguration unberührt zu lassen. |
| `--mode <mode>` | `manual`, `autopilot`, `hybrid` | vorhandener Wert, sonst `manual` | In `_bmad/config.yaml` geschriebener Ausführungsmodus. Ein expliziter Wert ersetzt den vorhandenen. |
| `--provision-python` | - | aus | Eine isolierte Python-Umgebung unter `.bmad/venv/<pack>/` für Packs anlegen, die eine brauchen (heute: SEO). Läuft nie ohne Aufforderung. |

<a id="wizard"></a>
## Der interaktive Assistent

Ohne `--yes` stellt der Installer die folgenden Fragen in dieser Reihenfolge. Die Fragen nach Sprache, Packs und Tools entfallen, wenn du `--lang`, `--packs` oder `--tools` angegeben hast; Name, Kommunikationssprache, Testumgebung und Ausführungsmodus werden immer gefragt. Core ist in der Pack-Liste immer enthalten, bereits installierte Packs sind vorausgewählt.

1. **Sprache** Die Sprache des Installers (siehe CLI-Überblick). Entfällt bei `--lang`.
2. **Packs** Eine Mehrfachauswahl der optionalen Packs. Entfällt bei `--packs`.
3. **Tools** Nur gefragt, wenn im Ordner kein KI-Tool erkannt wurde und `--tools` fehlt.
4. **Name** Dein Vorname; Agenten begrüßen dich damit. Standard: die vorhandene Konfiguration, dann dein Systembenutzername.
5. **Kommunikationssprache** Die Sprache, in der Agenten antworten. Wird in die Konfiguration geschrieben.
6. **Testumgebung** Die URL einer Testumgebung für menschliche Abnahmeprotokolle; leer lassen, wenn du keine hast.
7. **Ausführungsmodus** `manual` (du rufst die Agenten), `autopilot` (Nexus führt die Pipeline) oder `hybrid` (Autopilot mit häufigen Checkpoints). Wird immer gefragt. Ein `--mode`-Wert hat Vorrang vor deiner Antwort.

Mit `--yes` wird nichts gefragt: Der Name kommt aus der vorhandenen Konfiguration oder dem Systembenutzernamen, die Kommunikationssprache aus der vorhandenen Konfiguration, `--lang` oder der Systemsprache, der Modus aus `--mode`, der vorhandenen Konfiguration oder `manual`. Eine unbeaufsichtigte Installation ersetzt nie eine bereits vorhandene Einstellung.

<a id="reads-writes"></a>
## Was gelesen und geschrieben wird

Der Befehl listet zuerst jede Datei jedes gewählten Packs auf. Lässt sich eine nicht auflisten (etwa weil die externen Skills des Design-Packs nicht zur festgelegten Version passen), stoppt er, bevor etwas geschrieben wird. Danach setzt er eine Projektsperre, schreibt Dateien atomar und beendet mit dem Manifest. Er öffnet selbst keine Netzwerkverbindung; die einzige Ausnahme ist `--provision-python`, das einen Python-Installer (`uv`, mit `pipx` oder `pip` als Rückfall) die Anforderungen des Packs holen lässt.

**Von install geschriebene Dateien und Ordner**

| Pfad | Was es ist |
| --- | --- |
| `.agents/skills/` | Agenten, Skills und Pack-Ordner der gewählten Packs. |
| `.agents/data/` | Gemeinsame Daten, vor allem `role-triggers.yaml` (automatische Rollenaktivierung). |
| `_bmad/module.yaml`, `_bmad/module-help.csv` | Modulbeschreibung und Hilfeindex. |
| `_bmad/config.yaml` | Deine Projektkonfiguration. Neu angelegt oder zusammengeführt, vorhandene Schlüssel bleiben. |
| `_bmad/.bmad-plus-install.json` | Das Manifest: Version, Packs, Tools, Adapter-Hashes, Inventar der eigenen Dateien, Modus, Benutzer und Sprache. |
| `AGENTS.md` und Tool-Dateien | Anweisungsdateien für die gewählten Tools (siehe Seite zu den Adaptern). Mit `--tools none` nicht geschrieben. |
| `_bmad-output/discovery/`, `_bmad-output/build/`, `docs/` | Leere Ausgabeordner, in die Agenten schreiben. |
| `.agents/memory/`, `~/.bmad-plus/brain` | Mit dem Memory-Pack: Projekt-Memory-Dateien und bei Bedarf ein globales Brain. Ein Fehlschlag hier ist eine Warnung, kein Fehler. |
| `.bmad/venv/<pack>/` | Nur mit `--provision-python`. |
| `.bmad/update.lock` | Gehalten, solange der Befehl läuft, dann entfernt. |

> **Hinweis · Deine .gitignore gehört dir** Der Installer ändert `.gitignore` nicht. Ob die installierten Ordner in `git status` erscheinen, hängt von deinen eigenen Ignore-Regeln ab. Im aufgezeichneten Abnahmelauf ignorierte das Demoprojekt sie bereits, `git status --short` blieb leer.

<a id="re-running"></a>
## Erneut ausführen

- Gleiche Version: Es werden nur fehlende Packs, Tools und Dateien ergänzt. Packs und Tools, die die Installation schon besitzt, bleiben erhalten und werden aufgefrischt.
- Dateien, die du geändert hast oder die nicht als BMAD+-eigen verzeichnet sind, bleiben mit einer Warnung erhalten (`<file>: locally changed or unowned content preserved.`).
- Deine eigenen Anweisungsdateien (`CLAUDE.md`, `GEMINI.md` usw.): Eine interaktive Installation erhält sie und warnt; mit `--yes` werden sie zuerst nach `<file>.bak` kopiert (nummeriert, falls nötig) und dann durch die BMAD+-Datei ersetzt. Eine von dir bearbeitete BMAD+-Datei bleibt immer erhalten. Ältere BMAD+-Dateien ohne Besitz-Hashes werden zuerst als `<file>.bak` gesichert.
- `_bmad/config.yaml` wird zusammengeführt: Vorhandene Schlüssel gewinnen, fehlende Standardwerte werden ergänzt, und im Assistenten ausdrücklich gegebene Antworten (oder `--mode`) ersetzen den alten Wert. Lässt sich die Datei nicht parsen, bleibt sie unverändert, mit Warnung.
- Eine andere Version wird abgelehnt. Nimm `update`: Es plant die Änderung, sichert Dateien und schreibt einen Beleg.
- Ein unlesbares Manifest wird zuerst nach `_bmad/.bmad-plus-install.json.corrupt.bak` kopiert (nummeriert, falls vorhanden) und dann ersetzt.

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

**Exit-Codes von install**

| Code | Bedeutung |
| --- | --- |
| 0 | Installiert, oder nichts mehr zu ergänzen. |
| 1 | Kein Terminal und kein `--yes`; Versionskonflikt; unbekanntes Pack, Tool oder unbekannter Modus; ein Pack, das sich nicht auflisten lässt; eine von anderer Installation oder Update gehaltene Sperre; eine abgebrochene Rückfrage. |

<a id="real-output"></a>
## Echte Ausgabe

Das ist die aufgezeichnete Installation der Packs Core und Design für Claude Code, auf Französisch (`--lang fr`), aus dem menschlichen Abnahmelauf von 0.23.0. Die Zeile „5 agents, 9 skills, 4 fichiers copiés“ zählt kopierte Agentenordner, Skill-Ordner und sonstige Dateien. Der Kasten endet mit der Startanleitung; ihre Beispielzeilen hängen von den gewählten Packs ab (hier die Design-Zeile).

**Unbeaufsichtigte Installation, Core + Design, Claude Code**

```text
$ npx bmad-plus install --yes --lang fr --packs core,design --tools claude-code --directory .\demo-app
T   BMAD+ Installer v0.23.0
|
•  ✨ Created by Laurent Rochetta — github.com/lrochetta/BMAD-PLUS
|
•  Installation dans: C:\Users\you\demo-app
|
*  Packs sélectionnés: ⚙️ Core, 🎨 Design
|
•  IDE détectés: Claude Code
|
o  ✅ 5 agents, 9 skills, 4 fichiers copiés
|
o  ✅ 1 IDE configuré(s)
|
o  ✅ Installation terminée — Comment commencer -------------------------------+
|                                                                              |
|  💬 À qui parler ?                                                           |
|                                                                              |
|    Discuter d'une idée          →  "Atlas, [...]"                            |
|    Créer un PRD                 →  "Atlas, create PRD"                       |
|    Architecture technique       →  "Forge, propose architecture"             |
|    Implémenter du code          →  "Forge, implement story [X]"              |
|    Tester / code review         →  "Sentinel, review module [X]"             |
|    Planifier un sprint          →  "Nexus, create epics"                     |
|    Tout automatiser             →  "autopilot"                               |
|    Design avec Atelier          →  "/design read"                            |
|                                                                              |
|  📦 Commandes CLI:                                                           |
|    npx bmad-plus install    — Installer agents & skills                      |
|    npx bmad-plus update     — Mettre à jour (conserve la config)             |
|    npx bmad-plus doctor     — Vérifier l'installation                        |
|    npx bmad-plus uninstall  — Supprimer BMAD+ du projet                      |
|                                                                              |
|  💡 Exemples rapides:                                                        |
|    🎨 Design : "/design read" → Atelier vous interroge, puis construit       |
|                                                                              |
+------------------------------------------------------------------------------+
|
—  BMAD+ est prêt ! Parle à Atlas pour commencer 🚀
```

Ausgabe eines echten Laufs. Quelle: Aufgezeichnet im Abnahmelauf der 0.23.0 am 2026-10-18 (Schritt 1; npm-notice-Zeilen entfernt; der Schnellstart-Kasten ist gekürzt (Zeilen zu Workflow und Ausgabeordner ausgelassen))

<a id="errors"></a>
## Fehler und was zu tun ist

**Meldungen von install**

| Meldung | Ursache | Was tun |
| --- | --- | --- |
| `This command requires a terminal. Run ...` | Die Eingabe ist kein Terminal (Skript, CI, Pipe) und `--yes` fehlt. | Füge `--yes` hinzu und, falls du Adapter willst, `--tools <ids>`. |
| `BMAD+: Unknown pack ID(s): x. Available: core, osint, maker, shield, seo, memory, dev-studio, backup, animated, design, all.` | Eine Pack-ID in `--packs` ist falsch geschrieben. | Nimm eine der aufgelisteten IDs. |
| `BMAD+: Unknown tool ID(s): x. Available: claude-code, gemini-cli, antigravity, cursor, codex-cli, opencode, aider, all, none.` | Eine Tool-ID in `--tools` ist falsch geschrieben. | Nimm eine der aufgelisteten IDs. |
| `BMAD+: Unknown execution mode: x` | `--mode` ist weder `manual` noch `autopilot` noch `hybrid`. | Wähle eines der drei. |
| `BMAD+ v0.22.0 is installed; this package is v0.23.0. Run `bmad-plus update` first ...` | Das Projekt hat eine andere Version als das Paket, das du startest. | Führe `update` aus, danach `install`, um Packs oder Tools zu ergänzen. |
| `Downgrade refused: BMAD+ vX is installed and this package is vY.` | Das gestartete Paket ist älter als die Installation. | Starte ein neueres Paket: `npx bmad-plus@latest install`. |
| `Another update is in progress: <path>.` | Eine andere Installation oder ein Update hält `.bmad/update.lock`. | Warte. Wurde sie unterbrochen, sagt `doctor`, wann die Sperre veraltet ist und welche Datei zu löschen ist. |
| `<file>: existing project instructions preserved.` | Die Anweisungsdatei existiert schon und stammt nicht von BMAD+ (interaktive Installation), oder du hast die BMAD+-Datei bearbeitet. | Nichts geht kaputt: Die Rückgrat-Datei `AGENTS.md` trägt die gemeinsamen Anweisungen. Von Hand zusammenführen oder deine Datei beiseiteschieben und erneut ausführen. Mit `--yes` wäre deine Datei als `<file>.bak` gesichert und ersetzt worden. |
| `External module design-skill is X but this BMAD+ expects exactly Y; reinstall bmad-plus so its pinned dependency matches.` | Die externen Skills des Design-Packs passen nicht zu der Version, die diese Ausgabe festlegt. | Installiere das Paket neu (`npm install` oder `npx bmad-plus@<version>`). Das Projekt wurde nicht angefasst. |
| `Installation changed while preparing install. Please retry.` | Ein anderer Prozess hat das Manifest während der Vorprüfung geändert. | Führe den Befehl erneut aus. |
| `_bmad/config.yaml could not be parsed; it was left unchanged.` | Die Datei ist kein gültiges YAML. | Korrigiere die Datei und führe erneut aus, um Standardwerte zu ergänzen. |
| `Memory/brain initialization failed (non-fatal, install continues): ...` | Der Home-Ordner ist schreibgeschützt oder fehlt (Container, CI). | Kann ignoriert werden; setze `BMAD_PLUS_BRAIN` auf einen beschreibbaren Ordner, wenn du das globale Brain willst. |

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

**Interaktiv, der übliche Weg**

```sh
npx bmad-plus@0.23.0 install
```

**Unbeaufsichtigt, zwei Packs, ein Assistent**

```sh
npx bmad-plus install --packs core,design --tools claude-code --yes --lang fr
```

**Alles, für alle Assistenten**

```sh
npx bmad-plus install --packs all --tools all --yes
```

**Nur Agenten und Skills, keine Anweisungsdatei angefasst**

```sh
npx bmad-plus install --tools none --yes
```

**SEO-Pack mit seiner Python-Umgebung**

```sh
npx bmad-plus install --packs seo --provision-python
```

**Siehe auch**

- [CLI-Überblick](https://bmad-plus.rochetta.fr/de/docs/reference/cli-overview/)
- [Ergebnis mit doctor prüfen](https://bmad-plus.rochetta.fr/de/docs/reference/cli-doctor/)
- [Auf eine neuere Version wechseln](https://bmad-plus.rochetta.fr/de/docs/reference/cli-update/)
- [Adapter und Tool-IDs](https://bmad-plus.rochetta.fr/de/docs/reference/adapters/)
- [Die geschriebene Konfiguration](https://bmad-plus.rochetta.fr/de/docs/reference/config-yaml/)
- [Der ganze Lebenszyklus](https://bmad-plus.rochetta.fr/de/docs/guides/install-lifecycle/)
- [Fehlerbehebung](https://bmad-plus.rochetta.fr/de/docs/faq/troubleshooting/)

[BMAD+ Dokumentation](https://bmad-plus.rochetta.fr/de/docs/) · [Referenz](https://bmad-plus.rochetta.fr/de/docs/reference/)

[Quellcode auf GitHub](https://github.com/lrochetta/BMAD-PLUS)
