failproofai 0.0.6-beta.2 → 0.0.6-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/.next/required-server-files.json +1 -1
  5. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  10. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  11. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  12. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  13. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  19. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  20. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  21. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  22. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  23. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  25. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/index.html +1 -1
  27. package/.next/standalone/.next/server/app/index.rsc +15 -15
  28. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  29. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  30. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  31. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  32. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  34. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  37. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  39. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  40. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  43. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  44. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  46. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  47. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  50. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  52. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__05akje6._.js → [root-of-the-server]__096k.db._.js} +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  55. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0i5kvry._.js → [root-of-the-server]__0kyh86x._.js} +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  63. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  64. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  65. package/.next/standalone/.next/server/pages/404.html +2 -2
  66. package/.next/standalone/.next/server/pages/500.html +1 -1
  67. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  68. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  69. package/.next/standalone/.next/static/chunks/{1052sguyd-.ka.js → 0-dm_9a6nsc2l.js} +1 -1
  70. package/.next/standalone/.next/static/chunks/{05j1px0r8yzh6.js → 01pmw1-asbek~.js} +2 -2
  71. package/.next/standalone/.next/static/chunks/{14cl9poem30dq.js → 051m32nx~n5yr.js} +1 -1
  72. package/.next/standalone/.next/static/chunks/{0badv41uxa56..js → 0a-yctdwn368y.js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{0xpl.oscrakvx.js → 0l-mu4okl-cj1.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{00j0rr7rh8ef8.js → 0mazj-p-~2kc6.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
  76. package/.next/standalone/.next/static/chunks/{0npb~873.wvg3.js → 156zca6aewyr-.js} +1 -1
  77. package/.next/standalone/CHANGELOG.md +7 -0
  78. package/.next/standalone/bin/failproofai.mjs +91 -4
  79. package/.next/standalone/dist/cli.mjs +1155 -54
  80. package/.next/standalone/docs/ar/built-in-policies.mdx +118 -118
  81. package/.next/standalone/docs/built-in-policies.mdx +2 -2
  82. package/.next/standalone/docs/de/built-in-policies.mdx +48 -48
  83. package/.next/standalone/docs/es/built-in-policies.mdx +82 -82
  84. package/.next/standalone/docs/fr/built-in-policies.mdx +72 -72
  85. package/.next/standalone/docs/he/built-in-policies.mdx +129 -128
  86. package/.next/standalone/docs/hi/built-in-policies.mdx +178 -182
  87. package/.next/standalone/docs/it/built-in-policies.mdx +64 -64
  88. package/.next/standalone/docs/ja/built-in-policies.mdx +128 -128
  89. package/.next/standalone/docs/ko/built-in-policies.mdx +111 -111
  90. package/.next/standalone/docs/pt-br/built-in-policies.mdx +65 -65
  91. package/.next/standalone/docs/ru/built-in-policies.mdx +72 -72
  92. package/.next/standalone/docs/tr/built-in-policies.mdx +99 -99
  93. package/.next/standalone/docs/vi/built-in-policies.mdx +69 -72
  94. package/.next/standalone/docs/zh/built-in-policies.mdx +76 -78
  95. package/.next/standalone/package.json +1 -1
  96. package/.next/standalone/server.js +1 -1
  97. package/.next/standalone/src/auth/login.ts +104 -0
  98. package/.next/standalone/src/auth/logout.ts +50 -0
  99. package/.next/standalone/src/auth/token-store.ts +64 -0
  100. package/.next/standalone/src/hooks/builtin-policies.ts +22 -20
  101. package/.next/standalone/src/hooks/handler.ts +35 -15
  102. package/.next/standalone/src/relay/daemon.ts +362 -0
  103. package/.next/standalone/src/relay/pid.ts +76 -0
  104. package/.next/standalone/src/relay/queue.ts +225 -0
  105. package/bin/failproofai.mjs +91 -4
  106. package/dist/cli.mjs +1155 -54
  107. package/package.json +1 -1
  108. package/src/auth/login.ts +104 -0
  109. package/src/auth/logout.ts +50 -0
  110. package/src/auth/token-store.ts +64 -0
  111. package/src/hooks/builtin-policies.ts +22 -20
  112. package/src/hooks/handler.ts +35 -15
  113. package/src/relay/daemon.ts +362 -0
  114. package/src/relay/pid.ts +76 -0
  115. package/src/relay/queue.ts +225 -0
  116. package/.next/standalone/.next/static/chunks/0ijk_kek9_wyx.js +0 -6
  117. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
  118. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
  119. /package/.next/standalone/.next/static/{A9pNTZdoYJTVyPAYwQMx5 → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
@@ -1,62 +1,60 @@
1
1
  ---
2
-
3
- ---
4
- title: Built-in Policies
5
- description: "सभी 30 built-in policies जो agent failure modes को पकड़ते हैं"
2
+ title: बिल्ट-इन पॉलिसीज़
3
+ description: "सभी 30 बिल्ट-इन पॉलिसीज़ जो एजेंट की सामान्य विफलता को रोकती हैं"
6
4
  icon: shield
7
5
  ---
8
6
 
9
- failproofai के साथ 30 built-in policies आती हैं जो common agent failure modes को पकड़ते हैं। प्रत्येक policy एक specific hook event type और tool name पर fire होती है। नौ policies parameters स्वीकार करती हैं जो आपको code लिखे बिना उनके behavior को tune करने देते हैं। चार workflow policies एक commit → push → PR → CI pipeline को enforce करती हैं इससे पहले कि Claude stop हो।
7
+ failproofai 30 बिल्ट-इन पॉलिसीज़ के साथ आता है जो एजेंट की सामान्य विफलता मोड को रोकती हैं। प्रत्येक पॉलिसी एक विशिष्ट हुक इवेंट प्रकार और टूल नाम पर काम करती है। नौ पॉलिसीज़ पैरामीटर स्वीकार करती हैं जो आपको कोड लिखे बिना उनके व्यवहार को ट्यून करने देते हैं। चार वर्कफ़्लो पॉलिसीज़ एक commit → push → PR → CI पाइपलाइन लागू करती हैं इससे पहले कि Claude रुके।
10
8
 
11
9
  ---
12
10
 
13
- ## Overview
11
+ ## अवलोकन
14
12
 
15
- Policies को categories में grouped किया गया है:
13
+ पॉलिसीज़ को श्रेणियों में विभाजित किया गया है:
16
14
 
17
- | Category | Policies | Hook type |
15
+ | श्रेणी | पॉलिसीज़ | हुक प्रकार |
18
16
  |----------|----------|-----------|
19
- | [Dangerous commands](#dangerous-commands) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
20
- | [Secrets (sanitizers)](#secrets-sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
21
- | [Environment](#environment) | block-env-files, protect-env-vars | PreToolUse |
22
- | [File access](#file-access) | block-read-outside-cwd, block-secrets-write | PreToolUse |
17
+ | [खतरनाक कमांड](#dangerous-commands) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
18
+ | [सीक्रेट्स (सैनिटाइज़र)](#secrets-sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
19
+ | [पर्यावरण](#environment) | block-env-files, protect-env-vars | PreToolUse |
20
+ | [फाइल एक्सेस](#file-access) | block-read-outside-cwd, block-secrets-write | PreToolUse |
23
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 |
24
- | [Database](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
25
- | [Warnings](#warnings) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
26
- | [Package managers](#package-managers) | prefer-package-manager | PreToolUse |
27
- | [Workflow](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
22
+ | [डेटाबेस](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
23
+ | [चेतावनियां](#warnings) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
24
+ | [पैकेज मैनेजर](#package-managers) | prefer-package-manager | PreToolUse |
25
+ | [वर्कफ़्लो](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
28
26
 
29
- - **`block-`** — agent को आगे बढ़ने से रोकता है।
30
- - **`warn-`** — agent को additional context देता है ताकि वह self-correct कर सके।
31
- - **`sanitize-`** — agent को देखने से पहले tool output से sensitive data को scrub करता है।
32
- - **`require-`** — जब तक conditions पूरी हों Stop event को block करता है।
27
+ - **`block-`** — एजेंट को आगे बढ़ने से रोकें।
28
+ - **`warn-`** — एजेंट को अतिरिक्त संदर्भ दें ताकि यह स्वयं को सही कर सके।
29
+ - **`sanitize-`** — एजेंट को देखने से पहले टूल आउटपुट से संवेदनशील डेटा हटाएं।
30
+ - **`require-`** — शर्तें पूरी होने तक Stop इवेंट को ब्लॉक करें।
33
31
 
34
32
  ---
35
33
 
36
34
  <Tip>
37
- हर policy `policyParams` में एक optional `hint` field को support करती है। hint को deny या instruct message में append किया जाता है जो Claude देखता है, जिससे policy code को modify किए बिना actionable guidance मिलती है। Built-in, custom, और convention policies के साथ काम करता है। विवरण के लिए [Configuration → hint](/hi/configuration#hint-cross-cutting) देखें।
35
+ हर पॉलिसी `policyParams` में एक वैकल्पिक `hint` फील्ड को सपोर्ट करती है। hint को deny या instruct संदेश में जोड़ा जाता है जो Claude देखता है, जिससे कार्यसंचालन मार्गदर्शन मिलता है बिना पॉलिसी कोड को संशोधित किए। बिल्ट-इन, कस्टम, और कन्वेंशन पॉलिसीज़ के साथ काम करता है। विवरण के लिए [Configuration → hint](/hi/configuration#hint-cross-cutting) देखें।
38
36
  </Tip>
39
37
 
40
38
  ---
41
39
 
42
- ## Dangerous commands
40
+ ## खतरनाक कमांड
43
41
 
44
- Agents को उन operations चलाने से रोकें जो undo करना मुश्किल हैं या host system को damage कर सकते हैं।
42
+ एजेंट्स को ऐसे ऑपरेशन चलाने से रोकें जो पूर्ववत करना मुश्किल हैं या होस्ट सिस्टम को नुकसान पहुंचा सकते हैं।
45
43
 
46
44
  ### `block-sudo`
47
45
 
48
- **Event:** PreToolUse (Bash)
49
- **Default:** किसी भी `sudo` command को deny करता है।
46
+ **इवेंट:** PreToolUse (Bash)
47
+ **डिफ़ॉल्ट:** किसी भी `sudo` कमांड को अस्वीकार करता है।
50
48
 
51
- उन invocations को block करता है जिनमें `sudo` keyword शामिल है। Pattern matching parsed command tokens पर की जाती है, raw string पर नहीं, shell operator injection के माध्यम से bypass को prevent करने के लिए।
49
+ ऐसे इनवोकेशन को ब्लॉक करता है जिनमें `sudo` कीवर्ड शामिल हो। पैटर्न मिलान कच्ची स्ट्रिंग के बजाय पार्स किए गए कमांड टोकन पर किया जाता है, shell ऑपरेटर इंजेक्शन के माध्यम से बाईपास को रोकने के लिए।
52
50
 
53
- **Parameters:**
51
+ **पैरामीटर:**
54
52
 
55
- | Param | Type | Default | Description |
53
+ | पैरामीटर | प्रकार | डिफ़ॉल्ट | विवरण |
56
54
  |-------|------|---------|-------------|
57
- | `allowPatterns` | `string[]` | `[]` | Exact command prefixes जो permitted हैं। प्रत्येक entry को parsed argv tokens के विरुद्ध match किया जाता है। |
55
+ | `allowPatterns` | `string[]` | `[]` | सटीक कमांड प्रीफिक्स जो अनुमति हैं। प्रत्येक प्रविष्टि पार्स किए गए argv टोकन के विरुद्ध मिलाई जाती है। |
58
56
 
59
- **Example:**
57
+ **उदाहरण:**
60
58
 
61
59
  ```json
62
60
  {
@@ -68,26 +66,26 @@ Agents को उन operations चलाने से रोकें जो un
68
66
  }
69
67
  ```
70
68
 
71
- इस config के साथ, `sudo systemctl status nginx` allowed है, लेकिन `sudo rm /etc/hosts` denied है।
69
+ इस कॉन्फ़िगरेशन के साथ, `sudo systemctl status nginx` अनुमति है, लेकिन `sudo rm /etc/hosts` अस्वीकृत है।
72
70
 
73
71
  <Note>
74
- Patterns को raw command string के विरुद्ध नहीं, parsed tokens के विरुद्ध match किया जाता है। यह appended shell operators के माध्यम से bypass को prevent करता है (उदाहरण के लिए `sudo systemctl status x; rm -rf /` `sudo systemctl status *` से match नहीं करता)।
72
+ पैटर्न कच्ची कमांड स्ट्रिंग के बजाय पार्स किए गए टोकन के विरुद्ध मिलाए जाते हैं। यह अपेंड किए गए shell ऑपरेटर के माध्यम से बाईपास को रोकता है (उदा. `sudo systemctl status x; rm -rf /` `sudo systemctl status *` से मेल नहीं खाता)।
75
73
  </Note>
76
74
 
77
75
  ---
78
76
 
79
77
  ### `block-rm-rf`
80
78
 
81
- **Event:** PreToolUse (Bash)
82
- **Default:** `rm -rf`, `rm -fr`, और similar recursive deletion forms को deny करता है।
79
+ **इवेंट:** PreToolUse (Bash)
80
+ **डिफ़ॉल्ट:** `rm -rf`, `rm -fr`, और समान पुनरावर्ती विलोपन फॉर्म को अस्वीकार करता है।
83
81
 
84
- **Parameters:**
82
+ **पैरामीटर:**
85
83
 
86
- | Param | Type | Default | Description |
84
+ | पैरामीटर | प्रकार | डिफ़ॉल्ट | विवरण |
87
85
  |-------|------|---------|-------------|
88
- | `allowPaths` | `string[]` | `[]` | Paths जो recursively delete करने के लिए safe हैं (उदाहरण के लिए `/tmp`)। |
86
+ | `allowPaths` | `string[]` | `[]` | पथ जो पुनरावर्ती रूप से हटाने के लिए सुरक्षित हैं (उदा. `/tmp`)। |
89
87
 
90
- **Example:**
88
+ **उदाहरण:**
91
89
 
92
90
  ```json
93
91
  {
@@ -103,47 +101,47 @@ Patterns को raw command string के विरुद्ध नहीं, pa
103
101
 
104
102
  ### `block-curl-pipe-sh`
105
103
 
106
- **Event:** PreToolUse (Bash)
107
- **Default:** `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash`, और similar patterns को deny करता है।
104
+ **इवेंट:** PreToolUse (Bash)
105
+ **डिफ़ॉल्ट:** `curl <url> | bash`, `curl <url> | sh`, `wget <url> | bash`, और समान पैटर्न को अस्वीकार करता है।
108
106
 
109
- कोई parameters नहीं।
107
+ कोई पैरामीटर नहीं।
110
108
 
111
109
  ---
112
110
 
113
111
  ### `block-failproofai-commands`
114
112
 
115
- **Event:** PreToolUse (Bash)
116
- **Default:** उन commands को deny करता है जो failproofai को uninstall या disable करेंगे (उदाहरण के लिए `npm uninstall failproofai`, `failproofai policies --uninstall`)।
113
+ **इवेंट:** PreToolUse (Bash)
114
+ **डिफ़ॉल्ट:** ऐसी कमांड को अस्वीकार करता है जो failproofai को अनइंस्टॉल या अक्षम करेंगी (उदा. `npm uninstall failproofai`, `failproofai policies --uninstall`)।
117
115
 
118
- कोई parameters नहीं।
116
+ कोई पैरामीटर नहीं।
119
117
 
120
118
  ---
121
119
 
122
- ## Secrets (sanitizers)
120
+ ## सीक्रेट्स (सैनिटाइज़र)
123
121
 
124
- Agents को credentials को अपने context या output में leak करने से रोकें। Sanitizer policies **PostToolUse** events पर fire होती हैं। जब Claude एक Bash command चलाता है, एक file को read करता है, या कोई भी tool को call करता है, ये policies output को inspect करते हैं इससे पहले कि यह Claude को return किया जाए। अगर एक secret pattern detect होता है, तो policy एक deny decision return करता है जो output को pass back होने से prevent करता है।
122
+ एजेंट्स को अपने संदर्भ या आउटपुट में क्रेडेंशियल लीक करने से रोकें। सैनिटाइज़र पॉलिसीज़ **PostToolUse** इवेंट पर काम करती हैं। जब Claude एक Bash कमांड चलाता है, एक फाइल पढ़ता है, या कोई भी टूल कॉल करता है, ये पॉलिसीज़ आउटपुट को Claude को लौटाए जाने से पहले निरीक्षण करती हैं। यदि एक सीक्रेट पैटर्न पाया जाता है, पॉलिसी एक अस्वीकार निर्णय देती है जो आउटपुट को वापस पास किए जाने से रोकता है।
125
123
 
126
124
  ### `sanitize-jwt`
127
125
 
128
- **Event:** PostToolUse (all tools)
129
- **Default:** JWT tokens को redact करता है (तीन base64url segments `.` से separated)।
126
+ **इवेंट:** PostToolUse (सभी टूल्स)
127
+ **डिफ़ॉल्ट:** JWT टोकन को रिडैक्ट करता है (तीन base64url सेगमेंट `.` से अलग)।
130
128
 
131
- कोई parameters नहीं।
129
+ कोई पैरामीटर नहीं।
132
130
 
133
131
  ---
134
132
 
135
133
  ### `sanitize-api-keys`
136
134
 
137
- **Event:** PostToolUse (all tools)
138
- **Default:** Common API key formats को redact करता है: 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`)।
139
137
 
140
- **Parameters:**
138
+ **पैरामीटर:**
141
139
 
142
- | Param | Type | Default | Description |
140
+ | पैरामीटर | प्रकार | डिफ़ॉल्ट | विवरण |
143
141
  |-------|------|---------|-------------|
144
- | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | Additional regex patterns जो secrets के रूप में treat किए जाएं। |
142
+ | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | सीक्रेट मानने के लिए अतिरिक्त regex पैटर्न। |
145
143
 
146
- **Example:**
144
+ **उदाहरण:**
147
145
 
148
146
  ```json
149
147
  {
@@ -162,71 +160,71 @@ Agents को credentials को अपने context या output में le
162
160
 
163
161
  ### `sanitize-connection-strings`
164
162
 
165
- **Event:** PostToolUse (all tools)
166
- **Default:** Database connection strings को redact करता है जिनमें embedded credentials हैं (उदाहरण के लिए `postgresql://user:password@host/db`)।
163
+ **इवेंट:** PostToolUse (सभी टूल्स)
164
+ **डिफ़ॉल्ट:** डेटाबेस कनेक्शन स्ट्रिंग को रिडैक्ट करता है जिनमें एंबेडेड क्रेडेंशियल हैं (उदा. `postgresql://user:password@host/db`)।
167
165
 
168
- कोई parameters नहीं।
166
+ कोई पैरामीटर नहीं।
169
167
 
170
168
  ---
171
169
 
172
170
  ### `sanitize-private-key-content`
173
171
 
174
- **Event:** PostToolUse (all tools)
175
- **Default:** PEM blocks को redact करता है (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, आदि)।
172
+ **इवेंट:** PostToolUse (सभी टूल्स)
173
+ **डिफ़ॉल्ट:** PEM ब्लॉक को रिडैक्ट करता है (`-----BEGIN PRIVATE KEY-----`, `-----BEGIN RSA PRIVATE KEY-----`, आदि)।
176
174
 
177
- कोई parameters नहीं।
175
+ कोई पैरामीटर नहीं।
178
176
 
179
177
  ---
180
178
 
181
179
  ### `sanitize-bearer-tokens`
182
180
 
183
- **Event:** PostToolUse (all tools)
184
- **Default:** `Authorization: Bearer <token>` headers को redact करता है जहां token 20 या उससे अधिक characters का हो।
181
+ **इवेंट:** PostToolUse (सभी टूल्स)
182
+ **डिफ़ॉल्ट:** `Authorization: Bearer <token>` हेडर को रिडैक्ट करता है जहां टोकन 20 या अधिक वर्णों का है।
185
183
 
186
- कोई parameters नहीं।
184
+ कोई पैरामीटर नहीं।
187
185
 
188
186
  ---
189
187
 
190
- ## Environment
188
+ ## पर्यावरण
191
189
 
192
- Agents द्वारा sensitive environment configuration को read या expose होने से protect करें।
190
+ एजेंट्स द्वारा संवेदनशील पर्यावरण कॉन्फ़िगरेशन को पढ़े या उजागर किए जाने से सुरक्षित रखें।
193
191
 
194
192
  ### `block-env-files`
195
193
 
196
- **Event:** PreToolUse (Bash, Read)
197
- **Default:** `.env` files को read करने को deny करता है `cat .env` के माध्यम से, Read tool calls जहां file path `.env` हो, आदि।
194
+ **इवेंट:** PreToolUse (Bash, Read)
195
+ **डिफ़ॉल्ट:** `.env` फाइलों को `cat .env`, Read टूल कॉल के माध्यम से फाइल पथ के रूप में `.env` के साथ, आदि पढ़ने से अस्वीकार करता है।
198
196
 
199
- `.envrc` या अन्य environment-adjacent files को block नहीं करता - केवल उन files को जो exactly `.env` नाम के हों।
197
+ `.envrc` या अन्य पर्यावरण-निकटवर्ती फाइलों को ब्लॉक नहीं करता है - केवल ठीक `.env` नामित फाइलें।
200
198
 
201
- कोई parameters नहीं।
199
+ कोई पैरामीटर नहीं।
202
200
 
203
201
  ---
204
202
 
205
203
  ### `protect-env-vars`
206
204
 
207
- **Event:** PreToolUse (Bash)
208
- **Default:** उन commands को deny करता है जो environment variables को print करते हैं: `printenv`, `env`, `echo $VAR`।
205
+ **इवेंट:** PreToolUse (Bash)
206
+ **डिफ़ॉल्ट:** पर्यावरण वेरिएबल प्रिंट करने वाली कमांड को अस्वीकार करता है: `printenv`, `env`, `echo $VAR`।
209
207
 
210
- कोई parameters नहीं।
208
+ कोई पैरामीटर नहीं।
211
209
 
212
210
  ---
213
211
 
214
- ## File access
212
+ ## फाइल एक्सेस
215
213
 
216
- Agents को project boundaries के अंदर काम करने और sensitive files से दूर रखें।
214
+ एजेंट्स को प्रोजेक्ट सीमाओं के अंदर काम करने और संवेदनशील फाइलों से दूर रखें।
217
215
 
218
216
  ### `block-read-outside-cwd`
219
217
 
220
- **Event:** PreToolUse (Read, Bash)
221
- **Default:** Current working directory (project root) के बाहर files को read करने को deny करता है।
218
+ **इवेंट:** PreToolUse (Read, Bash)
219
+ **डिफ़ॉल्ट:** वर्तमान कार्य निर्देशिका (प्रोजेक्ट रूट) के बाहर फाइलों को पढ़ने से अस्वीकार करता है।
222
220
 
223
- **Parameters:**
221
+ **पैरामीटर:**
224
222
 
225
- | Param | Type | Default | Description |
223
+ | पैरामीटर | प्रकार | डिफ़ॉल्ट | विवरण |
226
224
  |-------|------|---------|-------------|
227
- | `allowPaths` | `string[]` | `[]` | Absolute path prefixes जो permitted हैं भले ही cwd के बाहर हों। |
225
+ | `allowPaths` | `string[]` | `[]` | निरपेक्ष पथ प्रीफिक्स जो अनुमति हैं यहां तक कि अगर cwd के बाहर। |
228
226
 
229
- **Example:**
227
+ **उदाहरण:**
230
228
 
231
229
  ```json
232
230
  {
@@ -242,16 +240,16 @@ Agents को project boundaries के अंदर काम करने औ
242
240
 
243
241
  ### `block-secrets-write`
244
242
 
245
- **Event:** PreToolUse (Write, Edit)
246
- **Default:** उन common files में writes को deny करता है जो private keys और certificates के लिए उपयोग किए जाते हैं: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`।
243
+ **इवेंट:** PreToolUse (Write, Edit)
244
+ **डिफ़ॉल्ट:** निजी कुंजियों और प्रमाणपत्रों के लिए आमतौर पर उपयोग की जाने वाली फाइलों में लिखने से अस्वीकार करता है: `id_rsa`, `id_ed25519`, `*.key`, `*.pem`, `*.p12`, `*.pfx`।
247
245
 
248
- **Parameters:**
246
+ **पैरामीटर:**
249
247
 
250
- | Param | Type | Default | Description |
248
+ | पैरामीटर | प्रकार | डिफ़ॉल्ट | विवरण |
251
249
  |-------|------|---------|-------------|
252
- | `additionalPatterns` | `string[]` | `[]` | Additional filename patterns (glob-style) जो block करने हैं। |
250
+ | `additionalPatterns` | `string[]` | `[]` | ब्लॉक करने के लिए अतिरिक्त फाइलनाम पैटर्न (glob-स्टाइल)। |
253
251
 
254
- **Example:**
252
+ **उदाहरण:**
255
253
 
256
254
  ```json
257
255
  {
@@ -267,20 +265,20 @@ Agents को project boundaries के अंदर काम करने औ
267
265
 
268
266
  ## Git
269
267
 
270
- Accidental pushes, force-pushes, और branch mistakes को prevent करें जो undo करना मुश्किल है।
268
+ आकस्मिक पुश, force-पुश, और ब्रांच गलतियों को रोकें जो पूर्ववत करना मुश्किल हैं।
271
269
 
272
270
  ### `block-push-master`
273
271
 
274
- **Event:** PreToolUse (Bash)
275
- **Default:** `git push origin main` और `git push origin master` को deny करता है।
272
+ **इवेंट:** PreToolUse (Bash)
273
+ **डिफ़ॉल्ट:** `git push origin main` और `git push origin master` को अस्वीकार करता है।
276
274
 
277
- **Parameters:**
275
+ **पैरामीटर:**
278
276
 
279
- | Param | Type | Default | Description |
277
+ | पैरामीटर | प्रकार | डिफ़ॉल्ट | विवरण |
280
278
  |-------|------|---------|-------------|
281
- | `protectedBranches` | `string[]` | `["main", "master"]` | Branch names जो directly push नहीं किए जा सकते। |
279
+ | `protectedBranches` | `string[]` | `["main", "master"]` | ब्रांच नाम जो सीधे नहीं धकेले जा सकते। |
282
280
 
283
- **Example:**
281
+ **उदाहरण:**
284
282
 
285
283
  ```json
286
284
  {
@@ -293,36 +291,36 @@ Accidental pushes, force-pushes, और branch mistakes को prevent करे
293
291
  ```
294
292
 
295
293
  <Tip>
296
- सभी branches में pushing को allow करने के लिए (इस policy को `enabledPolicies` से remove किए बिना effectively disable करने के लिए), `protectedBranches: []` set करें।
294
+ सभी ब्रांचों में पुश करने की अनुमति देने के लिए (प्रभावी रूप से इस पॉलिसी को `enabledPolicies` से हटाए बिना अक्षम करने के लिए), `protectedBranches: []` सेट करें।
297
295
  </Tip>
298
296
 
299
297
  ---
300
298
 
301
299
  ### `block-work-on-main`
302
300
 
303
- **Event:** PreToolUse (Bash)
304
- **Default:** `main` या `master` branches को directly checkout करने को deny करता है।
301
+ **इवेंट:** PreToolUse (Bash)
302
+ **डिफ़ॉल्ट:** `main` या `master` ब्रांच को सीधे चेक आउट करने से अस्वीकार करता है।
305
303
 
306
- **Parameters:**
304
+ **पैरामीटर:**
307
305
 
308
- | Param | Type | Default | Description |
306
+ | पैरामीटर | प्रकार | डिफ़ॉल्ट | विवरण |
309
307
  |-------|------|---------|-------------|
310
- | `protectedBranches` | `string[]` | `["main", "master"]` | Branch names जो directly checkout नहीं किए जा सकते। |
308
+ | `protectedBranches` | `string[]` | `["main", "master"]` | ब्रांच नाम जो सीधे चेक आउट नहीं किए जा सकते। |
311
309
 
312
310
  ---
313
311
 
314
312
  ### `block-force-push`
315
313
 
316
- **Event:** PreToolUse (Bash)
317
- **Default:** `git push --force` और `git push -f` को deny करता है।
314
+ **इवेंट:** PreToolUse (Bash)
315
+ **डिफ़ॉल्ट:** `git push --force` और `git push -f` को अस्वीकार करता है।
318
316
 
319
- कोई policy-specific parameters नहीं। Alternatives suggest करने के लिए cross-cutting [`hint`](/hi/configuration#hint-cross-cutting) का उपयोग करें:
317
+ कोई नीति-विशिष्ट पैरामीटर नहीं। विकल्प सुझाने के लिए क्रॉस-कटिंग [`hint`](/hi/configuration#hint-cross-cutting) का उपयोग करें:
320
318
 
321
319
  ```json
322
320
  {
323
321
  "policyParams": {
324
322
  "block-force-push": {
325
- "hint": "अपने current HEAD से एक नया branch create करें (उदाहरण के लिए `git checkout -b <new-branch>`) और उसे push करें।"
323
+ "hint": "अपने वर्तमान HEAD से एक नई ब्रांच बनाएं (उदा. `git checkout -b <new-branch>`) और इसके बजाय उसे पुश करें।"
326
324
  }
327
325
  }
328
326
  }
@@ -332,69 +330,69 @@ Accidental pushes, force-pushes, और branch mistakes को prevent करे
332
330
 
333
331
  ### `warn-git-amend`
334
332
 
335
- **Event:** PreToolUse (Bash)
336
- **Default:** Claude को carefully proceed करने के लिए instruct करता है जब `git commit --amend` चला रहा हो। Command को block नहीं करता।
333
+ **इवेंट:** PreToolUse (Bash)
334
+ **डिफ़ॉल्ट:** Claude को `git commit --amend` चलाते समय सावधानी से आगे बढ़ने के लिए निर्देश देता है। कमांड को ब्लॉक नहीं करता है।
337
335
 
338
- कोई parameters नहीं।
336
+ कोई पैरामीटर नहीं।
339
337
 
340
338
  ---
341
339
 
342
340
  ### `warn-git-stash-drop`
343
341
 
344
- **Event:** PreToolUse (Bash)
345
- **Default:** Claude को `git stash drop` चलाने से पहले confirm करने के लिए instruct करता है। Command को block नहीं करता।
342
+ **इवेंट:** PreToolUse (Bash)
343
+ **डिफ़ॉल्ट:** Claude को `git stash drop` चलाने से पहले पुष्टि करने के लिए निर्देश देता है। कमांड को ब्लॉक नहीं करता है।
346
344
 
347
- कोई parameters नहीं।
345
+ कोई पैरामीटर नहीं।
348
346
 
349
347
  ---
350
348
 
351
349
  ### `warn-all-files-staged`
352
350
 
353
- **Event:** PreToolUse (Bash)
354
- **Default:** Claude को review करने के लिए instruct करता है कि वह क्या stage कर रहा है जब `git add -A` या `git add .` चलाता है। Command को block नहीं करता।
351
+ **इवेंट:** PreToolUse (Bash)
352
+ **डिफ़ॉल्ट:** Claude को समीक्षा करने के लिए निर्देश देता है कि जब यह `git add -A` या `git add .` चलाता है तो क्या स्टेजिंग कर रहा है। कमांड को ब्लॉक नहीं करता है।
355
353
 
356
- कोई parameters नहीं।
354
+ कोई पैरामीटर नहीं।
357
355
 
358
356
  ---
359
357
 
360
- ## Database
358
+ ## डेटाबेस
361
359
 
362
- Database के विरुद्ध execute होने से पहले destructive SQL operations को catch करें।
360
+ विनाशकारी SQL ऑपरेशन को आपके डेटाबेस के विरुद्ध निष्पादित होने से पहले पकड़ें।
363
361
 
364
362
  ### `warn-destructive-sql`
365
363
 
366
- **Event:** PreToolUse (Bash)
367
- **Default:** Claude को confirm करने के लिए instruct करता है `DROP TABLE`, `DROP DATABASE`, या `WHERE` clause के बिना `DELETE` containing SQL चलाने से पहले।
364
+ **इवेंट:** PreToolUse (Bash)
365
+ **डिफ़ॉल्ट:** Claude को SQL युक्त `DROP TABLE`, `DROP DATABASE`, या `WHERE` क्लॉज़ के बिना `DELETE` चलाने से पहले पुष्टि करने के लिए निर्देश देता है।
368
366
 
369
- कोई parameters नहीं।
367
+ कोई पैरामीटर नहीं।
370
368
 
371
369
  ---
372
370
 
373
371
  ### `warn-schema-alteration`
374
372
 
375
- **Event:** PreToolUse (Bash)
376
- **Default:** Claude को `ALTER TABLE` statements चलाने से पहले confirm करने के लिए instruct करता है।
373
+ **इवेंट:** PreToolUse (Bash)
374
+ **डिफ़ॉल्ट:** Claude को `ALTER TABLE` स्टेटमेंट चलाने से पहले पुष्टि करने के लिए निर्देश देता है।
377
375
 
378
- कोई parameters नहीं।
376
+ कोई पैरामीटर नहीं।
379
377
 
380
378
  ---
381
379
 
382
- ## Warnings
380
+ ## चेतावनियां
383
381
 
384
- Agents को potentially risky लेकिन non-destructive operations से पहले extra context दें।
382
+ एजेंट्स को संभावित रूप से जोखिम भरे लेकिन गैर-विनाशकारी ऑपरेशन से पहले अतिरिक्त संदर्भ दें।
385
383
 
386
384
  ### `warn-large-file-write`
387
385
 
388
- **Event:** PreToolUse (Write)
389
- **Default:** Claude को 1024 KB से बड़ी files write करने से पहले confirm करने के लिए instruct करता है।
386
+ **इवेंट:** PreToolUse (Write)
387
+ **डिफ़ॉल्ट:** Claude को 1024 KB से बड़ी फाइलें लिखने से पहले पुष्टि करने के लिए निर्देश देता है।
390
388
 
391
- **Parameters:**
389
+ **पैरामीटर:**
392
390
 
393
- | Param | Type | Default | Description |
391
+ | पैरामीटर | प्रकार | डिफ़ॉल्ट | विवरण |
394
392
  |-------|------|---------|-------------|
395
- | `thresholdKb` | `number` | `1024` | File size threshold kilobytes में जिससे ऊपर एक warning issue किया जाता है। |
393
+ | `thresholdKb` | `number` | `1024` | फाइल आकार थ्रेसहोल्ड किलोबाइट में जिससे ऊपर चेतावनी जारी की जाती है। |
396
394
 
397
- **Example:**
395
+ **उदाहरण:**
398
396
 
399
397
  ```json
400
398
  {
@@ -407,57 +405,57 @@ Agents को potentially risky लेकिन non-destructive operations स
407
405
  ```
408
406
 
409
407
  <Note>
410
- Hook handler payloads पर 1 MB stdin limit enforce करता है। इस policy को small content के साथ test करने के लिए, `thresholdKb` को एक value set करें जो 1024 से बहुत कम हो।
408
+ हुक हैंडलर पेलोड पर 1 MB stdin सीमा लागू करता है। छोटी सामग्री के साथ इस पॉलिसी का परीक्षण करने के लिए, `thresholdKb` को 1024 से कहीं नीचे एक मान पर सेट करें।
411
409
  </Note>
412
410
 
413
411
  ---
414
412
 
415
413
  ### `warn-package-publish`
416
414
 
417
- **Event:** PreToolUse (Bash)
418
- **Default:** Claude को `npm publish` चलाने से पहले confirm करने के लिए instruct करता है।
415
+ **इवेंट:** PreToolUse (Bash)
416
+ **डिफ़ॉल्ट:** Claude को `npm publish` चलाने से पहले पुष्टि करने के लिए निर्देश देता है।
419
417
 
420
- कोई parameters नहीं।
418
+ कोई पैरामीटर नहीं।
421
419
 
422
420
  ---
423
421
 
424
422
  ### `warn-background-process`
425
423
 
426
- **Event:** PreToolUse (Bash)
427
- **Default:** Claude को careful रहने के लिए instruct करता है जब `nohup`, `&`, `disown`, या `screen` के via background processes launch कर रहा हो।
424
+ **इवेंट:** PreToolUse (Bash)
425
+ **डिफ़ॉल्ट:** Claude को `nohup`, `&`, `disown`, या `screen` के माध्यम से बैकग्राउंड प्रक्रियाएं लॉन्च करते समय सावधान रहने के लिए निर्देश देता है।
428
426
 
429
- कोई parameters नहीं।
427
+ कोई पैरामीटर नहीं।
430
428
 
431
429
  ---
432
430
 
433
431
  ### `warn-global-package-install`
434
432
 
435
- **Event:** PreToolUse (Bash)
436
- **Default:** Claude को `npm install -g`, `yarn global add`, या virtual environment के बिना `pip install` चलाने से पहले confirm करने के लिए instruct करता है।
433
+ **इवेंट:** PreToolUse (Bash)
434
+ **डिफ़ॉल्ट:** Claude को `npm install -g`, `yarn global add`, या `pip install` को वर्चुअल वातावरण के बिना चलाने से पहले पुष्टि करने के लिए निर्देश देता है।
437
435
 
438
- कोई parameters नहीं।
436
+ कोई पैरामीटर नहीं।
439
437
 
440
438
  ---
441
439
 
442
- ## Package managers
440
+ ## पैकेज मैनेजर
443
441
 
444
- Enforce करें कि agent किस package manager को use करने के लिए allowed है।
442
+ यह लागू करें कि एजेंट किस पैकेज मैनेजर का उपयोग करने की अनुमति है।
445
443
 
446
444
  ### `prefer-package-manager`
447
445
 
448
- **Event:** PreToolUse (Bash)
449
- **Default:** Disabled। जब enabled हो, तो `allowed` list में न होने वाली किसी भी package manager command को block करता है और Claude को एक allowed manager का उपयोग करके command को rewrite करने के लिए कहता है।
446
+ **इवेंट:** PreToolUse (Bash)
447
+ **डिफ़ॉल्ट:** अक्षम। जब सक्षम किया जाता है, `allowed` सूची में न होने वाली किसी भी पैकेज मैनेजर कमांड को ब्लॉक करता है और Claude को अनुमत मैनेजर का उपयोग करके कमांड को फिर से लिखने के लिए कहता है।
450
448
 
451
- Detects: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo।
449
+ पहचानता है: pip, pip3, python -m pip, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo।
452
450
 
453
- | Parameter | Type | Default | Description |
451
+ | पैरामीटर | प्रकार | डिफ़ॉल्ट | विवरण |
454
452
  |-----------|------|---------|-------------|
455
- | `allowed` | string[] | `[]` | Allowed package manager names। इस list में न होने वाले किसी भी detected manager को block किया जाता है। जब empty हो, तो policy एक no-op है। |
456
- | `blocked` | string[] | `[]` | Built-in list के beyond additional manager names को block करने के लिए (उदाहरण के लिए `['pdm', 'pipx']`)। |
453
+ | `allowed` | string[] | `[]` | अनुमत पैकेज मैनेजर नाम। इस सूची में न होने वाला कोई भी पहचाना गया मैनेजर ब्लॉक किया जाता है। जब खाली हो, पॉलिसी एक नो-ऑप है। |
454
+ | `blocked` | string[] | `[]` | बिल्ट-इन सूची से परे अतिरिक्त मैनेजर नाम को ब्लॉक करने के लिए (उदा. `['pdm', 'pipx']`)। |
457
455
 
458
- Built-in block list cover करता है: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo। इस list में न होने वाले managers को append करने के लिए `blocked` का उपयोग करें।
456
+ बिल्ट-इन ब्लॉक सूची शामिल है: pip, pip3, npm, npx, yarn, pnpm, pnpx, bun, bunx, uv, poetry, pipenv, conda, cargo। इस सूची में न होने वाले मैनेजर को जोड़ने के लिए `blocked` का उपयोग करें।
459
457
 
460
- **Example configuration:**
458
+ **उदाहरण कॉन्फ़िगरेशन:**
461
459
 
462
460
  ```json
463
461
  {
@@ -471,50 +469,50 @@ Built-in block list cover करता है: pip, pip3, npm, npx, yarn, pnpm,
471
469
  }
472
470
  ```
473
471
 
474
- इस config के साथ, `pip install flask` और `pdm install flask` दोनों denied हैं Claude को `uv` या `bun` का उपयोग करने के लिए कहने वाले एक message के साथ। `uv pip install flask` जैसे commands allowed हैं क्योंकि `uv` allowlist में है और पहले check किया जाता है।
472
+ इस कॉन्फ़िगरेशन के साथ, `pip install flask` और `pdm install flask` दोनों को Claude को `uv` या `bun` का उपयोग करने के लिए कहने वाले संदेश के साथ अस्वीकार किया जाता है। `uv pip install flask` जैसी कमांड अनुमत हैं क्योंकि `uv` allowlist में है और पहले चेक किया जाता है।
475
473
 
476
474
  ---
477
475
 
478
- ## AI behavior
476
+ ## AI व्यवहार
479
477
 
480
- Detect करें जब agents stuck हो जाएं या unexpectedly behave करें।
478
+ पहचानें कि जब एजेंट्स अटक जाते हैं या अप्रत्याशित व्यवहार करते हैं।
481
479
 
482
480
  ### `warn-repeated-tool-calls`
483
481
 
484
- **Event:** PreToolUse (all tools)
485
- **Default:** Claude को reconsider करने के लिए instruct करता है जब same tool को 3+ बार identical parameters के साथ call किया जाता है - एक common sign कि agent एक loop में stuck है।
482
+ **इवेंट:** PreToolUse (सभी टूल्स)
483
+ **डिफ़ॉल्ट:** Claude को पुनर्विचार करने के लिए निर्देश देता है जब एक ही टूल को समान पैरामीटर के साथ 3 या अधिक बार कॉल किया जाता है - एक सामान्य संकेत कि एजेंट एक लूप में फंसा है।
486
484
 
487
- कोई parameters नहीं।
485
+ कोई पैरामीटर नहीं।
488
486
 
489
487
  ---
490
488
 
491
- ## Workflow
489
+ ## वर्कफ़्लो
492
490
 
493
- एक disciplined end-of-session workflow को enforce करें। ये policies **Stop** event पर fire होती हैं और जब तक प्रत्येक condition पूरी हो Claude को stop करने से deny करती हैं। वे एक natural dependency chain follow करती हैं: commit → push → PR → CI। अगर एक policy deny करती है, तो chain में later policies को skip किया जाता है (deny short-circuits)।
491
+ एक अनुशासित सत्र-के-अंत वर्कफ़्लो लागू करें। ये पॉलिसीज़ **Stop** इवेंट पर काम करती हैं और Claude को तब तक रोकते हैं जब तक प्रत्येक शर्त पूरी नहीं हो जाती। वे एक प्राकृतिक निर्भरता श्रृंखला का पालन करते हैं: commit → push → PR → CI। यदि एक पॉलिसी अस्वीकार करती है, बाद की पॉलिसीज़ श्रृंखला में छोड़ दी जाती हैं (deny शॉर्ट-सर्किट)।
494
492
 
495
- सभी workflow policies **fail-open** हैं: अगर required tool available नहीं है (उदाहरण के लिए `gh` installed नहीं है, no git remote), तो policy allow करती है एक informational message के साथ जो explain करता है कि check को क्यों skip किया गया था।
493
+ सभी वर्कफ़्लो पॉलिसीज़ **fail-open** हैं: यदि आवश्यक टूल उपलब्ध नहीं है (उदा. `gh` इंस्टॉल नहीं है, कोई git remote नहीं), पॉलिसी एक सूचना संदेश के साथ अनुमति देती है जो समझाती है कि जांच क्यों छोड़ी गई थी।
496
494
 
497
495
  ### `require-commit-before-stop`
498
496
 
499
- **Event:** Stop
500
- **Default:** Uncommitted changes (modified, staged, या untracked files) होने पर stop करने को deny करता है। Working directory clean होने पर एक informational message return करता है।
497
+ **इवेंट:** Stop
498
+ **डिफ़ॉल्ट:** जब अप्रतिबद्ध परिवर्तन होते हैं (संशोधित, स्टेजड, या अनट्रैक किए गए फाइलें) तो रोकने से अस्वीकार करता है। कार्य निर्देशिका स्वच्छ होने पर एक सूचना संदेश देता है।
501
499
 
502
- कोई parameters नहीं।
500
+ कोई पैरामीटर नहीं।
503
501
 
504
502
  ---
505
503
 
506
504
  ### `require-push-before-stop`
507
505
 
508
- **Event:** Stop
509
- **Default:** Unpushed commits होने या current branch के पास no remote tracking branch होने पर stop करने को deny करता है। `git push -u` suggest करता है एक tracking branch create करने के लिए अगर जरूरत हो। अगर कोई remote configured हो तो fail open करता है।
506
+ **इवेंट:** Stop
507
+ **डिफ़ॉल्ट:** जब अपुष्ट कमिट होते हैं या जब वर्तमान ब्रांच के पास कोई remote tracking ब्रांच नहीं होती तो रोकने से अस्वीकार करता है। यदि आवश्यक हो तो ट्रैकिंग ब्रांच बनाने के लिए `git push -u` का सुझाव देता है। यदि कोई remote कॉन्फ़िगर नहीं है तो fail open करता है।
510
508
 
511
- **Parameters:**
509
+ **पैरामीटर:**
512
510
 
513
- | Param | Type | Default | Description |
511
+ | पैरामीटर | प्रकार | डिफ़ॉल्ट | विवरण |
514
512
  |-------|------|---------|-------------|
515
- | `remote` | `string` | `"origin"` | Remote name जिसे push करना है। |
513
+ | `remote` | `string` | `"origin"` | Remote नाम जिसे पुश करना है। |
516
514
 
517
- **Example:**
515
+ **उदाहरण:**
518
516
 
519
517
  ```json
520
518
  {
@@ -530,39 +528,37 @@ Detect करें जब agents stuck हो जाएं या unexpectedly
530
528
 
531
529
  ### `require-pr-before-stop`
532
530
 
533
- **Event:** Stop
534
- **Default:** जब current branch के लिए कोई pull request exist नहीं करता, या जब existing PR closed/merged हो, तो stop करने को deny करता है। Claude को `gh pr create` के साथ PR create करने के लिए instruct करता है।
531
+ **इवेंट:** Stop
532
+ **डिफ़ॉल्ट:** जब वर्तमान ब्रांच के लिए कोई pull request मौजूद नहीं है, या जब मौजूदा PR बंद/merged है तो रोकने से अस्वीकार करता है। Claude को `gh pr create` के साथ एक PR बनाने के लिए निर्देश देता है।
535
533
 
536
- कोई parameters नहीं।
534
+ कोई पैरामीटर नहीं।
537
535
 
538
536
  <Note>
539
- इस policy को [GitHub CLI](https://cli.github.com/) (`gh`) install और authenticated होना required है।
540
- एक personal access token के साथ `gh auth login` चलाएं जिसके पास pull requests तक read access के लिए `repo` scope हो।
541
- अगर `gh` install नहीं है या authenticated नहीं है, तो policy fail open करती है और reason को Claude को report करती है।
537
+ इस पॉलिसी के लिए [GitHub CLI](https://cli.github.com/) (`gh`) को इंस्टॉल और प्रमाणित किया जाना आवश्यक है।
538
+ pull request के लिए read access के साथ `repo` scope वाले एक व्यक्तिगत एक्सेस टोकन के साथ `gh auth login` चलाएं। यदि `gh` इंस्टॉल या प्रमाणित नहीं है, पॉलिसी fail open करती है और कारण को Claude को रिपोर्ट करती है।
542
539
  </Note>
543
540
 
544
541
  ---
545
542
 
546
543
  ### `require-ci-green-before-stop`
547
544
 
548
- **Event:** Stop
549
- **Default:** जब CI checks current branch पर failing या still running हों, तो stop करने को deny करता है। GitHub Actions workflow runs और third-party bot checks दोनों को check करता है (उदाहरण के लिए CodeRabbit, SonarCloud, Codecov)। `skipped` conclusions को success के रूप में treat करता है। सभी checks pass होने पर एक informational message return करता है।
545
+ **इवेंट:** Stop
546
+ **डिफ़ॉल्ट:** जब CI चेक वर्तमान ब्रांच पर विफल हो रहे हैं या अभी भी चल रहे हैं तो रोकने से अस्वीकार करता है। GitHub Actions वर्कफ़्लो चलाता है और तीसरे पक्ष के बॉट चेक दोनों की जांच करता है (उदा. CodeRabbit, SonarCloud, Codecov)। `skipped` और `cancelled` निष्कर्षों को सफलता मानता है। सभी चेक पास होने पर एक सूचना संदेश देता है।
550
547
 
551
- कोई parameters नहीं।
548
+ कोई पैरामीटर नहीं।
552
549
 
553
550
  <Note>
554
- इस policy को [GitHub CLI](https://cli.github.com/) (`gh`) install और authenticated होना required है।
555
- एक personal access token के साथ `gh auth login` चलाएं जिसके पास Actions workflow runs और Checks API तक read access के लिए `repo` scope हो।
556
- अगर `gh` install नहीं है या authenticated नहीं है, तो policy fail open करती है और reason को Claude को report करती है।
551
+ इस पॉलिसी के लिए [GitHub CLI](https://cli.github.com/) (`gh`) को इंस्टॉल और प्रमाणित किया जाना आवश्यक है।
552
+ Actions वर्कफ़्लो चलता है और Checks API के लिए read access के साथ `repo` scope वाले एक व्यक्तिगत एक्सेस टोकन के साथ `gh auth login` चलाएं। यदि `gh` इंस्टॉल या प्रमाणित नहीं है, पॉलिसी fail open करती है और कारण को Claude को रिपोर्ट करती है।
557
553
  </Note>
558
554
 
559
555
  ---
560
556
 
561
557
  ---
562
558
 
563
- ## Individual policies को disable करना
559
+ ## व्यक्तिगत पॉलिसीज़ को अक्षम करना
564
560
 
565
- अपने config में `enabledPolicies` से एक specific policy को remove करें, या dashboard के Policies tab में इसे toggle off करें।
561
+ अपनी कॉन्फ़िगरेशन में `enabledPolicies` से एक विशिष्ट पॉलिसी को हटाएं, या डैशबोर्ड के Policies टैब में इसे बंद करें।
566
562
 
567
563
  ```json
568
564
  {
@@ -573,4 +569,4 @@ Detect करें जब agents stuck हो जाएं या unexpectedly
573
569
  }
574
570
  ```
575
571
 
576
- `enabledPolicies` में listed होने वाली policies run नहीं होती हैं, भले ही उनके लिए `policyParams` entries exist हों।
572
+ `enabledPolicies` में सूचीबद्ध नहीं की गई पॉलिसीज़ चलती नहीं हैं, भले ही उनके लिए `policyParams` प्रविष्टियां मौजूद हों।