# Fehlercodes

Jeder Fehler hat einen stabilen Code, eine Meldung und eine Lösung. Codes werden nie übersetzt.

## E_INTERNAL

HTTP 500 · exit 1

In GenPM ist ein interner Fehler aufgetreten.

**Lösung:** Versuche es mit --verbose erneut und melde das Problem mit seiner requestId, falls es bestehen bleibt.

## E_BAD_REQUEST

HTTP 400 · exit 2

Die Anfrage ist ungültig: …

**Lösung:** Prüfe die Parameter und versuche es erneut.

## E_USAGE

HTTP 400 · exit 2

Ungültige Verwendung: …

**Lösung:** Führe genpm --help aus, um die verfügbaren Optionen zu sehen.

## E_CONFIRM_REQUIRED

HTTP 400 · exit 2

Bestätigung erforderlich: …

**Lösung:** Führe den Befehl in einem interaktiven Terminal aus oder übergib … zur Bestätigung.

## E_PAYLOAD_TOO_LARGE

HTTP 413 · exit 2

Der Anfragetext ist zu groß.

**Lösung:** Sende höchstens 16 KB.

## E_NOT_FOUND

HTTP 404 · exit 3

… wurde nicht gefunden.

**Lösung:** Prüfe die Schreibweise oder suche mit genpm search <Suchbegriff>.

## E_NO_MATCHING_VERSION

HTTP 404 · exit 3

Keine Version von … passt zu ….

**Lösung:** Führe genpm info … aus, um die veröffentlichten Versionen zu sehen.

## E_DEST_CONFLICT

HTTP 409 · exit 4

… existiert und ist nicht leer.

**Lösung:** Verwende --dest <dir> oder --force (erstellt vorher eine Sicherung).

## E_RANGE_UNSATISFIED

HTTP 409 · exit 4

Keine Version erfüllt alle Bereiche: …

**Lösung:** Installiere zuerst eine kompatible Version des konfligierenden Pakets oder lege eine andere Version fest.

## E_ALREADY_INSTALLED

HTTP 409 · exit 4

… … ist bereits installiert.

**Lösung:** Nichts zu tun. Mit genpm list siehst du die installierten Pakete.

## E_VERSION_EXISTS

HTTP 409 · exit 4

…@… wurde bereits veröffentlicht.

**Lösung:** Versionen sind unveränderlich: Erhöhe die Version in genpm.json und erstelle einen neuen Tag.

## E_DRIFT

HTTP 409 · exit 4

… hat lokale Änderungen in ….

**Lösung:** Verwende --keep-code, um deinen Code zu behalten, oder --force, um ihn trotzdem zu löschen.

## E_REQUIRED_BY

HTTP 409 · exit 4

… wird von … benötigt.

**Lösung:** Entferne zuerst die abhängigen Pakete.

## E_BUSY

HTTP 409 · exit 4

Ein anderer GenPM-Prozess ändert gerade dieses Projekt.

**Lösung:** Warte, bis er fertig ist. Läuft keiner, lösche .genpm/.lock.

## E_PLAN_STALE

HTTP 409 · exit 4

Das Projekt hat sich seit der Berechnung des Plans geändert.

**Lösung:** Berechne den Plan erneut (Probelauf) und bestätige ihn.

## E_NETWORK

HTTP 502 · exit 5

… ist nicht erreichbar.

**Lösung:** Prüfe deine Verbindung, deinen Proxy oder GENPM_REGISTRY und versuche es erneut.

## E_UPSTREAM_GIT

HTTP 502 · exit 5

Der Git-Host ist fehlgeschlagen: …

**Lösung:** Prüfe, ob das Repository mit deinen Git-Zugangsdaten erreichbar ist, und versuche es erneut.

## E_RATE_LIMITED

HTTP 429 · exit 5

Zu viele Anfragen.

**Lösung:** Warte … und versuche es erneut.

## E_READ_ONLY

HTTP 503 · exit 5

Die Registry ist während der Wartung schreibgeschützt.

**Lösung:** Installieren funktioniert weiterhin. Versuche später erneut zu veröffentlichen; Status auf genpm.net.

## E_INTEGRITY

HTTP 422 · exit 6

Die Integritätsprüfung für … ist fehlgeschlagen: …

**Lösung:** Verwende dieses Paket nicht. Melde es über genpm.net/report, falls es bestehen bleibt.

## E_SIGNATURE

HTTP 422 · exit 6

Die Registry-Signatur von … ist ungültig.

**Lösung:** Installiere es nicht. Aktualisiere GenPM (neue Signaturschlüssel) und melde es, falls es bestehen bleibt.

## E_PATH_UNSAFE

HTTP 422 · exit 6

Unsicherer Pfad … (…).

**Lösung:** Verwende einen relativen Pfad innerhalb des Projekts, ohne .., absolute Pfade oder reservierte Ordner.

## E_AUTORUN_FILE

HTTP 422 · exit 6

… enthält Dateien, die automatisch ausgeführt werden: ….

**Lösung:** Diese Dateien werden nie installiert. Bitte den Autor, sie zu entfernen, oder verwende --allow-autorun nur bei verifizierten Herausgebern.

## E_SCAN_FAILED

HTTP 422 · exit 6

Die Sicherheitsprüfung hat … abgelehnt: …

**Lösung:** Behebe die von genpm validate gelisteten Befunde und veröffentliche eine neue Version.

## E_INSECURE_PERMS

HTTP 400 · exit 6

… ist für andere Benutzer lesbar.

**Lösung:** Führe chmod 600 … aus.

## E_QUARANTINED

HTTP 451 · exit 6

… wird gerade sicherheitsgeprüft.

**Lösung:** Versuche es später erneut oder wähle ein anderes Paket. Prüfungen dauern weniger als 24 Arbeitsstunden.

## E_REF_MUTABLE

HTTP 422 · exit 6

… ist keine unveränderliche Referenz.

**Lösung:** Verwende einen Git-Tag oder den vollständigen 40-stelligen Commit-SHA, niemals einen Branch.

## E_ADVISORY

HTTP 409 · exit 6

Für … … gibt es eine Sicherheitswarnung mit Schweregrad ….

**Lösung:** Aktualisiere auf … oder neuer.

## E_TOO_LARGE

HTTP 422 · exit 6

… überschreitet das Größenlimit: …

**Lösung:** Schließe Dateien mit .genpmignore aus oder erhöhe das Limit mit --max-size, wenn das Paket legitim ist.

## E_MANIFEST_INVALID

HTTP 422 · exit 6

genpm.json ist ungültig.

**Lösung:** Korrigiere die in den Details aufgeführten Felder. Führe genpm validate für einen vollständigen Bericht aus.

## E_LOCK_INVALID

HTTP 422 · exit 6

genpm.lock ist ungültig oder beschädigt.

**Lösung:** Stelle die Datei aus Git wieder her; bearbeite genpm.lock niemals von Hand.

## E_NAME_MISMATCH

HTTP 422 · exit 6

Der Manifestname … stimmt nicht mit … überein.

**Lösung:** Veröffentliche mit dem in genpm.json deklarierten Namen.

## E_REF_NOT_FOUND

HTTP 422 · exit 3

… existiert nicht in ….

**Lösung:** Erstelle und pushe den Tag: git tag … && git push --tags.

## E_REF_NOT_PUSHED

HTTP 422 · exit 4

… ist nicht auf dem Remote oder zeigt auf einen anderen Commit.

**Lösung:** Pushe den Tag mit git push origin ….

## E_REPO_NOT_ALLOWED

HTTP 422 · exit 7

… gehört nicht zum Scope @….

**Lösung:** Veröffentliche aus einem Repository des GitHub-Eigentümers, der mit dem Scope verknüpft ist.

## E_REPO_CHANGED

HTTP 422 · exit 6

Das Repository hinter … hat sich geändert (mögliches Repojacking).

**Lösung:** Schreibe an hello@genpm.net mit dem Betreff [SECURITY], um das Paket zu übertragen.

## E_CONTEXT_MISSING

HTTP 422 · exit 6

Die KI-Regeldatei … existiert nicht.

**Lösung:** Erstelle … (genpm init erzeugt eine Vorlage) oder setze x in genpm.json.

## E_CONTEXT_TOO_LARGE

HTTP 422 · exit 6

Die KI-Regeldatei … ist größer als 16 KB.

**Lösung:** Kürze sie: Konzentriere die Regeln auf Zweck, Übersicht, Integration, Konventionen und Verbote.

## E_AUTH

HTTP 401 · exit 7

Du bist nicht angemeldet, oder dein Token ist ungültig oder abgelaufen.

**Lösung:** Führe genpm login aus (oder setze GENPM_TOKEN in der CI).

## E_FORBIDDEN_SCOPE

HTTP 403 · exit 7

Du darfst nicht in @… veröffentlichen.

**Lösung:** Bitte einen Eigentümer von @… um Veröffentlichungsrechte oder verwende deinen eigenen Scope.

## E_GIT_MISSING

HTTP 500 · exit 8

Git ist nicht installiert oder älter als 2.25.

**Lösung:** Installiere Git 2.25 oder neuer und versuche es erneut.

## E_NODE_VERSION

HTTP 500 · exit 8

GenPM benötigt Node.js 20.11 oder neuer (gefunden: …).

**Lösung:** Aktualisiere Node.js oder installiere das eigenständige genpm-Binary, das es nicht braucht: genpm.net/docs/install

## E_UPGRADE_UNSUPPORTED

HTTP 400 · exit 8

Diese GenPM-Kopie wurde mit … installiert: genpm upgrade aktualisiert nur das eigenständige Binary.

**Lösung:** Aktualisiere sie mit … oder installiere das Binary über genpm.net/docs/install.

## E_UPGRADE_PERMISSION

HTTP 500 · exit 8

… kann nicht ersetzt werden: Zugriff verweigert.

**Lösung:** Führe genpm upgrade als Eigentümer dieser Datei aus oder installiere neu mit dem Skript von genpm.net/docs/install.

## E_UPGRADE_INTEGRITY

HTTP 422 · exit 6

Die heruntergeladene Datei … stimmt nicht mit ihrer veröffentlichten SHA-256-Prüfsumme überein.

**Lösung:** Es wurde nichts geändert. Versuche es später erneut; passiert es wieder, melde es an hello@genpm.net mit dem Betreff [SECURITY].

## E_MCP_SERVE_UNAVAILABLE

HTTP 500 · exit 8

genpm mcp serve ist nur im eigenständigen genpm-Binary enthalten.

**Lösung:** Nutze npx -y @genpm/mcp als MCP-Befehl (genpm mcp setup erledigt das für dich) oder installiere das Binary über genpm.net/docs/install.

## E_NOT_A_PROJECT

HTTP 400 · exit 8

Kein Projekt in … gefunden.

**Lösung:** Führe den Befehl in einem Projekt aus (mit package.json oder .git) oder übergib --cwd <dir>.
