failproofai 0.0.6-beta.0 → 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 (191) hide show
  1. package/.next/standalone/.failproofai/policies/review-policies.mjs +113 -0
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/build-manifest.json +5 -5
  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/build-manifest.json +2 -2
  7. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  11. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  12. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  13. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  14. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  15. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  16. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +2 -2
  18. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  19. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  22. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  23. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  24. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  25. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  26. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  27. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  28. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  29. package/.next/standalone/.next/server/app/index.html +1 -1
  30. package/.next/standalone/.next/server/app/index.rsc +15 -15
  31. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  32. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  33. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  34. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  35. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/page/build-manifest.json +2 -2
  37. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  38. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/policies/page/build-manifest.json +2 -2
  41. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  42. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/project/[name]/page/build-manifest.json +2 -2
  45. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  48. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/build-manifest.json +2 -2
  49. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  50. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  51. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  53. package/.next/standalone/.next/server/app/projects/page/build-manifest.json +2 -2
  54. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  55. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  58. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  59. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a.nuas._.js → [root-of-the-server]__05akje6._.js} +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  64. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0.~fd7s._.js → [root-of-the-server]__0i5kvry._.js} +2 -2
  65. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  66. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +6 -6
  67. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  68. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  69. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  70. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  71. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  72. package/.next/standalone/.next/server/middleware-build-manifest.js +5 -5
  73. package/.next/standalone/.next/server/pages/404.html +2 -2
  74. package/.next/standalone/.next/server/pages/500.html +1 -1
  75. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  76. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  77. package/.next/standalone/.next/static/chunks/{0teq8wdh3po1n.js → 00j0rr7rh8ef8.js} +1 -1
  78. package/.next/standalone/.next/static/chunks/{0maq.q1t.ri85.js → 05j1px0r8yzh6.js} +2 -2
  79. package/.next/standalone/.next/static/chunks/0badv41uxa56..js +4 -0
  80. package/.next/standalone/.next/static/chunks/{0hplx-8c-4vpv.js → 0ijk_kek9_wyx.js} +1 -1
  81. package/.next/standalone/.next/static/chunks/{0uc0um_uz51m_.js → 0npb~873.wvg3.js} +1 -1
  82. package/.next/standalone/.next/static/chunks/{0hctoh28rg838.js → 0xpl.oscrakvx.js} +1 -1
  83. package/.next/standalone/.next/static/chunks/{0.z51twd.0l5z.js → 1052sguyd-.ka.js} +1 -1
  84. package/.next/standalone/.next/static/chunks/{09e7drilkf1sn.js → 12simlrcfk3g2.js} +1 -1
  85. package/.next/standalone/.next/static/chunks/{0ul6fk-z.6k-0.js → 14cl9poem30dq.js} +1 -1
  86. package/.next/standalone/.next/static/chunks/{turbopack-0r26pc8h0y_-e.js → turbopack-0o7k.hakttp4k.js} +1 -1
  87. package/.next/standalone/CHANGELOG.md +19 -0
  88. package/.next/standalone/README.md +2 -2
  89. package/.next/standalone/bun.lock +43 -85
  90. package/.next/standalone/dist/cli.mjs +91 -4
  91. package/.next/standalone/docs/ar/built-in-policies.mdx +124 -87
  92. package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
  93. package/.next/standalone/docs/ar/examples.mdx +86 -33
  94. package/.next/standalone/docs/ar/getting-started.mdx +82 -29
  95. package/.next/standalone/docs/built-in-policies.mdx +38 -1
  96. package/.next/standalone/docs/custom-policies.mdx +1 -1
  97. package/.next/standalone/docs/de/built-in-policies.mdx +93 -56
  98. package/.next/standalone/docs/de/custom-policies.mdx +56 -56
  99. package/.next/standalone/docs/de/examples.mdx +72 -18
  100. package/.next/standalone/docs/de/getting-started.mdx +72 -20
  101. package/.next/standalone/docs/es/built-in-policies.mdx +115 -78
  102. package/.next/standalone/docs/es/custom-policies.mdx +55 -55
  103. package/.next/standalone/docs/es/examples.mdx +73 -19
  104. package/.next/standalone/docs/es/getting-started.mdx +72 -20
  105. package/.next/standalone/docs/examples.mdx +54 -0
  106. package/.next/standalone/docs/fr/built-in-policies.mdx +83 -46
  107. package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
  108. package/.next/standalone/docs/fr/examples.mdx +78 -24
  109. package/.next/standalone/docs/fr/getting-started.mdx +65 -13
  110. package/.next/standalone/docs/getting-started.mdx +52 -0
  111. package/.next/standalone/docs/he/built-in-policies.mdx +156 -117
  112. package/.next/standalone/docs/he/custom-policies.mdx +75 -75
  113. package/.next/standalone/docs/he/examples.mdx +87 -33
  114. package/.next/standalone/docs/he/getting-started.mdx +84 -33
  115. package/.next/standalone/docs/hi/built-in-policies.mdx +101 -60
  116. package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
  117. package/.next/standalone/docs/hi/examples.mdx +90 -36
  118. package/.next/standalone/docs/hi/getting-started.mdx +80 -27
  119. package/.next/standalone/docs/i18n/README.ar.md +69 -69
  120. package/.next/standalone/docs/i18n/README.de.md +46 -46
  121. package/.next/standalone/docs/i18n/README.es.md +42 -42
  122. package/.next/standalone/docs/i18n/README.fr.md +39 -39
  123. package/.next/standalone/docs/i18n/README.he.md +83 -83
  124. package/.next/standalone/docs/i18n/README.hi.md +69 -69
  125. package/.next/standalone/docs/i18n/README.it.md +72 -72
  126. package/.next/standalone/docs/i18n/README.ja.md +71 -71
  127. package/.next/standalone/docs/i18n/README.ko.md +52 -52
  128. package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
  129. package/.next/standalone/docs/i18n/README.ru.md +66 -66
  130. package/.next/standalone/docs/i18n/README.tr.md +82 -83
  131. package/.next/standalone/docs/i18n/README.vi.md +70 -71
  132. package/.next/standalone/docs/i18n/README.zh.md +51 -51
  133. package/.next/standalone/docs/it/built-in-policies.mdx +118 -81
  134. package/.next/standalone/docs/it/custom-policies.mdx +69 -69
  135. package/.next/standalone/docs/it/examples.mdx +93 -39
  136. package/.next/standalone/docs/it/getting-started.mdx +73 -21
  137. package/.next/standalone/docs/ja/built-in-policies.mdx +98 -61
  138. package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
  139. package/.next/standalone/docs/ja/examples.mdx +76 -22
  140. package/.next/standalone/docs/ja/getting-started.mdx +65 -13
  141. package/.next/standalone/docs/ko/built-in-policies.mdx +137 -100
  142. package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
  143. package/.next/standalone/docs/ko/examples.mdx +87 -33
  144. package/.next/standalone/docs/ko/getting-started.mdx +61 -9
  145. package/.next/standalone/docs/pt-br/built-in-policies.mdx +94 -57
  146. package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
  147. package/.next/standalone/docs/pt-br/examples.mdx +78 -24
  148. package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
  149. package/.next/standalone/docs/ru/built-in-policies.mdx +142 -105
  150. package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
  151. package/.next/standalone/docs/ru/examples.mdx +77 -22
  152. package/.next/standalone/docs/ru/getting-started.mdx +74 -22
  153. package/.next/standalone/docs/tr/built-in-policies.mdx +104 -67
  154. package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
  155. package/.next/standalone/docs/tr/examples.mdx +97 -42
  156. package/.next/standalone/docs/tr/getting-started.mdx +75 -23
  157. package/.next/standalone/docs/vi/built-in-policies.mdx +110 -72
  158. package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
  159. package/.next/standalone/docs/vi/examples.mdx +93 -38
  160. package/.next/standalone/docs/vi/getting-started.mdx +74 -22
  161. package/.next/standalone/docs/zh/built-in-policies.mdx +132 -95
  162. package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
  163. package/.next/standalone/docs/zh/examples.mdx +90 -36
  164. package/.next/standalone/docs/zh/getting-started.mdx +73 -21
  165. package/.next/standalone/node_modules/@next/env/package.json +1 -1
  166. package/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
  167. package/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +7 -7
  168. package/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
  169. package/.next/standalone/node_modules/next/dist/server/config-schema.js +10 -2
  170. package/.next/standalone/node_modules/next/dist/server/config.js +1 -1
  171. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
  172. package/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  173. package/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  174. package/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
  175. package/.next/standalone/node_modules/next/dist/server/render.js +27 -20
  176. package/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
  177. package/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  178. package/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
  179. package/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
  180. package/.next/standalone/node_modules/next/package.json +15 -15
  181. package/.next/standalone/package.json +2 -2
  182. package/.next/standalone/server.js +1 -1
  183. package/.next/standalone/src/hooks/builtin-policies.ts +106 -1
  184. package/README.md +2 -2
  185. package/dist/cli.mjs +91 -4
  186. package/package.json +2 -2
  187. package/src/hooks/builtin-policies.ts +106 -1
  188. package/.next/standalone/.next/static/chunks/0w9lwqy0-v1dk.js +0 -4
  189. /package/.next/standalone/.next/static/{8mygPGI5bzrtWK36ZYO59 → A9pNTZdoYJTVyPAYwQMx5}/_buildManifest.js +0 -0
  190. /package/.next/standalone/.next/static/{8mygPGI5bzrtWK36ZYO59 → A9pNTZdoYJTVyPAYwQMx5}/_clientMiddlewareManifest.js +0 -0
  191. /package/.next/standalone/.next/static/{8mygPGI5bzrtWK36ZYO59 → A9pNTZdoYJTVyPAYwQMx5}/_ssgManifest.js +0 -0
@@ -1,57 +1,59 @@
1
1
  ---
2
- title: Chính sách Tích hợp
3
- description: "Cả 30 chính sách tích hợp giúp bắt những chế độ lỗi phổ biến của agent"
2
+ ---
3
+ title: Chính sách tích hợp sẵn
4
+ description: "30 chính sách tích hợp sẵn giúp bắt các chế độ lỗi thông thường của agent"
4
5
  icon: shield
5
6
  ---
6
7
 
7
- failproofai được cung cấp với 30 chính sách tích hợp giúp bắt những chế độ lỗi phổ biến của agent. Mỗi chính sách kích hoạt trên một loại sự kiện hook và tên công cụ cụ thể. Chín chính sách chấp nhận các tham số cho phép bạn điều chỉnh hành vi của chúng mà không cần viết code. Bốn chính sách quy trình làm việc thực thi đường ống commit → push → PR → CI trước khi Claude dừng lại.
8
+ failproofai được cung cấp với 30 chính sách tích hợp sẵn giúp bắt các chế độ lỗi thông thường của agent. Mỗi chính sách được kích hoạt trên một loại sự kiện hook cụ thể và tên công cụ. Chín chính sách chấp nhận các tham số cho phép bạn điều chỉnh hành vi của chúng mà không cần viết mã. Bốn chính sách quy trình làm việc thực thi đường ống commit → push → PR → CI trước khi Claude dừng lại.
8
9
 
9
10
  ---
10
11
 
11
12
  ## Tổng quan
12
13
 
13
- Các chính sách được nhóm thành các danh mục:
14
+ Chính sách được nhóm thành các danh mục:
14
15
 
15
- | Danh mục | Chính sách | Loại Hook |
16
+ | Danh mục | Chính sách | Loại hook |
16
17
  |----------|----------|-----------|
17
- | [Lệnh nguy hiểm](#dangerous-commands) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
18
- | [Bí mật (sanitizers)](#secrets-sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
19
- | [Môi trường](#environment) | block-env-files, protect-env-vars | PreToolUse |
20
- | [Truy cập tệp](#file-access) | block-read-outside-cwd, block-secrets-write | PreToolUse |
18
+ | [Lệnh nguy hiểm](#lệnh-nguy-hiểm) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
19
+ | [Bí mật (bộ làm sạch)](#bí-mật-bộ-làm-sạch) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
20
+ | [Môi trường](#môi-trường) | block-env-files, protect-env-vars | PreToolUse |
21
+ | [Truy cập tệp](#truy-cập-tệp) | block-read-outside-cwd, block-secrets-write | PreToolUse |
21
22
  | [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
- | [Cơ sở dữ liệu](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
23
- | [Cảnh báo](#warnings) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
24
- | [Quy trình làm việc](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
25
-
26
- - **`block-`** — dừng agent khỏi tiếp tục.
27
- - **`warn-`** — cung cấp cho agent ngữ cảnh bổ sung để nó có thể tự điều chỉnh.
28
- - **`sanitize-`** — xóa dữ liệu nhạy cảm từ đầu ra công cụ trước khi agent thấy nó.
23
+ | [Cơ sở dữ liệu](#cơ-sở-dữ-liệu) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
24
+ | [Cảnh báo](#cảnh-báo) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
25
+ | [Trình quản gói](#trình-quản-lý-gói) | prefer-package-manager | PreToolUse |
26
+ | [Quy trình làm việc](#quy-trình-làm-việc) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
27
+
28
+ - **`block-`** — dừng agent không được tiếp tục.
29
+ - **`warn-`** — cung cấp cho agent ngữ cảnh bổ sung để thể tự sửa.
30
+ - **`sanitize-`** — loại bỏ dữ liệu nhạy cảm từ đầu ra công cụ trước khi agent nhìn thấy.
29
31
  - **`require-`** — chặn sự kiện Stop cho đến khi các điều kiện được đáp ứng.
30
32
 
31
33
  ---
32
34
 
33
35
  <Tip>
34
- Mỗi chính sách hỗ trợ một trường `hint` tùy chọn trong `policyParams`. Hint được thêm vào thông báo deny hoặc instruct mà Claude thấy, cung cấp hướng dẫn hành động mà không cần sửa đổi code chính sách. Hoạt động với các chính sách tích hợp, tùy chỉnh và quy ước. Xem [Cấu hình → hint](/vi/configuration#hint-cross-cutting) để biết chi tiết.
36
+ Mỗi chính sách hỗ trợ một trường `hint` tùy chọn trong `policyParams`. Hint được thêm vào thông báo deny hoặc instruct mà Claude nhìn thấy, cung cấp hướng dẫn có thể hành động mà không cần sửa đổi chính sách. Hoạt động với chính sách tích hợp sẵn, tùy chỉnh và quy ước. Xem [Configuration → hint](/vi/configuration#hint-cross-cutting) để biết chi tiết.
35
37
  </Tip>
36
38
 
37
39
  ---
38
40
 
39
41
  ## Lệnh nguy hiểm
40
42
 
41
- Ngăn chặn agent chạy các thao tác khó hoàn tác hoặc có thể gây hại cho hệ thống chủ.
43
+ Ngăn chặn agent chạy các hoạt động khó hoàn tác hoặc có thể làm hại hệ thống chủ.
42
44
 
43
45
  ### `block-sudo`
44
46
 
45
47
  **Sự kiện:** PreToolUse (Bash)
46
48
  **Mặc định:** Từ chối bất kỳ lệnh `sudo` nào.
47
49
 
48
- Chặn các lệnh gồm từ khóa `sudo`. Khớp mẫu được thực hiện trên các token lệnh được phân tích cú pháp, không phải chuỗi thô, để ngăn chặn vòng qua tiêm toán tử shell.
50
+ Chặn các lời gọi bao gồm từ khóa `sudo`. Khớp mẫu được thực hiện trên các token lệnh được phân tích, không phải chuỗi thô, để ngăn chặn vòng qua injection toán tử shell.
49
51
 
50
52
  **Tham số:**
51
53
 
52
- | Tham số | Kiểu | Mặc định | Mô tả |
54
+ | Tham số | Loại | Mặc định | Mô tả |
53
55
  |-------|------|---------|-------------|
54
- | `allowPatterns` | `string[]` | `[]` | Tiền tố lệnh chính xác được phép. Mỗi mục được khớp với các token argv được phân tích cú pháp. |
56
+ | `allowPatterns` | `string[]` | `[]` | Tiền tố lệnh chính xác được phép. Mỗi mục được khớp với các token argv được phân tích. |
55
57
 
56
58
  **Ví dụ:**
57
59
 
@@ -68,7 +70,7 @@ Chặn các lệnh gồm từ khóa `sudo`. Khớp mẫu được thực hiện
68
70
  Với cấu hình này, `sudo systemctl status nginx` được phép, nhưng `sudo rm /etc/hosts` bị từ chối.
69
71
 
70
72
  <Note>
71
- Mẫu được khớp với các token được phân tích cú pháp, không phải chuỗi lệnh thô. Điều này ngăn chặn vòng qua toán tử shell được thêm vào (ví dụ: `sudo systemctl status x; rm -rf /` không khớp với `sudo systemctl status *`).
73
+ Mẫu được khớp với các token được phân tích, không phải chuỗi lệnh thô. Điều này ngăn chặn vòng qua các toán tử shell được nối thêm (ví dụ: `sudo systemctl status x; rm -rf /` không khớp `sudo systemctl status *`).
72
74
  </Note>
73
75
 
74
76
  ---
@@ -80,7 +82,7 @@ Mẫu được khớp với các token được phân tích cú pháp, không ph
80
82
 
81
83
  **Tham số:**
82
84
 
83
- | Tham số | Kiểu | Mặc định | Mô tả |
85
+ | Tham số | Loại | Mặc định | Mô tả |
84
86
  |-------|------|---------|-------------|
85
87
  | `allowPaths` | `string[]` | `[]` | Đường dẫn an toàn để xóa đệ quy (ví dụ: `/tmp`). |
86
88
 
@@ -116,14 +118,14 @@ Không có tham số.
116
118
 
117
119
  ---
118
120
 
119
- ## Bí mật (sanitizers)
121
+ ## Bí mật (bộ làm sạch)
120
122
 
121
- Ngăn agent rò rỉ thông tin xác thực vào ngữ cảnh hoặc đầu ra của chúng. Các chính sách sanitizer kích hoạt trên sự kiện **PostToolUse**. Khi Claude chạy lệnh Bash, đọc tệp hoặc gọi bất kỳ công cụ nào, các chính sách này kiểm tra đầu ra trước khi được trả về Claude. Nếu phát hiện mẫu bí mật, chính sách trả về quyết định deny ngăn chặn đầu ra được chuyển lại.
123
+ Ngăn chặn agent rò rỉ thông tin xác thực vào ngữ cảnh hoặc đầu ra của chúng. Chính sách bộ làm sạch được kích hoạt trên các sự kiện **PostToolUse**. Khi Claude chạy lệnh Bash, đọc tệp hoặc gọi bất kỳ công cụ nào, những chính sách này kiểm tra đầu ra trước khi được trả lại Claude. Nếu phát hiện mẫu bí mật, chính sách sẽ trả về quyết định deny ngăn chặn đầu ra không được chuyển lại.
122
124
 
123
125
  ### `sanitize-jwt`
124
126
 
125
127
  **Sự kiện:** PostToolUse (tất cả công cụ)
126
- **Mặc định:** Làm mờ các token JWT (ba đoạn base64url được phân tách bằng `.`).
128
+ **Mặc định:** Redact các token JWT (ba segment base64url được phân tách bằng `.`).
127
129
 
128
130
  Không có tham số.
129
131
 
@@ -132,13 +134,13 @@ Không có tham số.
132
134
  ### `sanitize-api-keys`
133
135
 
134
136
  **Sự kiện:** PostToolUse (tất cả công cụ)
135
- **Mặc định:** Làm mờ các định dạng kóa API thông dụng: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), kóa truy cập AWS (`AKIA`), kóa Stripe (`sk_live_`, `sk_test_`),kóa API Google (`AIza`).
137
+ **Mặc định:** Redact các định dạng khóa API thông thường: Anthropic (`sk-ant-`), OpenAI (`sk-`), GitHub PATs (`ghp_`), khóa truy cập AWS (`AKIA`), khóa Stripe (`sk_live_`, `sk_test_`) và khóa Google API (`AIza`).
136
138
 
137
139
  **Tham số:**
138
140
 
139
- | Tham số | Kiểu | Mặc định | Mô tả |
141
+ | Tham số | Loại | Mặc định | Mô tả |
140
142
  |-------|------|---------|-------------|
141
- | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Các mẫu regex bổ sung để coi là bí mật. |
143
+ | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Các mẫu regex bổ sung được coi là bí mật. |
142
144
 
143
145
  **Ví dụ:**
144
146
 
@@ -160,7 +162,7 @@ Không có tham số.
160
162
  ### `sanitize-connection-strings`
161
163
 
162
164
  **Sự kiện:** PostToolUse (tất cả công cụ)
163
- **Mặc định:** Làm mờ chuỗi kết nối cơ sở dữ liệu chứa thông tin xác thực nhúng (ví dụ: `postgresql://user:password@host/db`).
165
+ **Mặc định:** Redact các chuỗi kết nối cơ sở dữ liệu chứa thông tin xác thực được nhúng (ví dụ: `postgresql://user:password@host/db`).
164
166
 
165
167
  Không có tham số.
166
168
 
@@ -169,7 +171,7 @@ Không có tham số.
169
171
  ### `sanitize-private-key-content`
170
172
 
171
173
  **Sự kiện:** PostToolUse (tất cả công cụ)
172
- **Mặc định:** Làm mờ các khối PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, v.v.).
174
+ **Mặc định:** Redact các khối PEM (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, v.v.).
173
175
 
174
176
  Không có tham số.
175
177
 
@@ -178,7 +180,7 @@ Không có tham số.
178
180
  ### `sanitize-bearer-tokens`
179
181
 
180
182
  **Sự kiện:** PostToolUse (tất cả công cụ)
181
- **Mặc định:** Làm mờ các header `Authorization: Bearer <token>` nơi token có 20 ký tự trở lên.
183
+ **Mặc định:** Redact các header `Authorization: Bearer <token>` trong đó token có 20 ký tự trở lên.
182
184
 
183
185
  Không có tham số.
184
186
 
@@ -191,9 +193,9 @@ Bảo vệ cấu hình môi trường nhạy cảm khỏi bị agent đọc ho
191
193
  ### `block-env-files`
192
194
 
193
195
  **Sự kiện:** PreToolUse (Bash, Read)
194
- **Mặc định:** Từ chối đọc tệp `.env` thông qua `cat .env`, các lệnh gọi công cụ Read với `.env` làm đường dẫn tệp, v.v.
196
+ **Mặc định:** Từ chối đọc các tệp `.env` thông qua `cat .env`, gọi công cụ Read với `.env` làm đường dẫn tệp, v.v.
195
197
 
196
- Không chặn `.envrc` hoặc các tệp liên quan môi trường khác - chỉ các tệp được đặt tên chính xác `.env`.
198
+ Không chặn `.envrc` hoặc các tệp liên quan môi trường khác - chỉ các tệp được đặt tên chính xác `.env`.
197
199
 
198
200
  Không có tham số.
199
201
 
@@ -202,7 +204,7 @@ Không có tham số.
202
204
  ### `protect-env-vars`
203
205
 
204
206
  **Sự kiện:** PreToolUse (Bash)
205
- **Mặc định:** Từ chối các lệnh in biến môi trường: `printenv`, `env`, `echo $VAR`.
207
+ **Mặc định:** Từ chối các lệnh in các biến môi trường: `printenv`, `env`, `echo $VAR`.
206
208
 
207
209
  Không có tham số.
208
210
 
@@ -210,16 +212,16 @@ Không có tham số.
210
212
 
211
213
  ## Truy cập tệp
212
214
 
213
- Giúp agent làm việc trong ranh giới dự án và tránh xa các tệp nhạy cảm.
215
+ Giữ agent hoạt động bên trong ranh giới dự án và xa khỏi các tệp nhạy cảm.
214
216
 
215
217
  ### `block-read-outside-cwd`
216
218
 
217
219
  **Sự kiện:** PreToolUse (Read, Bash)
218
- **Mặc định:** Từ chối đọc tệp bên ngoài thư mục làm việc hiện tại (gốc dự án).
220
+ **Mặc định:** Từ chối đọc các tệp bên ngoài thư mục làm việc hiện tại (gốc dự án).
219
221
 
220
222
  **Tham số:**
221
223
 
222
- | Tham số | Kiểu | Mặc định | Mô tả |
224
+ | Tham số | Loại | Mặc định | Mô tả |
223
225
  |-------|------|---------|-------------|
224
226
  | `allowPaths` | `string[]` | `[]` | Tiền tố đường dẫn tuyệt đối được phép ngay cả khi bên ngoài cwd. |
225
227
 
@@ -240,11 +242,11 @@ Giúp agent làm việc trong ranh giới dự án và tránh xa các tệp nh
240
242
  ### `block-secrets-write`
241
243
 
242
244
  **Sự kiện:** PreToolUse (Write, Edit)
243
- **Mặc định:** Từ chối ghi vào tệp thường được sử dụng cho kóa riêng và chứng chỉ: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
245
+ **Mặc định:** Từ chối ghi vào các tệp thường được sử dụng cho khóa riêng và chứng chỉ: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`.
244
246
 
245
247
  **Tham số:**
246
248
 
247
- | Tham số | Kiểu | Mặc định | Mô tả |
249
+ | Tham số | Loại | Mặc định | Mô tả |
248
250
  |-------|------|---------|-------------|
249
251
  | `additionalPatterns` | `string[]` | `[]` | Các mẫu tên tệp bổ sung (kiểu glob) để chặn. |
250
252
 
@@ -264,7 +266,7 @@ Giúp agent làm việc trong ranh giới dự án và tránh xa các tệp nh
264
266
 
265
267
  ## Git
266
268
 
267
- Ngăn chặn các lần push ngẫu nhiên, force-push và các sai lầm nhánh khó hoàn tác.
269
+ Ngăn chặn các đẩy (push) không cố ý, force-push và các sai lầm nhánh khó hoàn tác.
268
270
 
269
271
  ### `block-push-master`
270
272
 
@@ -273,9 +275,9 @@ Ngăn chặn các lần push ngẫu nhiên, force-push và các sai lầm nhánh
273
275
 
274
276
  **Tham số:**
275
277
 
276
- | Tham số | Kiểu | Mặc định | Mô tả |
278
+ | Tham số | Loại | Mặc định | Mô tả |
277
279
  |-------|------|---------|-------------|
278
- | `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể được push trực tiếp. |
280
+ | `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể được đẩy trực tiếp. |
279
281
 
280
282
  **Ví dụ:**
281
283
 
@@ -290,7 +292,7 @@ Ngăn chặn các lần push ngẫu nhiên, force-push và các sai lầm nhánh
290
292
  ```
291
293
 
292
294
  <Tip>
293
- Để cho phép push đến tất cả các nhánh (có hiệu lực vô hiệu hóa chính sách này mà không xóa nó khỏi `enabledPolicies`), hãy đặt `protectedBranches: []`.
295
+ Để cho phép đẩy đến tất cả các nhánh (có hiệu lực vô hiệu hóa chính sách này mà không xóa nó khỏi `enabledPolicies`), hãy đặt `protectedBranches: []`.
294
296
  </Tip>
295
297
 
296
298
  ---
@@ -298,11 +300,11 @@ Ngăn chặn các lần push ngẫu nhiên, force-push và các sai lầm nhánh
298
300
  ### `block-work-on-main`
299
301
 
300
302
  **Sự kiện:** PreToolUse (Bash)
301
- **Mặc định:** Từ chối kiểm tra nhánh `main` hoặc `master` trực tiếp.
303
+ **Mặc định:** Từ chối kiểm tra trực tiếp các nhánh `main` hoặc `master`.
302
304
 
303
305
  **Tham số:**
304
306
 
305
- | Tham số | Kiểu | Mặc định | Mô tả |
307
+ | Tham số | Loại | Mặc định | Mô tả |
306
308
  |-------|------|---------|-------------|
307
309
  | `protectedBranches` | `string[]` | `["main", "master"]` | Tên nhánh không thể được kiểm tra trực tiếp. |
308
310
 
@@ -313,7 +315,7 @@ Ngăn chặn các lần push ngẫu nhiên, force-push và các sai lầm nhánh
313
315
  **Sự kiện:** PreToolUse (Bash)
314
316
  **Mặc định:** Từ chối `git push --force` và `git push -f`.
315
317
 
316
- Không có tham số chính sách cụ thể. Sử dụng [`hint`](/vi/configuration#hint-cross-cutting) chéo để gợi ý các lựa chọn thay thế:
318
+ Không có tham số cụ thể chính sách. Sử dụng [`hint`](/vi/configuration#hint-cross-cutting) xuyên suốt để gợi ý các lựa chọn thay thế:
317
319
 
318
320
  ```json
319
321
  {
@@ -348,7 +350,7 @@ Không có tham số.
348
350
  ### `warn-all-files-staged`
349
351
 
350
352
  **Sự kiện:** PreToolUse (Bash)
351
- **Mặc định:** Hướng dẫn Claude xem lại những gì nó đang staging khi chạy `git add -A` hoặc `git add .`. Không chặn lệnh.
353
+ **Mặc định:** Hướng dẫn Claude xem xét những gì nó đang staging khi chạy `git add -A` hoặc `git add .`. Không chặn lệnh.
352
354
 
353
355
  Không có tham số.
354
356
 
@@ -356,7 +358,7 @@ Không có tham số.
356
358
 
357
359
  ## Cơ sở dữ liệu
358
360
 
359
- Bắt các thao tác SQL tàn phá trước khi chúng thực thi trên cơ sở dữ liệu của bạn.
361
+ Bắt các hoạt động SQL tàn phá trước khi chúng thực thi đối với cơ sở dữ liệu của bạn.
360
362
 
361
363
  ### `warn-destructive-sql`
362
364
 
@@ -370,7 +372,7 @@ Không có tham số.
370
372
  ### `warn-schema-alteration`
371
373
 
372
374
  **Sự kiện:** PreToolUse (Bash)
373
- **Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy các câu lệnh `ALTER TABLE`.
375
+ **Mặc định:** Hướng dẫn Claude xác nhận trước khi chạy các lệnh `ALTER TABLE`.
374
376
 
375
377
  Không có tham số.
376
378
 
@@ -378,18 +380,18 @@ Không có tham số.
378
380
 
379
381
  ## Cảnh báo
380
382
 
381
- Cung cấp cho agent ngữ cảnh bổ sung trước các thao tác tiềm ẩn rủi ro nhưng không tàn phá.
383
+ Cung cấp cho agent ngữ cảnh bổ sung trước các hoạt động rủi ro nhưng không phá hủy.
382
384
 
383
385
  ### `warn-large-file-write`
384
386
 
385
387
  **Sự kiện:** PreToolUse (Write)
386
- **Mặc định:** Hướng dẫn Claude xác nhận trước khi ghi tệp lớn hơn 1024 KB.
388
+ **Mặc định:** Hướng dẫn Claude xác nhận trước khi viết các tệp lớn hơn 1024 KB.
387
389
 
388
390
  **Tham số:**
389
391
 
390
- | Tham số | Kiểu | Mặc định | Mô tả |
392
+ | Tham số | Loại | Mặc định | Mô tả |
391
393
  |-------|------|---------|-------------|
392
- | `thresholdKb` | `number` | `1024` | Ngưỡng kích thước tệp tính bằng kilobyte vượt quá đó sẽ cảnh báo. |
394
+ | `thresholdKb` | `number` | `1024` | Ngưỡng kích thước tệp tính bằng kilobyte trên đó cảnh báo được phát hành. |
393
395
 
394
396
  **Ví dụ:**
395
397
 
@@ -404,7 +406,7 @@ Cung cấp cho agent ngữ cảnh bổ sung trước các thao tác tiềm ẩn
404
406
  ```
405
407
 
406
408
  <Note>
407
- Trình xử lý hook thực thi giới hạn stdin 1 MB cho các tải trọng. Để kiểm tra chính sách này với nội dung nhỏ, hãy đặt `thresholdKb` thành giá trị tốt bên dưới 1024.
409
+ Trình xử lý hook thực thi giới hạn 1 MB stdin trên tải trọng. Để kiểm tra chính sách này với nội dung nhỏ, hãy đặt `thresholdKb` thành giá trị nằm dưới 1024.
408
410
  </Note>
409
411
 
410
412
  ---
@@ -421,7 +423,7 @@ Không có tham số.
421
423
  ### `warn-background-process`
422
424
 
423
425
  **Sự kiện:** PreToolUse (Bash)
424
- **Mặc định:** Hướng dẫn Claude cẩn thận khi khởi chạy quy trình nền qua `nohup`, `&`, `disown` hoặc `screen`.
426
+ **Mặc định:** Hướng dẫn Claude cẩn thận khi khởi chạy các quy trình nền qua `nohup`, `&`, `disown` hoặc `screen`.
425
427
 
426
428
  Không có tham số.
427
429
 
@@ -436,14 +438,50 @@ Không có tham số.
436
438
 
437
439
  ---
438
440
 
441
+ ## Trình quản lý gói
442
+
443
+ Thực thi trình quản lý gói nào được agent phép sử dụng.
444
+
445
+ ### `prefer-package-manager`
446
+
447
+ **Sự kiện:** PreToolUse (Bash)
448
+ **Mặc định:** Bị vô hiệu hóa. Khi được bật, chặn bất kỳ lệnh trình quản lý gói nào không có trong danh sách `allowed` và yêu cầu Claude viết lại lệnh bằng trình quản lý được phép.
449
+
450
+ Phát hiện: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo.
451
+
452
+ | Tham số | Loại | Mặc định | Mô tả |
453
+ |-----------|------|---------|-------------|
454
+ | `allowed` | string[] | `[]` | Tên trình quản lý gói được phép. Bất kỳ trình quản lý được phát hiện nào không có trong danh sách này sẽ bị chặn. Khi trống, chính sách là no-op. |
455
+ | `blocked` | string[] | `[]` | Tên trình quản lý bổ sung để chặn ngoài danh sách được xây dựng sẵn (ví dụ: `['pdm', 'pipx']`). |
456
+
457
+ Danh sách chặn tích hợp sẵn bao gồm: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo. Sử dụng `blocked` để thêm các trình quản lý không có trong danh sách này.
458
+
459
+ **Cấu hình ví dụ:**
460
+
461
+ ```json
462
+ {
463
+ "enabledPolicies": ["prefer-package-manager"],
464
+ "policyParams": {
465
+ "prefer-package-manager": {
466
+ "allowed": ["uv", "bun"],
467
+ "blocked": ["pdm", "pipx"]
468
+ }
469
+ }
470
+ }
471
+ ```
472
+
473
+ Với cấu hình này, `pip install flask` và `pdm install flask` đều bị từ chối với thông báo yêu cầu Claude sử dụng `uv` hoặc `bun` thay thế. Các lệnh như `uv pip install flask` được phép vì `uv` có trong danh sách cho phép và được kiểm tra trước tiên.
474
+
475
+ ---
476
+
439
477
  ## Hành vi AI
440
478
 
441
- Phát hiện khi agent bị kẹt hoặc hành vi bất thường.
479
+ Phát hiện khi agent bị mắc kẹt hoặc hành xử bất thường.
442
480
 
443
481
  ### `warn-repeated-tool-calls`
444
482
 
445
483
  **Sự kiện:** PreToolUse (tất cả công cụ)
446
- **Mặc định:** Hướng dẫn Claude xem xét lại khi cùng một công cụ được gọi 3 lần trở lên với các tham số giống hệt nhau - một dấu hiệu phổ biến cho thấy agent bị kẹt trong vòng lặp.
484
+ **Mặc định:** Hướng dẫn Claude cân nhắc lại khi cùng một công cụ được gọi 3 lần trở lên với các tham số giống nhau - dấu hiệu thông thường cho thấy agent bị mắc kẹt trong một vòng lặp.
447
485
 
448
486
  Không có tham số.
449
487
 
@@ -451,14 +489,14 @@ Không có tham số.
451
489
 
452
490
  ## Quy trình làm việc
453
491
 
454
- Thực thi quy trình làm việc kỷ luật cuối phiên. Các chính sách này kích hoạt trên sự kiện **Stop** và từ chối Claude dừng lại cho đến khi mỗi điều kiện được đáp ứng. Chúng tuân theo chuỗi phụ thuộc tự nhiên: commit → push → PR → CI. Nếu chính sách từ chối, các chính sách sau trong chuỗi bị bỏ qua (deny rút ngắn).
492
+ Thực thi quy trình làm việc kết thúc phiên làm việc theo kỷ luật. Những chính sách này được kích hoạt trên sự kiện **Stop** và từ chối Claude dừng lại cho đến khi mỗi điều kiện được đáp ứng. Chúng tuân theo một chuỗi phụ thuộc tự nhiên: commit → push → PR → CI. Nếu chính sách từ chối, các chính sách sau trong chuỗi sẽ bị bỏ qua (deny rút ngắn).
455
493
 
456
- Tất cả các chính sách quy trình làm việc **fail-open**: nếu công cụ được yêu cầu không sẵn (ví dụ: `gh` không được cài đặt, không có git remote), chính sách cho phép với thông báo thông tin giải thích tại sao kiểm tra bị bỏ qua.
494
+ Tất cả chính sách quy trình làm việc đều **fail-open**: nếu công cụ được yêu cầu không khả dụng (ví dụ: `gh` không được cài đặt, không có git remote), chính sách cho phép với thông báo thông tin giải thích tại sao kiểm tra bị bỏ qua.
457
495
 
458
496
  ### `require-commit-before-stop`
459
497
 
460
498
  **Sự kiện:** Stop
461
- **Mặc định:** Từ chối dừng khi có những thay đổi chưa được commit (tệp đã sửa đổi, được stage hoặc chưa theo dõi). Trả về thông báo thông tin khi thư mục làm việc sạch sẽ.
499
+ **Mặc định:** Từ chối dừng khi có các thay đổi chưa được commit (các tệp đã sửa đổi, được staging hoặc không được theo dõi). Trả về thông báo thông tin khi thư mục làm việc sạch.
462
500
 
463
501
  Không có tham số.
464
502
 
@@ -467,13 +505,13 @@ Không có tham số.
467
505
  ### `require-push-before-stop`
468
506
 
469
507
  **Sự kiện:** Stop
470
- **Mặc định:** Từ chối dừng khi có những commit chưa được push hoặc khi nhánh hiện tại không có nhánh remote theo dõi. Gợi ý `git push -u` để tạo nhánh theo dõi nếu cần. Fail open nếu không có remote được cấu hình.
508
+ **Mặc định:** Từ chối dừng khi có các commit chưa được đẩy hoặc khi nhánh hiện tại không có nhánh theo dõi từ xa. Gợi ý `git push -u` để tạo một nhánh theo dõi nếu cần. Fails open nếu không có remote được cấu hình.
471
509
 
472
510
  **Tham số:**
473
511
 
474
- | Tham số | Kiểu | Mặc định | Mô tả |
512
+ | Tham số | Loại | Mặc định | Mô tả |
475
513
  |-------|------|---------|-------------|
476
- | `remote` | `string` | `"origin"` | Tên remote để push đến. |
514
+ | `remote` | `string` | `"origin"` | Tên remote để đẩy tới. |
477
515
 
478
516
  **Ví dụ:**
479
517
 
@@ -492,14 +530,14 @@ Không có tham số.
492
530
  ### `require-pr-before-stop`
493
531
 
494
532
  **Sự kiện:** Stop
495
- **Mặc định:** Từ chối dừng khi không có pull request cho nhánh hiện tại, hoặc khi PR hiện có bị đóng/hợp nhất. Hướng dẫn Claude tạo PR với `gh pr create`.
533
+ **Mặc định:** Từ chối dừng khi không có pull request nào tồn tại cho nhánh hiện tại hoặc khi PR hiện có bị đóng/hợp nhất. Hướng dẫn Claude tạo một PR bằng `gh pr create`.
496
534
 
497
535
  Không có tham số.
498
536
 
499
537
  <Note>
500
538
  Chính sách này yêu cầu [GitHub CLI](https://cli.github.com/) (`gh`) được cài đặt và xác thực.
501
- Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc
502
- pull request. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách fail open và báo cáo lý do cho Claude.
539
+ Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc đến
540
+ các yêu cầu kéo. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách fails open và báo cáo lý do cho Claude.
503
541
  </Note>
504
542
 
505
543
  ---
@@ -507,14 +545,14 @@ pull request. Nếu `gh` không được cài đặt hoặc không được xác
507
545
  ### `require-ci-green-before-stop`
508
546
 
509
547
  **Sự kiện:** Stop
510
- **Mặc định:** Từ chối dừng khi các kiểm tra CI đang thất bại hoặc vẫn chạy trên nhánh hiện tại. Kiểm tra cả chạy quy trình GitHub Actions và kiểm tra bot của bên thứ ba (ví dụ: CodeRabbit, SonarCloud, Codecov). Xem xét kết luận `skipped` thành công. Trả về thông báo thông tin khi tất cả các kiểm tra vượt qua.
548
+ **Mặc định:** Từ chối dừng khi các kiểm tra CI đang thất bại hoặc vẫn đang chạy trên nhánh hiện tại. Kiểm tra cả các lần chạy quy trình làm việc GitHub Actions và các kiểm tra bot của bên thứ ba (ví dụ: CodeRabbit, SonarCloud, Codecov). Coi kết luận `skipped` thành công. Trả về thông báo thông tin khi tất cả các kiểm tra vượt qua.
511
549
 
512
550
  Không có tham số.
513
551
 
514
552
  <Note>
515
553
  Chính sách này yêu cầu [GitHub CLI](https://cli.github.com/) (`gh`) được cài đặt và xác thực.
516
- Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc
517
- chạy quy trình Actions và API Kiểm tra. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách fail open và báo cáo lý do cho Claude.
554
+ Chạy `gh auth login` với một token truy cập cá nhân có phạm vi `repo` để truy cập đọc đến
555
+ các lần chạy quy trình làm việc Actions và API Checks. Nếu `gh` không được cài đặt hoặc không được xác thực, chính sách fails open và báo cáo lý do cho Claude.
518
556
  </Note>
519
557
 
520
558
  ---
@@ -523,7 +561,7 @@ chạy quy trình Actions và API Kiểm tra. Nếu `gh` không được cài đ
523
561
 
524
562
  ## Vô hiệu hóa các chính sách riêng lẻ
525
563
 
526
- Xóa một chính sách cụ thể khỏi `enabledPolicies` trong cấu hình của bạn, hoặc tắt nó trong tab Chính sách của bảng điều khiển.
564
+ Xóa chính sách cụ thể khỏi `enabledPolicies` trong cấu hình của bạn hoặc tắt nó trong tab Policies của dashboard.
527
565
 
528
566
  ```json
529
567
  {
@@ -534,4 +572,4 @@ Xóa một chính sách cụ thể khỏi `enabledPolicies` trong cấu hình c
534
572
  }
535
573
  ```
536
574
 
537
- Các chính sách không được liệt kê trong `enabledPolicies` không chạy, ngay cả khi mục nhập `policyParams` cho chúng.
575
+ Các chính sách không được liệt kê trong `enabledPolicies` không chạy, ngay cả khi các mục `policyParams` tồn tại cho chúng.