Konfigurationsscopes
Es gibt drei Konfigurationsscopes, die in Prioritätsreihenfolge ausgewertet werden:| Scope | Dateipfad | Zweck |
|---|---|---|
| project | .failproofai/policies-config.json | Repository-spezifische Einstellungen, in die Versionsverwaltung eingecheckt |
| local | .failproofai/policies-config.local.json | Persönliche repository-spezifische Überschreibungen, per .gitignore ausgeschlossen |
| global | ~/.failproofai/policies-config.json | Benutzerweite Standardeinstellungen für alle Projekte |
Zusammenführungsregeln
enabledPolicies – die Vereinigung aller drei Scopes. Eine Richtlinie, die auf irgendeiner Ebene aktiviert ist, ist aktiv.
policyParams – der erste Scope, der Parameter für eine bestimmte Richtlinie definiert, gewinnt vollständig. Es findet kein tiefes Zusammenführen von Werten innerhalb der Parameter einer Richtlinie statt.
customPoliciesPath – der erste Scope, der diesen Wert definiert, gewinnt.
llm – der erste Scope, der diesen Wert definiert, gewinnt.
Konfigurationsdateiformat
Feldreferenz
enabledPolicies
Typ: string[]
Liste der zu aktivierenden Richtliniennamen. Die Namen müssen exakt mit den Richtlinienbezeichnern übereinstimmen, die von failproofai policies angezeigt werden. Die vollständige Liste finden Sie unter Integrierte Richtlinien.
Richtlinien, die nicht in enabledPolicies aufgeführt sind, sind inaktiv, auch wenn sie Einträge in policyParams haben.
policyParams
Typ: Record<string, Record<string, unknown>>
Richtlinienspezifische Parameterüberschreibungen. Der äußere Schlüssel ist der Richtlinienname; die inneren Schlüssel sind richtlinienspezifisch. Jede Richtlinie dokumentiert ihre verfügbaren Parameter unter Integrierte Richtlinien.
Wenn eine Richtlinie Parameter hat, Sie diese aber nicht angeben, werden die integrierten Standardwerte der Richtlinie verwendet. Benutzer, die policyParams gar nicht konfigurieren, erhalten dasselbe Verhalten wie in früheren Versionen.
Unbekannte Schlüssel innerhalb des Parameterblocks einer Richtlinie werden zum Zeitpunkt der Hook-Auslösung stillschweigend ignoriert, aber als Warnungen markiert, wenn Sie failproofai policies ausführen.
hint (übergreifend)
Typ: string (optional)
Eine Nachricht, die an die Begründung angehängt wird, wenn eine Richtlinie deny oder instruct zurückgibt. Verwenden Sie diesen Wert, um Claude handlungsrelevante Hinweise zu geben, ohne die Richtlinie selbst zu ändern.
Funktioniert mit jedem Richtlinientyp – integriert, benutzerdefiniert (custom/), Projektkonvention (.failproofai-project/) oder Benutzerkonvention (.failproofai-user/).
block-force-push verweigert, sieht Claude: „Force-Pushing ist blockiert. Versuche stattdessen, einen neuen Branch zu erstellen.”
Nicht-String-Werte und leere Zeichenketten werden stillschweigend ignoriert. Wenn hint nicht gesetzt ist, bleibt das Verhalten unverändert (abwärtskompatibel).
customPoliciesPath
Typ: string (absoluter Pfad)
Pfad zu einer JavaScript-Datei mit benutzerdefinierten Hook-Richtlinien. Dieser Wert wird automatisch durch failproofai policies --install --custom <path> gesetzt (der Pfad wird vor der Speicherung in einen absoluten Pfad aufgelöst).
Die Datei wird bei jedem Hook-Ereignis neu geladen – es gibt kein Caching. Informationen zur Erstellung finden Sie unter Benutzerdefinierte Richtlinien.
Konventionsbasierte Richtlinien
Zusätzlich zum explizitencustomPoliciesPath erkennt und lädt failproofai automatisch Richtliniendateien aus .failproofai/policies/-Verzeichnissen:
| Ebene | Verzeichnis | Scope |
|---|---|---|
| Projekt | .failproofai/policies/ | Wird mit dem Team über die Versionsverwaltung geteilt |
| Benutzer | ~/.failproofai/policies/ | Persönlich, gilt für alle Projekte |
*policies.{js,mjs,ts} entsprechen (z. B. security-policies.mjs, workflow-policies.js). Andere Dateien im Verzeichnis werden ignoriert.
Keine Konfiguration erforderlich: Konventionsrichtlinien benötigen keine Einträge in policies-config.json. Legen Sie die Dateien einfach im Verzeichnis ab und sie werden beim nächsten Hook-Ereignis aufgenommen.
Vereinigtes Laden: Sowohl das Projekt- als auch das Benutzerkonventionsverzeichnis werden durchsucht. Alle passenden Dateien aus beiden Ebenen werden geladen (im Gegensatz zu customPoliciesPath, das das Prinzip „erster Scope gewinnt” verwendet).
Weitere Details und Beispiele finden Sie unter Benutzerdefinierte Richtlinien.
llm
Typ: object (optional)
LLM-Client-Konfiguration für Richtlinien, die KI-Aufrufe durchführen. Für die meisten Setups nicht erforderlich.
Konfiguration über die CLI verwalten
Die Befehlepolicies --install und policies --uninstall schreiben in Claude Codes settings.json (die Hook-Einstiegspunkte), während policies-config.json die Datei ist, die Sie direkt verwalten. Beide sind voneinander getrennt:
settings.json– weist Claude Code an, bei jeder Toolnutzungfailproofai --hook <event>aufzurufenpolicies-config.json– teilt failproofai mit, welche Richtlinien mit welchen Parametern ausgewertet werden sollen
policies-config.json jederzeit direkt bearbeiten; Änderungen treten sofort beim nächsten Hook-Ereignis in Kraft, ohne dass ein Neustart erforderlich ist.
Beispiel: Konfiguration auf Projektebene mit Team-Standardwerten
Committen Sie.failproofai/policies-config.json in Ihr Repository:
.failproofai/policies-config.local.json (per .gitignore ausgeschlossen) für persönliche Überschreibungen erstellen, ohne die Teamkollegen zu beeinflussen.
