failproofai 0.0.6-beta.1 → 0.0.6-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/.next/standalone/.failproofai/policies/review-policies.mjs +4 -3
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  13. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  15. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  20. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  21. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  22. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  23. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  25. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/index.html +1 -1
  28. package/.next/standalone/.next/server/app/index.rsc +15 -15
  29. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  30. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  31. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  32. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  33. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  35. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  38. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  41. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  44. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  48. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  52. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~kmh8w._.js → [root-of-the-server]__096k.db._.js} +2 -2
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  55. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0rh.18_._.js → [root-of-the-server]__0kyh86x._.js} +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  64. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  65. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  66. package/.next/standalone/.next/server/pages/404.html +2 -2
  67. package/.next/standalone/.next/server/pages/500.html +1 -1
  68. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  70. package/.next/standalone/.next/static/chunks/{0gbf4cphy8ksq.js → 0-dm_9a6nsc2l.js} +1 -1
  71. package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 01pmw1-asbek~.js} +2 -2
  72. package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 051m32nx~n5yr.js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0a-yctdwn368y.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0l-mu4okl-cj1.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{08t08igdql9yt.js → 0mazj-p-~2kc6.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
  78. package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 156zca6aewyr-.js} +1 -1
  79. package/.next/standalone/CHANGELOG.md +18 -0
  80. package/.next/standalone/bin/failproofai.mjs +91 -4
  81. package/.next/standalone/dist/cli.mjs +1156 -55
  82. package/.next/standalone/docs/ar/built-in-policies.mdx +140 -103
  83. package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
  84. package/.next/standalone/docs/ar/examples.mdx +86 -33
  85. package/.next/standalone/docs/ar/getting-started.mdx +82 -29
  86. package/.next/standalone/docs/built-in-policies.mdx +3 -3
  87. package/.next/standalone/docs/de/built-in-policies.mdx +97 -60
  88. package/.next/standalone/docs/de/custom-policies.mdx +56 -56
  89. package/.next/standalone/docs/de/examples.mdx +72 -18
  90. package/.next/standalone/docs/de/getting-started.mdx +72 -20
  91. package/.next/standalone/docs/es/built-in-policies.mdx +91 -54
  92. package/.next/standalone/docs/es/custom-policies.mdx +55 -55
  93. package/.next/standalone/docs/es/examples.mdx +73 -19
  94. package/.next/standalone/docs/es/getting-started.mdx +72 -20
  95. package/.next/standalone/docs/fr/built-in-policies.mdx +99 -62
  96. package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
  97. package/.next/standalone/docs/fr/examples.mdx +78 -24
  98. package/.next/standalone/docs/fr/getting-started.mdx +65 -13
  99. package/.next/standalone/docs/he/built-in-policies.mdx +139 -99
  100. package/.next/standalone/docs/he/custom-policies.mdx +75 -75
  101. package/.next/standalone/docs/he/examples.mdx +87 -33
  102. package/.next/standalone/docs/he/getting-started.mdx +84 -33
  103. package/.next/standalone/docs/hi/built-in-policies.mdx +203 -166
  104. package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
  105. package/.next/standalone/docs/hi/examples.mdx +90 -36
  106. package/.next/standalone/docs/hi/getting-started.mdx +80 -27
  107. package/.next/standalone/docs/i18n/README.ar.md +69 -69
  108. package/.next/standalone/docs/i18n/README.de.md +46 -46
  109. package/.next/standalone/docs/i18n/README.es.md +42 -42
  110. package/.next/standalone/docs/i18n/README.fr.md +39 -39
  111. package/.next/standalone/docs/i18n/README.he.md +83 -83
  112. package/.next/standalone/docs/i18n/README.hi.md +69 -69
  113. package/.next/standalone/docs/i18n/README.it.md +72 -72
  114. package/.next/standalone/docs/i18n/README.ja.md +71 -71
  115. package/.next/standalone/docs/i18n/README.ko.md +52 -52
  116. package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
  117. package/.next/standalone/docs/i18n/README.ru.md +66 -66
  118. package/.next/standalone/docs/i18n/README.tr.md +82 -83
  119. package/.next/standalone/docs/i18n/README.vi.md +70 -71
  120. package/.next/standalone/docs/i18n/README.zh.md +51 -51
  121. package/.next/standalone/docs/it/built-in-policies.mdx +115 -78
  122. package/.next/standalone/docs/it/custom-policies.mdx +69 -69
  123. package/.next/standalone/docs/it/examples.mdx +93 -39
  124. package/.next/standalone/docs/it/getting-started.mdx +73 -21
  125. package/.next/standalone/docs/ja/built-in-policies.mdx +155 -118
  126. package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
  127. package/.next/standalone/docs/ja/examples.mdx +76 -22
  128. package/.next/standalone/docs/ja/getting-started.mdx +65 -13
  129. package/.next/standalone/docs/ko/built-in-policies.mdx +103 -66
  130. package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
  131. package/.next/standalone/docs/ko/examples.mdx +87 -33
  132. package/.next/standalone/docs/ko/getting-started.mdx +61 -9
  133. package/.next/standalone/docs/pt-br/built-in-policies.mdx +72 -35
  134. package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
  135. package/.next/standalone/docs/pt-br/examples.mdx +78 -24
  136. package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
  137. package/.next/standalone/docs/ru/built-in-policies.mdx +135 -98
  138. package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
  139. package/.next/standalone/docs/ru/examples.mdx +77 -22
  140. package/.next/standalone/docs/ru/getting-started.mdx +74 -22
  141. package/.next/standalone/docs/tr/built-in-policies.mdx +126 -89
  142. package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
  143. package/.next/standalone/docs/tr/examples.mdx +97 -42
  144. package/.next/standalone/docs/tr/getting-started.mdx +75 -23
  145. package/.next/standalone/docs/vi/built-in-policies.mdx +116 -81
  146. package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
  147. package/.next/standalone/docs/vi/examples.mdx +93 -38
  148. package/.next/standalone/docs/vi/getting-started.mdx +74 -22
  149. package/.next/standalone/docs/zh/built-in-policies.mdx +117 -82
  150. package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
  151. package/.next/standalone/docs/zh/examples.mdx +90 -36
  152. package/.next/standalone/docs/zh/getting-started.mdx +73 -21
  153. package/.next/standalone/package.json +1 -1
  154. package/.next/standalone/server.js +1 -1
  155. package/.next/standalone/src/auth/login.ts +104 -0
  156. package/.next/standalone/src/auth/logout.ts +50 -0
  157. package/.next/standalone/src/auth/token-store.ts +64 -0
  158. package/.next/standalone/src/hooks/builtin-policies.ts +27 -21
  159. package/.next/standalone/src/hooks/handler.ts +35 -15
  160. package/.next/standalone/src/relay/daemon.ts +362 -0
  161. package/.next/standalone/src/relay/pid.ts +76 -0
  162. package/.next/standalone/src/relay/queue.ts +225 -0
  163. package/bin/failproofai.mjs +91 -4
  164. package/dist/cli.mjs +1156 -55
  165. package/package.json +1 -1
  166. package/src/auth/login.ts +104 -0
  167. package/src/auth/logout.ts +50 -0
  168. package/src/auth/token-store.ts +64 -0
  169. package/src/hooks/builtin-policies.ts +27 -21
  170. package/src/hooks/handler.ts +35 -15
  171. package/src/relay/daemon.ts +362 -0
  172. package/src/relay/pid.ts +76 -0
  173. package/src/relay/queue.ts +225 -0
  174. package/.next/standalone/.next/static/chunks/0wlyoif4_kj_t.js +0 -6
  175. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
  176. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
  177. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  title: Встроенные политики
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
 
@@ -13,7 +13,7 @@ failproofai поставляется с 30 встроенными политик
13
13
  Политики сгруппированы по категориям:
14
14
 
15
15
  | Категория | Политики | Тип хука |
16
- |----------|----------|---------|
16
+ |----------|----------|-----------|
17
17
  | [Опасные команды](#опасные-команды) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
18
18
  | [Секреты (санитайзеры)](#секреты-санитайзеры) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
19
19
  | [Окружение](#окружение) | block-env-files, protect-env-vars | PreToolUse |
@@ -21,36 +21,37 @@ failproofai поставляется с 30 встроенными политик
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
  | [База данных](#база-данных) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
23
23
  | [Предупреждения](#предупреждения) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
24
+ | [Менеджеры пакетов](#менеджеры-пакетов) | prefer-package-manager | PreToolUse |
24
25
  | [Рабочий процесс](#рабочий-процесс) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
25
26
 
26
27
  - **`block-`** — остановить агента от продолжения.
27
- - **`warn-`** — дать агенту дополнительный контекст, чтобы он мог самокорректироваться.
28
- - **`sanitize-`** — удалить чувствительные данные из выходных данных инструмента перед тем, как их увидит агент.
29
- - **`require-`** — блокировать событие Stop до выполнения условий.
28
+ - **`warn-`** — дать агенту дополнительный контекст, чтобы он мог сам исправиться.
29
+ - **`sanitize-`** — удалить чувствительные данные из вывода инструмента перед тем, как их увидит агент.
30
+ - **`require-`** — заблокировать событие Stop до выполнения условий.
30
31
 
31
32
  ---
32
33
 
33
34
  <Tip>
34
- Каждая политика поддерживает необязательное поле `hint` в `policyParams`. Подсказка добавляется к сообщению deny или instruct, которое видит Claude, предоставляя практическое руководство без изменения кода политики. Работает со встроенными, пользовательскими и условными политиками. Подробнее см. в разделе [Конфигурация → hint](/ru/configuration#hint-cross-cutting).
35
+ Каждая политика поддерживает опциональное поле `hint` в `policyParams`. Подсказка добавляется к сообщению отказа или инструкции, которые видит Claude, предоставляя полезные рекомендации без изменения кода политики. Работает с встроенными, пользовательскими и политиками соглашений. См. раздел [Конфигурация → hint](/ru/configuration#hint-cross-cutting) для деталей.
35
36
  </Tip>
36
37
 
37
38
  ---
38
39
 
39
40
  ## Опасные команды
40
41
 
41
- Предотвратите выполнение агентами операций, которые трудно отменить или которые могут повредить хост-систему.
42
+ Предотвратите запуск агентами операций, которые трудно отменить или которые могут повредить хост-систему.
42
43
 
43
44
  ### `block-sudo`
44
45
 
45
- **События:** PreToolUse (Bash)
46
- **По умолчанию:** Отклоняет любую команду `sudo`.
46
+ **Событие:** PreToolUse (Bash)
47
+ **По умолчанию:** Запрещает любую команду `sudo`.
47
48
 
48
- Блокирует вызовы, содержащие ключевое слово `sudo`. Сопоставление шаблонов выполняется на разобранных токенах команд, а не на исходной строке, чтобы предотвратить обход через инъекцию операторов shell.
49
+ Блокирует вызовы, включающие ключевое слово `sudo`. Сопоставление шаблонов выполняется на разобранных токенах команды, а не на исходной строке, чтобы предотвратить обход через инъекцию оператора shell.
49
50
 
50
51
  **Параметры:**
51
52
 
52
53
  | Параметр | Тип | По умолчанию | Описание |
53
- |----------|-----|-------------|---------|
54
+ |-------|------|---------|-------------|
54
55
  | `allowPatterns` | `string[]` | `[]` | Точные префиксы команд, которые разрешены. Каждая запись сопоставляется с разобранными токенами argv. |
55
56
 
56
57
  **Пример:**
@@ -65,24 +66,24 @@ failproofai поставляется с 30 встроенными политик
65
66
  }
66
67
  ```
67
68
 
68
- С такой конфигурацией `sudo systemctl status nginx` разрешён, но `sudo rm /etc/hosts` запрещён.
69
+ С этой конфигурацией `sudo systemctl status nginx` разрешается, но `sudo rm /etc/hosts` запрещается.
69
70
 
70
71
  <Note>
71
- Шаблоны сопоставляются с разобранными токенами, а не с исходной командной строкой. Это предотвращает обход через добавленные операторы shell (например, `sudo systemctl status x; rm -rf /` не соответствует `sudo systemctl status *`).
72
+ Шаблоны сопоставляются с разобранными токенами, а не с исходной строкой команды. Это предотвращает обход через добавленные операторы shell (например, `sudo systemctl status x; rm -rf /` не соответствует `sudo systemctl status *`).
72
73
  </Note>
73
74
 
74
75
  ---
75
76
 
76
77
  ### `block-rm-rf`
77
78
 
78
- **События:** PreToolUse (Bash)
79
- **По умолчанию:** Отклоняет `rm -rf`, `rm -fr` и аналогичные формы рекурсивного удаления.
79
+ **Событие:** PreToolUse (Bash)
80
+ **По умолчанию:** Запрещает `rm -rf`, `rm -fr` и аналогичные формы рекурсивного удаления.
80
81
 
81
82
  **Параметры:**
82
83
 
83
84
  | Параметр | Тип | По умолчанию | Описание |
84
- |----------|-----|-------------|---------|
85
- | `allowPaths` | `string[]` | `[]` | Пути, которые безопасно рекурсивно удалять (например, `/tmp`). |
85
+ |-------|------|---------|-------------|
86
+ | `allowPaths` | `string[]` | `[]` | Пути, безопасные для рекурсивного удаления (например, `/tmp`). |
86
87
 
87
88
  **Пример:**
88
89
 
@@ -100,8 +101,8 @@ failproofai поставляется с 30 встроенными политик
100
101
 
101
102
  ### `block-curl-pipe-sh`
102
103
 
103
- **События:** PreToolUse (Bash)
104
- **По умолчанию:** Отклоняет `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` и аналогичные шаблоны.
104
+ **Событие:** PreToolUse (Bash)
105
+ **По умолчанию:** Запрещает `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash` и аналогичные шаблоны.
105
106
 
106
107
  Нет параметров.
107
108
 
@@ -109,8 +110,8 @@ failproofai поставляется с 30 встроенными политик
109
110
 
110
111
  ### `block-failproofai-commands`
111
112
 
112
- **События:** PreToolUse (Bash)
113
- **По умолчанию:** Отклоняет команды, которые бы удалили или отключили failproofai (например, `npm uninstall failproofai`, `failproofai policies --uninstall`).
113
+ **Событие:** PreToolUse (Bash)
114
+ **По умолчанию:** Запрещает команды, которые выполняли бы удаление или отключение самого failproofai (например, `npm uninstall failproofai`, `failproofai policies --uninstall`).
114
115
 
115
116
  Нет параметров.
116
117
 
@@ -118,12 +119,12 @@ failproofai поставляется с 30 встроенными политик
118
119
 
119
120
  ## Секреты (санитайзеры)
120
121
 
121
- Предотвратите утечку учётных данных агентом в его контекст или выходные данные. Политики санитайзеров срабатывают на событиях **PostToolUse**. Когда Claude запускает команду Bash, читает файл или вызывает любой инструмент, эти политики проверяют выходные данные перед возвратом Claude. Если обнаружен шаблон секрета, политика возвращает решение deny, которое предотвращает передачу выходных данных обратно.
122
+ Предотвратите утечку агентами учётных данных в их контекст или вывод. Политики санитайзеры срабатывают на событиях **PostToolUse**. Когда Claude запускает команду Bash, читает файл или вызывает любой инструмент, эти политики проверяют вывод перед возвратом Claude. Если обнаруживается шаблон секрета, политика возвращает решение отказа, которое предотвращает передачу вывода.
122
123
 
123
124
  ### `sanitize-jwt`
124
125
 
125
- **События:** PostToolUse (все инструменты)
126
- **По умолчанию:** Скрывает JWT-токены (три сегмента base64url, разделённые `.`).
126
+ **Событие:** PostToolUse (все инструменты)
127
+ **По умолчанию:** Скрывает JWT токены (три сегмента base64url, разделённые `.`).
127
128
 
128
129
  Нет параметров.
129
130
 
@@ -131,14 +132,14 @@ failproofai поставляется с 30 встроенными политик
131
132
 
132
133
  ### `sanitize-api-keys`
133
134
 
134
- **События:** PostToolUse (все инструменты)
135
- **По умолчанию:** Скрывает распространённые форматы API-ключей: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), AWS access keys (`AKIA`), Stripe keys (`sk_live_`, `sk_test_`), и Google API keys (`AIza`).
135
+ **Событие:** PostToolUse (все инструменты)
136
+ **По умолчанию:** Скрывает распространённые форматы API ключей: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), AWS access keys (`AKIA`), Stripe keys (`sk_live_`, `sk_test_`), и Google API keys (`AIza`).
136
137
 
137
138
  **Параметры:**
138
139
 
139
140
  | Параметр | Тип | По умолчанию | Описание |
140
- |----------|-----|-------------|---------|
141
- | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Дополнительные regex-шаблоны для трактовки как секретов. |
141
+ |-------|------|---------|-------------|
142
+ | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Дополнительные regex шаблоны для обработки как секреты. |
142
143
 
143
144
  **Пример:**
144
145
 
@@ -159,8 +160,8 @@ failproofai поставляется с 30 встроенными политик
159
160
 
160
161
  ### `sanitize-connection-strings`
161
162
 
162
- **События:** PostToolUse (все инструменты)
163
- **По умолчанию:** Скрывает строки подключения к базе данных, содержащие встроенные учётные данные (например, `postgresql://user:password@host/db`).
163
+ **Событие:** PostToolUse (все инструменты)
164
+ **По умолчанию:** Скрывает строки подключения базы данных, содержащие встроенные учётные данные (например, `postgresql://user:password@host/db`).
164
165
 
165
166
  Нет параметров.
166
167
 
@@ -168,8 +169,8 @@ failproofai поставляется с 30 встроенными политик
168
169
 
169
170
  ### `sanitize-private-key-content`
170
171
 
171
- **События:** PostToolUse (все инструменты)
172
- **По умолчанию:** Скрывает PEM-блоки (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----` и т.д.).
172
+ **Событие:** PostToolUse (все инструменты)
173
+ **По умолчанию:** Скрывает блоки PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, и т. д.).
173
174
 
174
175
  Нет параметров.
175
176
 
@@ -177,8 +178,8 @@ failproofai поставляется с 30 встроенными политик
177
178
 
178
179
  ### `sanitize-bearer-tokens`
179
180
 
180
- **События:** PostToolUse (все инструменты)
181
- **По умолчанию:** Скрывает заголовки `Authorization: Bearer <token>`, где токен состоит из 20 или более символов.
181
+ **Событие:** PostToolUse (все инструменты)
182
+ **По умолчанию:** Скрывает заголовки `Authorization: Bearer <token>`, где токен содержит 20 или более символов.
182
183
 
183
184
  Нет параметров.
184
185
 
@@ -190,10 +191,10 @@ failproofai поставляется с 30 встроенными политик
190
191
 
191
192
  ### `block-env-files`
192
193
 
193
- **События:** PreToolUse (Bash, Read)
194
- **По умолчанию:** Отклоняет чтение файлов `.env` через `cat .env`, вызовы инструмента Read с `.env` в качестве пути файла и т.д.
194
+ **Событие:** PreToolUse (Bash, Read)
195
+ **По умолчанию:** Запрещает чтение файлов `.env` через `cat .env`, вызовы инструмента Read с `.env` как путём к файлу и т. д.
195
196
 
196
- Не блокирует `.envrc` или другие файлы, связанные с окружением — только файлы, названные ровно `.env`.
197
+ Не блокирует `.envrc` или другие файлы, связанные с окружением — только файлы с именем ровно `.env`.
197
198
 
198
199
  Нет параметров.
199
200
 
@@ -201,8 +202,8 @@ failproofai поставляется с 30 встроенными политик
201
202
 
202
203
  ### `protect-env-vars`
203
204
 
204
- **События:** PreToolUse (Bash)
205
- **По умолчанию:** Отклоняет команды, которые выводят переменные окружения: `printenv`, `env`, `echo $VAR`.
205
+ **Событие:** PreToolUse (Bash)
206
+ **По умолчанию:** Запрещает команды, которые выводят переменные окружения: `printenv`, `env`, `echo $VAR`.
206
207
 
207
208
  Нет параметров.
208
209
 
@@ -210,18 +211,18 @@ failproofai поставляется с 30 встроенными политик
210
211
 
211
212
  ## Доступ к файлам
212
213
 
213
- Держите агентов внутри границ проекта и подальше от чувствительных файлов.
214
+ Держите агентов работающими внутри границ проекта и вдали от чувствительных файлов.
214
215
 
215
216
  ### `block-read-outside-cwd`
216
217
 
217
- **События:** PreToolUse (Read, Bash)
218
- **По умолчанию:** Отклоняет чтение файлов вне текущего рабочего каталога (корня проекта).
218
+ **Событие:** PreToolUse (Read, Bash)
219
+ **По умолчанию:** Запрещает чтение файлов вне текущей рабочей директории (корень проекта).
219
220
 
220
221
  **Параметры:**
221
222
 
222
223
  | Параметр | Тип | По умолчанию | Описание |
223
- |----------|-----|-------------|---------|
224
- | `allowPaths` | `string[]` | `[]` | Префиксы абсолютных путей, которые разрешены даже если вне cwd. |
224
+ |-------|------|---------|-------------|
225
+ | `allowPaths` | `string[]` | `[]` | Абсолютные префиксы путей, которые разрешены даже если они вне cwd. |
225
226
 
226
227
  **Пример:**
227
228
 
@@ -239,13 +240,13 @@ failproofai поставляется с 30 встроенными политик
239
240
 
240
241
  ### `block-secrets-write`
241
242
 
242
- **События:** PreToolUse (Write, Edit)
243
- **По умолчанию:** Отклоняет записи в файлы, обычно используемые для приватных ключей и сертификатов: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
243
+ **Событие:** PreToolUse (Write, Edit)
244
+ **По умолчанию:** Запрещает записи в файлы, обычно используемые для приватных ключей и сертификатов: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
244
245
 
245
246
  **Параметры:**
246
247
 
247
248
  | Параметр | Тип | По умолчанию | Описание |
248
- |----------|-----|-------------|---------|
249
+ |-------|------|---------|-------------|
249
250
  | `additionalPatterns` | `string[]` | `[]` | Дополнительные шаблоны имён файлов (glob-стиль) для блокировки. |
250
251
 
251
252
  **Пример:**
@@ -264,18 +265,18 @@ failproofai поставляется с 30 встроенными политик
264
265
 
265
266
  ## Git
266
267
 
267
- Предотвратите случайные пуши, force-пуши и ошибки ветвей, которые трудно отменить.
268
+ Предотвратите случайные push, force-push и ошибки ветвей, которые трудно отменить.
268
269
 
269
270
  ### `block-push-master`
270
271
 
271
- **События:** PreToolUse (Bash)
272
- **По умолчанию:** Отклоняет `git push origin main` и `git push origin master`.
272
+ **Событие:** PreToolUse (Bash)
273
+ **По умолчанию:** Запрещает `git push origin main` и `git push origin master`.
273
274
 
274
275
  **Параметры:**
275
276
 
276
277
  | Параметр | Тип | По умолчанию | Описание |
277
- |----------|-----|-------------|---------|
278
- | `protectedBranches` | `string[]` | `["main", "master"]` | Имена ветвей, в которые нельзя пушить напрямую. |
278
+ |-------|------|---------|-------------|
279
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Имена ветвей, на которые нельзя пушить напрямую. |
279
280
 
280
281
  **Пример:**
281
282
 
@@ -290,30 +291,30 @@ failproofai поставляется с 30 встроенными политик
290
291
  ```
291
292
 
292
293
  <Tip>
293
- Чтобы разрешить пуши во все ветви (фактически отключив эту политику без удаления её из `enabledPolicies`), установите `protectedBranches: []`.
294
+ Чтобы разрешить пушинг во все ветви (фактически отключив эту политику без удаления её из `enabledPolicies`), установите `protectedBranches: []`.
294
295
  </Tip>
295
296
 
296
297
  ---
297
298
 
298
299
  ### `block-work-on-main`
299
300
 
300
- **События:** PreToolUse (Bash)
301
- **По умолчанию:** Отклоняет проверку (checkout) ветвей `main` или `master` напрямую.
301
+ **Событие:** PreToolUse (Bash)
302
+ **По умолчанию:** Запрещает checkout веток `main` или `master` напрямую.
302
303
 
303
304
  **Параметры:**
304
305
 
305
306
  | Параметр | Тип | По умолчанию | Описание |
306
- |----------|-----|-------------|---------|
307
- | `protectedBranches` | `string[]` | `["main", "master"]` | Имена ветвей, которые нельзя проверять напрямую. |
307
+ |-------|------|---------|-------------|
308
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Имена ветвей, которые нельзя checkoutить напрямую. |
308
309
 
309
310
  ---
310
311
 
311
312
  ### `block-force-push`
312
313
 
313
- **События:** PreToolUse (Bash)
314
- **По умолчанию:** Отклоняет `git push --force` и `git push -f`.
314
+ **Событие:** PreToolUse (Bash)
315
+ **По умолчанию:** Запрещает `git push --force` и `git push -f`.
315
316
 
316
- Нет специфических параметров политики. Используйте кросс-элементный [`hint`](/ru/configuration#hint-cross-cutting) для предложения альтернатив:
317
+ Нет политик-специфичных параметров. Используйте кросс-режущую [`hint`](/ru/configuration#hint-cross-cutting) для предложения альтернатив:
317
318
 
318
319
  ```json
319
320
  {
@@ -329,7 +330,7 @@ failproofai поставляется с 30 встроенными политик
329
330
 
330
331
  ### `warn-git-amend`
331
332
 
332
- **События:** PreToolUse (Bash)
333
+ **Событие:** PreToolUse (Bash)
333
334
  **По умолчанию:** Инструктирует Claude действовать осторожно при запуске `git commit --amend`. Не блокирует команду.
334
335
 
335
336
  Нет параметров.
@@ -338,7 +339,7 @@ failproofai поставляется с 30 встроенными политик
338
339
 
339
340
  ### `warn-git-stash-drop`
340
341
 
341
- **События:** PreToolUse (Bash)
342
+ **Событие:** PreToolUse (Bash)
342
343
  **По умолчанию:** Инструктирует Claude подтвердить перед запуском `git stash drop`. Не блокирует команду.
343
344
 
344
345
  Нет параметров.
@@ -347,8 +348,8 @@ failproofai поставляется с 30 встроенными политик
347
348
 
348
349
  ### `warn-all-files-staged`
349
350
 
350
- **События:** PreToolUse (Bash)
351
- **По умолчанию:** Инструктирует Claude просмотреть то, что он ставит на сцену, при запуске `git add -A` или `git add .`. Не блокирует команду.
351
+ **Событие:** PreToolUse (Bash)
352
+ **По умолчанию:** Инструктирует Claude просмотреть то, что он staging, когда запускает `git add -A` или `git add .`. Не блокирует команду.
352
353
 
353
354
  Нет параметров.
354
355
 
@@ -356,12 +357,12 @@ failproofai поставляется с 30 встроенными политик
356
357
 
357
358
  ## База данных
358
359
 
359
- Перехватите деструктивные SQL-операции перед их выполнением на вашей базе данных.
360
+ Ловите деструктивные SQL операции перед их выполнением против вашей базы данных.
360
361
 
361
362
  ### `warn-destructive-sql`
362
363
 
363
- **События:** PreToolUse (Bash)
364
- **По умолчанию:** Инструктирует Claude подтвердить перед запуском SQL, содержащего `DROP TABLE`, `DROP DATABASE` или `DELETE` без предложения `WHERE`.
364
+ **Событие:** PreToolUse (Bash)
365
+ **По умолчанию:** Инструктирует Claude подтвердить перед запуском SQL, содержащего `DROP TABLE`, `DROP DATABASE`, или `DELETE` без `WHERE` предложения.
365
366
 
366
367
  Нет параметров.
367
368
 
@@ -369,8 +370,8 @@ failproofai поставляется с 30 встроенными политик
369
370
 
370
371
  ### `warn-schema-alteration`
371
372
 
372
- **События:** PreToolUse (Bash)
373
- **По умолчанию:** Инструктирует Claude подтвердить перед запуском операторов `ALTER TABLE`.
373
+ **Событие:** PreToolUse (Bash)
374
+ **По умолчанию:** Инструктирует Claude подтвердить перед запуском операций `ALTER TABLE`.
374
375
 
375
376
  Нет параметров.
376
377
 
@@ -378,17 +379,17 @@ failproofai поставляется с 30 встроенными политик
378
379
 
379
380
  ## Предупреждения
380
381
 
381
- Дайте агентам дополнительный контекст перед потенциально рискованными, но неразрушительными операциями.
382
+ Дайте агентам дополнительный контекст перед потенциально рискованными, но не деструктивными операциями.
382
383
 
383
384
  ### `warn-large-file-write`
384
385
 
385
- **События:** PreToolUse (Write)
386
- **По умолчанию:** Инструктирует Claude подтвердить перед записью файлов размером более 1024 КБ.
386
+ **Событие:** PreToolUse (Write)
387
+ **По умолчанию:** Инструктирует Claude подтвердить перед записью файлов больше 1024 КБ.
387
388
 
388
389
  **Параметры:**
389
390
 
390
391
  | Параметр | Тип | По умолчанию | Описание |
391
- |----------|-----|-------------|---------|
392
+ |-------|------|---------|-------------|
392
393
  | `thresholdKb` | `number` | `1024` | Порог размера файла в килобайтах, выше которого выводится предупреждение. |
393
394
 
394
395
  **Пример:**
@@ -404,14 +405,14 @@ failproofai поставляется с 30 встроенными политик
404
405
  ```
405
406
 
406
407
  <Note>
407
- Обработчик хука обеспечивает ограничение stdin в 1 МБ на полезные нагрузки. Для тестирования этой политики с малым содержимым установите `thresholdKb` на значение значительно ниже 1024.
408
+ Обработчик хука обеспечивает лимит stdin в 1 МБ на полезные нагрузки. Для тестирования этой политики с малым содержимым установите `thresholdKb` на значение хорошо ниже 1024.
408
409
  </Note>
409
410
 
410
411
  ---
411
412
 
412
413
  ### `warn-package-publish`
413
414
 
414
- **События:** PreToolUse (Bash)
415
+ **Событие:** PreToolUse (Bash)
415
416
  **По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm publish`.
416
417
 
417
418
  Нет параметров.
@@ -420,8 +421,8 @@ failproofai поставляется с 30 встроенными политик
420
421
 
421
422
  ### `warn-background-process`
422
423
 
423
- **События:** PreToolUse (Bash)
424
- **По умолчанию:** Инструктирует Claude быть осторожным при запуске фоновых процессов через `nohup`, `&`, `disown` или `screen`.
424
+ **Событие:** PreToolUse (Bash)
425
+ **По умолчанию:** Инструктирует Claude быть осторожным при запуске фоновых процессов через `nohup`, `&`, `disown`, или `screen`.
425
426
 
426
427
  Нет параметров.
427
428
 
@@ -429,21 +430,57 @@ failproofai поставляется с 30 встроенными политик
429
430
 
430
431
  ### `warn-global-package-install`
431
432
 
432
- **События:** PreToolUse (Bash)
433
- **По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm install -g`, `yarn global add` или `pip install` без виртуального окружения.
433
+ **Событие:** PreToolUse (Bash)
434
+ **По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm install -g`, `yarn global add`, или `pip install` без виртуального окружения.
434
435
 
435
436
  Нет параметров.
436
437
 
437
438
  ---
438
439
 
439
- ## Поведение ИИ
440
+ ## Менеджеры пакетов
441
+
442
+ Обеспечьте, какой менеджер пакетов агенту разрешено использовать.
443
+
444
+ ### `prefer-package-manager`
445
+
446
+ **Событие:** PreToolUse (Bash)
447
+ **По умолчанию:** Отключено. Когда включено, блокирует любую команду менеджера пакетов, не входящую в список `allowed`, и говорит Claude переписать команду, используя разрешённый менеджер.
448
+
449
+ Обнаруживает: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
450
+
451
+ | Параметр | Тип | По умолчанию | Описание |
452
+ |-----------|------|---------|-------------|
453
+ | `allowed` | string[] | `[]` | Разрешённые имена менеджеров пакетов. Любой обнаруженный менеджер, не входящий в этот список, блокируется. Когда пусто, политика неоперативна. |
454
+ | `blocked` | string[] | `[]` | Дополнительные имена менеджеров для блокировки сверх встроенного списка (например, `['pdm', 'pipx']`). |
455
+
456
+ Встроенный список блокировки охватывает: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Используйте `blocked` для добавления менеджеров, не входящих в этот список.
457
+
458
+ **Пример конфигурации:**
459
+
460
+ ```json
461
+ {
462
+ "enabledPolicies": ["prefer-package-manager"],
463
+ "policyParams": {
464
+ "prefer-package-manager": {
465
+ "allowed": ["uv", "bun"],
466
+ "blocked": ["pdm", "pipx"]
467
+ }
468
+ }
469
+ }
470
+ ```
471
+
472
+ С этой конфигурацией `pip install flask` и `pdm install flask` оба запрещены с сообщением, говорящим Claude использовать `uv` или `bun` вместо этого. Команды типа `uv pip install flask` разрешены, потому что `uv` находится в списке разрешённых и проверяется первым.
473
+
474
+ ---
475
+
476
+ ## Поведение AI
440
477
 
441
478
  Обнаружьте, когда агенты застревают или ведут себя неожиданно.
442
479
 
443
480
  ### `warn-repeated-tool-calls`
444
481
 
445
- **События:** PreToolUse (все инструменты)
446
- **По умолчанию:** Инструктирует Claude пересмотреть, когда один и тот же инструмент вызывается 3 и более раз с идентичными параметрами — распространённый признак того, что агент застрял в цикле.
482
+ **Событие:** PreToolUse (все инструменты)
483
+ **По умолчанию:** Инструктирует Claude пересмотреть, когда тот же инструмент вызывается 3+ раза с идентичными параметрами — распространённый признак того, что агент застрял в цикле.
447
484
 
448
485
  Нет параметров.
449
486
 
@@ -451,14 +488,14 @@ failproofai поставляется с 30 встроенными политик
451
488
 
452
489
  ## Рабочий процесс
453
490
 
454
- Обеспечьте дисциплинированный рабочий процесс конца сеанса. Эти политики срабатывают на событии **Stop** и запрещают Claude останавливаться до выполнения каждого условия. Они следуют естественной цепочке зависимостей: commit → push → PR → CI. Если политика запрещает, более поздние политики в цепочке пропускаются (deny прерывает поток).
491
+ Обеспечьте дисциплинированный рабочий процесс конца сессии. Эти политики срабатывают на событии **Stop** и запрещают Claude останавливаться до выполнения каждого условия. Они следуют естественной цепочке зависимостей: commit → push → PR → CI. Если политика запрещает, позже идущие политики в цепи пропускаются (отказ коротко-замыкает).
455
492
 
456
493
  Все политики рабочего процесса **fail-open**: если требуемый инструмент недоступен (например, `gh` не установлен, нет git remote), политика разрешает с информационным сообщением, объясняющим, почему проверка была пропущена.
457
494
 
458
495
  ### `require-commit-before-stop`
459
496
 
460
- **События:** Stop
461
- **По умолчанию:** Отклоняет остановку, когда есть незафиксированные изменения (изменённые, подготовленные или неотслеживаемые файлы). Возвращает информационное сообщение, когда рабочий каталог чист.
497
+ **Событие:** Stop
498
+ **По умолчанию:** Запрещает остановку, когда есть незакоммиченные изменения (изменённые, поставленные на stage или неотслеживаемые файлы). Возвращает информационное сообщение, когда рабочая директория чистая.
462
499
 
463
500
  Нет параметров.
464
501
 
@@ -466,14 +503,14 @@ failproofai поставляется с 30 встроенными политик
466
503
 
467
504
  ### `require-push-before-stop`
468
505
 
469
- **События:** Stop
470
- **По умолчанию:** Отклоняет остановку, когда есть неотправленные коммиты или когда текущая ветвь не имеет ветви отслеживания remote. Предлагает `git push -u` для создания ветви отслеживания при необходимости. Fail open, если remote не настроен.
506
+ **Событие:** Stop
507
+ **По умолчанию:** Запрещает остановку, когда есть неотправленные коммиты или когда текущая ветвь не имеет удалённой отслеживаемой ветви. Предлагает `git push -u` для создания отслеживаемой ветви при необходимости. Fails open если no remote не сконфигурирован.
471
508
 
472
509
  **Параметры:**
473
510
 
474
511
  | Параметр | Тип | По умолчанию | Описание |
475
- |----------|-----|-------------|---------|
476
- | `remote` | `string` | `"origin"` | Имя remote для пуша. |
512
+ |-------|------|---------|-------------|
513
+ | `remote` | `string` | `"origin"` | Имя remote для пушинга. |
477
514
 
478
515
  **Пример:**
479
516
 
@@ -491,30 +528,30 @@ failproofai поставляется с 30 встроенными политик
491
528
 
492
529
  ### `require-pr-before-stop`
493
530
 
494
- **События:** Stop
495
- **По умолчанию:** Отклоняет остановку, когда pull request не существует для текущей ветви, или когда существующий PR закрыт/объединён. Инструктирует Claude создать PR с помощью `gh pr create`.
531
+ **Событие:** Stop
532
+ **По умолчанию:** Запрещает остановку, когда для текущей ветви не существует pull request, или когда существующий PR закрыт/merged. Инструктирует Claude создать PR с `gh pr create`.
496
533
 
497
534
  Нет параметров.
498
535
 
499
536
  <Note>
500
537
  Эта политика требует установки и аутентификации [GitHub CLI](https://cli.github.com/) (`gh`).
501
538
  Запустите `gh auth login` с личным токеном доступа, имеющим область `repo` для чтения доступа к
502
- pull request. Если `gh` не установлен или не аутентифицирован, политика fail open и сообщает причину Claude.
539
+ pull requests. Если `gh` не установлен или не аутентифицирован, политика fails open и сообщает причину Claude.
503
540
  </Note>
504
541
 
505
542
  ---
506
543
 
507
544
  ### `require-ci-green-before-stop`
508
545
 
509
- **События:** Stop
510
- **По умолчанию:** Отклоняет остановку, когда CI проверки не пройдены или ещё выполняются на текущей ветви. Проверяет как запуски рабочих процессов GitHub Actions, так и сторонние bot проверки (например, CodeRabbit, SonarCloud, Codecov). Рассматривает выводы `skipped` как успех. Возвращает информационное сообщение, когда все проверки пройдены.
546
+ **Событие:** Stop
547
+ **По умолчанию:** Запрещает остановку, когда CI проверки не проходят или ещё выполняются на текущей ветви. Проверяет как запуски рабочих процессов GitHub Actions, так и проверки сторонних ботов (например, CodeRabbit, SonarCloud, Codecov). Рассматривает `skipped` и `cancelled` выводы как успех. Возвращает информационное сообщение, когда все проверки проходят.
511
548
 
512
549
  Нет параметров.
513
550
 
514
551
  <Note>
515
552
  Эта политика требует установки и аутентификации [GitHub CLI](https://cli.github.com/) (`gh`).
516
553
  Запустите `gh auth login` с личным токеном доступа, имеющим область `repo` для чтения доступа к
517
- запускам рабочих процессов Actions и API проверок. Если `gh` не установлен или не аутентифицирован, политика fail open и сообщает причину Claude.
554
+ запускам рабочих процессов Actions и Checks API. Если `gh` не установлен или не аутентифицирован, политика fails open и сообщает причину Claude.
518
555
  </Note>
519
556
 
520
557
  ---
@@ -523,7 +560,7 @@ pull request. Если `gh` не установлен или не аутенти
523
560
 
524
561
  ## Отключение отдельных политик
525
562
 
526
- Удалите конкретную политику из `enabledPolicies` в вашей конфигурации или переключите её в панели Policies на главной панели.
563
+ Удалите определённую политику из `enabledPolicies` в вашей конфигурации или отключите её на вкладке Policies в dashboardе.
527
564
 
528
565
  ```json
529
566
  {
@@ -534,4 +571,4 @@ pull request. Если `gh` не установлен или не аутенти
534
571
  }
535
572
  ```
536
573
 
537
- Политики, не указанные в `enabledPolicies`, не запускаются, даже если существуют записи `policyParams` для них.
574
+ Политики, не указанные в `enabledPolicies`, не запускаются, даже если для них существуют записи `policyParams`.