# update-policy

> Die Projektrichtlinie anzeigen oder setzen, die entscheidet, ob BMAD+ nach Updates sucht und ob eines ohne dich greifen darf: Modi off, notify, auto, Kanal, Bereich, Vorabversionen, Datei, Fehler.

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

Die Update-Richtlinie ist eine kleine Datei in deinem Projekt, die festlegt, wie viel BMAD+ bei neuen Releases selbst tun darf. Standard: Bescheid sagen und warten. Du kannst die Abfragen abschalten oder automatische Updates innerhalb eines von dir gewählten Versionsbereichs erlauben, so lässt ein Team eine vertrauenswürdige Patch-Linie nachrücken und behält bei allem Größeren einen Menschen am Steuer. `update-policy` zeigt die Richtlinie und schreibt sie mit Optionen neu. Es prüft oder installiert selbst nichts.

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

**Im Terminal deines Projekts**

```sh
npx bmad-plus update-policy [-d <path>] [--mode <off|notify|auto>] [--range <semver-range>] [--channel <tag>] [--allow-prerelease | --stable-only] [--json]
```

**Optionen von update-policy**

| Option | Argument | Was sie tut |
| --- | --- | --- |
| `-d, --directory <path>` | Ordner | Projekt (Standard: aktueller Ordner). |
| `--mode <mode>` | `off`, `notify`, `auto` | `off`: npm nie kontaktieren. `notify`: prüfen und melden, ein Mensch wendet an. `auto`: automatische Updates innerhalb von `--range` erlauben. `auto` verlangt `--range`. |
| `--range <range>` | Semver-Bereich | Die Versionen, die automatische Updates erreichen dürfen, zum Beispiel `^0.23.0`. Muss ein gültiger Semver-Bereich sein. |
| `--channel <tag>` | npm-Tag | Der zu verfolgende npm-Release-Tag. Standard `latest`. Kleinbuchstaben, Ziffern, `-` und `_`, mit einem Buchstaben beginnend, höchstens 32 Zeichen. |
| `--allow-prerelease` | - | Vorabversionen als Ziele erlauben. |
| `--stable-only` | - | Vorabversionen verbieten (Standard). Nicht mit `--allow-prerelease` kombinierbar. |
| `--json` | - | `{"policy": {...}, "changed": true\|false}` ausgeben; Fehler geben `{"error": "..."}` aus. |

<a id="policy-file"></a>
## Die Richtliniendatei

Die Richtlinie liegt in `_bmad/update-policy.json`. Ohne Datei gilt der Standard: Modus `notify`, Kanal `latest`, kein Bereich, keine Vorabversionen, Registry `https://registry.npmjs.org/`. Die Registry ist nicht konfigurierbar: Jeder andere Wert macht die Richtlinie ungültig, Updates lassen sich also nicht auf eine andere Quelle umleiten. Unbekannte Schlüssel werden abgelehnt. Die Datei wird atomar und nie über einen Link geschrieben.

**Eine Richtlinie, die automatische Patches in 0.23.x erlaubt**

```json
{
  "schemaVersion": 1,
  "mode": "auto",
  "channel": "latest",
  "allowedRange": "~0.23.0",
  "allowPrerelease": false,
  "registry": "https://registry.npmjs.org/"
}
```

**Was jeder Modus bewirkt**

| Modus | `update-check` | `update --latest` |
| --- | --- | --- |
| `off` | Kontaktiert npm nicht: Status `off`. | Abgelehnt: `updates-disabled`. |
| `notify` (Standard) | Prüft und meldet; der Grund ist `approval-required`. | Nur mit `--yes`. `--auto` wird abgelehnt. |
| `auto` | Meldet `ready-for-authorized-update`, wenn das Ziel im Bereich liegt und die Dateien unverändert sind. | Mit `--yes`, oder mit `--auto` für ein Ziel im Bereich; `--auto` verlangt zusätzlich ein vollständiges Besitzinventar und keine Konflikte. |

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

**Exit-Codes von update-policy**

| Code | Bedeutung |
| --- | --- |
| 0 | Richtlinie angezeigt oder gespeichert. |
| 1 | Ungültige Optionskombination, ungültige Richtlinie oder unlesbare Richtliniendatei. Die Meldung geht auf den Fehlerstrom (oder in das JSON-Feld `error`). |

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

Die Ausgabe ist eine Zeile: `Update policy saved: ...`, wenn du etwas geändert hast, `Update policy: ...`, wenn du nur nachgesehen hast. Die Mitschriften sind aus der Vorlage des Codes zusammengesetzt und als simuliert gekennzeichnet.

**Ansehen, dann Patches erlauben** (Simuliert)

```text
$ npx bmad-plus update-policy
Update policy: notify; channel=latest; range=none; prereleases=false
$ npx bmad-plus update-policy --mode auto --range "~0.23.0"
Update policy saved: auto; channel=latest; range=~0.23.0; prereleases=false
```

Beispielhafter Ablauf, nicht bei einem echten Lauf aufgezeichnet. Quelle: tools/cli/commands/update-policy.js Zeile 40 und tools/cli/lib/update-policy.js DEFAULT_POLICY

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

**Meldungen von update-policy**

| Meldung | Ursache | Was tun |
| --- | --- | --- |
| `Choose --allow-prerelease or --stable-only.` | Beide Optionen angegeben. | Nur eine behalten. |
| `--mode auto requires an explicit --range.` | `auto` ohne Bereich. | `--range "<semver range>"` ergänzen. |
| `Invalid update policy: check mode, channel, range, prerelease flag and official registry.` | Ein Wert ist unzulässig: Modus, Kanalname, Bereichssyntax oder eine andere Registry als die von npm. | Wert korrigieren. Die Registry lässt sich nicht ändern. |
| `Automatic updates require an explicit allowedRange.` | Die Datei sagt `auto` ohne `allowedRange`. | Einen Bereich setzen oder den Modus ändern. |
| `Update policy is unreadable or invalid: ...` | Die vorhandene Datei ist kein gültiges JSON oder besteht die Prüfung nicht. | `_bmad/update-policy.json` korrigieren oder löschen und die Richtlinie neu setzen. |

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

**In diesem Projekt nie nach Updates suchen**

```sh
npx bmad-plus update-policy --mode off
```

**Zurück zum Standard (sag Bescheid, ich entscheide)**

```sh
npx bmad-plus update-policy --mode notify
```

**Siehe auch**

- [update-check](https://bmad-plus.rochetta.fr/de/docs/reference/cli-update-check/)
- [update](https://bmad-plus.rochetta.fr/de/docs/reference/cli-update/)
- [Der ganze Lebenszyklus](https://bmad-plus.rochetta.fr/de/docs/guides/install-lifecycle/)

[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)
