failproofai 0.0.3 → 0.0.4
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.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0bo8s~-._.js → [root-of-the-server]__0lty_fo._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__03kiqd5._.js → [root-of-the-server]__0v1egkj._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{03oepxbqx6o8~.js → 0b2_069x5qnxg.js} +2 -2
- package/.next/standalone/.next/static/chunks/{02t9.s735hqyq.js → 0de3q2juhg_dr.js} +1 -1
- package/.next/standalone/.next/static/chunks/{18cl6wups7ouq.js → 0p5sfob-upg0g.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0h5kbvg~.xf.v.js → 0tw_xfxb1tto..js} +1 -1
- package/.next/standalone/.next/static/chunks/{0od..umlku4bb.js → 0uxpbrcv44lga.js} +1 -1
- package/.next/standalone/.next/static/chunks/0xjz3w.yw5tza.js +1 -0
- package/.next/standalone/.next/static/chunks/{0xbwzy4dl87-0.js → 0y-bi_mp2rv4l.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0cwft44dh9bww.js → 11zlh73ggln0w.js} +1 -1
- package/.next/standalone/CHANGELOG.md +5 -0
- package/.next/standalone/dist/cli.mjs +4 -8
- package/.next/standalone/docs/ar/built-in-policies.mdx +100 -129
- package/.next/standalone/docs/ar/cli/install-policies.mdx +10 -11
- package/.next/standalone/docs/ar/cli/remove-policies.mdx +10 -12
- package/.next/standalone/docs/built-in-policies.mdx +3 -30
- package/.next/standalone/docs/cli/install-policies.mdx +0 -1
- package/.next/standalone/docs/cli/remove-policies.mdx +0 -1
- package/.next/standalone/docs/de/built-in-policies.mdx +65 -92
- package/.next/standalone/docs/de/cli/install-policies.mdx +3 -4
- package/.next/standalone/docs/de/cli/remove-policies.mdx +3 -4
- package/.next/standalone/docs/docs.json +5 -0
- package/.next/standalone/docs/es/built-in-policies.mdx +66 -93
- package/.next/standalone/docs/es/cli/install-policies.mdx +4 -5
- package/.next/standalone/docs/es/cli/remove-policies.mdx +4 -5
- package/.next/standalone/docs/fr/built-in-policies.mdx +83 -110
- package/.next/standalone/docs/fr/cli/install-policies.mdx +11 -12
- package/.next/standalone/docs/fr/cli/remove-policies.mdx +2 -3
- package/.next/standalone/docs/he/built-in-policies.mdx +131 -160
- package/.next/standalone/docs/he/cli/install-policies.mdx +14 -15
- package/.next/standalone/docs/he/cli/remove-policies.mdx +13 -14
- package/.next/standalone/docs/hi/built-in-policies.mdx +168 -197
- package/.next/standalone/docs/hi/cli/install-policies.mdx +10 -11
- package/.next/standalone/docs/hi/cli/remove-policies.mdx +13 -14
- package/.next/standalone/docs/it/built-in-policies.mdx +83 -110
- package/.next/standalone/docs/it/cli/install-policies.mdx +12 -13
- package/.next/standalone/docs/it/cli/remove-policies.mdx +5 -6
- package/.next/standalone/docs/ja/built-in-policies.mdx +119 -146
- package/.next/standalone/docs/ja/cli/install-policies.mdx +12 -13
- package/.next/standalone/docs/ja/cli/remove-policies.mdx +8 -9
- package/.next/standalone/docs/ko/built-in-policies.mdx +80 -107
- package/.next/standalone/docs/ko/cli/install-policies.mdx +10 -11
- package/.next/standalone/docs/ko/cli/remove-policies.mdx +2 -3
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +46 -73
- package/.next/standalone/docs/pt-br/cli/install-policies.mdx +5 -6
- package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +11 -12
- package/.next/standalone/docs/ru/built-in-policies.mdx +107 -132
- package/.next/standalone/docs/ru/cli/install-policies.mdx +10 -10
- package/.next/standalone/docs/ru/cli/remove-policies.mdx +13 -14
- package/.next/standalone/docs/tr/built-in-policies.mdx +106 -131
- package/.next/standalone/docs/tr/cli/install-policies.mdx +14 -15
- package/.next/standalone/docs/tr/cli/remove-policies.mdx +7 -8
- package/.next/standalone/docs/vi/built-in-policies.mdx +73 -100
- package/.next/standalone/docs/vi/cli/install-policies.mdx +17 -18
- package/.next/standalone/docs/vi/cli/remove-policies.mdx +11 -12
- package/.next/standalone/docs/zh/built-in-policies.mdx +77 -104
- package/.next/standalone/docs/zh/cli/install-policies.mdx +4 -5
- package/.next/standalone/docs/zh/cli/remove-policies.mdx +8 -9
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/hooks/builtin-policies.ts +0 -4
- package/dist/cli.mjs +4 -8
- package/package.json +1 -1
- package/src/hooks/builtin-policies.ts +0 -4
- package/.next/standalone/.next/static/chunks/0e2uz2g026ckb.js +0 -1
- /package/.next/standalone/.next/static/{En9eEShUkUjgeYbY9v6Gy → LayjxQulxIcNH19Lqgjbf}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{En9eEShUkUjgeYbY9v6Gy → LayjxQulxIcNH19Lqgjbf}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{En9eEShUkUjgeYbY9v6Gy → LayjxQulxIcNH19Lqgjbf}/_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
|
|
3
|
+
description: "Todas as 30 políticas integradas que detectam falhas comuns de agentes"
|
|
4
4
|
icon: shield
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
failproofai vem com 30 políticas integradas que
|
|
7
|
+
failproofai vem com 30 políticas integradas que detectam falhas comuns 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 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
|
|
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 |
|
|
@@ -21,7 +21,7 @@ As políticas são agrupadas em categorias:
|
|
|
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
|
| [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
|
-
| [Fluxo de trabalho
|
|
24
|
+
| [Fluxo de trabalho](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
25
25
|
|
|
26
26
|
- **`block-`** — impede o agente de prosseguir.
|
|
27
27
|
- **`warn-`** — fornece contexto adicional ao agente para que ele possa se autocorrigir.
|
|
@@ -31,26 +31,26 @@ As políticas são agrupadas em categorias:
|
|
|
31
31
|
---
|
|
32
32
|
|
|
33
33
|
<Tip>
|
|
34
|
-
Toda política suporta um campo opcional `hint` em `policyParams`. O hint é anexado à mensagem de deny ou instruct que Claude vê, fornecendo orientações práticas sem modificar o código da política. Funciona com políticas integradas, personalizadas e de convenção.
|
|
34
|
+
Toda política suporta um campo opcional `hint` em `policyParams`. O hint é anexado à mensagem de deny ou instruct que Claude vê, fornecendo orientações práticas 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.
|
|
35
35
|
</Tip>
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
39
|
## Comandos perigosos
|
|
40
40
|
|
|
41
|
-
Impede agentes
|
|
41
|
+
Impede que agentes executem operações difíceis de desfazer ou que possam danificar o sistema host.
|
|
42
42
|
|
|
43
43
|
### `block-sudo`
|
|
44
44
|
|
|
45
45
|
**Evento:** PreToolUse (Bash)
|
|
46
46
|
**Padrão:** Nega qualquer comando `sudo`.
|
|
47
47
|
|
|
48
|
-
Bloqueia invocações que
|
|
48
|
+
Bloqueia invocações que incluam a palavra-chave `sudo`. A correspondência de padrões é feita nos tokens de comando analisados, não na string bruta, para evitar bypass via injeção de operadores de shell.
|
|
49
49
|
|
|
50
50
|
**Parâmetros:**
|
|
51
51
|
|
|
52
52
|
| Parâmetro | Tipo | Padrão | Descrição |
|
|
53
|
-
|
|
53
|
+
|-----------|------|--------|-----------|
|
|
54
54
|
| `allowPatterns` | `string[]` | `[]` | Prefixos de comando exatos que são permitidos. Cada entrada é comparada com os tokens argv analisados. |
|
|
55
55
|
|
|
56
56
|
**Exemplo:**
|
|
@@ -68,7 +68,7 @@ Bloqueia invocações que incluem a palavra-chave `sudo`. A correspondência de
|
|
|
68
68
|
Com essa configuração, `sudo systemctl status nginx` é permitido, mas `sudo rm /etc/hosts` é negado.
|
|
69
69
|
|
|
70
70
|
<Note>
|
|
71
|
-
Os padrões são comparados com tokens analisados, não com a string de comando bruta. Isso
|
|
71
|
+
Os padrões são comparados com os tokens analisados, não com a string de comando bruta. Isso evita bypass via operadores de shell anexados (por exemplo, `sudo systemctl status x; rm -rf /` não corresponde a `sudo systemctl status *`).
|
|
72
72
|
</Note>
|
|
73
73
|
|
|
74
74
|
---
|
|
@@ -81,8 +81,8 @@ Os padrões são comparados com tokens analisados, não com a string de comando
|
|
|
81
81
|
**Parâmetros:**
|
|
82
82
|
|
|
83
83
|
| Parâmetro | Tipo | Padrão | Descrição |
|
|
84
|
-
|
|
85
|
-
| `allowPaths` | `string[]` | `[]` | Caminhos que
|
|
84
|
+
|-----------|------|--------|-----------|
|
|
85
|
+
| `allowPaths` | `string[]` | `[]` | Caminhos que são seguros para excluir recursivamente (ex: `/tmp`). |
|
|
86
86
|
|
|
87
87
|
**Exemplo:**
|
|
88
88
|
|
|
@@ -110,7 +110,7 @@ Sem parâmetros.
|
|
|
110
110
|
### `block-failproofai-commands`
|
|
111
111
|
|
|
112
112
|
**Evento:** PreToolUse (Bash)
|
|
113
|
-
**Padrão:** Nega comandos que
|
|
113
|
+
**Padrão:** Nega comandos que desinstalem ou desabilitem o próprio failproofai (ex: `npm uninstall failproofai`, `failproofai policies --uninstall`).
|
|
114
114
|
|
|
115
115
|
Sem parâmetros.
|
|
116
116
|
|
|
@@ -118,7 +118,7 @@ Sem parâmetros.
|
|
|
118
118
|
|
|
119
119
|
## Segredos (sanitizadores)
|
|
120
120
|
|
|
121
|
-
Impede agentes
|
|
121
|
+
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 que ela seja 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 passada de volta.
|
|
122
122
|
|
|
123
123
|
### `sanitize-jwt`
|
|
124
124
|
|
|
@@ -137,8 +137,8 @@ Sem parâmetros.
|
|
|
137
137
|
**Parâmetros:**
|
|
138
138
|
|
|
139
139
|
| Parâmetro | Tipo | Padrão | Descrição |
|
|
140
|
-
|
|
141
|
-
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Padrões regex adicionais
|
|
140
|
+
|-----------|------|--------|-----------|
|
|
141
|
+
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Padrões regex adicionais para tratar como segredos. |
|
|
142
142
|
|
|
143
143
|
**Exemplo:**
|
|
144
144
|
|
|
@@ -160,7 +160,7 @@ Sem parâmetros.
|
|
|
160
160
|
### `sanitize-connection-strings`
|
|
161
161
|
|
|
162
162
|
**Evento:** PostToolUse (todas as ferramentas)
|
|
163
|
-
**Padrão:** Redige strings de conexão de banco de dados que contêm credenciais
|
|
163
|
+
**Padrão:** Redige strings de conexão de banco de dados que contêm credenciais incorporadas (ex: `postgresql://user:password@host/db`).
|
|
164
164
|
|
|
165
165
|
Sem parâmetros.
|
|
166
166
|
|
|
@@ -193,7 +193,7 @@ Protege a configuração de ambiente sensível de ser lida ou exposta por agente
|
|
|
193
193
|
**Evento:** PreToolUse (Bash, Read)
|
|
194
194
|
**Padrão:** Nega a leitura de arquivos `.env` via `cat .env`, chamadas da ferramenta `Read` com `.env` como caminho do arquivo, etc.
|
|
195
195
|
|
|
196
|
-
Não bloqueia `.envrc` ou outros arquivos relacionados ao ambiente — apenas arquivos
|
|
196
|
+
Não bloqueia `.envrc` ou outros arquivos relacionados ao ambiente — apenas arquivos nomeados exatamente `.env`.
|
|
197
197
|
|
|
198
198
|
Sem parâmetros.
|
|
199
199
|
|
|
@@ -202,7 +202,7 @@ Sem parâmetros.
|
|
|
202
202
|
### `protect-env-vars`
|
|
203
203
|
|
|
204
204
|
**Evento:** PreToolUse (Bash)
|
|
205
|
-
**Padrão:** Nega comandos que
|
|
205
|
+
**Padrão:** Nega comandos que imprimam variáveis de ambiente: `printenv`, `env`, `echo $VAR`.
|
|
206
206
|
|
|
207
207
|
Sem parâmetros.
|
|
208
208
|
|
|
@@ -210,7 +210,7 @@ Sem parâmetros.
|
|
|
210
210
|
|
|
211
211
|
## Acesso a arquivos
|
|
212
212
|
|
|
213
|
-
Mantém
|
|
213
|
+
Mantém agentes trabalhando dentro dos limites do projeto e longe de arquivos sensíveis.
|
|
214
214
|
|
|
215
215
|
### `block-read-outside-cwd`
|
|
216
216
|
|
|
@@ -220,8 +220,8 @@ Mantém os agentes trabalhando dentro dos limites do projeto e longe de arquivos
|
|
|
220
220
|
**Parâmetros:**
|
|
221
221
|
|
|
222
222
|
| Parâmetro | Tipo | Padrão | Descrição |
|
|
223
|
-
|
|
224
|
-
| `allowPaths` | `string[]` | `[]` | Prefixos de caminho absoluto que são permitidos mesmo fora do cwd. |
|
|
223
|
+
|-----------|------|--------|-----------|
|
|
224
|
+
| `allowPaths` | `string[]` | `[]` | Prefixos de caminho absoluto que são permitidos mesmo se estiverem fora do cwd. |
|
|
225
225
|
|
|
226
226
|
**Exemplo:**
|
|
227
227
|
|
|
@@ -245,8 +245,8 @@ Mantém os agentes trabalhando dentro dos limites do projeto e longe de arquivos
|
|
|
245
245
|
**Parâmetros:**
|
|
246
246
|
|
|
247
247
|
| Parâmetro | Tipo | Padrão | Descrição |
|
|
248
|
-
|
|
249
|
-
| `additionalPatterns` | `string[]` | `[]` | Padrões de nome de arquivo adicionais (estilo glob)
|
|
248
|
+
|-----------|------|--------|-----------|
|
|
249
|
+
| `additionalPatterns` | `string[]` | `[]` | Padrões de nome de arquivo adicionais (estilo glob) para bloquear. |
|
|
250
250
|
|
|
251
251
|
**Exemplo:**
|
|
252
252
|
|
|
@@ -274,7 +274,7 @@ Previne pushes acidentais, force-pushes e erros de branch que são difíceis de
|
|
|
274
274
|
**Parâmetros:**
|
|
275
275
|
|
|
276
276
|
| Parâmetro | Tipo | Padrão | Descrição |
|
|
277
|
-
|
|
277
|
+
|-----------|------|--------|-----------|
|
|
278
278
|
| `protectedBranches` | `string[]` | `["main", "master"]` | Nomes de branches que não podem receber push diretamente. |
|
|
279
279
|
|
|
280
280
|
**Exemplo:**
|
|
@@ -290,7 +290,7 @@ Previne pushes acidentais, force-pushes e erros de branch que são difíceis de
|
|
|
290
290
|
```
|
|
291
291
|
|
|
292
292
|
<Tip>
|
|
293
|
-
Para permitir push
|
|
293
|
+
Para permitir push para todos os branches (desabilitando efetivamente esta política sem removê-la de `enabledPolicies`), defina `protectedBranches: []`.
|
|
294
294
|
</Tip>
|
|
295
295
|
|
|
296
296
|
---
|
|
@@ -303,8 +303,8 @@ Para permitir push em todos os branches (desativando efetivamente esta política
|
|
|
303
303
|
**Parâmetros:**
|
|
304
304
|
|
|
305
305
|
| Parâmetro | Tipo | Padrão | Descrição |
|
|
306
|
-
|
|
307
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | Nomes de branches que não podem ser
|
|
306
|
+
|-----------|------|--------|-----------|
|
|
307
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | Nomes de branches que não podem ser obtidos diretamente via checkout. |
|
|
308
308
|
|
|
309
309
|
---
|
|
310
310
|
|
|
@@ -348,7 +348,7 @@ Sem parâmetros.
|
|
|
348
348
|
### `warn-all-files-staged`
|
|
349
349
|
|
|
350
350
|
**Evento:** PreToolUse (Bash)
|
|
351
|
-
**Padrão:** Instrui Claude a revisar o que está sendo
|
|
351
|
+
**Padrão:** Instrui Claude a revisar o que está sendo adicionado ao stage ao executar `git add -A` ou `git add .`. Não bloqueia o comando.
|
|
352
352
|
|
|
353
353
|
Sem parâmetros.
|
|
354
354
|
|
|
@@ -356,7 +356,7 @@ Sem parâmetros.
|
|
|
356
356
|
|
|
357
357
|
## Banco de dados
|
|
358
358
|
|
|
359
|
-
|
|
359
|
+
Detecta operações SQL destrutivas antes que sejam executadas no banco de dados.
|
|
360
360
|
|
|
361
361
|
### `warn-destructive-sql`
|
|
362
362
|
|
|
@@ -378,7 +378,7 @@ Sem parâmetros.
|
|
|
378
378
|
|
|
379
379
|
## Avisos
|
|
380
380
|
|
|
381
|
-
Fornece contexto
|
|
381
|
+
Fornece contexto extra aos agentes antes de operações potencialmente arriscadas, mas não destrutivas.
|
|
382
382
|
|
|
383
383
|
### `warn-large-file-write`
|
|
384
384
|
|
|
@@ -388,7 +388,7 @@ Fornece contexto adicional aos agentes antes de operações potencialmente arris
|
|
|
388
388
|
**Parâmetros:**
|
|
389
389
|
|
|
390
390
|
| Parâmetro | Tipo | Padrão | Descrição |
|
|
391
|
-
|
|
391
|
+
|-----------|------|--------|-----------|
|
|
392
392
|
| `thresholdKb` | `number` | `1024` | Limite de tamanho de arquivo em kilobytes acima do qual um aviso é emitido. |
|
|
393
393
|
|
|
394
394
|
**Exemplo:**
|
|
@@ -404,7 +404,7 @@ Fornece contexto adicional aos agentes antes de operações potencialmente arris
|
|
|
404
404
|
```
|
|
405
405
|
|
|
406
406
|
<Note>
|
|
407
|
-
O handler
|
|
407
|
+
O handler de hook impõe um limite de 1 MB de stdin nos payloads. Para testar esta política com conteúdo pequeno, defina `thresholdKb` para um valor bem abaixo de 1024.
|
|
408
408
|
</Note>
|
|
409
409
|
|
|
410
410
|
---
|
|
@@ -438,7 +438,7 @@ Sem parâmetros.
|
|
|
438
438
|
|
|
439
439
|
## Comportamento de IA
|
|
440
440
|
|
|
441
|
-
Detecta quando agentes ficam
|
|
441
|
+
Detecta quando agentes ficam travados ou se comportam de forma inesperada.
|
|
442
442
|
|
|
443
443
|
### `warn-repeated-tool-calls`
|
|
444
444
|
|
|
@@ -449,16 +449,16 @@ Sem parâmetros.
|
|
|
449
449
|
|
|
450
450
|
---
|
|
451
451
|
|
|
452
|
-
## Fluxo de trabalho
|
|
452
|
+
## Fluxo de trabalho
|
|
453
453
|
|
|
454
|
-
Impõe um fluxo de trabalho disciplinado ao final da sessão. Essas políticas são acionadas no evento **Stop** e
|
|
454
|
+
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 nega, as políticas seguintes na cadeia são ignoradas (deny interrompe o fluxo).
|
|
455
455
|
|
|
456
|
-
Todas as políticas de fluxo de trabalho são **fail-open**: se a ferramenta necessária não estiver disponível (ex
|
|
456
|
+
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.
|
|
457
457
|
|
|
458
458
|
### `require-commit-before-stop`
|
|
459
459
|
|
|
460
460
|
**Evento:** Stop
|
|
461
|
-
**Padrão:** Nega a parada quando há alterações não
|
|
461
|
+
**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.
|
|
462
462
|
|
|
463
463
|
Sem parâmetros.
|
|
464
464
|
|
|
@@ -467,12 +467,12 @@ Sem parâmetros.
|
|
|
467
467
|
### `require-push-before-stop`
|
|
468
468
|
|
|
469
469
|
**Evento:** Stop
|
|
470
|
-
**Padrão:** Nega a parada quando há commits não enviados ou quando o branch atual não
|
|
470
|
+
**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.
|
|
471
471
|
|
|
472
472
|
**Parâmetros:**
|
|
473
473
|
|
|
474
474
|
| Parâmetro | Tipo | Padrão | Descrição |
|
|
475
|
-
|
|
475
|
+
|-----------|------|--------|-----------|
|
|
476
476
|
| `remote` | `string` | `"origin"` | Nome do remote para o qual fazer push. |
|
|
477
477
|
|
|
478
478
|
**Exemplo:**
|
|
@@ -492,14 +492,14 @@ Sem parâmetros.
|
|
|
492
492
|
### `require-pr-before-stop`
|
|
493
493
|
|
|
494
494
|
**Evento:** Stop
|
|
495
|
-
**Padrão:** Nega a parada quando não existe pull request para o branch atual, ou quando o PR existente está fechado/
|
|
495
|
+
**Padrão:** Nega a parada quando não existe pull request para o branch atual, ou quando o PR existente está fechado/mesclado. Instrui Claude a criar um PR com `gh pr create`.
|
|
496
496
|
|
|
497
497
|
Sem parâmetros.
|
|
498
498
|
|
|
499
499
|
<Note>
|
|
500
500
|
Esta política requer que o [GitHub CLI](https://cli.github.com/) (`gh`) esteja instalado e autenticado.
|
|
501
501
|
Execute `gh auth login` com um token de acesso pessoal que tenha escopo `repo` para acesso de leitura a
|
|
502
|
-
pull requests. Se `gh` não estiver instalado ou autenticado, a política falha
|
|
502
|
+
pull requests. Se `gh` não estiver instalado ou autenticado, a política falha de forma aberta e reporta o motivo ao Claude.
|
|
503
503
|
</Note>
|
|
504
504
|
|
|
505
505
|
---
|
|
@@ -507,50 +507,23 @@ pull requests. Se `gh` não estiver instalado ou autenticado, a política falha
|
|
|
507
507
|
### `require-ci-green-before-stop`
|
|
508
508
|
|
|
509
509
|
**Evento:** Stop
|
|
510
|
-
**Padrão:** Nega a parada quando as verificações de CI estão falhando ou ainda em execução no branch atual. Verifica tanto as execuções de
|
|
510
|
+
**Padrão:** Nega a parada quando as verificações de CI estão falhando ou ainda em execução no branch atual. Verifica tanto as execuções de workflow do GitHub Actions quanto as 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.
|
|
511
511
|
|
|
512
512
|
Sem parâmetros.
|
|
513
513
|
|
|
514
514
|
<Note>
|
|
515
515
|
Esta política requer que o [GitHub CLI](https://cli.github.com/) (`gh`) esteja instalado e autenticado.
|
|
516
516
|
Execute `gh auth login` com um token de acesso pessoal que tenha escopo `repo` para acesso de leitura às
|
|
517
|
-
execuções de
|
|
517
|
+
execuções de workflow do Actions e à API de Verificações. Se `gh` não estiver instalado ou autenticado, a política falha de forma aberta e reporta o motivo ao Claude.
|
|
518
518
|
</Note>
|
|
519
519
|
|
|
520
520
|
---
|
|
521
521
|
|
|
522
|
-
## Políticas beta
|
|
523
|
-
|
|
524
|
-
Algumas políticas são marcadas como `beta` e não são instaladas por padrão. Políticas beta podem ter imperfeições ou gerar falsos positivos. Elas são promovidas para estáveis em versões futuras.
|
|
525
|
-
|
|
526
|
-
**Políticas beta atuais:**
|
|
527
|
-
|
|
528
|
-
- `require-commit-before-stop` — confirmar todas as alterações antes de parar
|
|
529
|
-
- `require-push-before-stop` — enviar todos os commits para o remote
|
|
530
|
-
- `require-pr-before-stop` — garantir que existe um PR para o branch
|
|
531
|
-
- `require-ci-green-before-stop` — todas as verificações de CI devem passar
|
|
532
|
-
|
|
533
|
-
Juntas, essas políticas impõem um fluxo de trabalho **commit → push → PR → CI**.
|
|
534
|
-
|
|
535
|
-
Para instalar todas as políticas beta:
|
|
536
|
-
|
|
537
|
-
```bash
|
|
538
|
-
failproofai policies --install --beta
|
|
539
|
-
```
|
|
540
|
-
|
|
541
|
-
Ou instale políticas de fluxo de trabalho específicas:
|
|
542
|
-
|
|
543
|
-
```bash
|
|
544
|
-
failproofai policies --install require-commit-before-stop require-push-before-stop require-pr-before-stop require-ci-green-before-stop
|
|
545
|
-
```
|
|
546
|
-
|
|
547
|
-
Execute `failproofai policies` para ver quais políticas carregam a flag beta.
|
|
548
|
-
|
|
549
522
|
---
|
|
550
523
|
|
|
551
|
-
##
|
|
524
|
+
## Desabilitando políticas individuais
|
|
552
525
|
|
|
553
|
-
Remova uma política específica de `enabledPolicies`
|
|
526
|
+
Remova uma política específica de `enabledPolicies` na sua configuração, ou desative-a na aba Políticas do dashboard.
|
|
554
527
|
|
|
555
528
|
```json
|
|
556
529
|
{
|
|
@@ -7,7 +7,7 @@ description: "Ative políticas para que sejam executadas em cada chamada de ferr
|
|
|
7
7
|
failproofai policies --install [policy-names...] [options]
|
|
8
8
|
```
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
Escreve entradas de hook no `settings.json` do Claude Code para que o failproofai intercepte chamadas de ferramentas.
|
|
11
11
|
|
|
12
12
|
Aliases: `failproofai p -i`
|
|
13
13
|
|
|
@@ -15,17 +15,16 @@ Aliases: `failproofai p -i`
|
|
|
15
15
|
|
|
16
16
|
| Flag | Descrição |
|
|
17
17
|
|------|-----------|
|
|
18
|
-
| `--scope user` | Instala em `~/.claude/settings.json` (padrão
|
|
18
|
+
| `--scope user` | Instala em `~/.claude/settings.json` (padrão - todas as sessões) |
|
|
19
19
|
| `--scope project` | Instala em `.claude/settings.json` no diretório atual |
|
|
20
20
|
| `--scope local` | Instala em `.claude/settings.local.json` no diretório atual |
|
|
21
21
|
| `--custom <path>` / `-c` | Caminho para um arquivo JS contendo políticas de hook personalizadas |
|
|
22
|
-
| `--beta` | Inclui políticas beta |
|
|
23
22
|
|
|
24
23
|
## Comportamento
|
|
25
24
|
|
|
26
|
-
- **Sem nomes de política**
|
|
27
|
-
- **Nomes específicos**
|
|
28
|
-
- **`all`**
|
|
25
|
+
- **Sem nomes de política** - abre um prompt interativo para selecionar políticas
|
|
26
|
+
- **Nomes específicos** - ativa essas políticas (adicionadas às que já estão ativas)
|
|
27
|
+
- **`all`** - ativa todas as políticas disponíveis
|
|
29
28
|
|
|
30
29
|
A instalação é aditiva: executar `--install` novamente adiciona novas políticas sem remover as existentes.
|
|
31
30
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Desinstalar políticas
|
|
3
|
-
description: "
|
|
3
|
+
description: "Remove entradas de hook das configurações do Claude Code"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
```bash
|
|
@@ -15,30 +15,29 @@ Aliases: `failproofai p -u`
|
|
|
15
15
|
|
|
16
16
|
| Flag | Descrição |
|
|
17
17
|
|------|-----------|
|
|
18
|
-
| `--scope user` |
|
|
19
|
-
| `--scope project` |
|
|
20
|
-
| `--scope local` |
|
|
21
|
-
| `--scope all` |
|
|
22
|
-
| `--custom` / `-c` |
|
|
23
|
-
| `--beta` | Remover apenas as políticas beta da configuração |
|
|
18
|
+
| `--scope user` | Remove das configurações globais (padrão) |
|
|
19
|
+
| `--scope project` | Remove das configurações do projeto |
|
|
20
|
+
| `--scope local` | Remove das configurações locais |
|
|
21
|
+
| `--scope all` | Remove de todos os escopos de uma vez |
|
|
22
|
+
| `--custom` / `-c` | Limpa o `customPoliciesPath` da configuração |
|
|
24
23
|
|
|
25
24
|
## Comportamento
|
|
26
25
|
|
|
27
|
-
- **Sem nomes de
|
|
26
|
+
- **Sem nomes de políticas** — remove todas as entradas de hook do failproofai do arquivo de configurações
|
|
28
27
|
- **Nomes específicos** — desativa essas políticas, mas mantém os hooks instalados
|
|
29
28
|
|
|
30
29
|
## Exemplos
|
|
31
30
|
|
|
32
31
|
```bash
|
|
33
|
-
#
|
|
32
|
+
# Remove todos os hooks globalmente
|
|
34
33
|
failproofai policies --uninstall
|
|
35
34
|
|
|
36
|
-
#
|
|
35
|
+
# Desativa uma política específica (mantém os hooks instalados)
|
|
37
36
|
failproofai policies --uninstall block-sudo
|
|
38
37
|
|
|
39
|
-
#
|
|
38
|
+
# Remove hooks de todos os escopos
|
|
40
39
|
failproofai policies --uninstall --scope all
|
|
41
40
|
|
|
42
|
-
#
|
|
41
|
+
# Limpa o caminho de políticas customizadas
|
|
43
42
|
failproofai policies --uninstall --custom
|
|
44
43
|
```
|