failproofai 0.0.6-beta.1 → 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 (177) hide show
  1. package/.next/standalone/.failproofai/policies/review-policies.mjs +4 -3
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  13. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  15. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  20. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  21. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  22. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  23. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  25. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/index.html +1 -1
  28. package/.next/standalone/.next/server/app/index.rsc +15 -15
  29. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  30. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  31. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  32. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  33. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  35. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  38. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  41. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  44. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  48. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  52. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~kmh8w._.js → [root-of-the-server]__096k.db._.js} +2 -2
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  55. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0rh.18_._.js → [root-of-the-server]__0kyh86x._.js} +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  64. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  65. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  66. package/.next/standalone/.next/server/pages/404.html +2 -2
  67. package/.next/standalone/.next/server/pages/500.html +1 -1
  68. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  70. package/.next/standalone/.next/static/chunks/{0gbf4cphy8ksq.js → 0-dm_9a6nsc2l.js} +1 -1
  71. package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 01pmw1-asbek~.js} +2 -2
  72. package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 051m32nx~n5yr.js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0a-yctdwn368y.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0l-mu4okl-cj1.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{08t08igdql9yt.js → 0mazj-p-~2kc6.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
  78. package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 156zca6aewyr-.js} +1 -1
  79. package/.next/standalone/CHANGELOG.md +18 -0
  80. package/.next/standalone/bin/failproofai.mjs +91 -4
  81. package/.next/standalone/dist/cli.mjs +1156 -55
  82. package/.next/standalone/docs/ar/built-in-policies.mdx +140 -103
  83. package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
  84. package/.next/standalone/docs/ar/examples.mdx +86 -33
  85. package/.next/standalone/docs/ar/getting-started.mdx +82 -29
  86. package/.next/standalone/docs/built-in-policies.mdx +3 -3
  87. package/.next/standalone/docs/de/built-in-policies.mdx +97 -60
  88. package/.next/standalone/docs/de/custom-policies.mdx +56 -56
  89. package/.next/standalone/docs/de/examples.mdx +72 -18
  90. package/.next/standalone/docs/de/getting-started.mdx +72 -20
  91. package/.next/standalone/docs/es/built-in-policies.mdx +91 -54
  92. package/.next/standalone/docs/es/custom-policies.mdx +55 -55
  93. package/.next/standalone/docs/es/examples.mdx +73 -19
  94. package/.next/standalone/docs/es/getting-started.mdx +72 -20
  95. package/.next/standalone/docs/fr/built-in-policies.mdx +99 -62
  96. package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
  97. package/.next/standalone/docs/fr/examples.mdx +78 -24
  98. package/.next/standalone/docs/fr/getting-started.mdx +65 -13
  99. package/.next/standalone/docs/he/built-in-policies.mdx +139 -99
  100. package/.next/standalone/docs/he/custom-policies.mdx +75 -75
  101. package/.next/standalone/docs/he/examples.mdx +87 -33
  102. package/.next/standalone/docs/he/getting-started.mdx +84 -33
  103. package/.next/standalone/docs/hi/built-in-policies.mdx +203 -166
  104. package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
  105. package/.next/standalone/docs/hi/examples.mdx +90 -36
  106. package/.next/standalone/docs/hi/getting-started.mdx +80 -27
  107. package/.next/standalone/docs/i18n/README.ar.md +69 -69
  108. package/.next/standalone/docs/i18n/README.de.md +46 -46
  109. package/.next/standalone/docs/i18n/README.es.md +42 -42
  110. package/.next/standalone/docs/i18n/README.fr.md +39 -39
  111. package/.next/standalone/docs/i18n/README.he.md +83 -83
  112. package/.next/standalone/docs/i18n/README.hi.md +69 -69
  113. package/.next/standalone/docs/i18n/README.it.md +72 -72
  114. package/.next/standalone/docs/i18n/README.ja.md +71 -71
  115. package/.next/standalone/docs/i18n/README.ko.md +52 -52
  116. package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
  117. package/.next/standalone/docs/i18n/README.ru.md +66 -66
  118. package/.next/standalone/docs/i18n/README.tr.md +82 -83
  119. package/.next/standalone/docs/i18n/README.vi.md +70 -71
  120. package/.next/standalone/docs/i18n/README.zh.md +51 -51
  121. package/.next/standalone/docs/it/built-in-policies.mdx +115 -78
  122. package/.next/standalone/docs/it/custom-policies.mdx +69 -69
  123. package/.next/standalone/docs/it/examples.mdx +93 -39
  124. package/.next/standalone/docs/it/getting-started.mdx +73 -21
  125. package/.next/standalone/docs/ja/built-in-policies.mdx +155 -118
  126. package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
  127. package/.next/standalone/docs/ja/examples.mdx +76 -22
  128. package/.next/standalone/docs/ja/getting-started.mdx +65 -13
  129. package/.next/standalone/docs/ko/built-in-policies.mdx +103 -66
  130. package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
  131. package/.next/standalone/docs/ko/examples.mdx +87 -33
  132. package/.next/standalone/docs/ko/getting-started.mdx +61 -9
  133. package/.next/standalone/docs/pt-br/built-in-policies.mdx +72 -35
  134. package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
  135. package/.next/standalone/docs/pt-br/examples.mdx +78 -24
  136. package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
  137. package/.next/standalone/docs/ru/built-in-policies.mdx +135 -98
  138. package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
  139. package/.next/standalone/docs/ru/examples.mdx +77 -22
  140. package/.next/standalone/docs/ru/getting-started.mdx +74 -22
  141. package/.next/standalone/docs/tr/built-in-policies.mdx +126 -89
  142. package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
  143. package/.next/standalone/docs/tr/examples.mdx +97 -42
  144. package/.next/standalone/docs/tr/getting-started.mdx +75 -23
  145. package/.next/standalone/docs/vi/built-in-policies.mdx +116 -81
  146. package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
  147. package/.next/standalone/docs/vi/examples.mdx +93 -38
  148. package/.next/standalone/docs/vi/getting-started.mdx +74 -22
  149. package/.next/standalone/docs/zh/built-in-policies.mdx +117 -82
  150. package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
  151. package/.next/standalone/docs/zh/examples.mdx +90 -36
  152. package/.next/standalone/docs/zh/getting-started.mdx +73 -21
  153. package/.next/standalone/package.json +1 -1
  154. package/.next/standalone/server.js +1 -1
  155. package/.next/standalone/src/auth/login.ts +104 -0
  156. package/.next/standalone/src/auth/logout.ts +50 -0
  157. package/.next/standalone/src/auth/token-store.ts +64 -0
  158. package/.next/standalone/src/hooks/builtin-policies.ts +27 -21
  159. package/.next/standalone/src/hooks/handler.ts +35 -15
  160. package/.next/standalone/src/relay/daemon.ts +362 -0
  161. package/.next/standalone/src/relay/pid.ts +76 -0
  162. package/.next/standalone/src/relay/queue.ts +225 -0
  163. package/bin/failproofai.mjs +91 -4
  164. package/dist/cli.mjs +1156 -55
  165. package/package.json +1 -1
  166. package/src/auth/login.ts +104 -0
  167. package/src/auth/logout.ts +50 -0
  168. package/src/auth/token-store.ts +64 -0
  169. package/src/hooks/builtin-policies.ts +27 -21
  170. package/src/hooks/handler.ts +35 -15
  171. package/src/relay/daemon.ts +362 -0
  172. package/src/relay/pid.ts +76 -0
  173. package/src/relay/queue.ts +225 -0
  174. package/.next/standalone/.next/static/chunks/0wlyoif4_kj_t.js +0 -6
  175. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
  176. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
  177. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  title: Politiche integrate
3
- description: "Tutte le 30 politiche integrate che rilevano le modalità di errore comuni degli agenti"
3
+ description: "Tutte le 30 politiche integrate che rilevano i comuni modi di fallimento degli agenti"
4
4
  icon: shield
5
5
  ---
6
6
 
7
- failproofai è dotato di 30 politiche integrate che rilevano le modalità di errore comuni degli agenti. Ogni politica si attiva su un tipo di evento hook e un nome di strumento specifici. Nove politiche accettano parametri che ti consentono di regolarne il comportamento senza scrivere codice. Quattro politiche di workflow applicano una pipeline commit → push → PR → CI prima che Claude si fermi.
7
+ failproofai include 30 politiche integrate che rilevano i comuni modi di fallimento degli agenti. Ogni politica si attiva su un tipo specifico di evento hook e nome dello strumento. Nove politiche accettano parametri che ti permettono di regolarne il comportamento senza scrivere codice. Quattro politiche di workflow applicano una pipeline commit → push → PR → CI prima che Claude si fermi.
8
8
 
9
9
  ---
10
10
 
@@ -15,23 +15,24 @@ Le politiche sono raggruppate in categorie:
15
15
  | Categoria | Politiche | Tipo di hook |
16
16
  |----------|----------|-----------|
17
17
  | [Comandi pericolosi](#comandi-pericolosi) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
18
- | [Segreti (sanitizer)](#segreti-sanitizer) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
18
+ | [Segreti (sanitizzatori)](#segreti-sanitizzatori) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
19
19
  | [Ambiente](#ambiente) | block-env-files, protect-env-vars | PreToolUse |
20
20
  | [Accesso ai file](#accesso-ai-file) | block-read-outside-cwd, block-secrets-write | PreToolUse |
21
21
  | [Git](#git) | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
22
22
  | [Database](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
23
23
  | [Avvisi](#avvisi) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
24
+ | [Gestori di pacchetti](#gestori-di-pacchetti) | prefer-package-manager | PreToolUse |
24
25
  | [Workflow](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
25
26
 
26
- - **`block-`** — ferma l'agente dal procedere.
27
- - **`warn-`** — fornisce all'agente contesto aggiuntivo per autocorreggersi.
27
+ - **`block-`** — impedisce all'agente di procedere.
28
+ - **`warn-`** — fornisce all'agente contesto aggiuntivo in modo che possa autocorreggersi.
28
29
  - **`sanitize-`** — rimuove i dati sensibili dall'output dello strumento prima che l'agente li veda.
29
30
  - **`require-`** — blocca l'evento Stop fino a quando le condizioni non sono soddisfatte.
30
31
 
31
32
  ---
32
33
 
33
34
  <Tip>
34
- Ogni politica supporta un campo `hint` opzionale in `policyParams`. L'hint viene aggiunto al messaggio di negazione o istruzione che Claude vede, fornendo indicazioni attuabili senza modificare il codice della politica. Funziona con le politiche integrate, personalizzate e di convenzione. Vedi [Configurazione → hint](/it/configuration#hint-cross-cutting) per i dettagli.
35
+ Ogni politica supporta un campo opzionale `hint` in `policyParams`. L'hint viene aggiunto al messaggio di negazione o istruzione che Claude vede, fornendo una guida pratica senza modificare il codice della politica. Funziona con politiche integrate, personalizzate e di convenzione. Vedi [Configurazione → hint](/it/configuration#hint-cross-cutting) per i dettagli.
35
36
  </Tip>
36
37
 
37
38
  ---
@@ -43,15 +44,15 @@ Impedisci agli agenti di eseguire operazioni difficili da annullare o che potreb
43
44
  ### `block-sudo`
44
45
 
45
46
  **Evento:** PreToolUse (Bash)
46
- **Default:** Nega qualsiasi comando `sudo`.
47
+ **Predefinito:** Nega qualsiasi comando `sudo`.
47
48
 
48
- Blocca le invocazioni che includono la parola chiave `sudo`. L'abbinamento del pattern viene eseguito su token di comando analizzati, non sulla stringa grezza, per prevenire il bypass tramite iniezione di operatori shell.
49
+ Blocca gli invocazioni che includono la parola chiave `sudo`. L'abbinamento dei modelli viene eseguito su token di comando analizzati, non sulla stringa grezza, per prevenire bypass tramite iniezione di operatori shell.
49
50
 
50
51
  **Parametri:**
51
52
 
52
- | Param | Tipo | Default | Descrizione |
53
+ | Parametro | Tipo | Predefinito | Descrizione |
53
54
  |-------|------|---------|-------------|
54
- | `allowPatterns` | `string[]` | `[]` | Prefissi di comando esatti che sono consentiti. Ogni voce viene confrontata con i token argv analizzati. |
55
+ | `allowPatterns` | `string[]` | `[]` | Prefissi di comando esatti che sono consentiti. Ogni voce viene abbinata ai token argv analizzati. |
55
56
 
56
57
  **Esempio:**
57
58
 
@@ -68,7 +69,7 @@ Blocca le invocazioni che includono la parola chiave `sudo`. L'abbinamento del p
68
69
  Con questa configurazione, `sudo systemctl status nginx` è consentito, ma `sudo rm /etc/hosts` è negato.
69
70
 
70
71
  <Note>
71
- I pattern vengono abbinati ai token analizzati, non alla stringa di comando grezza. Questo previene il bypass tramite operatori shell aggiunti (ad es. `sudo systemctl status x; rm -rf /` non corrisponde a `sudo systemctl status *`).
72
+ I modelli vengono abbinati ai token analizzati, non alla stringa di comando grezza. Questo previene il bypass tramite operatori shell aggiunti (ad es. `sudo systemctl status x; rm -rf /` non corrisponde a `sudo systemctl status *`).
72
73
  </Note>
73
74
 
74
75
  ---
@@ -76,11 +77,11 @@ I pattern vengono abbinati ai token analizzati, non alla stringa di comando grez
76
77
  ### `block-rm-rf`
77
78
 
78
79
  **Evento:** PreToolUse (Bash)
79
- **Default:** Nega `rm -rf`, `rm -fr` e forme simili di eliminazione ricorsiva.
80
+ **Predefinito:** Nega `rm -rf`, `rm -fr` e forme simili di eliminazione ricorsiva.
80
81
 
81
82
  **Parametri:**
82
83
 
83
- | Param | Tipo | Default | Descrizione |
84
+ | Parametro | Tipo | Predefinito | Descrizione |
84
85
  |-------|------|---------|-------------|
85
86
  | `allowPaths` | `string[]` | `[]` | Percorsi che sono sicuri da eliminare ricorsivamente (ad es. `/tmp`). |
86
87
 
@@ -101,7 +102,7 @@ I pattern vengono abbinati ai token analizzati, non alla stringa di comando grez
101
102
  ### `block-curl-pipe-sh`
102
103
 
103
104
  **Evento:** PreToolUse (Bash)
104
- **Default:** Nega `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` e pattern simili.
105
+ **Predefinito:** Nega `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` e modelli simili.
105
106
 
106
107
  Nessun parametro.
107
108
 
@@ -110,20 +111,20 @@ Nessun parametro.
110
111
  ### `block-failproofai-commands`
111
112
 
112
113
  **Evento:** PreToolUse (Bash)
113
- **Default:** Nega comandi che disinstallerebbero o disabiliterebbero failproofai stesso (ad es. `npm uninstall failproofai`, `failproofai policies --uninstall`).
114
+ **Predefinito:** Nega i comandi che disinstallerebbero o disabiliterebbero failproofai stesso (ad es. `npm uninstall failproofai`, `failproofai policies --uninstall`).
114
115
 
115
116
  Nessun parametro.
116
117
 
117
118
  ---
118
119
 
119
- ## Segreti (sanitizer)
120
+ ## Segreti (sanitizzatori)
120
121
 
121
- Impedisci agli agenti di divulgare credenziali nel loro contesto o output. Le politiche sanitizer si attivano su eventi **PostToolUse**. Quando Claude esegue un comando Bash, legge un file o chiama qualsiasi strumento, queste politiche ispezionano l'output prima che venga restituito a Claude. Se viene rilevato un pattern di segreto, la politica restituisce una decisione di negazione che impedisce all'output di essere ripassato.
122
+ Impedisci agli agenti di far trapelare credenziali nel loro contesto o output. Le politiche di sanitizzazione si attivano su eventi **PostToolUse**. Quando Claude esegue un comando Bash, legge un file o chiama qualsiasi strumento, queste politiche ispezionano l'output prima che venga restituito a Claude. Se viene rilevato un modello di segreto, la politica restituisce una decisione di negazione che impedisce il passaggio dell'output.
122
123
 
123
124
  ### `sanitize-jwt`
124
125
 
125
126
  **Evento:** PostToolUse (tutti gli strumenti)
126
- **Default:** Redige i token JWT (tre segmenti base64url separati da `.`).
127
+ **Predefinito:** Offusca i token JWT (tre segmenti base64url separati da `.`).
127
128
 
128
129
  Nessun parametro.
129
130
 
@@ -132,13 +133,13 @@ Nessun parametro.
132
133
  ### `sanitize-api-keys`
133
134
 
134
135
  **Evento:** PostToolUse (tutti gli strumenti)
135
- **Default:** Redige i formati comuni di chiavi API: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PAT (`ghp_`), chiavi di accesso AWS (`AKIA`), chiavi Stripe (`sk_live_`, `sk_test_`), e chiavi API Google (`AIza`).
136
+ **Predefinito:** Offusca i formati comuni di chiavi API: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), chiavi di accesso AWS (`AKIA`), chiavi Stripe (`sk_live_`, `sk_test_`) e chiavi API Google (`AIza`).
136
137
 
137
138
  **Parametri:**
138
139
 
139
- | Param | Tipo | Default | Descrizione |
140
+ | Parametro | Tipo | Predefinito | Descrizione |
140
141
  |-------|------|---------|-------------|
141
- | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Pattern regex aggiuntivi da trattare come segreti. |
142
+ | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Modelli regex aggiuntivi da trattare come segreti. |
142
143
 
143
144
  **Esempio:**
144
145
 
@@ -147,8 +148,8 @@ Nessun parametro.
147
148
  "policyParams": {
148
149
  "sanitize-api-keys": {
149
150
  "additionalPatterns": [
150
- { "regex": "myco_[A-Za-z0-9]{32}", "label": "MyCo internal API key" },
151
- { "regex": "pat_[0-9a-f]{40}", "label": "Internal PAT" }
151
+ { "regex": "myco_[A-Za-z0-9]{32}", "label": "Chiave API interna MyCo" },
152
+ { "regex": "pat_[0-9a-f]{40}", "label": "PAT interno" }
152
153
  ]
153
154
  }
154
155
  }
@@ -160,7 +161,7 @@ Nessun parametro.
160
161
  ### `sanitize-connection-strings`
161
162
 
162
163
  **Evento:** PostToolUse (tutti gli strumenti)
163
- **Default:** Redige le stringhe di connessione al database che contengono credenziali incorporate (ad es. `postgresql://user:password@host/db`).
164
+ **Predefinito:** Offusca le stringhe di connessione del database che contengono credenziali incorporate (ad es. `postgresql://user:password@host/db`).
164
165
 
165
166
  Nessun parametro.
166
167
 
@@ -169,7 +170,7 @@ Nessun parametro.
169
170
  ### `sanitize-private-key-content`
170
171
 
171
172
  **Evento:** PostToolUse (tutti gli strumenti)
172
- **Default:** Redige i blocchi PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, ecc.).
173
+ **Predefinito:** Offusca i blocchi PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, ecc.).
173
174
 
174
175
  Nessun parametro.
175
176
 
@@ -178,7 +179,7 @@ Nessun parametro.
178
179
  ### `sanitize-bearer-tokens`
179
180
 
180
181
  **Evento:** PostToolUse (tutti gli strumenti)
181
- **Default:** Redige le intestazioni `Authorization: Bearer <token>` dove il token ha 20 o più caratteri.
182
+ **Predefinito:** Offusca gli header `Authorization: Bearer <token>` dove il token è 20 o più caratteri.
182
183
 
183
184
  Nessun parametro.
184
185
 
@@ -186,12 +187,12 @@ Nessun parametro.
186
187
 
187
188
  ## Ambiente
188
189
 
189
- Proteggi la configurazione sensibile dell'ambiente dalla lettura o dall'esposizione da parte degli agenti.
190
+ Proteggi la configurazione dell'ambiente sensibile dalla lettura o dall'esposizione da parte degli agenti.
190
191
 
191
192
  ### `block-env-files`
192
193
 
193
194
  **Evento:** PreToolUse (Bash, Read)
194
- **Default:** Nega la lettura di file `.env` tramite `cat .env`, chiamate dello strumento `Read` con `.env` come percorso del file, ecc.
195
+ **Predefinito:** Nega la lettura dei file `.env` tramite `cat .env`, chiamate dello strumento Read con `.env` come percorso del file, ecc.
195
196
 
196
197
  Non blocca `.envrc` o altri file correlati all'ambiente - solo file denominati esattamente `.env`.
197
198
 
@@ -202,7 +203,7 @@ Nessun parametro.
202
203
  ### `protect-env-vars`
203
204
 
204
205
  **Evento:** PreToolUse (Bash)
205
- **Default:** Nega comandi che stampano variabili di ambiente: `printenv`, `env`, `echo $VAR`.
206
+ **Predefinito:** Nega i comandi che stampano variabili di ambiente: `printenv`, `env`, `echo $VAR`.
206
207
 
207
208
  Nessun parametro.
208
209
 
@@ -210,18 +211,18 @@ Nessun parametro.
210
211
 
211
212
  ## Accesso ai file
212
213
 
213
- Mantieni gli agenti al lavoro entro i confini del progetto e lontani dai file sensibili.
214
+ Mantieni gli agenti dentro i confini del progetto e lontani dai file sensibili.
214
215
 
215
216
  ### `block-read-outside-cwd`
216
217
 
217
218
  **Evento:** PreToolUse (Read, Bash)
218
- **Default:** Nega la lettura di file al di fuori della directory di lavoro corrente (root del progetto).
219
+ **Predefinito:** Nega la lettura dei file al di fuori della directory di lavoro corrente (la root del progetto).
219
220
 
220
221
  **Parametri:**
221
222
 
222
- | Param | Tipo | Default | Descrizione |
223
+ | Parametro | Tipo | Predefinito | Descrizione |
223
224
  |-------|------|---------|-------------|
224
- | `allowPaths` | `string[]` | `[]` | Prefissi di percorso assoluto consentiti anche se esterni a cwd. |
225
+ | `allowPaths` | `string[]` | `[]` | Prefissi di percorso assoluto consentiti anche se al di fuori di cwd. |
225
226
 
226
227
  **Esempio:**
227
228
 
@@ -240,13 +241,13 @@ Mantieni gli agenti al lavoro entro i confini del progetto e lontani dai file se
240
241
  ### `block-secrets-write`
241
242
 
242
243
  **Evento:** PreToolUse (Write, Edit)
243
- **Default:** Nega le scritture su file comunemente utilizzati per chiavi private e certificati: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
244
+ **Predefinito:** Nega le scritture su file comunemente usati per chiavi private e certificati: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
244
245
 
245
246
  **Parametri:**
246
247
 
247
- | Param | Tipo | Default | Descrizione |
248
+ | Parametro | Tipo | Predefinito | Descrizione |
248
249
  |-------|------|---------|-------------|
249
- | `additionalPatterns` | `string[]` | `[]` | Pattern di nome file aggiuntivi (stile glob) da bloccare. |
250
+ | `additionalPatterns` | `string[]` | `[]` | Modelli di nome file aggiuntivi (stile glob) da bloccare. |
250
251
 
251
252
  **Esempio:**
252
253
 
@@ -264,18 +265,18 @@ Mantieni gli agenti al lavoro entro i confini del progetto e lontani dai file se
264
265
 
265
266
  ## Git
266
267
 
267
- Previeni push accidentali, force-push e errori di branch difficili da annullare.
268
+ Previeni accidentali push, force-push e errori di branch difficili da annullare.
268
269
 
269
270
  ### `block-push-master`
270
271
 
271
272
  **Evento:** PreToolUse (Bash)
272
- **Default:** Nega `git push origin main` e `git push origin master`.
273
+ **Predefinito:** Nega `git push origin main` e `git push origin master`.
273
274
 
274
275
  **Parametri:**
275
276
 
276
- | Param | Tipo | Default | Descrizione |
277
+ | Parametro | Tipo | Predefinito | Descrizione |
277
278
  |-------|------|---------|-------------|
278
- | `protectedBranches` | `string[]` | `["main", "master"]` | Nomi dei branch che non possono essere pushati direttamente. |
279
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Nomi di branch che non possono essere pushati direttamente. |
279
280
 
280
281
  **Esempio:**
281
282
 
@@ -290,7 +291,7 @@ Previeni push accidentali, force-push e errori di branch difficili da annullare.
290
291
  ```
291
292
 
292
293
  <Tip>
293
- Per consentire il push su tutti i branch (disabilitando effettivamente questa politica senza rimuoverla da `enabledPolicies`), imposta `protectedBranches: []`.
294
+ Per consentire il push a tutti i branch (disabilitando effettivamente questa politica senza rimuoverla da `enabledPolicies`), imposta `protectedBranches: []`.
294
295
  </Tip>
295
296
 
296
297
  ---
@@ -298,28 +299,28 @@ Per consentire il push su tutti i branch (disabilitando effettivamente questa po
298
299
  ### `block-work-on-main`
299
300
 
300
301
  **Evento:** PreToolUse (Bash)
301
- **Default:** Nega il checkout diretto dei branch `main` o `master`.
302
+ **Predefinito:** Nega il checkout dei branch `main` o `master` direttamente.
302
303
 
303
304
  **Parametri:**
304
305
 
305
- | Param | Tipo | Default | Descrizione |
306
+ | Parametro | Tipo | Predefinito | Descrizione |
306
307
  |-------|------|---------|-------------|
307
- | `protectedBranches` | `string[]` | `["main", "master"]` | Nomi dei branch che non possono essere sottoposti a checkout direttamente. |
308
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Nomi di branch che non possono essere controllati direttamente. |
308
309
 
309
310
  ---
310
311
 
311
312
  ### `block-force-push`
312
313
 
313
314
  **Evento:** PreToolUse (Bash)
314
- **Default:** Nega `git push --force` e `git push -f`.
315
+ **Predefinito:** Nega `git push --force` e `git push -f`.
315
316
 
316
- Nessun parametro specifico della politica. Usa l'hint cross-cutting [`hint`](/it/configuration#hint-cross-cutting) per suggerire alternative:
317
+ Nessun parametro specifico della politica. Usa il [`hint`](/it/configuration#hint-cross-cutting) trasversale per suggerire alternative:
317
318
 
318
319
  ```json
319
320
  {
320
321
  "policyParams": {
321
322
  "block-force-push": {
322
- "hint": "Create a new branch from your current HEAD (e.g. `git checkout -b <new-branch>`) and push that instead."
323
+ "hint": "Crea un nuovo branch dal tuo HEAD attuale (ad es. `git checkout -b <new-branch>`) e fai il push di quello invece."
323
324
  }
324
325
  }
325
326
  }
@@ -330,7 +331,7 @@ Nessun parametro specifico della politica. Usa l'hint cross-cutting [`hint`](/it
330
331
  ### `warn-git-amend`
331
332
 
332
333
  **Evento:** PreToolUse (Bash)
333
- **Default:** Istruisce Claude a procedere con cautela quando esegue `git commit --amend`. Non blocca il comando.
334
+ **Predefinito:** Istruisce Claude a procedere con cautela quando esegue `git commit --amend`. Non blocca il comando.
334
335
 
335
336
  Nessun parametro.
336
337
 
@@ -339,7 +340,7 @@ Nessun parametro.
339
340
  ### `warn-git-stash-drop`
340
341
 
341
342
  **Evento:** PreToolUse (Bash)
342
- **Default:** Istruisce Claude a confermare prima di eseguire `git stash drop`. Non blocca il comando.
343
+ **Predefinito:** Istruisce Claude a confermare prima di eseguire `git stash drop`. Non blocca il comando.
343
344
 
344
345
  Nessun parametro.
345
346
 
@@ -348,7 +349,7 @@ Nessun parametro.
348
349
  ### `warn-all-files-staged`
349
350
 
350
351
  **Evento:** PreToolUse (Bash)
351
- **Default:** Istruisce Claude a esaminare ciò che sta preparando quando esegue `git add -A` o `git add .`. Non blocca il comando.
352
+ **Predefinito:** Istruisce Claude a rivedere cosa sta preparando quando esegue `git add -A` o `git add .`. Non blocca il comando.
352
353
 
353
354
  Nessun parametro.
354
355
 
@@ -356,12 +357,12 @@ Nessun parametro.
356
357
 
357
358
  ## Database
358
359
 
359
- Rileva le operazioni SQL distruttive prima che vengono eseguite nel tuo database.
360
+ Rileva le operazioni SQL distruttive prima che vengano eseguite sul tuo database.
360
361
 
361
362
  ### `warn-destructive-sql`
362
363
 
363
364
  **Evento:** PreToolUse (Bash)
364
- **Default:** Istruisce Claude a confermare prima di eseguire SQL contenente `DROP TABLE`, `DROP DATABASE` o `DELETE` senza una clausola `WHERE`.
365
+ **Predefinito:** Istruisce Claude a confermare prima di eseguire SQL contenente `DROP TABLE`, `DROP DATABASE` o `DELETE` senza una clausola `WHERE`.
365
366
 
366
367
  Nessun parametro.
367
368
 
@@ -370,7 +371,7 @@ Nessun parametro.
370
371
  ### `warn-schema-alteration`
371
372
 
372
373
  **Evento:** PreToolUse (Bash)
373
- **Default:** Istruisce Claude a confermare prima di eseguire istruzioni `ALTER TABLE`.
374
+ **Predefinito:** Istruisce Claude a confermare prima di eseguire le istruzioni `ALTER TABLE`.
374
375
 
375
376
  Nessun parametro.
376
377
 
@@ -378,16 +379,16 @@ Nessun parametro.
378
379
 
379
380
  ## Avvisi
380
381
 
381
- Fornisci agli agenti contesto extra prima di operazioni potenzialmente rischiose ma non distruttive.
382
+ Fornisci agli agenti contesto aggiuntivo prima di operazioni potenzialmente rischiose ma non distruttive.
382
383
 
383
384
  ### `warn-large-file-write`
384
385
 
385
386
  **Evento:** PreToolUse (Write)
386
- **Default:** Istruisce Claude a confermare prima di scrivere file più grandi di 1024 KB.
387
+ **Predefinito:** Istruisce Claude a confermare prima di scrivere file più grandi di 1024 KB.
387
388
 
388
389
  **Parametri:**
389
390
 
390
- | Param | Tipo | Default | Descrizione |
391
+ | Parametro | Tipo | Predefinito | Descrizione |
391
392
  |-------|------|---------|-------------|
392
393
  | `thresholdKb` | `number` | `1024` | Soglia di dimensione del file in kilobyte al di sopra della quale viene emesso un avviso. |
393
394
 
@@ -404,7 +405,7 @@ Fornisci agli agenti contesto extra prima di operazioni potenzialmente rischiose
404
405
  ```
405
406
 
406
407
  <Note>
407
- Il gestore dell'hook applica un limite stdin di 1 MB sui payload. Per testare questa politica con contenuto piccolo, imposta `thresholdKb` su un valore ben inferiore a 1024.
408
+ L'handler dell'hook applica un limite stdin di 1 MB sui payload. Per testare questa politica con contenuti piccoli, imposta `thresholdKb` a un valore ben al di sotto di 1024.
408
409
  </Note>
409
410
 
410
411
  ---
@@ -412,7 +413,7 @@ Il gestore dell'hook applica un limite stdin di 1 MB sui payload. Per testare qu
412
413
  ### `warn-package-publish`
413
414
 
414
415
  **Evento:** PreToolUse (Bash)
415
- **Default:** Istruisce Claude a confermare prima di eseguire `npm publish`.
416
+ **Predefinito:** Istruisce Claude a confermare prima di eseguire `npm publish`.
416
417
 
417
418
  Nessun parametro.
418
419
 
@@ -421,7 +422,7 @@ Nessun parametro.
421
422
  ### `warn-background-process`
422
423
 
423
424
  **Evento:** PreToolUse (Bash)
424
- **Default:** Istruisce Claude a prestare attenzione quando avvia processi in background tramite `nohup`, `&`, `disown` o `screen`.
425
+ **Predefinito:** Istruisce Claude a stare attento quando avvia processi in background tramite `nohup`, `&`, `disown` o `screen`.
425
426
 
426
427
  Nessun parametro.
427
428
 
@@ -430,20 +431,56 @@ Nessun parametro.
430
431
  ### `warn-global-package-install`
431
432
 
432
433
  **Evento:** PreToolUse (Bash)
433
- **Default:** Istruisce Claude a confermare prima di eseguire `npm install -g`, `yarn global add` o `pip install` senza un ambiente virtuale.
434
+ **Predefinito:** Istruisce Claude a confermare prima di eseguire `npm install -g`, `yarn global add` o `pip install` senza un ambiente virtuale.
434
435
 
435
436
  Nessun parametro.
436
437
 
437
438
  ---
438
439
 
439
- ## Comportamento AI
440
+ ## Gestori di pacchetti
441
+
442
+ Applica quali gestori di pacchetti l'agente può usare.
443
+
444
+ ### `prefer-package-manager`
445
+
446
+ **Evento:** PreToolUse (Bash)
447
+ **Predefinito:** Disabilitato. Quando abilitato, blocca qualsiasi comando del gestore di pacchetti non nell'elenco `allowed` e comunica a Claude di riscrivere il comando usando un gestore consentito.
448
+
449
+ Rileva: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
450
+
451
+ | Parametro | Tipo | Predefinito | Descrizione |
452
+ |-----------|------|---------|-------------|
453
+ | `allowed` | string[] | `[]` | Nomi dei gestori di pacchetti consentiti. Qualsiasi gestore rilevato non in questo elenco viene bloccato. Quando vuoto, la politica non esegue alcuna operazione. |
454
+ | `blocked` | string[] | `[]` | Nomi di gestori aggiuntivi da bloccare oltre all'elenco integrato (ad es. `['pdm', 'pipx']`). |
455
+
456
+ L'elenco di blocco integrato include: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Usa `blocked` per aggiungere gestori non in questo elenco.
457
+
458
+ **Configurazione di esempio:**
459
+
460
+ ```json
461
+ {
462
+ "enabledPolicies": ["prefer-package-manager"],
463
+ "policyParams": {
464
+ "prefer-package-manager": {
465
+ "allowed": ["uv", "bun"],
466
+ "blocked": ["pdm", "pipx"]
467
+ }
468
+ }
469
+ }
470
+ ```
471
+
472
+ Con questa configurazione, sia `pip install flask` che `pdm install flask` vengono negati con un messaggio che comunica a Claude di usare `uv` o `bun` invece. Comandi come `uv pip install flask` sono consentiti perché `uv` è nella whitelist e viene verificato per primo.
473
+
474
+ ---
475
+
476
+ ## Comportamento dell'IA
440
477
 
441
478
  Rileva quando gli agenti si bloccano o si comportano in modo inaspettato.
442
479
 
443
480
  ### `warn-repeated-tool-calls`
444
481
 
445
482
  **Evento:** PreToolUse (tutti gli strumenti)
446
- **Default:** Istruisce Claude a riconsiderare quando lo stesso strumento viene chiamato 3+ volte con parametri identici - un segno comune che l'agente è bloccato in un loop.
483
+ **Predefinito:** Istruisce Claude a riconsiderare quando lo stesso strumento viene chiamato 3 o più volte con parametri identici - un segno comune che l'agente è bloccato in un ciclo.
447
484
 
448
485
  Nessun parametro.
449
486
 
@@ -451,14 +488,14 @@ Nessun parametro.
451
488
 
452
489
  ## Workflow
453
490
 
454
- Applica un disciplinato workflow di fine sessione. Queste politiche si attivano sull'evento **Stop** e negano a Claude di fermarsi fino a quando ogni condizione non è soddisfatta. Seguono una naturale catena di dipendenza: commit → push → PR → CI. Se una politica nega, le politiche successive nella catena vengono saltate (la negazione cortocircuita).
491
+ Applica un disciplinato workflow di fine sessione. Queste politiche si attivano sull'evento **Stop** e negano a Claude di fermarsi fino a quando ogni condizione non è soddisfatta. Seguono una catena di dipendenze naturale: commit → push → PR → CI. Se una politica nega, le politiche successive nella catena vengono saltate (la negazione interrompe la catena).
455
492
 
456
- Tutte le politiche di workflow sono **fail-open**: se lo strumento richiesto non è disponibile (ad es. `gh` non installato, nessun git remote), la politica consente con un messaggio informativo che spiega perché il controllo è stato saltato.
493
+ Tutte le politiche di workflow sono **fail-open**: se lo strumento richiesto non è disponibile (ad es. `gh` non installato, nessun remote git), la politica consente con un messaggio informativo che spiega perché il controllo è stato saltato.
457
494
 
458
495
  ### `require-commit-before-stop`
459
496
 
460
497
  **Evento:** Stop
461
- **Default:** Nega l'arresto quando ci sono modifiche non salvate (file modificati, preparati o non tracciati). Restituisce un messaggio informativo quando la directory di lavoro è pulita.
498
+ **Predefinito:** Nega l'arresto quando ci sono modifiche non committate (file modificati, preparati o non tracciati). Restituisce un messaggio informativo quando la directory di lavoro è pulita.
462
499
 
463
500
  Nessun parametro.
464
501
 
@@ -467,13 +504,13 @@ Nessun parametro.
467
504
  ### `require-push-before-stop`
468
505
 
469
506
  **Evento:** Stop
470
- **Default:** Nega l'arresto quando ci sono commit non pushati o quando il branch corrente non ha alcun branch di tracciamento remoto. Suggerisce `git push -u` per creare un branch di tracciamento se necessario. Fallisce aperto se nessun remote è configurato.
507
+ **Predefinito:** Nega l'arresto quando ci sono commit non pushati o quando il branch attuale non ha un remote tracking branch. Suggerisce `git push -u` per creare un tracking branch se necessario. Fallisce open se nessun remote è configurato.
471
508
 
472
509
  **Parametri:**
473
510
 
474
- | Param | Tipo | Default | Descrizione |
511
+ | Parametro | Tipo | Predefinito | Descrizione |
475
512
  |-------|------|---------|-------------|
476
- | `remote` | `string` | `"origin"` | Nome del remote su cui eseguire il push. |
513
+ | `remote` | `string` | `"origin"` | Nome del remote su cui fare il push. |
477
514
 
478
515
  **Esempio:**
479
516
 
@@ -492,14 +529,14 @@ Nessun parametro.
492
529
  ### `require-pr-before-stop`
493
530
 
494
531
  **Evento:** Stop
495
- **Default:** Nega l'arresto quando non esiste alcuna pull request per il branch corrente, o quando la PR esistente è chiusa/merged. Istruisce Claude a creare una PR con `gh pr create`.
532
+ **Predefinito:** Nega l'arresto quando nessuna pull request esiste per il branch attuale, o quando il PR esistente è chiuso/mergiato. Istruisce Claude a creare un PR con `gh pr create`.
496
533
 
497
534
  Nessun parametro.
498
535
 
499
536
  <Note>
500
- Questa politica richiede l'installazione di [GitHub CLI](https://cli.github.com/) (`gh`) e l'autenticazione.
501
- Esegui `gh auth login` con un personal access token che ha ambito `repo` per l'accesso in lettura alle
502
- pull request. Se `gh` non è installato o non è autenticato, la politica fallisce aperta e comunica il motivo a Claude.
537
+ Questa politica richiede che [GitHub CLI](https://cli.github.com/) (`gh`) sia installato e autenticato.
538
+ Esegui `gh auth login` con un personal access token che ha lo scope `repo` per l'accesso in lettura alle
539
+ pull request. Se `gh` non è installato o non autenticato, la politica fallisce open e segnala il motivo a Claude.
503
540
  </Note>
504
541
 
505
542
  ---
@@ -507,23 +544,23 @@ pull request. Se `gh` non è installato o non è autenticato, la politica fallis
507
544
  ### `require-ci-green-before-stop`
508
545
 
509
546
  **Evento:** Stop
510
- **Default:** Nega l'arresto quando i controlli CI stanno fallendo o sono ancora in esecuzione sul branch corrente. Controlla sia i workflow run GitHub Actions che i controlli bot di terze parti (ad es. CodeRabbit, SonarCloud, Codecov). Tratta le conclusioni `skipped` come successo. Restituisce un messaggio informativo quando tutti i controlli passano.
547
+ **Predefinito:** Nega l'arresto quando i controlli CI sono in fallimento o ancora in esecuzione nel branch attuale. Verifica sia i workflow GitHub Actions che i controlli bot di terze parti (ad es. CodeRabbit, SonarCloud, Codecov). Tratta le conclusioni `skipped` e `cancelled` come successo. Restituisce un messaggio informativo quando tutti i controlli passano.
511
548
 
512
549
  Nessun parametro.
513
550
 
514
551
  <Note>
515
- Questa politica richiede l'installazione di [GitHub CLI](https://cli.github.com/) (`gh`) e l'autenticazione.
516
- Esegui `gh auth login` con un personal access token che ha ambito `repo` per l'accesso in lettura ai
517
- workflow run di Actions e all'API Checks. Se `gh` non è installato o non è autenticato, la politica fallisce aperta e comunica il motivo a Claude.
552
+ Questa politica richiede che [GitHub CLI](https://cli.github.com/) (`gh`) sia installato e autenticato.
553
+ Esegui `gh auth login` con un personal access token che ha lo scope `repo` per l'accesso in lettura ai
554
+ workflow Actions e all'API Checks. Se `gh` non è installato o non autenticato, la politica fallisce open e segnala il motivo a Claude.
518
555
  </Note>
519
556
 
520
557
  ---
521
558
 
522
559
  ---
523
560
 
524
- ## Disabilitazione di politiche individuali
561
+ ## Disabilitazione di singole politiche
525
562
 
526
- Rimuovi una politica specifica da `enabledPolicies` nella tua configurazione, o disattivala nella scheda Politiche del dashboard.
563
+ Rimuovi una politica specifica da `enabledPolicies` nella tua configurazione, o disattivala nella scheda Policies della dashboard.
527
564
 
528
565
  ```json
529
566
  {