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,16 +1,16 @@
1
1
  ---
2
2
  title: Встроенные политики
3
- description: "Все 30 встроенных политик, которые выявляют распространённые режимы отказа агентов"
3
+ description: "Все 30 встроенных политик, которые ловят распространённые режимы отказа агентов"
4
4
  icon: shield
5
5
  ---
6
6
 
7
- failproofai поставляется с 30 встроенными политиками, которые выявляют распространённые режимы отказа агентов. Каждая политика срабатывает при определённом типе события хука и имени инструмента. Девять политик принимают параметры, позволяющие настраивать их поведение без написания кода. Четыре рабочие политики обеспечивают выполнение конвейера commit → push → PR → CI, прежде чем Claude остановится.
7
+ failproofai поставляется с 30 встроенными политиками, которые ловят распространённые режимы отказа агентов. Каждая политика срабатывает на определённый тип события хука и имя инструмента. Девять политик принимают параметры, которые позволяют вам настраивать их поведение без написания кода. Четыре политики рабочего процесса обеспечивают конвейер commit → push → PR → CI перед тем, как Claude остановится.
8
8
 
9
9
  ---
10
10
 
11
11
  ## Обзор
12
12
 
13
- Политики разделены на категории:
13
+ Политики сгруппированы по категориям:
14
14
 
15
15
  | Категория | Политики | Тип хука |
16
16
  |----------|----------|-----------|
@@ -25,28 +25,28 @@ failproofai поставляется с 30 встроенными политик
25
25
  | [Рабочий процесс](#рабочий-процесс) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
26
26
 
27
27
  - **`block-`** — остановить агента от продолжения.
28
- - **`warn-`** — дать агенту дополнительный контекст, чтобы он смог самостоятельно исправиться.
29
- - **`sanitize-`** — удалить конфиденциальные данные из результата инструмента перед передачей агенту.
30
- - **`require-`** — блокировать событие Stop до выполнения условий.
28
+ - **`warn-`** — дать агенту дополнительный контекст, чтобы он мог сам исправиться.
29
+ - **`sanitize-`** — удалить чувствительные данные из вывода инструмента перед тем, как их увидит агент.
30
+ - **`require-`** — заблокировать событие Stop до выполнения условий.
31
31
 
32
32
  ---
33
33
 
34
34
  <Tip>
35
- Каждая политика поддерживает необязательное поле `hint` в `policyParams`. Подсказка добавляется к сообщению deny или instruct, которое видит Claude, предоставляя практические рекомендации без изменения кода политики. Работает со встроенными, пользовательскими и конвенционными политиками. Подробнее см. [Конфигурация → hint](/ru/configuration#hint-cross-cutting).
35
+ Каждая политика поддерживает опциональное поле `hint` в `policyParams`. Подсказка добавляется к сообщению отказа или инструкции, которые видит Claude, предоставляя полезные рекомендации без изменения кода политики. Работает с встроенными, пользовательскими и политиками соглашений. См. раздел [Конфигурация → hint](/ru/configuration#hint-cross-cutting) для деталей.
36
36
  </Tip>
37
37
 
38
38
  ---
39
39
 
40
40
  ## Опасные команды
41
41
 
42
- Предотвращение запуска операций агентами, которые сложно отменить или которые могут повредить хост-систему.
42
+ Предотвратите запуск агентами операций, которые трудно отменить или которые могут повредить хост-систему.
43
43
 
44
44
  ### `block-sudo`
45
45
 
46
46
  **Событие:** PreToolUse (Bash)
47
- **По умолчанию:** Блокирует любую команду `sudo`.
47
+ **По умолчанию:** Запрещает любую команду `sudo`.
48
48
 
49
- Блокирует вызовы, содержащие ключевое слово `sudo`. Сопоставление паттернов выполняется на разобранных токенах команд, а не на сыром строке, чтобы предотвратить обход путём инъекции оператора shell.
49
+ Блокирует вызовы, включающие ключевое слово `sudo`. Сопоставление шаблонов выполняется на разобранных токенах команды, а не на исходной строке, чтобы предотвратить обход через инъекцию оператора shell.
50
50
 
51
51
  **Параметры:**
52
52
 
@@ -66,10 +66,10 @@ failproofai поставляется с 30 встроенными политик
66
66
  }
67
67
  ```
68
68
 
69
- С этой конфигурацией `sudo systemctl status nginx` разрешён, но `sudo rm /etc/hosts` блокирован.
69
+ С этой конфигурацией `sudo systemctl status nginx` разрешается, но `sudo rm /etc/hosts` запрещается.
70
70
 
71
71
  <Note>
72
- Паттерны сопоставляются с разобранными токенами, а не с сыром строком команды. Это предотвращает обход путём добавления операторов shell (например, `sudo systemctl status x; rm -rf /` не соответствует `sudo systemctl status *`).
72
+ Шаблоны сопоставляются с разобранными токенами, а не с исходной строкой команды. Это предотвращает обход через добавленные операторы shell (например, `sudo systemctl status x; rm -rf /` не соответствует `sudo systemctl status *`).
73
73
  </Note>
74
74
 
75
75
  ---
@@ -77,13 +77,13 @@ failproofai поставляется с 30 встроенными политик
77
77
  ### `block-rm-rf`
78
78
 
79
79
  **Событие:** PreToolUse (Bash)
80
- **По умолчанию:** Блокирует `rm -rf`, `rm -fr` и аналогичные формы рекурсивного удаления.
80
+ **По умолчанию:** Запрещает `rm -rf`, `rm -fr` и аналогичные формы рекурсивного удаления.
81
81
 
82
82
  **Параметры:**
83
83
 
84
84
  | Параметр | Тип | По умолчанию | Описание |
85
85
  |-------|------|---------|-------------|
86
- | `allowPaths` | `string[]` | `[]` | Пути, которые безопасно удалять рекурсивно (например, `/tmp`). |
86
+ | `allowPaths` | `string[]` | `[]` | Пути, безопасные для рекурсивного удаления (например, `/tmp`). |
87
87
 
88
88
  **Пример:**
89
89
 
@@ -102,7 +102,7 @@ failproofai поставляется с 30 встроенными политик
102
102
  ### `block-curl-pipe-sh`
103
103
 
104
104
  **Событие:** PreToolUse (Bash)
105
- **По умолчанию:** Блокирует `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` и аналогичные паттерны.
105
+ **По умолчанию:** Запрещает `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` и аналогичные шаблоны.
106
106
 
107
107
  Нет параметров.
108
108
 
@@ -111,7 +111,7 @@ failproofai поставляется с 30 встроенными политик
111
111
  ### `block-failproofai-commands`
112
112
 
113
113
  **Событие:** PreToolUse (Bash)
114
- **По умолчанию:** Блокирует команды, которые удаляют или отключают failproofai (например, `npm uninstall failproofai`, `failproofai policies --uninstall`).
114
+ **По умолчанию:** Запрещает команды, которые выполняли бы удаление или отключение самого failproofai (например, `npm uninstall failproofai`, `failproofai policies --uninstall`).
115
115
 
116
116
  Нет параметров.
117
117
 
@@ -119,7 +119,7 @@ failproofai поставляется с 30 встроенными политик
119
119
 
120
120
  ## Секреты (санитайзеры)
121
121
 
122
- Предотвращение утечки учётных данных агентами в их контекст или вывод. Политики санитайзеров срабатывают при событиях **PostToolUse**. Когда Claude запускает команду Bash, читает файл или вызывает любой инструмент, эти политики проверяют результат перед возвратом Claude. Если обнаружен паттерн секрета, политика возвращает решение deny, которое предотвращает передачу результата обратно.
122
+ Предотвратите утечку агентами учётных данных в их контекст или вывод. Политики санитайзеры срабатывают на событиях **PostToolUse**. Когда Claude запускает команду Bash, читает файл или вызывает любой инструмент, эти политики проверяют вывод перед возвратом Claude. Если обнаруживается шаблон секрета, политика возвращает решение отказа, которое предотвращает передачу вывода.
123
123
 
124
124
  ### `sanitize-jwt`
125
125
 
@@ -133,13 +133,13 @@ failproofai поставляется с 30 встроенными политик
133
133
  ### `sanitize-api-keys`
134
134
 
135
135
  **Событие:** PostToolUse (все инструменты)
136
- **По умолчанию:** Скрывает распространённые форматы ключей API: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), AWS ключи доступа (`AKIA`), ключи Stripe (`sk_live_`, `sk_test_`), и Google API ключи (`AIza`).
136
+ **По умолчанию:** Скрывает распространённые форматы API ключей: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), AWS access keys (`AKIA`), Stripe keys (`sk_live_`, `sk_test_`), и Google API keys (`AIza`).
137
137
 
138
138
  **Параметры:**
139
139
 
140
140
  | Параметр | Тип | По умолчанию | Описание |
141
141
  |-------|------|---------|-------------|
142
- | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Дополнительные regex паттерны, которые рассматриваются как секреты. |
142
+ | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Дополнительные regex шаблоны для обработки как секреты. |
143
143
 
144
144
  **Пример:**
145
145
 
@@ -161,7 +161,7 @@ failproofai поставляется с 30 встроенными политик
161
161
  ### `sanitize-connection-strings`
162
162
 
163
163
  **Событие:** PostToolUse (все инструменты)
164
- **По умолчанию:** Скрывает строки подключения к базе данных, содержащие встроенные учётные данные (например, `postgresql://user:password@host/db`).
164
+ **По умолчанию:** Скрывает строки подключения базы данных, содержащие встроенные учётные данные (например, `postgresql://user:password@host/db`).
165
165
 
166
166
  Нет параметров.
167
167
 
@@ -170,7 +170,7 @@ failproofai поставляется с 30 встроенными политик
170
170
  ### `sanitize-private-key-content`
171
171
 
172
172
  **Событие:** PostToolUse (все инструменты)
173
- **По умолчанию:** Скрывает PEM блоки (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----` и т.д.).
173
+ **По умолчанию:** Скрывает блоки PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, и т. д.).
174
174
 
175
175
  Нет параметров.
176
176
 
@@ -187,14 +187,14 @@ failproofai поставляется с 30 встроенными политик
187
187
 
188
188
  ## Окружение
189
189
 
190
- Защита конфиденциальной конфигурации окружения от чтения или разглашения агентами.
190
+ Защитите чувствительную конфигурацию окружения от чтения или раскрытия агентами.
191
191
 
192
192
  ### `block-env-files`
193
193
 
194
194
  **Событие:** PreToolUse (Bash, Read)
195
- **По умолчанию:** Блокирует чтение файлов `.env` через `cat .env`, вызовы инструмента Read с `.env` как путь файла и т.д.
195
+ **По умолчанию:** Запрещает чтение файлов `.env` через `cat .env`, вызовы инструмента Read с `.env` как путём к файлу и т. д.
196
196
 
197
- Не блокирует `.envrc` или другие похожие файлы окружения — только файлы, названные ровно `.env`.
197
+ Не блокирует `.envrc` или другие файлы, связанные с окружением — только файлы с именем ровно `.env`.
198
198
 
199
199
  Нет параметров.
200
200
 
@@ -203,7 +203,7 @@ failproofai поставляется с 30 встроенными политик
203
203
  ### `protect-env-vars`
204
204
 
205
205
  **Событие:** PreToolUse (Bash)
206
- **По умолчанию:** Блокирует команды, которые выводят переменные окружения: `printenv`, `env`, `echo $VAR`.
206
+ **По умолчанию:** Запрещает команды, которые выводят переменные окружения: `printenv`, `env`, `echo $VAR`.
207
207
 
208
208
  Нет параметров.
209
209
 
@@ -211,18 +211,18 @@ failproofai поставляется с 30 встроенными политик
211
211
 
212
212
  ## Доступ к файлам
213
213
 
214
- Обеспечение работы агентов внутри границ проекта и вдали от конфиденциальных файлов.
214
+ Держите агентов работающими внутри границ проекта и вдали от чувствительных файлов.
215
215
 
216
216
  ### `block-read-outside-cwd`
217
217
 
218
218
  **Событие:** PreToolUse (Read, Bash)
219
- **По умолчанию:** Блокирует чтение файлов вне текущей рабочей директории (корень проекта).
219
+ **По умолчанию:** Запрещает чтение файлов вне текущей рабочей директории (корень проекта).
220
220
 
221
221
  **Параметры:**
222
222
 
223
223
  | Параметр | Тип | По умолчанию | Описание |
224
224
  |-------|------|---------|-------------|
225
- | `allowPaths` | `string[]` | `[]` | Абсолютные префиксы путей, которые разрешены, даже если находятся вне cwd. |
225
+ | `allowPaths` | `string[]` | `[]` | Абсолютные префиксы путей, которые разрешены даже если они вне cwd. |
226
226
 
227
227
  **Пример:**
228
228
 
@@ -241,13 +241,13 @@ failproofai поставляется с 30 встроенными политик
241
241
  ### `block-secrets-write`
242
242
 
243
243
  **Событие:** PreToolUse (Write, Edit)
244
- **По умолчанию:** Блокирует запись в файлы, обычно используемые для приватных ключей и сертификатов: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
244
+ **По умолчанию:** Запрещает записи в файлы, обычно используемые для приватных ключей и сертификатов: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
245
245
 
246
246
  **Параметры:**
247
247
 
248
248
  | Параметр | Тип | По умолчанию | Описание |
249
249
  |-------|------|---------|-------------|
250
- | `additionalPatterns` | `string[]` | `[]` | Дополнительные паттерны имён файлов (glob-стиль) для блокировки. |
250
+ | `additionalPatterns` | `string[]` | `[]` | Дополнительные шаблоны имён файлов (glob-стиль) для блокировки. |
251
251
 
252
252
  **Пример:**
253
253
 
@@ -265,18 +265,18 @@ failproofai поставляется с 30 встроенными политик
265
265
 
266
266
  ## Git
267
267
 
268
- Предотвращение случайных push'ей, force-push'ей и ошибок в ветках, которые сложно отменить.
268
+ Предотвратите случайные push, force-push и ошибки ветвей, которые трудно отменить.
269
269
 
270
270
  ### `block-push-master`
271
271
 
272
272
  **Событие:** PreToolUse (Bash)
273
- **По умолчанию:** Блокирует `git push origin main` и `git push origin master`.
273
+ **По умолчанию:** Запрещает `git push origin main` и `git push origin master`.
274
274
 
275
275
  **Параметры:**
276
276
 
277
277
  | Параметр | Тип | По умолчанию | Описание |
278
278
  |-------|------|---------|-------------|
279
- | `protectedBranches` | `string[]` | `["main", "master"]` | Имена веток, которые не могут быть запушены напрямую. |
279
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Имена ветвей, на которые нельзя пушить напрямую. |
280
280
 
281
281
  **Пример:**
282
282
 
@@ -291,7 +291,7 @@ failproofai поставляется с 30 встроенными политик
291
291
  ```
292
292
 
293
293
  <Tip>
294
- Чтобы разрешить push на все ветки (эффективно отключить эту политику без удаления из `enabledPolicies`), установите `protectedBranches: []`.
294
+ Чтобы разрешить пушинг во все ветви (фактически отключив эту политику без удаления её из `enabledPolicies`), установите `protectedBranches: []`.
295
295
  </Tip>
296
296
 
297
297
  ---
@@ -299,28 +299,28 @@ failproofai поставляется с 30 встроенными политик
299
299
  ### `block-work-on-main`
300
300
 
301
301
  **Событие:** PreToolUse (Bash)
302
- **По умолчанию:** Блокирует checkout веток `main` или `master` напрямую.
302
+ **По умолчанию:** Запрещает checkout веток `main` или `master` напрямую.
303
303
 
304
304
  **Параметры:**
305
305
 
306
306
  | Параметр | Тип | По умолчанию | Описание |
307
307
  |-------|------|---------|-------------|
308
- | `protectedBranches` | `string[]` | `["main", "master"]` | Имена веток, которые не могут быть переключены напрямую. |
308
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Имена ветвей, которые нельзя checkoutить напрямую. |
309
309
 
310
310
  ---
311
311
 
312
312
  ### `block-force-push`
313
313
 
314
314
  **Событие:** PreToolUse (Bash)
315
- **По умолчанию:** Блокирует `git push --force` и `git push -f`.
315
+ **По умолчанию:** Запрещает `git push --force` и `git push -f`.
316
316
 
317
- Нет специфичных параметров политики. Используйте кросс-секционную [`hint`](/ru/configuration#hint-cross-cutting) для предложения альтернатив:
317
+ Нет политик-специфичных параметров. Используйте кросс-режущую [`hint`](/ru/configuration#hint-cross-cutting) для предложения альтернатив:
318
318
 
319
319
  ```json
320
320
  {
321
321
  "policyParams": {
322
322
  "block-force-push": {
323
- "hint": "Создайте новую ветку от текущего HEAD (например, `git checkout -b <new-branch>`) и запушьте её."
323
+ "hint": "Создайте новую ветвь из вашего текущего HEAD (например, `git checkout -b <new-branch>`) и пушьте её вместо этого."
324
324
  }
325
325
  }
326
326
  }
@@ -331,7 +331,7 @@ failproofai поставляется с 30 встроенными политик
331
331
  ### `warn-git-amend`
332
332
 
333
333
  **Событие:** PreToolUse (Bash)
334
- **По умолчанию:** Инструктирует Claude действовать осторожнее при запуске `git commit --amend`. Не блокирует команду.
334
+ **По умолчанию:** Инструктирует Claude действовать осторожно при запуске `git commit --amend`. Не блокирует команду.
335
335
 
336
336
  Нет параметров.
337
337
 
@@ -349,7 +349,7 @@ failproofai поставляется с 30 встроенными политик
349
349
  ### `warn-all-files-staged`
350
350
 
351
351
  **Событие:** PreToolUse (Bash)
352
- **По умолчанию:** Инструктирует Claude проверить, что он стейджит при запуске `git add -A` или `git add .`. Не блокирует команду.
352
+ **По умолчанию:** Инструктирует Claude просмотреть то, что он staging, когда запускает `git add -A` или `git add .`. Не блокирует команду.
353
353
 
354
354
  Нет параметров.
355
355
 
@@ -357,12 +357,12 @@ failproofai поставляется с 30 встроенными политик
357
357
 
358
358
  ## База данных
359
359
 
360
- Выявление деструктивных SQL операций перед их выполнением против вашей базы данных.
360
+ Ловите деструктивные SQL операции перед их выполнением против вашей базы данных.
361
361
 
362
362
  ### `warn-destructive-sql`
363
363
 
364
364
  **Событие:** PreToolUse (Bash)
365
- **По умолчанию:** Инструктирует Claude подтвердить перед запуском SQL, содержащего `DROP TABLE`, `DROP DATABASE` или `DELETE` без `WHERE` предложения.
365
+ **По умолчанию:** Инструктирует Claude подтвердить перед запуском SQL, содержащего `DROP TABLE`, `DROP DATABASE`, или `DELETE` без `WHERE` предложения.
366
366
 
367
367
  Нет параметров.
368
368
 
@@ -371,7 +371,7 @@ failproofai поставляется с 30 встроенными политик
371
371
  ### `warn-schema-alteration`
372
372
 
373
373
  **Событие:** PreToolUse (Bash)
374
- **По умолчанию:** Инструктирует Claude подтвердить перед запуском команд `ALTER TABLE`.
374
+ **По умолчанию:** Инструктирует Claude подтвердить перед запуском операций `ALTER TABLE`.
375
375
 
376
376
  Нет параметров.
377
377
 
@@ -379,18 +379,18 @@ failproofai поставляется с 30 встроенными политик
379
379
 
380
380
  ## Предупреждения
381
381
 
382
- Предоставление агентам дополнительного контекста перед потенциально рискованными, но не деструктивными операциями.
382
+ Дайте агентам дополнительный контекст перед потенциально рискованными, но не деструктивными операциями.
383
383
 
384
384
  ### `warn-large-file-write`
385
385
 
386
386
  **Событие:** PreToolUse (Write)
387
- **По умолчанию:** Инструктирует Claude подтвердить перед записью файлов больше 1024 KB.
387
+ **По умолчанию:** Инструктирует Claude подтвердить перед записью файлов больше 1024 КБ.
388
388
 
389
389
  **Параметры:**
390
390
 
391
391
  | Параметр | Тип | По умолчанию | Описание |
392
392
  |-------|------|---------|-------------|
393
- | `thresholdKb` | `number` | `1024` | Порог размера файла в килобайтах, выше которого выдаётся предупреждение. |
393
+ | `thresholdKb` | `number` | `1024` | Порог размера файла в килобайтах, выше которого выводится предупреждение. |
394
394
 
395
395
  **Пример:**
396
396
 
@@ -405,7 +405,7 @@ failproofai поставляется с 30 встроенными политик
405
405
  ```
406
406
 
407
407
  <Note>
408
- Обработчик хука применяет лимит stdin в 1 MB для полезных нагрузок. Для тестирования этой политики с малым содержимым установите `thresholdKb` на значение значительно ниже 1024.
408
+ Обработчик хука обеспечивает лимит stdin в 1 МБ на полезные нагрузки. Для тестирования этой политики с малым содержимым установите `thresholdKb` на значение хорошо ниже 1024.
409
409
  </Note>
410
410
 
411
411
  ---
@@ -422,7 +422,7 @@ failproofai поставляется с 30 встроенными политик
422
422
  ### `warn-background-process`
423
423
 
424
424
  **Событие:** PreToolUse (Bash)
425
- **По умолчанию:** Инструктирует Claude быть осторожнее при запуске фоновых процессов через `nohup`, `&`, `disown` или `screen`.
425
+ **По умолчанию:** Инструктирует Claude быть осторожным при запуске фоновых процессов через `nohup`, `&`, `disown`, или `screen`.
426
426
 
427
427
  Нет параметров.
428
428
 
@@ -431,7 +431,7 @@ failproofai поставляется с 30 встроенными политик
431
431
  ### `warn-global-package-install`
432
432
 
433
433
  **Событие:** PreToolUse (Bash)
434
- **По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm install -g`, `yarn global add` или `pip install` без виртуального окружения.
434
+ **По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm install -g`, `yarn global add`, или `pip install` без виртуального окружения.
435
435
 
436
436
  Нет параметров.
437
437
 
@@ -439,21 +439,21 @@ failproofai поставляется с 30 встроенными политик
439
439
 
440
440
  ## Менеджеры пакетов
441
441
 
442
- Определение того, какие менеджеры пакетов разрешено использовать агенту.
442
+ Обеспечьте, какой менеджер пакетов агенту разрешено использовать.
443
443
 
444
444
  ### `prefer-package-manager`
445
445
 
446
446
  **Событие:** PreToolUse (Bash)
447
- **По умолчанию:** Отключено. При включении блокирует любую команду менеджера пакетов, отсутствующую в списке `allowed`, и указывает Claude переписать команду, используя разрешённый менеджер.
447
+ **По умолчанию:** Отключено. Когда включено, блокирует любую команду менеджера пакетов, не входящую в список `allowed`, и говорит Claude переписать команду, используя разрешённый менеджер.
448
448
 
449
449
  Обнаруживает: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
450
450
 
451
451
  | Параметр | Тип | По умолчанию | Описание |
452
452
  |-----------|------|---------|-------------|
453
- | `allowed` | string[] | `[]` | Разрешённые имена менеджеров пакетов. Любой обнаруженный менеджер, отсутствующий в списке, блокируется. При пустом списке политика является холостой. |
453
+ | `allowed` | string[] | `[]` | Разрешённые имена менеджеров пакетов. Любой обнаруженный менеджер, не входящий в этот список, блокируется. Когда пусто, политика неоперативна. |
454
454
  | `blocked` | string[] | `[]` | Дополнительные имена менеджеров для блокировки сверх встроенного списка (например, `['pdm', 'pipx']`). |
455
455
 
456
- Встроенный список блокировки включает: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Используйте `blocked` для добавления менеджеров, отсутствующих в этом списке.
456
+ Встроенный список блокировки охватывает: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Используйте `blocked` для добавления менеджеров, не входящих в этот список.
457
457
 
458
458
  **Пример конфигурации:**
459
459
 
@@ -469,18 +469,18 @@ failproofai поставляется с 30 встроенными политик
469
469
  }
470
470
  ```
471
471
 
472
- С этой конфигурацией `pip install flask` и `pdm install flask` оба блокируются с сообщением, указывающим Claude использовать `uv` или `bun`. Команды вроде `uv pip install flask` разрешены, потому что `uv` в списке разрешений и проверяется первым.
472
+ С этой конфигурацией `pip install flask` и `pdm install flask` оба запрещены с сообщением, говорящим Claude использовать `uv` или `bun` вместо этого. Команды типа `uv pip install flask` разрешены, потому что `uv` находится в списке разрешённых и проверяется первым.
473
473
 
474
474
  ---
475
475
 
476
- ## Поведение ИИ
476
+ ## Поведение AI
477
477
 
478
- Обнаружение, когда агенты застревают или ведут себя неожиданно.
478
+ Обнаружьте, когда агенты застревают или ведут себя неожиданно.
479
479
 
480
480
  ### `warn-repeated-tool-calls`
481
481
 
482
482
  **Событие:** PreToolUse (все инструменты)
483
- **По умолчанию:** Инструктирует Claude пересмотреть, когда один и тот же инструмент вызывается 3+ раза с идентичными параметрами — распространённый признак того, что агент застрял в цикле.
483
+ **По умолчанию:** Инструктирует Claude пересмотреть, когда тот же инструмент вызывается 3+ раза с идентичными параметрами — распространённый признак того, что агент застрял в цикле.
484
484
 
485
485
  Нет параметров.
486
486
 
@@ -488,14 +488,14 @@ failproofai поставляется с 30 встроенными политик
488
488
 
489
489
  ## Рабочий процесс
490
490
 
491
- Обеспечение дисциплинированного рабочего процесса конца сеанса. Эти политики срабатывают при событии **Stop** и блокируют Claude от остановки до выполнения каждого условия. Они следуют естественной цепочке зависимостей: commit → push → PR → CI. Если политика блокирует, более поздние политики в цепочке пропускаются (deny короткие замыкания).
491
+ Обеспечьте дисциплинированный рабочий процесс конца сессии. Эти политики срабатывают на событии **Stop** и запрещают Claude останавливаться до выполнения каждого условия. Они следуют естественной цепочке зависимостей: commit → push → PR → CI. Если политика запрещает, позже идущие политики в цепи пропускаются (отказ коротко-замыкает).
492
492
 
493
493
  Все политики рабочего процесса **fail-open**: если требуемый инструмент недоступен (например, `gh` не установлен, нет git remote), политика разрешает с информационным сообщением, объясняющим, почему проверка была пропущена.
494
494
 
495
495
  ### `require-commit-before-stop`
496
496
 
497
497
  **Событие:** Stop
498
- **По умолчанию:** Блокирует остановку при наличии неиндексированных изменений (изменённые, индексированные или неотслеживаемые файлы). Возвращает информационное сообщение, когда рабочая директория чиста.
498
+ **По умолчанию:** Запрещает остановку, когда есть незакоммиченные изменения (изменённые, поставленные на stage или неотслеживаемые файлы). Возвращает информационное сообщение, когда рабочая директория чистая.
499
499
 
500
500
  Нет параметров.
501
501
 
@@ -504,13 +504,13 @@ failproofai поставляется с 30 встроенными политик
504
504
  ### `require-push-before-stop`
505
505
 
506
506
  **Событие:** Stop
507
- **По умолчанию:** Блокирует остановку при наличии неотправленных коммитов или когда текущая ветка не имеет ветки отслеживания на удалённом сервере. Предлагает `git push -u` для создания ветки отслеживания, если необходимо. Открывается, если нет настроенного удалённого сервера.
507
+ **По умолчанию:** Запрещает остановку, когда есть неотправленные коммиты или когда текущая ветвь не имеет удалённой отслеживаемой ветви. Предлагает `git push -u` для создания отслеживаемой ветви при необходимости. Fails open если no remote не сконфигурирован.
508
508
 
509
509
  **Параметры:**
510
510
 
511
511
  | Параметр | Тип | По умолчанию | Описание |
512
512
  |-------|------|---------|-------------|
513
- | `remote` | `string` | `"origin"` | Имя удалённого сервера для push. |
513
+ | `remote` | `string` | `"origin"` | Имя remote для пушинга. |
514
514
 
515
515
  **Пример:**
516
516
 
@@ -529,14 +529,14 @@ failproofai поставляется с 30 встроенными политик
529
529
  ### `require-pr-before-stop`
530
530
 
531
531
  **Событие:** Stop
532
- **По умолчанию:** Блокирует остановку при отсутствии pull request для текущей ветки или когда существующий PR закрыт/объединён. Инструктирует Claude создать PR с помощью `gh pr create`.
532
+ **По умолчанию:** Запрещает остановку, когда для текущей ветви не существует pull request, или когда существующий PR закрыт/merged. Инструктирует Claude создать PR с `gh pr create`.
533
533
 
534
534
  Нет параметров.
535
535
 
536
536
  <Note>
537
- Эта политика требует установки [GitHub CLI](https://cli.github.com/) (`gh`) и аутентификации.
538
- Запустите `gh auth login` с личным маркером доступа с областью действия `repo` для чтения
539
- pull request'ов. Если `gh` не установлен или не аутентифицирован, политика открывается и докладывает причину Claude.
537
+ Эта политика требует установки и аутентификации [GitHub CLI](https://cli.github.com/) (`gh`).
538
+ Запустите `gh auth login` с личным токеном доступа, имеющим область `repo` для чтения доступа к
539
+ pull requests. Если `gh` не установлен или не аутентифицирован, политика fails open и сообщает причину Claude.
540
540
  </Note>
541
541
 
542
542
  ---
@@ -544,14 +544,14 @@ pull request'ов. Если `gh` не установлен или не ауте
544
544
  ### `require-ci-green-before-stop`
545
545
 
546
546
  **Событие:** Stop
547
- **По умолчанию:** Блокирует остановку при сбое или продолжении выполнения CI проверок на текущей ветке. Проверяет как запуски рабочих процессов GitHub Actions, так и проверки ботов третьих сторон (например, CodeRabbit, SonarCloud, Codecov). Рассматривает `skipped` выводы как успех. Возвращает информационное сообщение, когда все проверки пройдены.
547
+ **По умолчанию:** Запрещает остановку, когда CI проверки не проходят или ещё выполняются на текущей ветви. Проверяет как запуски рабочих процессов GitHub Actions, так и проверки сторонних ботов (например, CodeRabbit, SonarCloud, Codecov). Рассматривает `skipped` и `cancelled` выводы как успех. Возвращает информационное сообщение, когда все проверки проходят.
548
548
 
549
549
  Нет параметров.
550
550
 
551
551
  <Note>
552
- Эта политика требует установки [GitHub CLI](https://cli.github.com/) (`gh`) и аутентификации.
553
- Запустите `gh auth login` с личным маркером доступа с областью действия `repo` для чтения
554
- запусков рабочих процессов Actions и Checks API. Если `gh` не установлен или не аутентифицирован, политика открывается и докладывает причину Claude.
552
+ Эта политика требует установки и аутентификации [GitHub CLI](https://cli.github.com/) (`gh`).
553
+ Запустите `gh auth login` с личным токеном доступа, имеющим область `repo` для чтения доступа к
554
+ запускам рабочих процессов Actions и Checks API. Если `gh` не установлен или не аутентифицирован, политика fails open и сообщает причину Claude.
555
555
  </Note>
556
556
 
557
557
  ---
@@ -560,7 +560,7 @@ pull request'ов. Если `gh` не установлен или не ауте
560
560
 
561
561
  ## Отключение отдельных политик
562
562
 
563
- Удалите определённую политику из `enabledPolicies` в вашей конфигурации или отключите её на вкладке Policies в панели управления.
563
+ Удалите определённую политику из `enabledPolicies` в вашей конфигурации или отключите её на вкладке Policies в dashboardе.
564
564
 
565
565
  ```json
566
566
  {
@@ -571,4 +571,4 @@ pull request'ов. Если `gh` не установлен или не ауте
571
571
  }
572
572
  ```
573
573
 
574
- Политики, не указанные в `enabledPolicies`, не запускаются, даже если существуют для них записи `policyParams`.
574
+ Политики, не указанные в `enabledPolicies`, не запускаются, даже если для них существуют записи `policyParams`.