# Installieren, aktualisieren, deinstallieren

> Das ganze Leben von BMAD+ in einem Projekt: installieren, prüfen, mit Richtlinie und Belegen aktualisieren, wiederherstellen, deinstallieren und das Memory behalten. Was jeder Schritt schreibt.

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

BMAD+ Dokumentation › [Anleitungen](https://bmad-plus.rochetta.fr/de/docs/guides/) › Installieren, aktualisieren, deinstallieren

BMAD+ lebt in deinem Projekt, neben deinem Code. Das wirft drei berechtigte Fragen auf: Wie installiere ich es, ohne dass es alles übernimmt, wie halte ich es aktuell, ohne meine Änderungen zu verlieren, und wie entferne ich es, ohne meine Arbeit zu verlieren. Diese Seite begleitet eine Installation vom ersten bis zum letzten Befehl und sagt zu jedem Schritt, was gelesen, geschrieben und entfernt wird. Das Prinzip ist überall gleich: BMAD+ führt eine Liste der Dateien, die ihm gehören, mit dem Fingerabdruck jeder einzelnen, und handelt nur an Dateien, die noch dazu passen.

<a id="video-install-and-keep-memory"></a>
Video: [Installieren, aktualisieren, deinstallieren und das Gedächtnis behalten](https://bmad-plus.rochetta.fr/media/install-and-keep-memory-en.mp4) — Ein Installationsbefehl, eine Prüfung mit doctor, Updates, die deine Änderungen behalten, und eine Deinstallation, die Gedächtnis und Konfiguration stehen lässt.
[Untertitel (WebVTT)](https://bmad-plus.rochetta.fr/media/install-and-keep-memory-de.vtt)

Transkript:

> Ein einziger Befehl im Projektordner, dann wählst du deine Adapter und Packs. Der Installer schreibt die Agenten-Anweisungen, das gemeinsame Rückgrat des Projekts und die gewählten Adapter. Danach prüft doctor die Installation und meldet, wie viele Prüfungen bestanden wurden. Updates behalten deine angepassten Dateien: BMAD+ erfasst, welche Dateien es verwaltet. Eine Versionsprüfung schaut nur nach. Automatische Updates brauchen eine ausdrückliche Projektrichtlinie. Die Deinstallation entfernt nur Dateien, die noch dem entsprechen, was installiert wurde. Dein Gedächtnis, deine Änderungen und deine Konfiguration bleiben, wo sie sind. Sie löscht nie einen Ordner rekursiv, daher bleiben versteckte Dateien und verschachtelte Inhalte erhalten.

Transkript mit Bildbeschreibung:

- **0:00** Im Bild: Ein schwacher Lichtstrahl fällt durch dunklen Dunst auf einen Punkt einer dunklen Fläche. Wo er auftrifft, schießen dünne Bernsteinlinien in alle Richtungen und verzweigen sich wie Leiterbahnen. Die Einblendung lautet auf Englisch „npx bmad-plus@0.23.0 install“. Sprechtext: Ein einziger Befehl im Projektordner, dann wählst du deine Adapter und Packs.
- **0:06** Im Bild: Ein Terminalfenster mit dem Titel „~/app“. Es wird der Befehl npx bmad-plus install --lang en getippt. Der Installer fragt „Which packs to install? (Core is always included)“ und listet die neun optionalen Packs auf; Shield wird gewählt („Selected packs: Core, Shield“). Dann listet „Which IDE are you using?“ sieben Werkzeuge auf — Claude Code, Gemini CLI, Antigravity, Cursor, Codex CLI, OpenCode und Aider — und Claude Code wird gewählt. Weitere Zeilen folgen: „Detected IDEs: Claude Code“, eine Frage nach dem Vornamen (Developer), die Kommunikationssprache (English), eine Frage nach der URL einer Testumgebung und der Ausführungsmodus („Manual — You call agents yourself“). Das Bild zoomt auf zwei grüne Haken: „5 agents, 6 skills, 4 files copied“, wobei „files copied“ orange umrahmt ist, und „1 IDE(s) configured“. Der gesamte Terminaltext ist englisch. Sprechtext: Der Installer schreibt die Agenten-Anweisungen, das gemeinsame Rückgrat des Projekts und die gewählten Adapter.
- **0:17** Im Bild: Ein Terminal. Es wird der Befehl bmad-plus doctor getippt. Der Bildschirm zeigt „BMAD+ Doctor v0.23.0“ und „Manifest found: v0.23.0“, dann einen „BMAD+ Health Report“, dessen erste Zeile, „87/87 checks passed“, orange umrahmt ist. Darunter: „0 error(s), 0 warning(s)“, „Installed: v0.23.0 | Executing CLI: v0.23.0“ und „Ownership inventory: complete“. Der Bildschirm endet mit einem Hinweis, dass die veröffentlichte Version hier nicht geprüft wird (der Befehl bmad-plus update-check --json fragt npm ab), und „Installation checks passed.“ in Grün. Der gesamte Terminaltext ist englisch. Sprechtext: Danach prüft doctor die Installation und meldet, wie viele Prüfungen bestanden wurden.
- **0:23** Im Bild: Ein Terminal. Zuerst wird eine verwaltete Datei geändert: echo '# my notes' >> .agents/skills/agent-strategist/SKILL.md. Dann gibt bmad-plus update-check „Installed: 0.22.0; running: 0.23.0; channel latest: 0.23.0“ und „update-available: approval-required“ aus, wobei „update-available“ umrahmt ist. Es folgt bmad-plus update --yes: „BMAD+ Updater v0.23.0“, „Installed: v0.22.0 → Executing package: v0.23.0“ und „Planned changes: 12 files (0 no longer shipped, removed with backup); preserved conflicts: 1.“ Das Bild zoomt, und „SKILL.md: preserved“ ist in der Zeile „.agents/skills/agent-strategist/SKILL.md: preserved (modified-managed-file).“ umrahmt. Der Lauf endet mit „12 files updated; 1 local conflicts preserved.“, dem Pfad eines Belegs unter .bmad/updates und „BMAD+ v0.23.0 applied partially. Reload your agent instructions or start a new session.“ Der gesamte Terminaltext ist englisch. Sprechtext: Updates behalten deine angepassten Dateien: BMAD+ erfasst, welche Dateien es verwaltet. Eine Versionsprüfung schaut nur nach. Automatische Updates brauchen eine ausdrückliche Projektrichtlinie.
- **0:38** Im Bild: Ein Terminal. Die Wurzeldatei wird geändert: echo '# my notes' >> AGENTS.md. Eine Memory-Datei wird geschrieben: mkdir -p .agents/memory && echo 'decision: keep it simple' > .agents/memory/decisions.md. Dann gibt bmad-plus uninstall --yes „BMAD+ Uninstaller“, „BMAD+ v0.23.0 (installed 2026-10-18)“, „Selected packs: core, design“ und „BMAD+ removed (105 items)“ aus, umrahmt. Die nächste Zeile lautet „Project memory, settings, and unknown or modified files have been preserved“, wobei „have been preserved“ umrahmt ist. Zuletzt listet der Befehl ls AGENTS.md .agents/memory _bmad die Datei AGENTS.md auf, dann decisions.md unter .agents/memory, dann config.yaml unter _bmad. Der Name config.yaml ist umrahmt. Der gesamte Terminaltext ist englisch. Sprechtext: Die Deinstallation entfernt nur Dateien, die noch dem entsprechen, was installiert wurde. Dein Gedächtnis, deine Änderungen und deine Konfiguration bleiben, wo sie sind.
- **0:52** Im Bild: Ein hoher Stapel dünner, durchscheinender Platten steht im Dunkeln. Ein warmes Licht wächst in seinem Inneren, wird heller, und die Platten öffnen sich um einen hellen Lichtblitz. Die Einblendung lautet auf Englisch „Nothing deleted recursively“. Sprechtext: Sie löscht nie einen Ordner rekursiv, daher bleiben versteckte Dateien und verschachtelte Inhalte erhalten.
- **0:59** Im Bild: Ein gedämpfter blauschwarzer Himmel mit einem schwachen Lichtband am Horizont. Die Adresse „bmad-plus.rochetta.fr“ blendet in Orange ein und wieder aus.

<a id="the-path"></a>
## Der Weg in sechs Schritten

1. **Installieren** Kopiert Agenten, Skills und Anweisungsdateien, schreibt Konfiguration und Manifest.

   ```sh
   npx bmad-plus install
   ```
2. **Prüfen** Ein schreibgeschützter Gesundheitsbericht: Sind alle Dateien da und unverändert?

   ```sh
   npx --no-install bmad-plus doctor
   ```
3. **Nach Neuem sehen** npm fragen, ob es ein neueres Release gibt, ohne es anzuwenden.

   ```sh
   npx --no-install bmad-plus update-check
   ```
4. **Richtlinie festlegen** Den Standard behalten (sag Bescheid, ich entscheide), Abfragen abschalten oder automatische Updates innerhalb eines Versionsbereichs erlauben.

   ```sh
   npx --no-install bmad-plus update-policy --mode notify
   ```
5. **Aktualisieren** Planen, sichern, schreiben, prüfen, einen Beleg hinterlassen. Rückgängig mit `--restore`.

   ```sh
   npx --no-install bmad-plus update --latest --yes
   ```
6. **Deinstallieren** Nur entfernen, was BMAD+ gehört; Memory, Einstellungen und deine Änderungen bleiben.

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

> **Warnung · Die Schritte 2 bis 6 brauchen eine lokale Kopie** Der Installer legt `bmad-plus` nicht im `node_modules` deines Projekts ab, daher scheitert `npx --no-install bmad-plus ...` direkt nach Schritt 1 (`npx canceled due to missing packages and no YES option`). Füge das Paket einmal mit `npm install --save-dev bmad-plus` hinzu oder führe diese Schritte als `npx bmad-plus ...` aus, das es bei Bedarf lädt. Die erzeugten `CLAUDE.md` und `AGENTS.md` weisen den Assistenten an, `npx --no-install bmad-plus update-check` auszuführen; ohne lokale Kopie ist der Befehl nicht verfügbar, und der Assistent überspringt die Update-Prüfung und macht mit deiner Aufgabe weiter. Siehe die [CLI-Übersicht](https://bmad-plus.rochetta.fr/de/docs/reference/cli-overview/).

<a id="ownership"></a>
## Woran BMAD+ erkennt, was ihm gehört

Alles ruht auf einer von `install` geschriebenen Datei: `_bmad/.bmad-plus-install.json`, dem Manifest. Es hält Version, Packs, Tools, deinen Namen und deine Sprache, den Ausführungsmodus, eine Map `adapterHashes` (ein Fingerabdruck je Anweisungsdatei) und ein `fileInventory` fest: für jede von BMAD+ gelegte Agenten-, Skill- und Datendatei ihren SHA-256-Fingerabdruck. Zeilenenden werden vor dem Fingerabdruck der Anweisungsdateien normalisiert, ein Windows-Checkout sieht also nicht wie eine Änderung aus.

**Von doctor gezeigte Zustände des Besitzinventars**

| Zustand | Bedeutung | Folge |
| --- | --- | --- |
| `complete` | Jede gelieferte Datei ist verzeichnet. | Updates können automatisch laufen, wenn die Richtlinie es erlaubt. |
| `incomplete` | Eine Datei war bei der Installation schon da, mit anderem Inhalt. | Diese Dateien gelten als deine. |
| `legacy` | Installiert, bevor es Besitz-Hashes gab. | Updates sichern zuerst die Original-Pack-Dateien; `--auto` lehnt ab. |
| `invalid` | Das Inventar ist fehlerhaft. | `doctor` meldet einen Fehler; Manifest reparieren oder neu installieren. |

<a id="each-step"></a>
## Was jeder Schritt liest, schreibt und entfernt

**Wirkungen jedes Lebenszyklus-Befehls**

| Befehl | Liest | Schreibt | Entfernt |
| --- | --- | --- | --- |
| `install` | Vorhandenes Manifest und Konfiguration. | Agenten, Skills, Daten, Moduldateien, `AGENTS.md` und Tool-Dateien, `_bmad/config.yaml`, das Manifest, leere Ausgabeordner. | Nichts. |
| `doctor` | Manifest, Dateien, Hashes, Sperre. | Nichts. | Nichts. |
| `update-check` | Manifest, Richtlinie; npm außer bei offline oder off. | `.bmad/update-check.json` (Cache). | Nichts. |
| `update-policy` | Richtliniendatei. | `_bmad/update-policy.json`, nur wenn du Optionen angibst. | Nichts. |
| `update` | Manifest, Dateien, Hashes, Richtlinie. | Geänderte Dateien, Manifest, `.bmad/updates/<id>/` (Beleg, Backups), die Sperre. | Dateien, die die neue Version nicht mehr liefert (unveränderte, mit Backup). |
| `update --restore` | Beleg und Backups. | Die gesicherten Dateien, den Belegstatus. | Dateien, die das Update hinzugefügt hatte. |
| `uninstall` | Manifest, Dateien. | Nichts. | Eigene, unveränderte Dateien, das Manifest, dann leere Ordner. |

<a id="your-edits"></a>
## Wenn du Dateien bearbeitet hast

**Wie jeder Befehl eine von dir geänderte Datei behandelt**

| Situation | `install` | `update` | `uninstall` |
| --- | --- | --- | --- |
| Eine verwaltete Agenten- oder Skill-Datei, die du bearbeitet hast | Behalten, Warnung. | Behalten, als Konflikt aufgelistet. | Behalten. |
| Eine Anweisungsdatei, die BMAD+ schrieb und du danach bearbeitet hast | Behalten. | Behalten, als Konflikt aufgelistet. | Behalten. |
| Eine Anweisungsdatei, die du selbst geschrieben hast, nie von BMAD+ | Interaktiv behalten; mit `--yes` als `<file>.bak` gesichert, dann ersetzt. | Behalten, als Konflikt aufgelistet. | Behalten (keine Marke). |
| Eine von dir in einem BMAD+-Ordner abgelegte Datei | Unberührt. | Unberührt. | Behalten, samt Ordner. |
| `_bmad/config.yaml` | Zusammengeführt, deine Schlüssel gewinnen. | Unberührt. | Behalten. |

<a id="offline"></a>
## Offline arbeiten

- Ist das Paket lokal installiert (füge es einmal mit `npm install --save-dev bmad-plus` hinzu und nutze danach `npx --no-install bmad-plus ...`), laufen `install`, `doctor`, `update-policy`, `uninstall` und ein schlichtes `update` ganz ohne Netz.
- `update-check` und `update --latest` sind die einzigen Befehle, die npm fragen. Ohne Verbindung meldet `update-check` den Status `unknown` (Grund `registry-unavailable`, mit `--offline` `offline`), endet mit 0, und ein Assistent macht einfach mit deiner Aufgabe weiter.
- Eine veraltete Cache-Antwort wird als solche gezeigt, mit `stale: true`; nie als aktuell.
- Nur das allererste `npx bmad-plus install` braucht das Netz, um das Paket zu holen, es sei denn, du hast es aus einer Datei installiert.

<a id="recovery"></a>
## Wenn etwas schiefgeht

- Ein gescheitertes Update rollt sich selbst zurück und gibt den genauen Befehl `update --restore <id>` aus. Belege bleiben unter `.bmad/updates/`.
- Eine Projektsperre (`.bmad/update.lock`), die älter als 60 Minuten ist oder deren Prozess weg ist, meldet `doctor` als veraltet samt der zu löschenden Datei. Eine Sperre, deren Prozess auf dieser Maschine nachweislich tot ist, übernimmt die nächste Installation oder das nächste Update.
- Ein beschädigtes Manifest wird nach `_bmad/.bmad-plus-install.json.corrupt.bak` kopiert, bevor `install` es ersetzt.
- Eine Installation aus der Zeit vor den Besitz-Hashes (0.12.2 oder älter) wird einmal migriert, indem du ausdrücklich ein neueres Paket startest: `npx --yes bmad-plus@0.13.0 update --yes`. Die Originale werden zuvor gesichert.
- Ein Versions-Downgrade wird immer abgelehnt. Zum Zurückgehen nimm `update --restore` mit dem Beleg des Updates, das du rückgängig machen willst.

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

<a id="example-install-lifecycle-customised-project"></a>
### Ein Projekt aktualisieren, in dem du Anweisungsdateien bearbeitet hast

Du hast eigene Regeln in `CLAUDE.md` ergänzt und eine Agentendatei angepasst und willst das neueste BMAD+, ohne eines von beidem zu verlieren.

**In deinem KI-Assistenten**

```text
Prüfe, ob es für dieses Projekt ein neueres BMAD+ gibt. Wenn ja, aktualisiere es und liste genau auf, welche Dateien erhalten blieben, weil ich sie bearbeitet habe, und warum.
```

**Das solltest du erhalten** Der Assistent führt `update-check` aus und mit deiner Zustimmung `update --latest --yes`. Der Befehl gibt einen Plan wie `Planned changes: N files (R no longer shipped, removed with backup); preserved conflicts: 2.` aus und eine Zeile je Konflikt: `CLAUDE.md: preserved (local-instructions).` und `<agent file>: preserved (modified-managed-file).` Diese beiden Dateien bleiben unberührt; alles andere wird nach einem Backup aktualisiert, und der Belegpfad unter `.bmad/updates/` wird genannt, damit sich das Update mit `update --restore` rückgängig machen lässt.

**Siehe auch**

- [install](https://bmad-plus.rochetta.fr/de/docs/reference/cli-install/)
- [doctor](https://bmad-plus.rochetta.fr/de/docs/reference/cli-doctor/)
- [update-check](https://bmad-plus.rochetta.fr/de/docs/reference/cli-update-check/)
- [update-policy](https://bmad-plus.rochetta.fr/de/docs/reference/cli-update-policy/)
- [update](https://bmad-plus.rochetta.fr/de/docs/reference/cli-update/)
- [uninstall](https://bmad-plus.rochetta.fr/de/docs/reference/cli-uninstall/)
- [Projektstruktur](https://bmad-plus.rochetta.fr/de/docs/reference/project-layout/)
- [Fehlerbehebung](https://bmad-plus.rochetta.fr/de/docs/faq/troubleshooting/)

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

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