failproofai 0.0.6-beta.1 → 0.0.6-beta.2

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 (160) 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]__0~kmh8w._.js → [root-of-the-server]__05akje6._.js} +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.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]__0i5kvry._.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/{08t08igdql9yt.js → 00j0rr7rh8ef8.js} +1 -1
  71. package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 05j1px0r8yzh6.js} +2 -2
  72. package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0badv41uxa56..js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{0wlyoif4_kj_t.js → 0ijk_kek9_wyx.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 0npb~873.wvg3.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0xpl.oscrakvx.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/{0gbf4cphy8ksq.js → 1052sguyd-.ka.js} +1 -1
  78. package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 14cl9poem30dq.js} +1 -1
  79. package/.next/standalone/CHANGELOG.md +11 -0
  80. package/.next/standalone/dist/cli.mjs +3 -3
  81. package/.next/standalone/docs/ar/built-in-policies.mdx +124 -87
  82. package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
  83. package/.next/standalone/docs/ar/examples.mdx +86 -33
  84. package/.next/standalone/docs/ar/getting-started.mdx +82 -29
  85. package/.next/standalone/docs/built-in-policies.mdx +1 -1
  86. package/.next/standalone/docs/de/built-in-policies.mdx +93 -56
  87. package/.next/standalone/docs/de/custom-policies.mdx +56 -56
  88. package/.next/standalone/docs/de/examples.mdx +72 -18
  89. package/.next/standalone/docs/de/getting-started.mdx +72 -20
  90. package/.next/standalone/docs/es/built-in-policies.mdx +115 -78
  91. package/.next/standalone/docs/es/custom-policies.mdx +55 -55
  92. package/.next/standalone/docs/es/examples.mdx +73 -19
  93. package/.next/standalone/docs/es/getting-started.mdx +72 -20
  94. package/.next/standalone/docs/fr/built-in-policies.mdx +83 -46
  95. package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
  96. package/.next/standalone/docs/fr/examples.mdx +78 -24
  97. package/.next/standalone/docs/fr/getting-started.mdx +65 -13
  98. package/.next/standalone/docs/he/built-in-policies.mdx +156 -117
  99. package/.next/standalone/docs/he/custom-policies.mdx +75 -75
  100. package/.next/standalone/docs/he/examples.mdx +87 -33
  101. package/.next/standalone/docs/he/getting-started.mdx +84 -33
  102. package/.next/standalone/docs/hi/built-in-policies.mdx +101 -60
  103. package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
  104. package/.next/standalone/docs/hi/examples.mdx +90 -36
  105. package/.next/standalone/docs/hi/getting-started.mdx +80 -27
  106. package/.next/standalone/docs/i18n/README.ar.md +69 -69
  107. package/.next/standalone/docs/i18n/README.de.md +46 -46
  108. package/.next/standalone/docs/i18n/README.es.md +42 -42
  109. package/.next/standalone/docs/i18n/README.fr.md +39 -39
  110. package/.next/standalone/docs/i18n/README.he.md +83 -83
  111. package/.next/standalone/docs/i18n/README.hi.md +69 -69
  112. package/.next/standalone/docs/i18n/README.it.md +72 -72
  113. package/.next/standalone/docs/i18n/README.ja.md +71 -71
  114. package/.next/standalone/docs/i18n/README.ko.md +52 -52
  115. package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
  116. package/.next/standalone/docs/i18n/README.ru.md +66 -66
  117. package/.next/standalone/docs/i18n/README.tr.md +82 -83
  118. package/.next/standalone/docs/i18n/README.vi.md +70 -71
  119. package/.next/standalone/docs/i18n/README.zh.md +51 -51
  120. package/.next/standalone/docs/it/built-in-policies.mdx +118 -81
  121. package/.next/standalone/docs/it/custom-policies.mdx +69 -69
  122. package/.next/standalone/docs/it/examples.mdx +93 -39
  123. package/.next/standalone/docs/it/getting-started.mdx +73 -21
  124. package/.next/standalone/docs/ja/built-in-policies.mdx +98 -61
  125. package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
  126. package/.next/standalone/docs/ja/examples.mdx +76 -22
  127. package/.next/standalone/docs/ja/getting-started.mdx +65 -13
  128. package/.next/standalone/docs/ko/built-in-policies.mdx +137 -100
  129. package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
  130. package/.next/standalone/docs/ko/examples.mdx +87 -33
  131. package/.next/standalone/docs/ko/getting-started.mdx +61 -9
  132. package/.next/standalone/docs/pt-br/built-in-policies.mdx +94 -57
  133. package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
  134. package/.next/standalone/docs/pt-br/examples.mdx +78 -24
  135. package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
  136. package/.next/standalone/docs/ru/built-in-policies.mdx +142 -105
  137. package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
  138. package/.next/standalone/docs/ru/examples.mdx +77 -22
  139. package/.next/standalone/docs/ru/getting-started.mdx +74 -22
  140. package/.next/standalone/docs/tr/built-in-policies.mdx +104 -67
  141. package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
  142. package/.next/standalone/docs/tr/examples.mdx +97 -42
  143. package/.next/standalone/docs/tr/getting-started.mdx +75 -23
  144. package/.next/standalone/docs/vi/built-in-policies.mdx +110 -72
  145. package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
  146. package/.next/standalone/docs/vi/examples.mdx +93 -38
  147. package/.next/standalone/docs/vi/getting-started.mdx +74 -22
  148. package/.next/standalone/docs/zh/built-in-policies.mdx +132 -95
  149. package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
  150. package/.next/standalone/docs/zh/examples.mdx +90 -36
  151. package/.next/standalone/docs/zh/getting-started.mdx +73 -21
  152. package/.next/standalone/package.json +1 -1
  153. package/.next/standalone/server.js +1 -1
  154. package/.next/standalone/src/hooks/builtin-policies.ts +5 -1
  155. package/dist/cli.mjs +3 -3
  156. package/package.json +1 -1
  157. package/src/hooks/builtin-policies.ts +5 -1
  158. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_buildManifest.js +0 -0
  159. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_clientMiddlewareManifest.js +0 -0
  160. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_ssgManifest.js +0 -0
@@ -1,19 +1,19 @@
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
+ |----------|----------|-----------|
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-`** — удалить чувствительные данные из выходных данных инструмента перед тем, как их увидит агент.
28
+ - **`warn-`** — дать агенту дополнительный контекст, чтобы он смог самостоятельно исправиться.
29
+ - **`sanitize-`** — удалить конфиденциальные данные из результата инструмента перед передачей агенту.
29
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`. Подсказка добавляется к сообщению deny или instruct, которое видит 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. Если обнаружен паттерн секрета, политика возвращает решение deny, которое предотвращает передачу результата обратно.
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 ключи доступа (`AKIA`), ключи Stripe (`sk_live_`, `sk_test_`), и Google API ключи (`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,7 +160,7 @@ failproofai поставляется с 30 встроенными политик
159
160
 
160
161
  ### `sanitize-connection-strings`
161
162
 
162
- **События:** PostToolUse (все инструменты)
163
+ **Событие:** PostToolUse (все инструменты)
163
164
  **По умолчанию:** Скрывает строки подключения к базе данных, содержащие встроенные учётные данные (например, `postgresql://user:password@host/db`).
164
165
 
165
166
  Нет параметров.
@@ -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
 
@@ -186,14 +187,14 @@ failproofai поставляется с 30 встроенными политик
186
187
 
187
188
  ## Окружение
188
189
 
189
- Защитите чувствительную конфигурацию окружения от чтения или раскрытия агентами.
190
+ Защита конфиденциальной конфигурации окружения от чтения или разглашения агентами.
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,14 +240,14 @@ 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
- | `additionalPatterns` | `string[]` | `[]` | Дополнительные шаблоны имён файлов (glob-стиль) для блокировки. |
249
+ |-------|------|---------|-------------|
250
+ | `additionalPatterns` | `string[]` | `[]` | Дополнительные паттерны имён файлов (glob-стиль) для блокировки. |
250
251
 
251
252
  **Пример:**
252
253
 
@@ -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,36 +291,36 @@ failproofai поставляется с 30 встроенными политик
290
291
  ```
291
292
 
292
293
  <Tip>
293
- Чтобы разрешить пуши во все ветви (фактически отключив эту политику без удаления её из `enabledPolicies`), установите `protectedBranches: []`.
294
+ Чтобы разрешить push на все ветки (эффективно отключить эту политику без удаления из `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"]` | Имена веток, которые не могут быть переключены напрямую. |
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
  {
320
321
  "policyParams": {
321
322
  "block-force-push": {
322
- "hint": "Создайте новую ветвь из вашего текущего HEAD (например, `git checkout -b <new-branch>`) и пушьте её вместо этого."
323
+ "hint": "Создайте новую ветку от текущего HEAD (например, `git checkout -b <new-branch>`) и запушьте её."
323
324
  }
324
325
  }
325
326
  }
@@ -329,8 +330,8 @@ failproofai поставляется с 30 встроенными политик
329
330
 
330
331
  ### `warn-git-amend`
331
332
 
332
- **События:** PreToolUse (Bash)
333
- **По умолчанию:** Инструктирует Claude действовать осторожно при запуске `git commit --amend`. Не блокирует команду.
333
+ **Событие:** PreToolUse (Bash)
334
+ **По умолчанию:** Инструктирует Claude действовать осторожнее при запуске `git commit --amend`. Не блокирует команду.
334
335
 
335
336
  Нет параметров.
336
337
 
@@ -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 проверить, что он стейджит при запуске `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,18 +379,18 @@ 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 KB.
387
388
 
388
389
  **Параметры:**
389
390
 
390
391
  | Параметр | Тип | По умолчанию | Описание |
391
- |----------|-----|-------------|---------|
392
- | `thresholdKb` | `number` | `1024` | Порог размера файла в килобайтах, выше которого выводится предупреждение. |
392
+ |-------|------|---------|-------------|
393
+ | `thresholdKb` | `number` | `1024` | Порог размера файла в килобайтах, выше которого выдаётся предупреждение. |
393
394
 
394
395
  **Пример:**
395
396
 
@@ -404,14 +405,14 @@ failproofai поставляется с 30 встроенными политик
404
405
  ```
405
406
 
406
407
  <Note>
407
- Обработчик хука обеспечивает ограничение stdin в 1 МБ на полезные нагрузки. Для тестирования этой политики с малым содержимым установите `thresholdKb` на значение значительно ниже 1024.
408
+ Обработчик хука применяет лимит stdin в 1 MB для полезных нагрузок. Для тестирования этой политики с малым содержимым установите `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
+ **Событие:** PreToolUse (Bash)
433
434
  **По умолчанию:** Инструктирует Claude подтвердить перед запуском `npm install -g`, `yarn global add` или `pip install` без виртуального окружения.
434
435
 
435
436
  Нет параметров.
436
437
 
437
438
  ---
438
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
+
439
476
  ## Поведение ИИ
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. Если политика блокирует, более поздние политики в цепочке пропускаются (deny короткие замыкания).
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
+ **По умолчанию:** Блокирует остановку при наличии неиндексированных изменений (изменённые, индексированные или неотслеживаемые файлы). Возвращает информационное сообщение, когда рабочая директория чиста.
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` для создания ветки отслеживания, если необходимо. Открывается, если нет настроенного удалённого сервера.
471
508
 
472
509
  **Параметры:**
473
510
 
474
511
  | Параметр | Тип | По умолчанию | Описание |
475
- |----------|-----|-------------|---------|
476
- | `remote` | `string` | `"origin"` | Имя remote для пуша. |
512
+ |-------|------|---------|-------------|
513
+ | `remote` | `string` | `"origin"` | Имя удалённого сервера для push. |
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 закрыт/объединён. Инструктирует Claude создать PR с помощью `gh pr create`.
496
533
 
497
534
  Нет параметров.
498
535
 
499
536
  <Note>
500
- Эта политика требует установки и аутентификации [GitHub CLI](https://cli.github.com/) (`gh`).
501
- Запустите `gh auth login` с личным токеном доступа, имеющим область `repo` для чтения доступа к
502
- pull request. Если `gh` не установлен или не аутентифицирован, политика fail open и сообщает причину Claude.
537
+ Эта политика требует установки [GitHub CLI](https://cli.github.com/) (`gh`) и аутентификации.
538
+ Запустите `gh auth login` с личным маркером доступа с областью действия `repo` для чтения
539
+ pull request'ов. Если `gh` не установлен или не аутентифицирован, политика открывается и докладывает причину 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` выводы как успех. Возвращает информационное сообщение, когда все проверки пройдены.
511
548
 
512
549
  Нет параметров.
513
550
 
514
551
  <Note>
515
- Эта политика требует установки и аутентификации [GitHub CLI](https://cli.github.com/) (`gh`).
516
- Запустите `gh auth login` с личным токеном доступа, имеющим область `repo` для чтения доступа к
517
- запускам рабочих процессов Actions и API проверок. Если `gh` не установлен или не аутентифицирован, политика fail open и сообщает причину Claude.
552
+ Эта политика требует установки [GitHub CLI](https://cli.github.com/) (`gh`) и аутентификации.
553
+ Запустите `gh auth login` с личным маркером доступа с областью действия `repo` для чтения
554
+ запусков рабочих процессов Actions и Checks API. Если `gh` не установлен или не аутентифицирован, политика открывается и докладывает причину 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 в панели управления.
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`.