failproofai 0.0.6-beta.2 → 0.0.6-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  12. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  13. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  19. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  20. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  21. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  22. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  23. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  25. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/index.html +1 -1
  27. package/.next/standalone/.next/server/app/index.rsc +15 -15
  28. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  29. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  30. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  31. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  32. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  34. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  37. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  40. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  43. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  44. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  47. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  50. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  52. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__05akje6._.js → [root-of-the-server]__096k.db._.js} +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  55. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i5kvry._.js → [root-of-the-server]__0kyh86x._.js} +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  63. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  64. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  65. package/.next/standalone/.next/server/pages/404.html +2 -2
  66. package/.next/standalone/.next/server/pages/500.html +1 -1
  67. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  69. package/.next/standalone/.next/static/chunks/{1052sguyd-.ka.js → 0-dm_9a6nsc2l.js} +1 -1
  70. package/.next/standalone/.next/static/chunks/{05j1px0r8yzh6.js → 01pmw1-asbek~.js} +2 -2
  71. package/.next/standalone/.next/static/chunks/{14cl9poem30dq.js → 051m32nx~n5yr.js} +1 -1
  72. package/.next/standalone/.next/static/chunks/{0badv41uxa56..js → 0a-yctdwn368y.js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{0xpl.oscrakvx.js → 0l-mu4okl-cj1.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{00j0rr7rh8ef8.js → 0mazj-p-~2kc6.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
  76. package/.next/standalone/.next/static/chunks/{0npb~873.wvg3.js → 156zca6aewyr-.js} +1 -1
  77. package/.next/standalone/CHANGELOG.md +7 -0
  78. package/.next/standalone/bin/failproofai.mjs +91 -4
  79. package/.next/standalone/dist/cli.mjs +1155 -54
  80. package/.next/standalone/docs/ar/built-in-policies.mdx +118 -118
  81. package/.next/standalone/docs/built-in-policies.mdx +2 -2
  82. package/.next/standalone/docs/de/built-in-policies.mdx +48 -48
  83. package/.next/standalone/docs/es/built-in-policies.mdx +82 -82
  84. package/.next/standalone/docs/fr/built-in-policies.mdx +72 -72
  85. package/.next/standalone/docs/he/built-in-policies.mdx +129 -128
  86. package/.next/standalone/docs/hi/built-in-policies.mdx +178 -182
  87. package/.next/standalone/docs/it/built-in-policies.mdx +64 -64
  88. package/.next/standalone/docs/ja/built-in-policies.mdx +128 -128
  89. package/.next/standalone/docs/ko/built-in-policies.mdx +111 -111
  90. package/.next/standalone/docs/pt-br/built-in-policies.mdx +65 -65
  91. package/.next/standalone/docs/ru/built-in-policies.mdx +72 -72
  92. package/.next/standalone/docs/tr/built-in-policies.mdx +99 -99
  93. package/.next/standalone/docs/vi/built-in-policies.mdx +69 -72
  94. package/.next/standalone/docs/zh/built-in-policies.mdx +76 -78
  95. package/.next/standalone/package.json +1 -1
  96. package/.next/standalone/server.js +1 -1
  97. package/.next/standalone/src/auth/login.ts +104 -0
  98. package/.next/standalone/src/auth/logout.ts +50 -0
  99. package/.next/standalone/src/auth/token-store.ts +64 -0
  100. package/.next/standalone/src/hooks/builtin-policies.ts +22 -20
  101. package/.next/standalone/src/hooks/handler.ts +35 -15
  102. package/.next/standalone/src/relay/daemon.ts +362 -0
  103. package/.next/standalone/src/relay/pid.ts +76 -0
  104. package/.next/standalone/src/relay/queue.ts +225 -0
  105. package/bin/failproofai.mjs +91 -4
  106. package/dist/cli.mjs +1155 -54
  107. package/package.json +1 -1
  108. package/src/auth/login.ts +104 -0
  109. package/src/auth/logout.ts +50 -0
  110. package/src/auth/token-store.ts +64 -0
  111. package/src/hooks/builtin-policies.ts +22 -20
  112. package/src/hooks/handler.ts +35 -15
  113. package/src/relay/daemon.ts +362 -0
  114. package/src/relay/pid.ts +76 -0
  115. package/src/relay/queue.ts +225 -0
  116. package/.next/standalone/.next/static/chunks/0ijk_kek9_wyx.js +0 -6
  117. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
  118. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
  119. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
@@ -1,19 +1,19 @@
1
1
  ---
2
- title: Integrierte Richtlinien
3
- description: "Alle 30 integrierten Richtlinien, die häufige Fehlerquellen bei Agenten abdecken"
2
+ title: Integrierte Policies
3
+ description: "Alle 30 integrierten Policies, die häufige Fehlerszenarien von Agenten abfangen"
4
4
  icon: shield
5
5
  ---
6
6
 
7
- failproofai wird mit 30 integrierten Richtlinien geliefert, die häufige Fehlerquellen bei Agenten abdecken. Jede Richtlinie wird bei einem bestimmten Hook-Ereignistyp und Toolnamen ausgelöst. Neun Richtlinien akzeptieren Parameter, mit denen Sie ihr Verhalten anpassen können, ohne Code zu schreiben. Vier Workflow-Richtlinien erzwingen eine CommitPush → PR → CI-Pipeline, bevor Claude anhält.
7
+ failproofai wird mit 30 integrierten Policies ausgeliefert, die häufige Fehlerszenarien von Agenten abfangen. Jede Policy wird bei einem bestimmten Hook-Ereignistyp und Toolnamen ausgelöst. Neun Policies akzeptieren Parameter, mit denen Sie ihr Verhalten anpassen können, ohne Code zu schreiben. Vier Workflow-Policies erzwingen eine commitpush → PR → CI-Pipeline, bevor Claude stoppt.
8
8
 
9
9
  ---
10
10
 
11
11
  ## Übersicht
12
12
 
13
- Richtlinien sind in Kategorien gruppiert:
13
+ Policies sind in Kategorien gruppiert:
14
14
 
15
- | Kategorie | Richtlinien | Hook-Typ |
16
- |-----------|-------------|----------|
15
+ | Kategorie | Policies | Hook-Typ |
16
+ |-----------|----------|----------|
17
17
  | [Gefährliche Befehle](#dangerous-commands) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
18
18
  | [Secrets (Sanitizer)](#secrets-sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
19
19
  | [Umgebung](#environment) | block-env-files, protect-env-vars | PreToolUse |
@@ -24,7 +24,7 @@ Richtlinien sind in Kategorien gruppiert:
24
24
  | [Paketmanager](#package-managers) | prefer-package-manager | PreToolUse |
25
25
  | [Workflow](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
26
26
 
27
- - **`block-`** — verhindert, dass der Agent fortfahren kann.
27
+ - **`block-`** — verhindert, dass der Agent fortfährt.
28
28
  - **`warn-`** — gibt dem Agenten zusätzlichen Kontext, damit er sich selbst korrigieren kann.
29
29
  - **`sanitize-`** — bereinigt sensible Daten aus der Tool-Ausgabe, bevor der Agent sie sieht.
30
30
  - **`require-`** — blockiert das Stop-Ereignis, bis die Bedingungen erfüllt sind.
@@ -32,7 +32,7 @@ Richtlinien sind in Kategorien gruppiert:
32
32
  ---
33
33
 
34
34
  <Tip>
35
- Jede Richtlinie unterstützt ein optionales `hint`-Feld in `policyParams`. Der Hinweis wird an die deny- oder instruct-Nachricht angehängt, die Claude sieht, und bietet umsetzbare Hinweise, ohne den Richtliniencode zu ändern. Funktioniert mit integrierten, benutzerdefinierten und konventionsbasierten Richtlinien. Weitere Informationen finden Sie unter [Konfiguration → hint](/de/configuration#hint-cross-cutting).
35
+ Jede Policy unterstützt ein optionales `hint`-Feld in `policyParams`. Der Hinweis wird an die deny- oder instruct-Nachricht angehängt, die Claude sieht, und bietet umsetzbare Hilfestellung, ohne den Policy-Code zu ändern. Funktioniert mit integrierten, benutzerdefinierten und konventionsbasierten Policies. Siehe [Konfiguration → hint](/de/configuration#hint-cross-cutting) für Details.
36
36
  </Tip>
37
37
 
38
38
  ---
@@ -46,13 +46,13 @@ Verhindert, dass Agenten Operationen ausführen, die schwer rückgängig zu mach
46
46
  **Ereignis:** PreToolUse (Bash)
47
47
  **Standard:** Verweigert jeden `sudo`-Befehl.
48
48
 
49
- Blockiert Aufrufe, die das Schlüsselwort `sudo` enthalten. Die Mustererkennung erfolgt auf geparsten Befehls-Tokens, nicht auf dem rohen String, um Umgehungsversuche über Shell-Operator-Injection zu verhindern.
49
+ Blockiert Aufrufe, die das Schlüsselwort `sudo` enthalten. Der Musterabgleich erfolgt anhand geparster Befehlstoken, nicht anhand des Rohstrings, um Umgehungsversuche über Shell-Operatoren zu verhindern.
50
50
 
51
51
  **Parameter:**
52
52
 
53
53
  | Parameter | Typ | Standard | Beschreibung |
54
54
  |-----------|-----|----------|--------------|
55
- | `allowPatterns` | `string[]` | `[]` | Exakte Befehlspräfixe, die erlaubt sind. Jeder Eintrag wird gegen die geparsten argv-Tokens abgeglichen. |
55
+ | `allowPatterns` | `string[]` | `[]` | Exakte Befehlspräfixe, die erlaubt sind. Jeder Eintrag wird mit den geparsten argv-Token abgeglichen. |
56
56
 
57
57
  **Beispiel:**
58
58
 
@@ -69,7 +69,7 @@ Blockiert Aufrufe, die das Schlüsselwort `sudo` enthalten. Die Mustererkennung
69
69
  Mit dieser Konfiguration ist `sudo systemctl status nginx` erlaubt, aber `sudo rm /etc/hosts` wird verweigert.
70
70
 
71
71
  <Note>
72
- Muster werden gegen geparste Tokens abgeglichen, nicht gegen den rohen Befehlsstring. Dies verhindert Umgehungsversuche über angehängte Shell-Operatoren (z. B. entspricht `sudo systemctl status x; rm -rf /` nicht `sudo systemctl status *`).
72
+ Muster werden gegen geparste Token abgeglichen, nicht gegen den Rohbefehlsstring. Dies verhindert Umgehungsversuche über angehängte Shell-Operatoren (z. B. entspricht `sudo systemctl status x; rm -rf /` nicht `sudo systemctl status *`).
73
73
  </Note>
74
74
 
75
75
  ---
@@ -119,12 +119,12 @@ Keine Parameter.
119
119
 
120
120
  ## Secrets (Sanitizer)
121
121
 
122
- Verhindert, dass Agenten Zugangsdaten in ihren Kontext oder ihre Ausgabe weitergeben. Sanitizer-Richtlinien werden bei **PostToolUse**-Ereignissen ausgelöst. Wenn Claude einen Bash-Befehl ausführt, eine Datei liest oder ein beliebiges Tool aufruft, prüfen diese Richtlinien die Ausgabe, bevor sie an Claude zurückgegeben wird. Wird ein Secret-Muster erkannt, gibt die Richtlinie eine Deny-Entscheidung zurück, die verhindert, dass die Ausgabe weitergeleitet wird.
122
+ Verhindert, dass Agenten Zugangsdaten in ihren Kontext oder ihre Ausgabe einschleusen. Sanitizer-Policies werden bei **PostToolUse**-Ereignissen ausgelöst. Wenn Claude einen Bash-Befehl ausführt, eine Datei liest oder ein beliebiges Tool aufruft, prüfen diese Policies die Ausgabe, bevor sie an Claude zurückgegeben wird. Wird ein Secret-Muster erkannt, gibt die Policy eine deny-Entscheidung zurück, die verhindert, dass die Ausgabe weitergeleitet wird.
123
123
 
124
124
  ### `sanitize-jwt`
125
125
 
126
126
  **Ereignis:** PostToolUse (alle Tools)
127
- **Standard:** Schwärzt JWT-Tokens (drei base64url-Segmente, getrennt durch `.`).
127
+ **Standard:** Schwärzt JWT-Token (drei base64url-Segmente, getrennt durch `.`).
128
128
 
129
129
  Keine Parameter.
130
130
 
@@ -133,7 +133,7 @@ Keine Parameter.
133
133
  ### `sanitize-api-keys`
134
134
 
135
135
  **Ereignis:** PostToolUse (alle Tools)
136
- **Standard:** Schwärzt gängige API-Key-Formate: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), AWS-Zugriffsschlüssel (`AKIA`), Stripe-Schlüssel (`sk_live_`, `sk_test_`) und Google API-Schlüssel (`AIza`).
136
+ **Standard:** Schwärzt gängige API-Key-Formate: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), AWS-Zugriffsschlüssel (`AKIA`), Stripe-Schlüssel (`sk_live_`, `sk_test_`) und Google-API-Schlüssel (`AIza`).
137
137
 
138
138
  **Parameter:**
139
139
 
@@ -161,7 +161,7 @@ Keine Parameter.
161
161
  ### `sanitize-connection-strings`
162
162
 
163
163
  **Ereignis:** PostToolUse (alle Tools)
164
- **Standard:** Schwärzt Datenbankverbindungsstrings mit eingebetteten Zugangsdaten (z. B. `postgresql://user:password@host/db`).
164
+ **Standard:** Schwärzt Datenbankverbindungsstrings, die eingebettete Zugangsdaten enthalten (z. B. `postgresql://user:password@host/db`).
165
165
 
166
166
  Keine Parameter.
167
167
 
@@ -179,7 +179,7 @@ Keine Parameter.
179
179
  ### `sanitize-bearer-tokens`
180
180
 
181
181
  **Ereignis:** PostToolUse (alle Tools)
182
- **Standard:** Schwärzt `Authorization: Bearer <token>`-Header, bei denen der Token 20 oder mehr Zeichen hat.
182
+ **Standard:** Schwärzt `Authorization: Bearer <token>`-Header, bei denen das Token 20 oder mehr Zeichen lang ist.
183
183
 
184
184
  Keine Parameter.
185
185
 
@@ -194,7 +194,7 @@ Schützt sensible Umgebungskonfigurationen davor, von Agenten gelesen oder offen
194
194
  **Ereignis:** PreToolUse (Bash, Read)
195
195
  **Standard:** Verweigert das Lesen von `.env`-Dateien über `cat .env`, `Read`-Tool-Aufrufe mit `.env` als Dateipfad usw.
196
196
 
197
- Blockiert keine `.envrc`- oder anderen umgebungsnahen Dateien – nur Dateien, die exakt `.env` heißen.
197
+ Blockiert keine `.envrc`- oder anderen umgebungsähnlichen Dateien – nur Dateien, die exakt `.env` heißen.
198
198
 
199
199
  Keine Parameter.
200
200
 
@@ -211,7 +211,7 @@ Keine Parameter.
211
211
 
212
212
  ## Dateizugriff
213
213
 
214
- Hält Agenten innerhalb der Projektgrenzen und fernab von sensiblen Dateien.
214
+ Hält Agenten innerhalb der Projektgrenzen und von sensiblen Dateien fern.
215
215
 
216
216
  ### `block-read-outside-cwd`
217
217
 
@@ -222,7 +222,7 @@ Hält Agenten innerhalb der Projektgrenzen und fernab von sensiblen Dateien.
222
222
 
223
223
  | Parameter | Typ | Standard | Beschreibung |
224
224
  |-----------|-----|----------|--------------|
225
- | `allowPaths` | `string[]` | `[]` | Absolute Pfadpräfixe, die auch außerhalb des aktuellen Verzeichnisses erlaubt sind. |
225
+ | `allowPaths` | `string[]` | `[]` | Absolute Pfadpräfixe, die auch außerhalb des cwd erlaubt sind. |
226
226
 
227
227
  **Beispiel:**
228
228
 
@@ -247,7 +247,7 @@ Hält Agenten innerhalb der Projektgrenzen und fernab von sensiblen Dateien.
247
247
 
248
248
  | Parameter | Typ | Standard | Beschreibung |
249
249
  |-----------|-----|----------|--------------|
250
- | `additionalPatterns` | `string[]` | `[]` | Zusätzliche Dateinamenmuster (Glob-Format) zum Blockieren. |
250
+ | `additionalPatterns` | `string[]` | `[]` | Zusätzliche Dateinamenmuster (Glob-Stil), die blockiert werden sollen. |
251
251
 
252
252
  **Beispiel:**
253
253
 
@@ -276,7 +276,7 @@ Verhindert versehentliche Pushes, Force-Pushes und Branch-Fehler, die schwer rü
276
276
 
277
277
  | Parameter | Typ | Standard | Beschreibung |
278
278
  |-----------|-----|----------|--------------|
279
- | `protectedBranches` | `string[]` | `["main", "master"]` | Branch-Namen, auf die nicht direkt gepusht werden darf. |
279
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Branch-Namen, zu denen nicht direkt gepusht werden darf. |
280
280
 
281
281
  **Beispiel:**
282
282
 
@@ -291,7 +291,7 @@ Verhindert versehentliche Pushes, Force-Pushes und Branch-Fehler, die schwer rü
291
291
  ```
292
292
 
293
293
  <Tip>
294
- Um das Pushen auf alle Branches zu erlauben (und diese Richtlinie damit effektiv zu deaktivieren, ohne sie aus `enabledPolicies` zu entfernen), setzen Sie `protectedBranches: []`.
294
+ Um das Pushen zu allen Branches zu erlauben (und diese Policy damit effektiv zu deaktivieren, ohne sie aus `enabledPolicies` zu entfernen), setzen Sie `protectedBranches: []`.
295
295
  </Tip>
296
296
 
297
297
  ---
@@ -314,7 +314,7 @@ Um das Pushen auf alle Branches zu erlauben (und diese Richtlinie damit effektiv
314
314
  **Ereignis:** PreToolUse (Bash)
315
315
  **Standard:** Verweigert `git push --force` und `git push -f`.
316
316
 
317
- Keine richtlinienspezifischen Parameter. Verwenden Sie das übergreifende [`hint`](/de/configuration#hint-cross-cutting), um Alternativen vorzuschlagen:
317
+ Keine policy-spezifischen Parameter. Verwenden Sie das übergreifende [`hint`](/de/configuration#hint-cross-cutting), um Alternativen vorzuschlagen:
318
318
 
319
319
  ```json
320
320
  {
@@ -331,7 +331,7 @@ Keine richtlinienspezifischen Parameter. Verwenden Sie das übergreifende [`hint
331
331
  ### `warn-git-amend`
332
332
 
333
333
  **Ereignis:** PreToolUse (Bash)
334
- **Standard:** Weist Claude an, vorsichtig vorzugehen, wenn `git commit --amend` ausgeführt wird. Blockiert den Befehl nicht.
334
+ **Standard:** Weist Claude an, beim Ausführen von `git commit --amend` vorsichtig vorzugehen. Blockiert den Befehl nicht.
335
335
 
336
336
  Keine Parameter.
337
337
 
@@ -340,7 +340,7 @@ Keine Parameter.
340
340
  ### `warn-git-stash-drop`
341
341
 
342
342
  **Ereignis:** PreToolUse (Bash)
343
- **Standard:** Weist Claude an, zu bestätigen, bevor `git stash drop` ausgeführt wird. Blockiert den Befehl nicht.
343
+ **Standard:** Weist Claude an, vor dem Ausführen von `git stash drop` zu bestätigen. Blockiert den Befehl nicht.
344
344
 
345
345
  Keine Parameter.
346
346
 
@@ -349,7 +349,7 @@ Keine Parameter.
349
349
  ### `warn-all-files-staged`
350
350
 
351
351
  **Ereignis:** PreToolUse (Bash)
352
- **Standard:** Weist Claude an, zu überprüfen, was es staged, wenn `git add -A` oder `git add .` ausgeführt wird. Blockiert den Befehl nicht.
352
+ **Standard:** Weist Claude an, zu prüfen, was es stagt, wenn es `git add -A` oder `git add .` ausführt. Blockiert den Befehl nicht.
353
353
 
354
354
  Keine Parameter.
355
355
 
@@ -357,7 +357,7 @@ Keine Parameter.
357
357
 
358
358
  ## Datenbank
359
359
 
360
- Erkennt destruktive SQL-Operationen, bevor sie gegen Ihre Datenbank ausgeführt werden.
360
+ Fängt destruktive SQL-Operationen ab, bevor sie gegen Ihre Datenbank ausgeführt werden.
361
361
 
362
362
  ### `warn-destructive-sql`
363
363
 
@@ -384,7 +384,7 @@ Gibt Agenten zusätzlichen Kontext vor potenziell riskanten, aber nicht destrukt
384
384
  ### `warn-large-file-write`
385
385
 
386
386
  **Ereignis:** PreToolUse (Write)
387
- **Standard:** Weist Claude an, zu bestätigen, bevor Dateien geschrieben werden, die größer als 1024 KB sind.
387
+ **Standard:** Weist Claude an, zu bestätigen, bevor Dateien mit mehr als 1024 KB geschrieben werden.
388
388
 
389
389
  **Parameter:**
390
390
 
@@ -405,7 +405,7 @@ Gibt Agenten zusätzlichen Kontext vor potenziell riskanten, aber nicht destrukt
405
405
  ```
406
406
 
407
407
  <Note>
408
- Der Hook-Handler erzwingt ein 1-MB-stdin-Limit für Payloads. Um diese Richtlinie mit kleinen Inhalten zu testen, setzen Sie `thresholdKb` auf einen Wert deutlich unter 1024.
408
+ Der Hook-Handler erzwingt ein 1-MB-stdin-Limit für Payloads. Um diese Policy mit kleinen Inhalten zu testen, setzen Sie `thresholdKb` auf einen Wert deutlich unter 1024.
409
409
  </Note>
410
410
 
411
411
  ---
@@ -444,16 +444,16 @@ Legt fest, welche Paketmanager der Agent verwenden darf.
444
444
  ### `prefer-package-manager`
445
445
 
446
446
  **Ereignis:** PreToolUse (Bash)
447
- **Standard:** Deaktiviert. Wenn aktiviert, blockiert es jeden Paketmanager-Befehl, der nicht in der `allowed`-Liste steht, und weist Claude an, den Befehl mit einem erlaubten Manager umzuschreiben.
447
+ **Standard:** Deaktiviert. Wenn aktiviert, blockiert jeden Paketmanager-Befehl, der nicht in der `allowed`-Liste enthalten ist, und weist Claude an, den Befehl mit einem erlaubten Manager umzuschreiben.
448
448
 
449
449
  Erkennt: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
450
450
 
451
451
  | Parameter | Typ | Standard | Beschreibung |
452
452
  |-----------|-----|----------|--------------|
453
- | `allowed` | string[] | `[]` | Erlaubte Paketmanager-Namen. Jeder erkannte Manager, der nicht in dieser Liste steht, wird blockiert. Bei leer ist die Richtlinie wirkungslos. |
453
+ | `allowed` | string[] | `[]` | Erlaubte Paketmanager-Namen. Jeder erkannte Manager, der nicht in dieser Liste steht, wird blockiert. Wenn leer, ist die Policy wirkungslos. |
454
454
  | `blocked` | string[] | `[]` | Zusätzliche Manager-Namen, die über die integrierte Liste hinaus blockiert werden sollen (z. B. `['pdm', 'pipx']`). |
455
455
 
456
- Die integrierte Sperrliste umfasst: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Verwenden Sie `blocked`, um Manager hinzuzufügen, die nicht in dieser Liste enthalten sind.
456
+ Die integrierte Blockliste umfasst: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Verwenden Sie `blocked`, um Manager hinzuzufügen, die nicht in dieser Liste enthalten sind.
457
457
 
458
458
  **Beispielkonfiguration:**
459
459
 
@@ -469,7 +469,7 @@ Die integrierte Sperrliste umfasst: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun,
469
469
  }
470
470
  ```
471
471
 
472
- Mit dieser Konfiguration werden sowohl `pip install flask` als auch `pdm install flask` verweigert, mit einer Meldung, die Claude anweist, stattdessen `uv` oder `bun` zu verwenden. Befehle wie `uv pip install flask` sind erlaubt, da `uv` in der Allowlist steht und zuerst geprüft wird.
472
+ Mit dieser Konfiguration werden `pip install flask` und `pdm install flask` beide mit einer Meldung verweigert, die Claude auffordert, stattdessen `uv` oder `bun` zu verwenden. Befehle wie `uv pip install flask` sind erlaubt, da `uv` in der Allowlist steht und zuerst geprüft wird.
473
473
 
474
474
  ---
475
475
 
@@ -480,7 +480,7 @@ Erkennt, wenn Agenten feststecken oder sich unerwartet verhalten.
480
480
  ### `warn-repeated-tool-calls`
481
481
 
482
482
  **Ereignis:** PreToolUse (alle Tools)
483
- **Standard:** Weist Claude an, zu überdenken, wenn dasselbe Tool 3 oder mehr Mal mit identischen Parametern aufgerufen wird – ein häufiges Zeichen dafür, dass der Agent in einer Schleife feststeckt.
483
+ **Standard:** Weist Claude an, zu überdenken, wenn dasselbe Tool 3-mal oder öfter mit identischen Parametern aufgerufen wird – ein häufiges Zeichen dafür, dass der Agent in einer Schleife feststeckt.
484
484
 
485
485
  Keine Parameter.
486
486
 
@@ -488,14 +488,14 @@ Keine Parameter.
488
488
 
489
489
  ## Workflow
490
490
 
491
- Erzwingt einen disziplinierten Sitzungsabschluss-Workflow. Diese Richtlinien werden beim **Stop**-Ereignis ausgelöst und verhindern, dass Claude anhält, bis jede Bedingung erfüllt ist. Sie folgen einer natürlichen Abhängigkeitskette: CommitPush → PR → CI. Wenn eine Richtlinie verweigert, werden spätere Richtlinien in der Kette übersprungen (Deny schließt kurz).
491
+ Erzwingt einen disziplinierten Sitzungsabschluss-Workflow. Diese Policies werden beim **Stop**-Ereignis ausgelöst und verhindern, dass Claude stoppt, bis jede Bedingung erfüllt ist. Sie folgen einer natürlichen Abhängigkeitskette: commitpush → PR → CI. Wenn eine Policy verweigert, werden spätere Policies in der Kette übersprungen (deny schließt kurz).
492
492
 
493
- Alle Workflow-Richtlinien sind **fail-open**: Wenn das erforderliche Tool nicht verfügbar ist (z. B. `gh` nicht installiert, kein Git-Remote vorhanden), lässt die Richtlinie den Vorgang zu und gibt eine informative Nachricht aus, warum die Prüfung übersprungen wurde.
493
+ Alle Workflow-Policies sind **fail-open**: Wenn das benötigte Tool nicht verfügbar ist (z. B. `gh` nicht installiert, kein Git-Remote), erlaubt die Policy den Vorgang mit einer informativen Meldung, die erklärt, warum die Prüfung übersprungen wurde.
494
494
 
495
495
  ### `require-commit-before-stop`
496
496
 
497
497
  **Ereignis:** Stop
498
- **Standard:** Verweigert das Anhalten, wenn uncommittete Änderungen vorhanden sind (geänderte, gestagte oder nicht verfolgte Dateien). Gibt eine informative Nachricht zurück, wenn das Arbeitsverzeichnis sauber ist.
498
+ **Standard:** Verweigert das Stoppen, wenn uncommittete Änderungen vorliegen (geänderte, gestagte oder nicht verfolgte Dateien). Gibt eine informative Meldung zurück, wenn das Arbeitsverzeichnis sauber ist.
499
499
 
500
500
  Keine Parameter.
501
501
 
@@ -504,13 +504,13 @@ Keine Parameter.
504
504
  ### `require-push-before-stop`
505
505
 
506
506
  **Ereignis:** Stop
507
- **Standard:** Verweigert das Anhalten, wenn es nicht gepushte Commits gibt oder wenn der aktuelle Branch keinen Remote-Tracking-Branch hat. Schlägt `git push -u` vor, um bei Bedarf einen Tracking-Branch zu erstellen. Schlägt fehl-offen, wenn kein Remote konfiguriert ist.
507
+ **Standard:** Verweigert das Stoppen, wenn nicht gepushte Commits vorhanden sind oder wenn der aktuelle Branch keinen Remote-Tracking-Branch hat. Schlägt `git push -u` vor, um bei Bedarf einen Tracking-Branch zu erstellen. Fail-open, wenn kein Remote konfiguriert ist.
508
508
 
509
509
  **Parameter:**
510
510
 
511
511
  | Parameter | Typ | Standard | Beschreibung |
512
512
  |-----------|-----|----------|--------------|
513
- | `remote` | `string` | `"origin"` | Remote-Name, auf den gepusht werden soll. |
513
+ | `remote` | `string` | `"origin"` | Remote-Name, zu dem gepusht werden soll. |
514
514
 
515
515
  **Beispiel:**
516
516
 
@@ -529,14 +529,14 @@ Keine Parameter.
529
529
  ### `require-pr-before-stop`
530
530
 
531
531
  **Ereignis:** Stop
532
- **Standard:** Verweigert das Anhalten, wenn für den aktuellen Branch kein Pull Request existiert oder wenn der vorhandene PR geschlossen/gemergt wurde. Weist Claude an, mit `gh pr create` einen PR zu erstellen.
532
+ **Standard:** Verweigert das Stoppen, wenn kein Pull Request für den aktuellen Branch existiert oder wenn der vorhandene PR geschlossen/gemergt ist. Weist Claude an, einen PR mit `gh pr create` zu erstellen.
533
533
 
534
534
  Keine Parameter.
535
535
 
536
536
  <Note>
537
- Diese Richtlinie erfordert, dass [GitHub CLI](https://cli.github.com/) (`gh`) installiert und authentifiziert ist.
537
+ Diese Policy erfordert, dass [GitHub CLI](https://cli.github.com/) (`gh`) installiert und authentifiziert ist.
538
538
  Führen Sie `gh auth login` mit einem Personal Access Token aus, das den `repo`-Scope für Lesezugriff auf
539
- Pull Requests hat. Wenn `gh` nicht installiert oder nicht authentifiziert ist, schlägt die Richtlinie fail-open fehl und meldet den Grund an Claude.
539
+ Pull Requests besitzt. Wenn `gh` nicht installiert oder nicht authentifiziert ist, ist die Policy fail-open und meldet den Grund an Claude.
540
540
  </Note>
541
541
 
542
542
  ---
@@ -544,23 +544,23 @@ Pull Requests hat. Wenn `gh` nicht installiert oder nicht authentifiziert ist, s
544
544
  ### `require-ci-green-before-stop`
545
545
 
546
546
  **Ereignis:** Stop
547
- **Standard:** Verweigert das Anhalten, wenn CI-Prüfungen für den aktuellen Branch fehlschlagen oder noch laufen. Prüft sowohl GitHub Actions-Workflow-Ausführungen als auch Drittanbieter-Bot-Prüfungen (z. B. CodeRabbit, SonarCloud, Codecov). Behandelt `skipped`-Abschlüsse als Erfolg. Gibt eine informative Nachricht zurück, wenn alle Prüfungen bestanden sind.
547
+ **Standard:** Verweigert das Stoppen, wenn CI-Prüfungen fehlschlagen oder noch auf dem aktuellen Branch laufen. Prüft sowohl GitHub Actions-Workflow-Runs als auch Drittanbieter-Bot-Prüfungen (z. B. CodeRabbit, SonarCloud, Codecov). Behandelt `skipped`- und `cancelled`-Abschlüsse als Erfolg. Gibt eine informative Meldung zurück, wenn alle Prüfungen bestanden sind.
548
548
 
549
549
  Keine Parameter.
550
550
 
551
551
  <Note>
552
- Diese Richtlinie erfordert, dass [GitHub CLI](https://cli.github.com/) (`gh`) installiert und authentifiziert ist.
552
+ Diese Policy erfordert, dass [GitHub CLI](https://cli.github.com/) (`gh`) installiert und authentifiziert ist.
553
553
  Führen Sie `gh auth login` mit einem Personal Access Token aus, das den `repo`-Scope für Lesezugriff auf
554
- Actions-Workflow-Ausführungen und die Checks API hat. Wenn `gh` nicht installiert oder nicht authentifiziert ist, schlägt die Richtlinie fail-open fehl und meldet den Grund an Claude.
554
+ Actions-Workflow-Runs und die Checks API besitzt. Wenn `gh` nicht installiert oder nicht authentifiziert ist, ist die Policy fail-open und meldet den Grund an Claude.
555
555
  </Note>
556
556
 
557
557
  ---
558
558
 
559
559
  ---
560
560
 
561
- ## Einzelne Richtlinien deaktivieren
561
+ ## Einzelne Policies deaktivieren
562
562
 
563
- Entfernen Sie eine bestimmte Richtlinie aus `enabledPolicies` in Ihrer Konfiguration, oder deaktivieren Sie sie im Dashboard-Tab „Policies".
563
+ Entfernen Sie eine bestimmte Policy aus `enabledPolicies` in Ihrer Konfiguration, oder deaktivieren Sie sie im Policies-Tab des Dashboards.
564
564
 
565
565
  ```json
566
566
  {
@@ -571,4 +571,4 @@ Entfernen Sie eine bestimmte Richtlinie aus `enabledPolicies` in Ihrer Konfigura
571
571
  }
572
572
  ```
573
573
 
574
- Richtlinien, die nicht in `enabledPolicies` aufgeführt sind, werden nicht ausgeführt, auch wenn `policyParams`-Einträge für sie vorhanden sind.
574
+ Policies, die nicht in `enabledPolicies` aufgeführt sind, werden nicht ausgeführt, auch wenn `policyParams`-Einträge für sie vorhanden sind.