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
2
  title: Políticas Integradas
3
- description: "Todas as 30 políticas integradas que detectam modos comuns de falha de agentes"
3
+ description: "Todas as 30 políticas integradas que detectam falhas comuns em agentes"
4
4
  icon: shield
5
5
  ---
6
6
 
7
- failproofai vem com 30 políticas integradas que detectam modos comuns de falha de agentes. Cada política é acionada em um tipo específico de evento de hook e nome de ferramenta. Nove políticas aceitam parâmetros que permitem ajustar seu comportamento sem escrever código. Quatro políticas de workflow impõem um pipeline commit → push → PR → CI antes que o Claude pare.
7
+ failproofai vem com 30 políticas integradas que detectam falhas comuns em agentes. Cada política é acionada em um tipo específico de evento de hook e nome de ferramenta. Nove políticas aceitam parâmetros que permitem ajustar seu comportamento sem escrever código. Quatro políticas de fluxo de trabalho impõem um pipeline de commit → push → PR → CI antes que Claude pare.
8
8
 
9
9
  ---
10
10
 
11
- ## Visão geral
11
+ ## Visão Geral
12
12
 
13
13
  As políticas são agrupadas em categorias:
14
14
 
15
15
  | Categoria | Políticas | Tipo de hook |
16
- |----------|----------|-----------|
16
+ |-----------|-----------|--------------|
17
17
  | [Comandos perigosos](#dangerous-commands) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
18
18
  | [Segredos (sanitizadores)](#secrets-sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
19
19
  | [Ambiente](#environment) | block-env-files, protect-env-vars | PreToolUse |
@@ -22,7 +22,7 @@ As políticas são agrupadas em categorias:
22
22
  | [Banco de dados](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
23
23
  | [Avisos](#warnings) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
24
24
  | [Gerenciadores de pacotes](#package-managers) | prefer-package-manager | PreToolUse |
25
- | [Workflow](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
25
+ | [Fluxo de trabalho](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
26
26
 
27
27
  - **`block-`** — impede o agente de prosseguir.
28
28
  - **`warn-`** — fornece contexto adicional ao agente para que ele possa se autocorrigir.
@@ -32,27 +32,27 @@ As políticas são agrupadas em categorias:
32
32
  ---
33
33
 
34
34
  <Tip>
35
- Toda política suporta um campo `hint` opcional em `policyParams`. O hint é anexado à mensagem de deny ou instruct que o Claude vê, fornecendo orientações práticas sem modificar o código da política. Funciona com políticas integradas, customizadas e de convenção. Veja [Configuração → hint](/pt-br/configuration#hint-cross-cutting) para detalhes.
35
+ Toda política suporta um campo opcional `hint` em `policyParams`. O hint é anexado à mensagem de deny ou instruct que Claude vê, fornecendo orientação prática sem modificar o código da política. Funciona com políticas integradas, personalizadas e de convenção. Consulte [Configuração → hint](/pt-br/configuration#hint-cross-cutting) para mais detalhes.
36
36
  </Tip>
37
37
 
38
38
  ---
39
39
 
40
40
  ## Comandos perigosos
41
41
 
42
- Impede agentes de executar operações difíceis de desfazer ou que possam danificar o sistema host.
42
+ Impede que agentes executem operações difíceis de desfazer ou que possam danificar o sistema host.
43
43
 
44
44
  ### `block-sudo`
45
45
 
46
46
  **Evento:** PreToolUse (Bash)
47
47
  **Padrão:** Nega qualquer comando `sudo`.
48
48
 
49
- Bloqueia invocações que incluem a palavra-chave `sudo`. A correspondência de padrões é feita em tokens de comando analisados, não na string bruta, para evitar bypass por injeção de operadores shell.
49
+ Bloqueia invocações que incluem a palavra-chave `sudo`. A correspondência de padrão é feita nos tokens de comando analisados, não na string bruta, para evitar bypass por injeção de operadores shell.
50
50
 
51
51
  **Parâmetros:**
52
52
 
53
53
  | Parâmetro | Tipo | Padrão | Descrição |
54
- |-------|------|---------|-------------|
55
- | `allowPatterns` | `string[]` | `[]` | Prefixos exatos de comando que são permitidos. Cada entrada é correspondida com os tokens argv analisados. |
54
+ |-----------|------|--------|-----------|
55
+ | `allowPatterns` | `string[]` | `[]` | Prefixos de comando exatos que são permitidos. Cada entrada é comparada com os tokens argv analisados. |
56
56
 
57
57
  **Exemplo:**
58
58
 
@@ -69,7 +69,7 @@ Bloqueia invocações que incluem a palavra-chave `sudo`. A correspondência de
69
69
  Com esta configuração, `sudo systemctl status nginx` é permitido, mas `sudo rm /etc/hosts` é negado.
70
70
 
71
71
  <Note>
72
- Os padrões são correspondidos com tokens analisados, não com a string de comando bruta. Isso evita bypass por meio de operadores shell anexados (ex.: `sudo systemctl status x; rm -rf /` não corresponde a `sudo systemctl status *`).
72
+ Os padrões são comparados com os tokens analisados, não com a string de comando bruta. Isso impede bypass por meio de operadores shell anexados (ex.: `sudo systemctl status x; rm -rf /` não corresponde a `sudo systemctl status *`).
73
73
  </Note>
74
74
 
75
75
  ---
@@ -82,8 +82,8 @@ Os padrões são correspondidos com tokens analisados, não com a string de coma
82
82
  **Parâmetros:**
83
83
 
84
84
  | Parâmetro | Tipo | Padrão | Descrição |
85
- |-------|------|---------|-------------|
86
- | `allowPaths` | `string[]` | `[]` | Caminhos que são seguros para exclusão recursiva (ex.: `/tmp`). |
85
+ |-----------|------|--------|-----------|
86
+ | `allowPaths` | `string[]` | `[]` | Caminhos que podem ser excluídos recursivamente com segurança (ex.: `/tmp`). |
87
87
 
88
88
  **Exemplo:**
89
89
 
@@ -119,7 +119,7 @@ Sem parâmetros.
119
119
 
120
120
  ## Segredos (sanitizadores)
121
121
 
122
- Impede agentes de vazar credenciais em seu contexto ou saída. As políticas de sanitização são acionadas em eventos **PostToolUse**. Quando o Claude executa um comando Bash, lê um arquivo ou chama qualquer ferramenta, essas políticas inspecionam a saída antes de ela ser retornada ao Claude. Se um padrão de segredo for detectado, a política retorna uma decisão de deny que impede a saída de ser repassada.
122
+ Impede que agentes vazem credenciais em seu contexto ou saída. As políticas de sanitização são acionadas em eventos **PostToolUse**. Quando Claude executa um comando Bash, lê um arquivo ou chama qualquer ferramenta, essas políticas inspecionam a saída antes de ela ser retornada a Claude. Se um padrão de segredo for detectado, a política retorna uma decisão de deny que impede que a saída seja repassada.
123
123
 
124
124
  ### `sanitize-jwt`
125
125
 
@@ -133,12 +133,12 @@ Sem parâmetros.
133
133
  ### `sanitize-api-keys`
134
134
 
135
135
  **Evento:** PostToolUse (todas as ferramentas)
136
- **Padrão:** Redige formatos comuns de chave de API: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), chaves de acesso AWS (`AKIA`), chaves Stripe (`sk_live_`, `sk_test_`) e chaves Google API (`AIza`).
136
+ **Padrão:** Redige formatos comuns de chave de API: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), chaves de acesso AWS (`AKIA`), chaves Stripe (`sk_live_`, `sk_test_`) e chaves de API do Google (`AIza`).
137
137
 
138
138
  **Parâmetros:**
139
139
 
140
140
  | Parâmetro | Tipo | Padrão | Descrição |
141
- |-------|------|---------|-------------|
141
+ |-----------|------|--------|-----------|
142
142
  | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Padrões regex adicionais para tratar como segredos. |
143
143
 
144
144
  **Exemplo:**
@@ -161,7 +161,7 @@ Sem parâmetros.
161
161
  ### `sanitize-connection-strings`
162
162
 
163
163
  **Evento:** PostToolUse (todas as ferramentas)
164
- **Padrão:** Redige strings de conexão de banco de dados que contêm credenciais incorporadas (ex.: `postgresql://user:password@host/db`).
164
+ **Padrão:** Redige strings de conexão de banco de dados que contêm credenciais embutidas (ex.: `postgresql://user:password@host/db`).
165
165
 
166
166
  Sem parâmetros.
167
167
 
@@ -187,14 +187,14 @@ Sem parâmetros.
187
187
 
188
188
  ## Ambiente
189
189
 
190
- Protege configurações sensíveis de ambiente de serem lidas ou expostas por agentes.
190
+ Protege a configuração sensível do ambiente de ser lida ou exposta por agentes.
191
191
 
192
192
  ### `block-env-files`
193
193
 
194
194
  **Evento:** PreToolUse (Bash, Read)
195
195
  **Padrão:** Nega a leitura de arquivos `.env` via `cat .env`, chamadas da ferramenta `Read` com `.env` como caminho do arquivo, etc.
196
196
 
197
- Não bloqueia `.envrc` ou outros arquivos relacionados a ambiente — apenas arquivos com o nome exato `.env`.
197
+ Não bloqueia `.envrc` ou outros arquivos relacionados ao ambiente — apenas arquivos nomeados exatamente `.env`.
198
198
 
199
199
  Sem parâmetros.
200
200
 
@@ -221,8 +221,8 @@ Mantém os agentes trabalhando dentro dos limites do projeto e longe de arquivos
221
221
  **Parâmetros:**
222
222
 
223
223
  | Parâmetro | Tipo | Padrão | Descrição |
224
- |-------|------|---------|-------------|
225
- | `allowPaths` | `string[]` | `[]` | Prefixos de caminho absoluto que são permitidos mesmo que estejam fora do cwd. |
224
+ |-----------|------|--------|-----------|
225
+ | `allowPaths` | `string[]` | `[]` | Prefixos de caminho absoluto que são permitidos mesmo estando fora do cwd. |
226
226
 
227
227
  **Exemplo:**
228
228
 
@@ -246,8 +246,8 @@ Mantém os agentes trabalhando dentro dos limites do projeto e longe de arquivos
246
246
  **Parâmetros:**
247
247
 
248
248
  | Parâmetro | Tipo | Padrão | Descrição |
249
- |-------|------|---------|-------------|
250
- | `additionalPatterns` | `string[]` | `[]` | Padrões adicionais de nome de arquivo (estilo glob) para bloquear. |
249
+ |-----------|------|--------|-----------|
250
+ | `additionalPatterns` | `string[]` | `[]` | Padrões de nome de arquivo adicionais (estilo glob) para bloquear. |
251
251
 
252
252
  **Exemplo:**
253
253
 
@@ -275,8 +275,8 @@ Previne pushes acidentais, force-pushes e erros de branch que são difíceis de
275
275
  **Parâmetros:**
276
276
 
277
277
  | Parâmetro | Tipo | Padrão | Descrição |
278
- |-------|------|---------|-------------|
279
- | `protectedBranches` | `string[]` | `["main", "master"]` | Nomes de branches que não podem receber push diretamente. |
278
+ |-----------|------|--------|-----------|
279
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Nomes de branch para os quais não é possível fazer push diretamente. |
280
280
 
281
281
  **Exemplo:**
282
282
 
@@ -291,7 +291,7 @@ Previne pushes acidentais, force-pushes e erros de branch que são difíceis de
291
291
  ```
292
292
 
293
293
  <Tip>
294
- Para permitir push em todos os branches (efetivamente desabilitando esta política sem removê-la de `enabledPolicies`), defina `protectedBranches: []`.
294
+ Para permitir push em todos os branches (desativando efetivamente esta política sem removê-la de `enabledPolicies`), defina `protectedBranches: []`.
295
295
  </Tip>
296
296
 
297
297
  ---
@@ -299,13 +299,13 @@ Para permitir push em todos os branches (efetivamente desabilitando esta políti
299
299
  ### `block-work-on-main`
300
300
 
301
301
  **Evento:** PreToolUse (Bash)
302
- **Padrão:** Nega checkout direto nos branches `main` ou `master`.
302
+ **Padrão:** Nega o checkout direto dos branches `main` ou `master`.
303
303
 
304
304
  **Parâmetros:**
305
305
 
306
306
  | Parâmetro | Tipo | Padrão | Descrição |
307
- |-------|------|---------|-------------|
308
- | `protectedBranches` | `string[]` | `["main", "master"]` | Nomes de branches que não podem receber checkout diretamente. |
307
+ |-----------|------|--------|-----------|
308
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Nomes de branch que não podem ser acessados diretamente via checkout. |
309
309
 
310
310
  ---
311
311
 
@@ -314,7 +314,7 @@ Para permitir push em todos os branches (efetivamente desabilitando esta políti
314
314
  **Evento:** PreToolUse (Bash)
315
315
  **Padrão:** Nega `git push --force` e `git push -f`.
316
316
 
317
- Sem parâmetros específicos da política. Use o [`hint`](/pt-br/configuration#hint-cross-cutting) transversal para sugerir alternativas:
317
+ Sem parâmetros específicos de política. Use o [`hint`](/pt-br/configuration#hint-cross-cutting) transversal para sugerir alternativas:
318
318
 
319
319
  ```json
320
320
  {
@@ -331,7 +331,7 @@ Sem parâmetros específicos da política. Use o [`hint`](/pt-br/configuration#h
331
331
  ### `warn-git-amend`
332
332
 
333
333
  **Evento:** PreToolUse (Bash)
334
- **Padrão:** Instrui o Claude a prosseguir com cuidado ao executar `git commit --amend`. Não bloqueia o comando.
334
+ **Padrão:** Instrui Claude a prosseguir com cuidado ao executar `git commit --amend`. Não bloqueia o comando.
335
335
 
336
336
  Sem parâmetros.
337
337
 
@@ -340,7 +340,7 @@ Sem parâmetros.
340
340
  ### `warn-git-stash-drop`
341
341
 
342
342
  **Evento:** PreToolUse (Bash)
343
- **Padrão:** Instrui o Claude a confirmar antes de executar `git stash drop`. Não bloqueia o comando.
343
+ **Padrão:** Instrui Claude a confirmar antes de executar `git stash drop`. Não bloqueia o comando.
344
344
 
345
345
  Sem parâmetros.
346
346
 
@@ -349,7 +349,7 @@ Sem parâmetros.
349
349
  ### `warn-all-files-staged`
350
350
 
351
351
  **Evento:** PreToolUse (Bash)
352
- **Padrão:** Instrui o Claude a revisar o que está sendo adicionado ao stage ao executar `git add -A` ou `git add .`. Não bloqueia o comando.
352
+ **Padrão:** Instrui Claude a revisar o que está sendo preparado para commit ao executar `git add -A` ou `git add .`. Não bloqueia o comando.
353
353
 
354
354
  Sem parâmetros.
355
355
 
@@ -357,12 +357,12 @@ Sem parâmetros.
357
357
 
358
358
  ## Banco de dados
359
359
 
360
- Detecta operações SQL destrutivas antes que sejam executadas no seu banco de dados.
360
+ Detecta operações SQL destrutivas antes que sejam executadas no banco de dados.
361
361
 
362
362
  ### `warn-destructive-sql`
363
363
 
364
364
  **Evento:** PreToolUse (Bash)
365
- **Padrão:** Instrui o Claude a confirmar antes de executar SQL contendo `DROP TABLE`, `DROP DATABASE` ou `DELETE` sem uma cláusula `WHERE`.
365
+ **Padrão:** Instrui Claude a confirmar antes de executar SQL contendo `DROP TABLE`, `DROP DATABASE` ou `DELETE` sem uma cláusula `WHERE`.
366
366
 
367
367
  Sem parâmetros.
368
368
 
@@ -371,7 +371,7 @@ Sem parâmetros.
371
371
  ### `warn-schema-alteration`
372
372
 
373
373
  **Evento:** PreToolUse (Bash)
374
- **Padrão:** Instrui o Claude a confirmar antes de executar instruções `ALTER TABLE`.
374
+ **Padrão:** Instrui Claude a confirmar antes de executar instruções `ALTER TABLE`.
375
375
 
376
376
  Sem parâmetros.
377
377
 
@@ -384,12 +384,12 @@ Fornece contexto extra aos agentes antes de operações potencialmente arriscada
384
384
  ### `warn-large-file-write`
385
385
 
386
386
  **Evento:** PreToolUse (Write)
387
- **Padrão:** Instrui o Claude a confirmar antes de gravar arquivos maiores que 1024 KB.
387
+ **Padrão:** Instrui Claude a confirmar antes de gravar arquivos maiores que 1024 KB.
388
388
 
389
389
  **Parâmetros:**
390
390
 
391
391
  | Parâmetro | Tipo | Padrão | Descrição |
392
- |-------|------|---------|-------------|
392
+ |-----------|------|--------|-----------|
393
393
  | `thresholdKb` | `number` | `1024` | Limite de tamanho de arquivo em kilobytes acima do qual um aviso é emitido. |
394
394
 
395
395
  **Exemplo:**
@@ -405,7 +405,7 @@ Fornece contexto extra aos agentes antes de operações potencialmente arriscada
405
405
  ```
406
406
 
407
407
  <Note>
408
- O handler do hook impõe um limite de 1 MB de stdin em payloads. Para testar esta política com conteúdo pequeno, defina `thresholdKb` para um valor bem abaixo de 1024.
408
+ O handler do hook impõe um limite de 1 MB no stdin para payloads. Para testar esta política com conteúdo pequeno, defina `thresholdKb` com um valor bem abaixo de 1024.
409
409
  </Note>
410
410
 
411
411
  ---
@@ -413,7 +413,7 @@ O handler do hook impõe um limite de 1 MB de stdin em payloads. Para testar est
413
413
  ### `warn-package-publish`
414
414
 
415
415
  **Evento:** PreToolUse (Bash)
416
- **Padrão:** Instrui o Claude a confirmar antes de executar `npm publish`.
416
+ **Padrão:** Instrui Claude a confirmar antes de executar `npm publish`.
417
417
 
418
418
  Sem parâmetros.
419
419
 
@@ -422,7 +422,7 @@ Sem parâmetros.
422
422
  ### `warn-background-process`
423
423
 
424
424
  **Evento:** PreToolUse (Bash)
425
- **Padrão:** Instrui o Claude a ter cuidado ao iniciar processos em segundo plano via `nohup`, `&`, `disown` ou `screen`.
425
+ **Padrão:** Instrui Claude a ter cuidado ao iniciar processos em segundo plano via `nohup`, `&`, `disown` ou `screen`.
426
426
 
427
427
  Sem parâmetros.
428
428
 
@@ -431,7 +431,7 @@ Sem parâmetros.
431
431
  ### `warn-global-package-install`
432
432
 
433
433
  **Evento:** PreToolUse (Bash)
434
- **Padrão:** Instrui o Claude a confirmar antes de executar `npm install -g`, `yarn global add` ou `pip install` sem um ambiente virtual.
434
+ **Padrão:** Instrui Claude a confirmar antes de executar `npm install -g`, `yarn global add` ou `pip install` sem um ambiente virtual.
435
435
 
436
436
  Sem parâmetros.
437
437
 
@@ -439,21 +439,21 @@ Sem parâmetros.
439
439
 
440
440
  ## Gerenciadores de pacotes
441
441
 
442
- Impõe quais gerenciadores de pacotes o agente tem permissão de usar.
442
+ Impõe quais gerenciadores de pacotes o agente pode usar.
443
443
 
444
444
  ### `prefer-package-manager`
445
445
 
446
446
  **Evento:** PreToolUse (Bash)
447
- **Padrão:** Desabilitado. Quando habilitado, bloqueia qualquer comando de gerenciador de pacotes que não esteja na lista `allowed` e diz ao Claude para reescrever o comando usando um gerenciador permitido.
447
+ **Padrão:** Desabilitado. Quando habilitado, bloqueia qualquer comando de gerenciador de pacotes que não esteja na lista `allowed` e instrui Claude a reescrever o comando usando um gerenciador permitido.
448
448
 
449
449
  Detecta: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
450
450
 
451
451
  | Parâmetro | Tipo | Padrão | Descrição |
452
- |-----------|------|---------|-------------|
453
- | `allowed` | string[] | `[]` | Nomes de gerenciadores de pacotes permitidos. Qualquer gerenciador detectado que não esteja nesta lista é bloqueado. Quando vazio, a política não faz nada. |
454
- | `blocked` | string[] | `[]` | Nomes de gerenciadores adicionais para bloquear além da lista integrada (ex.: `['pdm', 'pipx']`). |
452
+ |-----------|------|--------|-----------|
453
+ | `allowed` | string[] | `[]` | Nomes de gerenciadores de pacotes permitidos. Qualquer gerenciador detectado que não esteja nesta lista é bloqueado. Quando vazia, a política não faz nada. |
454
+ | `blocked` | string[] | `[]` | Nomes adicionais de gerenciadores a bloquear além da lista integrada (ex.: `['pdm', 'pipx']`). |
455
455
 
456
- A lista de bloqueio integrada cobre: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Use `blocked` para adicionar gerenciadores que não estão nesta lista.
456
+ A lista de bloqueio integrada abrange: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Use `blocked` para adicionar gerenciadores que não estão nesta lista.
457
457
 
458
458
  **Exemplo de configuração:**
459
459
 
@@ -469,33 +469,33 @@ A lista de bloqueio integrada cobre: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun,
469
469
  }
470
470
  ```
471
471
 
472
- Com esta configuração, `pip install flask` e `pdm install flask` são ambos negados com uma mensagem dizendo ao Claude para usar `uv` ou `bun` em vez disso. Comandos como `uv pip install flask` são permitidos porque `uv` está na lista de permitidos e é verificado primeiro.
472
+ Com esta configuração, `pip install flask` e `pdm install flask` são ambos negados com uma mensagem instruindo Claude a usar `uv` ou `bun`. Comandos como `uv pip install flask` são permitidos porque `uv` está na lista de permissões e é verificado primeiro.
473
473
 
474
474
  ---
475
475
 
476
476
  ## Comportamento de IA
477
477
 
478
- Detecta quando agentes ficam presos ou se comportam de forma inesperada.
478
+ Detecta quando agentes ficam travados ou se comportam de forma inesperada.
479
479
 
480
480
  ### `warn-repeated-tool-calls`
481
481
 
482
482
  **Evento:** PreToolUse (todas as ferramentas)
483
- **Padrão:** Instrui o Claude a reconsiderar quando a mesma ferramenta é chamada 3 ou mais vezes com parâmetros idênticos — um sinal comum de que o agente está preso em um loop.
483
+ **Padrão:** Instrui Claude a reconsiderar quando a mesma ferramenta é chamada 3 ou mais vezes com parâmetros idênticos — um sinal comum de que o agente está preso em um loop.
484
484
 
485
485
  Sem parâmetros.
486
486
 
487
487
  ---
488
488
 
489
- ## Workflow
489
+ ## Fluxo de trabalho
490
490
 
491
- Impõe um workflow disciplinado de fim de sessão. Essas políticas são acionadas no evento **Stop** e impedem o Claude de parar até que cada condição seja atendida. Elas seguem uma cadeia de dependência natural: commit → push → PR → CI. Se uma política negar, as políticas posteriores na cadeia são ignoradas (deny causa curto-circuito).
491
+ Impõe um fluxo de trabalho disciplinado ao final da sessão. Essas políticas são acionadas no evento **Stop** e impedem Claude de parar até que cada condição seja atendida. Elas seguem uma cadeia de dependência natural: commit → push → PR → CI. Se uma política negar, as políticas subsequentes na cadeia são ignoradas (deny provoca curto-circuito).
492
492
 
493
- Todas as políticas de workflow são **fail-open**: se a ferramenta necessária não estiver disponível (ex.: `gh` não instalado, sem remote git), a política permite com uma mensagem informativa explicando por que a verificação foi ignorada.
493
+ Todas as políticas de fluxo de trabalho são **fail-open**: se a ferramenta necessária não estiver disponível (ex.: `gh` não instalado, sem remote git), a política permite com uma mensagem informativa explicando por que a verificação foi ignorada.
494
494
 
495
495
  ### `require-commit-before-stop`
496
496
 
497
497
  **Evento:** Stop
498
- **Padrão:** Nega a parada quando há alterações não commitadas (arquivos modificados, em stage ou não rastreados). Retorna uma mensagem informativa quando o diretório de trabalho está limpo.
498
+ **Padrão:** Nega a parada quando há alterações não commitadas (arquivos modificados, preparados ou não rastreados). Retorna uma mensagem informativa quando o diretório de trabalho está limpo.
499
499
 
500
500
  Sem parâmetros.
501
501
 
@@ -504,13 +504,13 @@ Sem parâmetros.
504
504
  ### `require-push-before-stop`
505
505
 
506
506
  **Evento:** Stop
507
- **Padrão:** Nega a parada quando há commits não enviados por push ou quando o branch atual não tem um branch de rastreamento remoto. Sugere `git push -u` para criar um branch de rastreamento se necessário. Falha de forma aberta se nenhum remote estiver configurado.
507
+ **Padrão:** Nega a parada quando há commits não enviados ou quando o branch atual não possui um branch de rastreamento remoto. Sugere `git push -u` para criar um branch de rastreamento se necessário. Fail-open se nenhum remote estiver configurado.
508
508
 
509
509
  **Parâmetros:**
510
510
 
511
511
  | Parâmetro | Tipo | Padrão | Descrição |
512
- |-------|------|---------|-------------|
513
- | `remote` | `string` | `"origin"` | Nome do remote para o qual fazer push. |
512
+ |-----------|------|--------|-----------|
513
+ | `remote` | `string` | `"origin"` | Nome do remote para onde fazer push. |
514
514
 
515
515
  **Exemplo:**
516
516
 
@@ -529,14 +529,14 @@ Sem parâmetros.
529
529
  ### `require-pr-before-stop`
530
530
 
531
531
  **Evento:** Stop
532
- **Padrão:** Nega a parada quando não existe nenhum pull request para o branch atual, ou quando o PR existente está fechado/mesclado. Instrui o Claude a criar um PR com `gh pr create`.
532
+ **Padrão:** Nega a parada quando não existe pull request para o branch atual, ou quando o PR existente está fechado/mergeado. Instrui Claude a criar um PR com `gh pr create`.
533
533
 
534
534
  Sem parâmetros.
535
535
 
536
536
  <Note>
537
537
  Esta política requer que o [GitHub CLI](https://cli.github.com/) (`gh`) esteja instalado e autenticado.
538
- Execute `gh auth login` com um personal access token que tenha o escopo `repo` para acesso de leitura a
539
- pull requests. Se `gh` não estiver instalado ou autenticado, a política falha de forma aberta e informa o motivo ao Claude.
538
+ Execute `gh auth login` com um token de acesso pessoal que tenha escopo `repo` para acesso de leitura a
539
+ pull requests. Se `gh` não estiver instalado ou autenticado, a política falha de forma aberta (fail-open) e reporta o motivo a Claude.
540
540
  </Note>
541
541
 
542
542
  ---
@@ -544,14 +544,14 @@ pull requests. Se `gh` não estiver instalado ou autenticado, a política falha
544
544
  ### `require-ci-green-before-stop`
545
545
 
546
546
  **Evento:** Stop
547
- **Padrão:** Nega a parada quando verificações de CI estão falhando ou ainda em execução no branch atual. Verifica tanto execuções de workflow do GitHub Actions quanto verificações de bots de terceiros (ex.: CodeRabbit, SonarCloud, Codecov). Trata conclusões `skipped` como sucesso. Retorna uma mensagem informativa quando todas as verificações passam.
547
+ **Padrão:** Nega a parada quando as verificações de CI estão falhando ou ainda em execução no branch atual. Verifica tanto execuções de workflows do GitHub Actions quanto verificações de bots de terceiros (ex.: CodeRabbit, SonarCloud, Codecov). Trata conclusões `skipped` e `cancelled` como sucesso. Retorna uma mensagem informativa quando todas as verificações passam.
548
548
 
549
549
  Sem parâmetros.
550
550
 
551
551
  <Note>
552
552
  Esta política requer que o [GitHub CLI](https://cli.github.com/) (`gh`) esteja instalado e autenticado.
553
- Execute `gh auth login` com um personal access token que tenha o escopo `repo` para acesso de leitura a
554
- execuções de workflow do Actions e à API de Checks. Se `gh` não estiver instalado ou autenticado, a política falha de forma aberta e informa o motivo ao Claude.
553
+ Execute `gh auth login` com um token de acesso pessoal que tenha escopo `repo` para acesso de leitura a
554
+ execuções de workflows do Actions e à API de Checks. Se `gh` não estiver instalado ou autenticado, a política falha de forma aberta (fail-open) e reporta o motivo a Claude.
555
555
  </Note>
556
556
 
557
557
  ---
@@ -560,7 +560,7 @@ execuções de workflow do Actions e à API de Checks. Se `gh` não estiver inst
560
560
 
561
561
  ## Desabilitando políticas individuais
562
562
 
563
- Remova uma política específica de `enabledPolicies` na sua configuração, ou desative-a na aba Policies do dashboard.
563
+ Remova uma política específica de `enabledPolicies` na sua configuração, ou desative-a na aba Políticas do painel.
564
564
 
565
565
  ```json
566
566
  {