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,10 +1,10 @@
1
1
  ---
2
2
  title: Politiques intégrées
3
- description: "Les 30 politiques intégrées qui détectent les modes de défaillance courants des agents"
3
+ description: "Les 30 politiques intégrées qui interceptent les modes d'échec courants des agents"
4
4
  icon: shield
5
5
  ---
6
6
 
7
- failproofai est livré avec 30 politiques intégrées qui détectent les modes de défaillance courants des agents. Chaque politique se déclenche sur un type d'événement hook spécifique et un nom d'outil. Neuf politiques acceptent des paramètres permettant d'ajuster leur comportement sans écrire de code. Quatre politiques de workflow imposent un pipeline commit → push → PR → CI avant que Claude ne s'arrête.
7
+ failproofai est livré avec 30 politiques intégrées qui interceptent les modes d'échec courants des agents. Chaque politique se déclenche sur un type d'événement de hook spécifique et un nom d'outil. Neuf politiques acceptent des paramètres permettant d'affiner leur comportement sans écrire de code. Quatre politiques de workflow imposent un pipeline commit → push → PR → CI avant que Claude s'arrête.
8
8
 
9
9
  ---
10
10
 
@@ -25,14 +25,14 @@ Les politiques sont regroupées par catégories :
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
27
  - **`block-`** — empêche l'agent de continuer.
28
- - **`warn-`** — fournit à l'agent un contexte supplémentaire pour qu'il puisse se corriger.
29
- - **`sanitize-`** — nettoie les données sensibles dans la sortie d'un outil avant que l'agent ne les voie.
28
+ - **`warn-`** — fournit à l'agent du contexte supplémentaire pour lui permettre de se corriger.
29
+ - **`sanitize-`** — supprime les données sensibles de la sortie d'un outil avant que l'agent ne les lise.
30
30
  - **`require-`** — bloque l'événement Stop jusqu'à ce que les conditions soient remplies.
31
31
 
32
32
  ---
33
33
 
34
34
  <Tip>
35
- Toutes les politiques supportent un champ `hint` optionnel dans `policyParams`. Ce hint est ajouté au message deny ou instruct que Claude reçoit, fournissant des conseils concrets sans modifier le code de la politique. Fonctionne avec les politiques intégrées, personnalisées et de convention. Voir [Configuration → hint](/fr/configuration#hint-cross-cutting) pour plus de détails.
35
+ Toutes les politiques supportent un champ optionnel `hint` dans `policyParams`. Ce hint est ajouté au message deny ou instruct que Claude reçoit, fournissant des indications concrètes sans modifier le code de la politique. Compatible avec les politiques intégrées, personnalisées et de convention. Voir [Configuration → hint](/fr/configuration#hint-cross-cutting) pour plus de détails.
36
36
  </Tip>
37
37
 
38
38
  ---
@@ -44,13 +44,13 @@ Empêche les agents d'exécuter des opérations difficiles à annuler ou suscept
44
44
  ### `block-sudo`
45
45
 
46
46
  **Événement :** PreToolUse (Bash)
47
- **Par défaut :** Refuse toute commande `sudo`.
47
+ **Comportement par défaut :** Refuse toute commande `sudo`.
48
48
 
49
- Bloque les invocations contenant le mot-clé `sudo`. La correspondance de motifs est effectuée sur les tokens de commande analysés, et non sur la chaîne brute, afin d'empêcher les contournements par injection d'opérateurs shell.
49
+ Bloque les invocations contenant le mot-clé `sudo`. La correspondance de motifs est effectuée sur les tokens de commande analysés, et non sur la chaîne brute, afin d'éviter les contournements par injection d'opérateurs shell.
50
50
 
51
51
  **Paramètres :**
52
52
 
53
- | Paramètre | Type | Par défaut | Description |
53
+ | Paramètre | Type | Défaut | Description |
54
54
  |-------|------|---------|-------------|
55
55
  | `allowPatterns` | `string[]` | `[]` | Préfixes de commandes exacts autorisés. Chaque entrée est comparée aux tokens argv analysés. |
56
56
 
@@ -69,7 +69,7 @@ Bloque les invocations contenant le mot-clé `sudo`. La correspondance de motifs
69
69
  Avec cette configuration, `sudo systemctl status nginx` est autorisé, mais `sudo rm /etc/hosts` est refusé.
70
70
 
71
71
  <Note>
72
- Les motifs sont comparés aux tokens analysés, et non à la chaîne de commande brute. Cela empêche les contournements via des opérateurs shell ajoutés (ex. : `sudo systemctl status x; rm -rf /` ne correspond pas à `sudo systemctl status *`).
72
+ Les motifs sont comparés aux tokens analysés, et non à la chaîne de commande brute. Cela empêche les contournements via des opérateurs shell ajoutés en suffixe (par exemple, `sudo systemctl status x; rm -rf /` ne correspond pas à `sudo systemctl status *`).
73
73
  </Note>
74
74
 
75
75
  ---
@@ -77,13 +77,13 @@ Les motifs sont comparés aux tokens analysés, et non à la chaîne de commande
77
77
  ### `block-rm-rf`
78
78
 
79
79
  **Événement :** PreToolUse (Bash)
80
- **Par défaut :** Refuse `rm -rf`, `rm -fr` et autres formes similaires de suppression récursive.
80
+ **Comportement par défaut :** Refuse `rm -rf`, `rm -fr` et les formes similaires de suppression récursive.
81
81
 
82
82
  **Paramètres :**
83
83
 
84
- | Paramètre | Type | Par défaut | Description |
84
+ | Paramètre | Type | Défaut | Description |
85
85
  |-------|------|---------|-------------|
86
- | `allowPaths` | `string[]` | `[]` | Chemins dont la suppression récursive est autorisée (ex. : `/tmp`). |
86
+ | `allowPaths` | `string[]` | `[]` | Chemins dont la suppression récursive est autorisée (ex. `/tmp`). |
87
87
 
88
88
  **Exemple :**
89
89
 
@@ -102,7 +102,7 @@ Les motifs sont comparés aux tokens analysés, et non à la chaîne de commande
102
102
  ### `block-curl-pipe-sh`
103
103
 
104
104
  **Événement :** PreToolUse (Bash)
105
- **Par défaut :** Refuse `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` et motifs similaires.
105
+ **Comportement par défaut :** Refuse `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` et les motifs similaires.
106
106
 
107
107
  Aucun paramètre.
108
108
 
@@ -111,7 +111,7 @@ Aucun paramètre.
111
111
  ### `block-failproofai-commands`
112
112
 
113
113
  **Événement :** PreToolUse (Bash)
114
- **Par défaut :** Refuse les commandes qui désinstalleraient ou désactiveraient failproofai lui-même (ex. : `npm uninstall failproofai`, `failproofai policies --uninstall`).
114
+ **Comportement par défaut :** Refuse les commandes qui désinstalleraient ou désactiveraient failproofai lui-même (ex. `npm uninstall failproofai`, `failproofai policies --uninstall`).
115
115
 
116
116
  Aucun paramètre.
117
117
 
@@ -119,12 +119,12 @@ Aucun paramètre.
119
119
 
120
120
  ## Secrets (sanitizers)
121
121
 
122
- Empêche les agents de faire fuiter des identifiants dans leur contexte ou leur sortie. Les politiques sanitizer se déclenchent sur les événements **PostToolUse**. Lorsque Claude exécute une commande Bash, lit un fichier ou appelle un outil quelconque, ces politiques inspectent la sortie avant qu'elle ne soit renvoyée à Claude. Si un motif secret est détecté, la politique retourne une décision deny qui empêche la sortie d'être transmise.
122
+ Empêche les agents de faire fuiter des identifiants dans leur contexte ou leur sortie. Les politiques de sanitisation se déclenchent sur les événements **PostToolUse**. Lorsque Claude exécute une commande Bash, lit un fichier ou appelle un outil quelconque, ces politiques inspectent la sortie avant qu'elle ne soit renvoyée à Claude. Si un motif de secret est détecté, la politique retourne une décision deny qui empêche la sortie d'être transmise en retour.
123
123
 
124
124
  ### `sanitize-jwt`
125
125
 
126
126
  **Événement :** PostToolUse (tous les outils)
127
- **Par défaut :** Masque les tokens JWT (trois segments base64url séparés par `.`).
127
+ **Comportement par défaut :** Masque les tokens JWT (trois segments base64url séparés par `.`).
128
128
 
129
129
  Aucun paramètre.
130
130
 
@@ -133,11 +133,11 @@ Aucun paramètre.
133
133
  ### `sanitize-api-keys`
134
134
 
135
135
  **Événement :** PostToolUse (tous les outils)
136
- **Par défaut :** Masque les formats de clés API courants : Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), clés d'accès AWS (`AKIA`), clés Stripe (`sk_live_`, `sk_test_`) et clés Google API (`AIza`).
136
+ **Comportement par défaut :** Masque les formats de clés API courants : Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), clés d'accès AWS (`AKIA`), clés Stripe (`sk_live_`, `sk_test_`), et clés Google API (`AIza`).
137
137
 
138
138
  **Paramètres :**
139
139
 
140
- | Paramètre | Type | Par défaut | Description |
140
+ | Paramètre | Type | Défaut | Description |
141
141
  |-------|------|---------|-------------|
142
142
  | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Motifs regex supplémentaires à traiter comme des secrets. |
143
143
 
@@ -161,7 +161,7 @@ Aucun paramètre.
161
161
  ### `sanitize-connection-strings`
162
162
 
163
163
  **Événement :** PostToolUse (tous les outils)
164
- **Par défaut :** Masque les chaînes de connexion de base de données contenant des identifiants intégrés (ex. : `postgresql://user:password@host/db`).
164
+ **Comportement par défaut :** Masque les chaînes de connexion de base de données contenant des identifiants intégrés (ex. `postgresql://user:password@host/db`).
165
165
 
166
166
  Aucun paramètre.
167
167
 
@@ -170,7 +170,7 @@ Aucun paramètre.
170
170
  ### `sanitize-private-key-content`
171
171
 
172
172
  **Événement :** PostToolUse (tous les outils)
173
- **Par défaut :** Masque les blocs PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, etc.).
173
+ **Comportement par défaut :** Masque les blocs PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, etc.).
174
174
 
175
175
  Aucun paramètre.
176
176
 
@@ -179,7 +179,7 @@ Aucun paramètre.
179
179
  ### `sanitize-bearer-tokens`
180
180
 
181
181
  **Événement :** PostToolUse (tous les outils)
182
- **Par défaut :** Masque les en-têtes `Authorization: Bearer <token>` dont le token fait 20 caractères ou plus.
182
+ **Comportement par défaut :** Masque les en-têtes `Authorization: Bearer <token>` dont le token contient 20 caractères ou plus.
183
183
 
184
184
  Aucun paramètre.
185
185
 
@@ -187,12 +187,12 @@ Aucun paramètre.
187
187
 
188
188
  ## Environnement
189
189
 
190
- Protège la configuration d'environnement sensible contre la lecture ou l'exposition par des agents.
190
+ Protège la configuration d'environnement sensible contre la lecture ou l'exposition par les agents.
191
191
 
192
192
  ### `block-env-files`
193
193
 
194
194
  **Événement :** PreToolUse (Bash, Read)
195
- **Par défaut :** Refuse la lecture des fichiers `.env` via `cat .env`, les appels à l'outil `Read` avec `.env` comme chemin de fichier, etc.
195
+ **Comportement par défaut :** Refuse la lecture des fichiers `.env` via `cat .env`, les appels à l'outil `Read` avec `.env` comme chemin de fichier, etc.
196
196
 
197
197
  Ne bloque pas `.envrc` ni les autres fichiers liés à l'environnement — uniquement les fichiers nommés exactement `.env`.
198
198
 
@@ -203,7 +203,7 @@ Aucun paramètre.
203
203
  ### `protect-env-vars`
204
204
 
205
205
  **Événement :** PreToolUse (Bash)
206
- **Par défaut :** Refuse les commandes qui affichent les variables d'environnement : `printenv`, `env`, `echo $VAR`.
206
+ **Comportement par défaut :** Refuse les commandes qui affichent les variables d'environnement : `printenv`, `env`, `echo $VAR`.
207
207
 
208
208
  Aucun paramètre.
209
209
 
@@ -216,11 +216,11 @@ Maintient les agents dans les limites du projet et à l'écart des fichiers sens
216
216
  ### `block-read-outside-cwd`
217
217
 
218
218
  **Événement :** PreToolUse (Read, Bash)
219
- **Par défaut :** Refuse la lecture de fichiers en dehors du répertoire de travail courant (la racine du projet).
219
+ **Comportement par défaut :** Refuse la lecture de fichiers situés en dehors du répertoire de travail courant (la racine du projet).
220
220
 
221
221
  **Paramètres :**
222
222
 
223
- | Paramètre | Type | Par défaut | Description |
223
+ | Paramètre | Type | Défaut | Description |
224
224
  |-------|------|---------|-------------|
225
225
  | `allowPaths` | `string[]` | `[]` | Préfixes de chemins absolus autorisés même s'ils sont en dehors du répertoire courant. |
226
226
 
@@ -241,11 +241,11 @@ Maintient les agents dans les limites du projet et à l'écart des fichiers sens
241
241
  ### `block-secrets-write`
242
242
 
243
243
  **Événement :** PreToolUse (Write, Edit)
244
- **Par défaut :** Refuse les écritures dans les fichiers couramment utilisés pour les clés privées et les certificats : `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
244
+ **Comportement par défaut :** Refuse l'écriture dans les fichiers couramment utilisés pour les clés privées et les certificats : `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
245
245
 
246
246
  **Paramètres :**
247
247
 
248
- | Paramètre | Type | Par défaut | Description |
248
+ | Paramètre | Type | Défaut | Description |
249
249
  |-------|------|---------|-------------|
250
250
  | `additionalPatterns` | `string[]` | `[]` | Motifs de noms de fichiers supplémentaires (style glob) à bloquer. |
251
251
 
@@ -265,18 +265,18 @@ Maintient les agents dans les limites du projet et à l'écart des fichiers sens
265
265
 
266
266
  ## Git
267
267
 
268
- Prévient les pushs accidentels, les force-pushs et les erreurs de branches difficiles à annuler.
268
+ Prévient les pushs accidentels, les force-push et les erreurs de branche difficiles à annuler.
269
269
 
270
270
  ### `block-push-master`
271
271
 
272
272
  **Événement :** PreToolUse (Bash)
273
- **Par défaut :** Refuse `git push origin main` et `git push origin master`.
273
+ **Comportement par défaut :** Refuse `git push origin main` et `git push origin master`.
274
274
 
275
275
  **Paramètres :**
276
276
 
277
- | Paramètre | Type | Par défaut | Description |
277
+ | Paramètre | Type | Défaut | Description |
278
278
  |-------|------|---------|-------------|
279
- | `protectedBranches` | `string[]` | `["main", "master"]` | Noms de branches sur lesquelles il est impossible de pousser directement. |
279
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Noms de branches sur lesquelles le push direct est interdit. |
280
280
 
281
281
  **Exemple :**
282
282
 
@@ -291,7 +291,7 @@ Prévient les pushs accidentels, les force-pushs et les erreurs de branches diff
291
291
  ```
292
292
 
293
293
  <Tip>
294
- Pour autoriser le push sur toutes les branches (désactivant ainsi cette politique sans la retirer de `enabledPolicies`), définissez `protectedBranches: []`.
294
+ Pour autoriser le push sur toutes les branches (ce qui désactive effectivement cette politique sans la retirer de `enabledPolicies`), définissez `protectedBranches: []`.
295
295
  </Tip>
296
296
 
297
297
  ---
@@ -299,22 +299,22 @@ Pour autoriser le push sur toutes les branches (désactivant ainsi cette politiq
299
299
  ### `block-work-on-main`
300
300
 
301
301
  **Événement :** PreToolUse (Bash)
302
- **Par défaut :** Refuse le checkout direct des branches `main` ou `master`.
302
+ **Comportement par défaut :** Refuse le checkout direct des branches `main` ou `master`.
303
303
 
304
304
  **Paramètres :**
305
305
 
306
- | Paramètre | Type | Par défaut | Description |
306
+ | Paramètre | Type | Défaut | Description |
307
307
  |-------|------|---------|-------------|
308
- | `protectedBranches` | `string[]` | `["main", "master"]` | Noms de branches sur lesquelles il est impossible de basculer directement. |
308
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Noms de branches dont le checkout direct est interdit. |
309
309
 
310
310
  ---
311
311
 
312
312
  ### `block-force-push`
313
313
 
314
314
  **Événement :** PreToolUse (Bash)
315
- **Par défaut :** Refuse `git push --force` et `git push -f`.
315
+ **Comportement par défaut :** Refuse `git push --force` et `git push -f`.
316
316
 
317
- Aucun paramètre spécifique à cette politique. Utilisez le champ transversal [`hint`](/fr/configuration#hint-cross-cutting) pour suggérer des alternatives :
317
+ Aucun paramètre spécifique à cette politique. Utilisez le [`hint`](/fr/configuration#hint-cross-cutting) transversal pour suggérer des alternatives :
318
318
 
319
319
  ```json
320
320
  {
@@ -331,7 +331,7 @@ Aucun paramètre spécifique à cette politique. Utilisez le champ transversal [
331
331
  ### `warn-git-amend`
332
332
 
333
333
  **Événement :** PreToolUse (Bash)
334
- **Par défaut :** Demande à Claude de procéder avec précaution lors de l'exécution de `git commit --amend`. Ne bloque pas la commande.
334
+ **Comportement par défaut :** Demande à Claude de procéder avec précaution lors de l'exécution de `git commit --amend`. Ne bloque pas la commande.
335
335
 
336
336
  Aucun paramètre.
337
337
 
@@ -340,7 +340,7 @@ Aucun paramètre.
340
340
  ### `warn-git-stash-drop`
341
341
 
342
342
  **Événement :** PreToolUse (Bash)
343
- **Par défaut :** Demande à Claude de confirmer avant d'exécuter `git stash drop`. Ne bloque pas la commande.
343
+ **Comportement par défaut :** Demande à Claude de confirmer avant d'exécuter `git stash drop`. Ne bloque pas la commande.
344
344
 
345
345
  Aucun paramètre.
346
346
 
@@ -349,7 +349,7 @@ Aucun paramètre.
349
349
  ### `warn-all-files-staged`
350
350
 
351
351
  **Événement :** PreToolUse (Bash)
352
- **Par défaut :** Demande à Claude de vérifier ce qu'il indexe lorsqu'il exécute `git add -A` ou `git add .`. Ne bloque pas la commande.
352
+ **Comportement par défaut :** Demande à Claude de vérifier ce qu'il indexe lorsqu'il exécute `git add -A` ou `git add .`. Ne bloque pas la commande.
353
353
 
354
354
  Aucun paramètre.
355
355
 
@@ -357,12 +357,12 @@ Aucun paramètre.
357
357
 
358
358
  ## Base de données
359
359
 
360
- Intercepte les opérations SQL destructrices avant qu'elles ne s'exécutent sur votre base de données.
360
+ Intercepte les opérations SQL destructives avant leur exécution sur la base de données.
361
361
 
362
362
  ### `warn-destructive-sql`
363
363
 
364
364
  **Événement :** PreToolUse (Bash)
365
- **Par défaut :** Demande à Claude de confirmer avant d'exécuter du SQL contenant `DROP TABLE`, `DROP DATABASE` ou `DELETE` sans clause `WHERE`.
365
+ **Comportement par défaut :** Demande à Claude de confirmer avant d'exécuter du SQL contenant `DROP TABLE`, `DROP DATABASE` ou `DELETE` sans clause `WHERE`.
366
366
 
367
367
  Aucun paramètre.
368
368
 
@@ -371,7 +371,7 @@ Aucun paramètre.
371
371
  ### `warn-schema-alteration`
372
372
 
373
373
  **Événement :** PreToolUse (Bash)
374
- **Par défaut :** Demande à Claude de confirmer avant d'exécuter des instructions `ALTER TABLE`.
374
+ **Comportement par défaut :** Demande à Claude de confirmer avant d'exécuter des instructions `ALTER TABLE`.
375
375
 
376
376
  Aucun paramètre.
377
377
 
@@ -379,16 +379,16 @@ Aucun paramètre.
379
379
 
380
380
  ## Avertissements
381
381
 
382
- Fournit aux agents un contexte supplémentaire avant des opérations potentiellement risquées mais non destructrices.
382
+ Fournit aux agents du contexte supplémentaire avant des opérations potentiellement risquées mais non destructives.
383
383
 
384
384
  ### `warn-large-file-write`
385
385
 
386
386
  **Événement :** PreToolUse (Write)
387
- **Par défaut :** Demande à Claude de confirmer avant d'écrire des fichiers de plus de 1024 Ko.
387
+ **Comportement par défaut :** Demande à Claude de confirmer avant d'écrire des fichiers de plus de 1 024 Ko.
388
388
 
389
389
  **Paramètres :**
390
390
 
391
- | Paramètre | Type | Par défaut | Description |
391
+ | Paramètre | Type | Défaut | Description |
392
392
  |-------|------|---------|-------------|
393
393
  | `thresholdKb` | `number` | `1024` | Seuil de taille de fichier en kilo-octets au-delà duquel un avertissement est émis. |
394
394
 
@@ -405,7 +405,7 @@ Fournit aux agents un contexte supplémentaire avant des opérations potentielle
405
405
  ```
406
406
 
407
407
  <Note>
408
- Le gestionnaire de hook impose une limite de 1 Mo sur stdin pour les payloads. Pour tester cette politique avec du contenu de petite taille, définissez `thresholdKb` à une valeur bien inférieure à 1024.
408
+ Le gestionnaire de hook impose une limite de 1 Mo sur les payloads en stdin. Pour tester cette politique avec un contenu de petite taille, définissez `thresholdKb` à une valeur bien inférieure à 1024.
409
409
  </Note>
410
410
 
411
411
  ---
@@ -413,7 +413,7 @@ Le gestionnaire de hook impose une limite de 1 Mo sur stdin pour les payloads. P
413
413
  ### `warn-package-publish`
414
414
 
415
415
  **Événement :** PreToolUse (Bash)
416
- **Par défaut :** Demande à Claude de confirmer avant d'exécuter `npm publish`.
416
+ **Comportement par défaut :** Demande à Claude de confirmer avant d'exécuter `npm publish`.
417
417
 
418
418
  Aucun paramètre.
419
419
 
@@ -422,7 +422,7 @@ Aucun paramètre.
422
422
  ### `warn-background-process`
423
423
 
424
424
  **Événement :** PreToolUse (Bash)
425
- **Par défaut :** Demande à Claude d'être prudent lors du lancement de processus en arrière-plan via `nohup`, `&`, `disown` ou `screen`.
425
+ **Comportement par défaut :** Demande à Claude d'être prudent lors du lancement de processus en arrière-plan via `nohup`, `&`, `disown` ou `screen`.
426
426
 
427
427
  Aucun paramètre.
428
428
 
@@ -431,7 +431,7 @@ Aucun paramètre.
431
431
  ### `warn-global-package-install`
432
432
 
433
433
  **Événement :** PreToolUse (Bash)
434
- **Par défaut :** Demande à Claude de confirmer avant d'exécuter `npm install -g`, `yarn global add` ou `pip install` sans environnement virtuel.
434
+ **Comportement par défaut :** Demande à Claude de confirmer avant d'exécuter `npm install -g`, `yarn global add` ou `pip install` sans environnement virtuel.
435
435
 
436
436
  Aucun paramètre.
437
437
 
@@ -444,14 +444,14 @@ Impose les gestionnaires de paquets que l'agent est autorisé à utiliser.
444
444
  ### `prefer-package-manager`
445
445
 
446
446
  **Événement :** PreToolUse (Bash)
447
- **Par défaut :** Désactivé. Lorsqu'il est activé, bloque toute commande de gestionnaire de paquets absent de la liste `allowed` et demande à Claude de réécrire la commande en utilisant un gestionnaire autorisé.
447
+ **Comportement par défaut :** Désactivé. Lorsqu'activé, bloque toute commande de gestionnaire de paquets ne figurant pas dans la liste `allowed` et demande à Claude de réécrire la commande avec un gestionnaire autorisé.
448
448
 
449
449
  Détecte : pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
450
450
 
451
- | Paramètre | Type | Par défaut | Description |
451
+ | Paramètre | Type | Défaut | Description |
452
452
  |-----------|------|---------|-------------|
453
- | `allowed` | string[] | `[]` | Noms de gestionnaires de paquets autorisés. Tout gestionnaire détecté absent de cette liste est bloqué. Lorsque la liste est vide, la politique est sans effet. |
454
- | `blocked` | string[] | `[]` | Noms de gestionnaires supplémentaires à bloquer au-delà de la liste intégrée (ex. : `['pdm', 'pipx']`). |
453
+ | `allowed` | string[] | `[]` | Noms des gestionnaires de paquets autorisés. Tout gestionnaire détecté absent de cette liste est bloqué. Lorsque la liste est vide, la politique est inactive. |
454
+ | `blocked` | string[] | `[]` | Noms de gestionnaires supplémentaires à bloquer en plus de la liste intégrée (ex. `['pdm', 'pipx']`). |
455
455
 
456
456
  La liste de blocage intégrée couvre : pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Utilisez `blocked` pour ajouter des gestionnaires absents de cette liste.
457
457
 
@@ -469,18 +469,18 @@ La liste de blocage intégrée couvre : pip, pip3, npm, npx, yarn, pnpm, pnpx, b
469
469
  }
470
470
  ```
471
471
 
472
- Avec cette configuration, `pip install flask` et `pdm install flask` sont tous deux refusés avec un message demandant à Claude d'utiliser `uv` ou `bun` à la place. Les commandes comme `uv pip install flask` sont autorisées car `uv` figure dans la liste d'autorisation et est vérifié en premier.
472
+ Avec cette configuration, `pip install flask` et `pdm install flask` sont tous deux refusés avec un message indiquant à Claude d'utiliser `uv` ou `bun` à la place. Les commandes comme `uv pip install flask` sont autorisées car `uv` figure dans la liste des autorisations et est vérifié en premier.
473
473
 
474
474
  ---
475
475
 
476
476
  ## Comportement de l'IA
477
477
 
478
- Détecte quand les agents sont bloqués ou se comportent de manière inattendue.
478
+ Détecte quand les agents se retrouvent bloqués ou se comportent de manière inattendue.
479
479
 
480
480
  ### `warn-repeated-tool-calls`
481
481
 
482
482
  **Événement :** PreToolUse (tous les outils)
483
- **Par défaut :** Demande à Claude de reconsidérer son action lorsque le même outil est appelé 3 fois ou plus avec des paramètres identiques — signe courant que l'agent est bloqué dans une boucle.
483
+ **Comportement par défaut :** Demande à Claude de reconsidérer son action lorsque le même outil est appelé 3 fois ou plus avec des paramètres identiques — signe courant que l'agent est bloqué dans une boucle.
484
484
 
485
485
  Aucun paramètre.
486
486
 
@@ -488,14 +488,14 @@ Aucun paramètre.
488
488
 
489
489
  ## Workflow
490
490
 
491
- Impose un workflow de fin de session rigoureux. Ces politiques se déclenchent sur l'événement **Stop** et empêchent Claude de s'arrêter tant que chaque condition n'est pas remplie. Elles suivent une chaîne de dépendances naturelle : commit → push → PR → CI. Si une politique refuse, les politiques suivantes dans la chaîne sont ignorées (court-circuit sur deny).
491
+ Impose une discipline de fin de session. Ces politiques se déclenchent sur l'événement **Stop** et empêchent Claude de s'arrêter tant que chaque condition n'est pas remplie. Elles suivent une chaîne de dépendances naturelle : commit → push → PR → CI. Si une politique refuse, les politiques suivantes dans la chaîne sont ignorées (court-circuit sur deny).
492
492
 
493
- Toutes les politiques de workflow sont **fail-open** : si l'outil requis n'est pas disponible (ex. : `gh` non installé, pas de remote git), la politique autorise l'arrêt avec un message d'information expliquant pourquoi la vérification a été ignorée.
493
+ Toutes les politiques de workflow sont **fail-open** : si l'outil requis n'est pas disponible (ex. `gh` non installé, pas de remote git), la politique autorise avec un message informatif expliquant pourquoi la vérification a été ignorée.
494
494
 
495
495
  ### `require-commit-before-stop`
496
496
 
497
497
  **Événement :** Stop
498
- **Par défaut :** Refuse l'arrêt lorsqu'il existe des modifications non commitées (fichiers modifiés, indexés ou non suivis). Retourne un message d'information lorsque le répertoire de travail est propre.
498
+ **Comportement par défaut :** Refuse l'arrêt lorsqu'il existe des modifications non commitées (fichiers modifiés, indexés ou non suivis). Retourne un message informatif lorsque le répertoire de travail est propre.
499
499
 
500
500
  Aucun paramètre.
501
501
 
@@ -504,11 +504,11 @@ Aucun paramètre.
504
504
  ### `require-push-before-stop`
505
505
 
506
506
  **Événement :** Stop
507
- **Par défaut :** Refuse l'arrêt lorsqu'il existe des commits non poussés ou lorsque la branche courante n'a pas de branche de suivi distante. Suggère `git push -u` pour créer une branche de suivi si nécessaire. Fail-open si aucun remote n'est configuré.
507
+ **Comportement par défaut :** Refuse l'arrêt lorsqu'il existe des commits non pushés ou lorsque la branche courante n'a pas de branche de suivi distante. Suggère `git push -u` pour créer une branche de suivi si nécessaire. Fail-open si aucun remote n'est configuré.
508
508
 
509
509
  **Paramètres :**
510
510
 
511
- | Paramètre | Type | Par défaut | Description |
511
+ | Paramètre | Type | Défaut | Description |
512
512
  |-------|------|---------|-------------|
513
513
  | `remote` | `string` | `"origin"` | Nom du remote vers lequel pousser. |
514
514
 
@@ -529,14 +529,14 @@ Aucun paramètre.
529
529
  ### `require-pr-before-stop`
530
530
 
531
531
  **Événement :** Stop
532
- **Par défaut :** Refuse l'arrêt lorsqu'aucune pull request n'existe pour la branche courante, ou lorsque la PR existante est fermée ou fusionnée. Demande à Claude de créer une PR avec `gh pr create`.
532
+ **Comportement par défaut :** Refuse l'arrêt lorsqu'aucune pull request n'existe pour la branche courante, ou lorsque la PR existante est fermée ou fusionnée. Demande à Claude de créer une PR avec `gh pr create`.
533
533
 
534
534
  Aucun paramètre.
535
535
 
536
536
  <Note>
537
- Cette politique requiert que [GitHub CLI](https://cli.github.com/) (`gh`) soit installé et authentifié.
537
+ Cette politique nécessite que [GitHub CLI](https://cli.github.com/) (`gh`) soit installé et authentifié.
538
538
  Exécutez `gh auth login` avec un personal access token disposant du scope `repo` pour l'accès en lecture aux
539
- pull requests. Si `gh` n'est pas installé ou non authentifié, la politique est fail-open et rapporte la raison à Claude.
539
+ pull requests. Si `gh` n'est pas installé ou pas authentifié, la politique est fail-open et signale la raison à Claude.
540
540
  </Note>
541
541
 
542
542
  ---
@@ -544,23 +544,23 @@ pull requests. Si `gh` n'est pas installé ou non authentifié, la politique est
544
544
  ### `require-ci-green-before-stop`
545
545
 
546
546
  **Événement :** Stop
547
- **Par défaut :** Refuse l'arrêt lorsque les vérifications CI sont en échec ou encore en cours sur la branche courante. Vérifie à la fois les workflows GitHub Actions et les vérifications de bots tiers (ex. : CodeRabbit, SonarCloud, Codecov). Traite les conclusions `skipped` comme un succès. Retourne un message d'information lorsque toutes les vérifications sont réussies.
547
+ **Comportement par défaut :** Refuse l'arrêt lorsque les vérifications CI échouent ou sont toujours en cours sur la branche courante. Vérifie à la fois les exécutions de workflow GitHub Actions et les vérifications de bots tiers (ex. CodeRabbit, SonarCloud, Codecov). Traite les conclusions `skipped` et `cancelled` comme des succès. Retourne un message informatif lorsque toutes les vérifications passent.
548
548
 
549
549
  Aucun paramètre.
550
550
 
551
551
  <Note>
552
- Cette politique requiert que [GitHub CLI](https://cli.github.com/) (`gh`) soit installé et authentifié.
552
+ Cette politique nécessite que [GitHub CLI](https://cli.github.com/) (`gh`) soit installé et authentifié.
553
553
  Exécutez `gh auth login` avec un personal access token disposant du scope `repo` pour l'accès en lecture aux
554
- workflows GitHub Actions et à l'API Checks. Si `gh` n'est pas installé ou non authentifié, la politique est fail-open et rapporte la raison à Claude.
554
+ exécutions de workflow Actions et à l'API Checks. Si `gh` n'est pas installé ou pas authentifié, la politique est fail-open et signale la raison à Claude.
555
555
  </Note>
556
556
 
557
557
  ---
558
558
 
559
559
  ---
560
560
 
561
- ## Désactiver des politiques individuelles
561
+ ## Désactiver des politiques individuellement
562
562
 
563
- Retirez une politique spécifique de `enabledPolicies` dans votre configuration, ou désactivez-la depuis l'onglet Policies du tableau de bord.
563
+ Retirez une politique spécifique de `enabledPolicies` dans votre configuration, ou désactivez-la dans l'onglet Politiques du tableau de bord.
564
564
 
565
565
  ```json
566
566
  {
@@ -571,4 +571,4 @@ Retirez une politique spécifique de `enabledPolicies` dans votre configuration,
571
571
  }
572
572
  ```
573
573
 
574
- Les politiques absentes de `enabledPolicies` ne s'exécutent pas, même si des entrées `policyParams` existent pour elles.
574
+ Les politiques non listées dans `enabledPolicies` ne s'exécutent pas, même si des entrées `policyParams` existent pour elles.