failproofai 0.0.6-beta.1 → 0.0.6-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.failproofai/policies/review-policies.mjs +4 -3
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +2 -2
- package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
- package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
- package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~kmh8w._.js → [root-of-the-server]__096k.db._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0rh.18_._.js → [root-of-the-server]__0kyh86x._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +2 -2
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
- package/.next/standalone/.next/static/chunks/{0gbf4cphy8ksq.js → 0-dm_9a6nsc2l.js} +1 -1
- package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 01pmw1-asbek~.js} +2 -2
- package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 051m32nx~n5yr.js} +1 -1
- package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0a-yctdwn368y.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
- package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0l-mu4okl-cj1.js} +1 -1
- package/.next/standalone/.next/static/chunks/{08t08igdql9yt.js → 0mazj-p-~2kc6.js} +1 -1
- package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
- package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 156zca6aewyr-.js} +1 -1
- package/.next/standalone/CHANGELOG.md +18 -0
- package/.next/standalone/bin/failproofai.mjs +91 -4
- package/.next/standalone/dist/cli.mjs +1156 -55
- package/.next/standalone/docs/ar/built-in-policies.mdx +140 -103
- package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
- package/.next/standalone/docs/ar/examples.mdx +86 -33
- package/.next/standalone/docs/ar/getting-started.mdx +82 -29
- package/.next/standalone/docs/built-in-policies.mdx +3 -3
- package/.next/standalone/docs/de/built-in-policies.mdx +97 -60
- package/.next/standalone/docs/de/custom-policies.mdx +56 -56
- package/.next/standalone/docs/de/examples.mdx +72 -18
- package/.next/standalone/docs/de/getting-started.mdx +72 -20
- package/.next/standalone/docs/es/built-in-policies.mdx +91 -54
- package/.next/standalone/docs/es/custom-policies.mdx +55 -55
- package/.next/standalone/docs/es/examples.mdx +73 -19
- package/.next/standalone/docs/es/getting-started.mdx +72 -20
- package/.next/standalone/docs/fr/built-in-policies.mdx +99 -62
- package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
- package/.next/standalone/docs/fr/examples.mdx +78 -24
- package/.next/standalone/docs/fr/getting-started.mdx +65 -13
- package/.next/standalone/docs/he/built-in-policies.mdx +139 -99
- package/.next/standalone/docs/he/custom-policies.mdx +75 -75
- package/.next/standalone/docs/he/examples.mdx +87 -33
- package/.next/standalone/docs/he/getting-started.mdx +84 -33
- package/.next/standalone/docs/hi/built-in-policies.mdx +203 -166
- package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
- package/.next/standalone/docs/hi/examples.mdx +90 -36
- package/.next/standalone/docs/hi/getting-started.mdx +80 -27
- package/.next/standalone/docs/i18n/README.ar.md +69 -69
- package/.next/standalone/docs/i18n/README.de.md +46 -46
- package/.next/standalone/docs/i18n/README.es.md +42 -42
- package/.next/standalone/docs/i18n/README.fr.md +39 -39
- package/.next/standalone/docs/i18n/README.he.md +83 -83
- package/.next/standalone/docs/i18n/README.hi.md +69 -69
- package/.next/standalone/docs/i18n/README.it.md +72 -72
- package/.next/standalone/docs/i18n/README.ja.md +71 -71
- package/.next/standalone/docs/i18n/README.ko.md +52 -52
- package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
- package/.next/standalone/docs/i18n/README.ru.md +66 -66
- package/.next/standalone/docs/i18n/README.tr.md +82 -83
- package/.next/standalone/docs/i18n/README.vi.md +70 -71
- package/.next/standalone/docs/i18n/README.zh.md +51 -51
- package/.next/standalone/docs/it/built-in-policies.mdx +115 -78
- package/.next/standalone/docs/it/custom-policies.mdx +69 -69
- package/.next/standalone/docs/it/examples.mdx +93 -39
- package/.next/standalone/docs/it/getting-started.mdx +73 -21
- package/.next/standalone/docs/ja/built-in-policies.mdx +155 -118
- package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
- package/.next/standalone/docs/ja/examples.mdx +76 -22
- package/.next/standalone/docs/ja/getting-started.mdx +65 -13
- package/.next/standalone/docs/ko/built-in-policies.mdx +103 -66
- package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
- package/.next/standalone/docs/ko/examples.mdx +87 -33
- package/.next/standalone/docs/ko/getting-started.mdx +61 -9
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +72 -35
- package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
- package/.next/standalone/docs/pt-br/examples.mdx +78 -24
- package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
- package/.next/standalone/docs/ru/built-in-policies.mdx +135 -98
- package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
- package/.next/standalone/docs/ru/examples.mdx +77 -22
- package/.next/standalone/docs/ru/getting-started.mdx +74 -22
- package/.next/standalone/docs/tr/built-in-policies.mdx +126 -89
- package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
- package/.next/standalone/docs/tr/examples.mdx +97 -42
- package/.next/standalone/docs/tr/getting-started.mdx +75 -23
- package/.next/standalone/docs/vi/built-in-policies.mdx +116 -81
- package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
- package/.next/standalone/docs/vi/examples.mdx +93 -38
- package/.next/standalone/docs/vi/getting-started.mdx +74 -22
- package/.next/standalone/docs/zh/built-in-policies.mdx +117 -82
- package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
- package/.next/standalone/docs/zh/examples.mdx +90 -36
- package/.next/standalone/docs/zh/getting-started.mdx +73 -21
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/auth/login.ts +104 -0
- package/.next/standalone/src/auth/logout.ts +50 -0
- package/.next/standalone/src/auth/token-store.ts +64 -0
- package/.next/standalone/src/hooks/builtin-policies.ts +27 -21
- package/.next/standalone/src/hooks/handler.ts +35 -15
- package/.next/standalone/src/relay/daemon.ts +362 -0
- package/.next/standalone/src/relay/pid.ts +76 -0
- package/.next/standalone/src/relay/queue.ts +225 -0
- package/bin/failproofai.mjs +91 -4
- package/dist/cli.mjs +1156 -55
- package/package.json +1 -1
- package/src/auth/login.ts +104 -0
- package/src/auth/logout.ts +50 -0
- package/src/auth/token-store.ts +64 -0
- package/src/hooks/builtin-policies.ts +27 -21
- package/src/hooks/handler.ts +35 -15
- package/src/relay/daemon.ts +362 -0
- package/src/relay/pid.ts +76 -0
- package/src/relay/queue.ts +225 -0
- package/.next/standalone/.next/static/chunks/0wlyoif4_kj_t.js +0 -6
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: السياسات المدمجة
|
|
3
|
-
description: "جميع 30 سياسة مدمجة تلتقط أنماط فشل
|
|
3
|
+
description: "جميع 30 سياسة مدمجة تلتقط أنماط فشل الوكيل الشائعة"
|
|
4
4
|
icon: shield
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
يأتي failproofai مع 30 سياسة مدمجة تلتقط أنماط فشل
|
|
7
|
+
يأتي failproofai مع 30 سياسة مدمجة تلتقط أنماط فشل الوكيل الشائعة. تعمل كل سياسة على حدث خطاف معين واسم أداة محدد. تقبل تسع سياسات معاملات تسمح لك بضبط سلوكها دون كتابة أي كود. تفرض أربع سياسات سير عمل خط أنابيب commit → push → PR → CI قبل أن يتوقف Claude.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -12,46 +12,47 @@ icon: shield
|
|
|
12
12
|
|
|
13
13
|
يتم تجميع السياسات في فئات:
|
|
14
14
|
|
|
15
|
-
| الفئة | السياسات | نوع
|
|
16
|
-
|
|
17
|
-
| [الأوامر الخطرة](
|
|
18
|
-
| [الأسرار (
|
|
19
|
-
| [البيئة](
|
|
20
|
-
| [الوصول إلى الملفات](
|
|
15
|
+
| الفئة | السياسات | نوع الخطاف |
|
|
16
|
+
|-------|----------|-----------|
|
|
17
|
+
| [الأوامر الخطرة](#الأوامر-الخطرة) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
|
|
18
|
+
| [الأسرار (مُنظفات)](#الأسرار-مُنظفات) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
|
|
19
|
+
| [البيئة](#البيئة) | block-env-files, protect-env-vars | PreToolUse |
|
|
20
|
+
| [الوصول إلى الملفات](#الوصول-إلى-الملفات) | block-read-outside-cwd, block-secrets-write | PreToolUse |
|
|
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
|
-
| [قاعدة البيانات](
|
|
23
|
-
| [
|
|
24
|
-
| [
|
|
22
|
+
| [قاعدة البيانات](#قاعدة-البيانات) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
|
|
23
|
+
| [تحذيرات](#تحذيرات) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
|
|
24
|
+
| [مديرو الحزم](#مديرو-الحزم) | prefer-package-manager | PreToolUse |
|
|
25
|
+
| [سير العمل](#سير-العمل) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
25
26
|
|
|
26
|
-
- **`block-`** — إيقاف الوكيل
|
|
27
|
-
- **`warn-`** — إعطاء الوكيل سياق إضافي حتى يتمكن من
|
|
28
|
-
- **`sanitize-`** —
|
|
29
|
-
- **`require-`** —
|
|
27
|
+
- **`block-`** — إيقاف الوكيل عن المتابعة.
|
|
28
|
+
- **`warn-`** — إعطاء الوكيل سياق إضافي حتى يتمكن من تصحيح نفسه.
|
|
29
|
+
- **`sanitize-`** — حذف البيانات الحساسة من إخراج الأداة قبل أن يراها الوكيل.
|
|
30
|
+
- **`require-`** — حظر حدث Stop حتى يتم استيفاء الشروط.
|
|
30
31
|
|
|
31
32
|
---
|
|
32
33
|
|
|
33
34
|
<Tip>
|
|
34
|
-
كل سياسة
|
|
35
|
+
تدعم كل سياسة حقل اختياري `hint` في `policyParams`. يتم إلحاق التلميح برسالة deny أو instruct التي يراها Claude، مما يوفر إرشادات قابلة للتنفيذ دون تعديل كود السياسة. يعمل مع السياسات المدمجة والمخصصة وسياسات الاتفاقية. انظر [التكوين → hint](/ar/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
46
|
**الحدث:** PreToolUse (Bash)
|
|
46
|
-
**الافتراضي:**
|
|
47
|
+
**الافتراضي:** ينكر أي أمر `sudo`.
|
|
47
48
|
|
|
48
|
-
|
|
49
|
+
يحظر الاستدعاءات التي تتضمن كلمة `sudo`. يتم مطابقة النمط على رموز الأوامر التي تم تحليلها، وليس السلسلة الخام، لمنع الالتفاف عن طريق حقن عامل قشرة.
|
|
49
50
|
|
|
50
51
|
**المعاملات:**
|
|
51
52
|
|
|
52
53
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
53
|
-
|
|
54
|
-
| `allowPatterns` | `string[]` | `[]` | بادئات الأوامر الدقيقة
|
|
54
|
+
|--------|-------|----------|-------|
|
|
55
|
+
| `allowPatterns` | `string[]` | `[]` | بادئات الأوامر الدقيقة المسموح بها. يتم مطابقة كل إدخال مقابل رموز argv التي تم تحليلها. |
|
|
55
56
|
|
|
56
57
|
**مثال:**
|
|
57
58
|
|
|
@@ -68,7 +69,7 @@ icon: shield
|
|
|
68
69
|
مع هذا التكوين، يُسمح بـ `sudo systemctl status nginx`، لكن `sudo rm /etc/hosts` مرفوض.
|
|
69
70
|
|
|
70
71
|
<Note>
|
|
71
|
-
يتم مطابقة الأنماط مقابل الرموز
|
|
72
|
+
يتم مطابقة الأنماط مقابل الرموز التي تم تحليلها، وليس سلسلة الأوامر الخام. هذا يمنع الالتفاف عن طريق عوامل قشرة ملحقة (على سبيل المثال، `sudo systemctl status x; rm -rf /` لا يطابق `sudo systemctl status *`).
|
|
72
73
|
</Note>
|
|
73
74
|
|
|
74
75
|
---
|
|
@@ -76,13 +77,13 @@ icon: shield
|
|
|
76
77
|
### `block-rm-rf`
|
|
77
78
|
|
|
78
79
|
**الحدث:** PreToolUse (Bash)
|
|
79
|
-
**الافتراضي:**
|
|
80
|
+
**الافتراضي:** ينكر `rm -rf`، `rm -fr`، وأشكال الحذف العودية المماثلة.
|
|
80
81
|
|
|
81
82
|
**المعاملات:**
|
|
82
83
|
|
|
83
84
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
84
|
-
|
|
85
|
-
| `allowPaths` | `string[]` | `[]` | المسارات الآمنة للحذف العودي (على سبيل
|
|
85
|
+
|--------|-------|----------|-------|
|
|
86
|
+
| `allowPaths` | `string[]` | `[]` | المسارات الآمنة للحذف العودي (على سبيل المثال، `/tmp`). |
|
|
86
87
|
|
|
87
88
|
**مثال:**
|
|
88
89
|
|
|
@@ -101,43 +102,43 @@ icon: shield
|
|
|
101
102
|
### `block-curl-pipe-sh`
|
|
102
103
|
|
|
103
104
|
**الحدث:** PreToolUse (Bash)
|
|
104
|
-
**الافتراضي:**
|
|
105
|
+
**الافتراضي:** ينكر `curl <url> | bash`، `curl <url> | sh`، `wget <url> | bash`، وأنماط مماثلة.
|
|
105
106
|
|
|
106
|
-
|
|
107
|
+
لا توجد معاملات.
|
|
107
108
|
|
|
108
109
|
---
|
|
109
110
|
|
|
110
111
|
### `block-failproofai-commands`
|
|
111
112
|
|
|
112
113
|
**الحدث:** PreToolUse (Bash)
|
|
113
|
-
**الافتراضي:**
|
|
114
|
+
**الافتراضي:** ينكر الأوامر التي ستلغي أو تعطل failproofai نفسه (على سبيل المثال، `npm uninstall failproofai`، `failproofai policies --uninstall`).
|
|
114
115
|
|
|
115
|
-
|
|
116
|
+
لا توجد معاملات.
|
|
116
117
|
|
|
117
118
|
---
|
|
118
119
|
|
|
119
|
-
## الأسرار (
|
|
120
|
+
## الأسرار (مُنظفات)
|
|
120
121
|
|
|
121
|
-
منع الوكلاء من تسرب بيانات
|
|
122
|
+
منع الوكلاء من تسرب بيانات الاعتماد إلى السياق أو الإخراج. تعمل سياسات المُنظف على أحداث **PostToolUse**. عندما يقوم Claude بتشغيل أمر Bash أو قراءة ملف أو استدعاء أي أداة، تفحص هذه السياسات الإخراج قبل إرجاعه إلى Claude. إذا تم اكتشاف نمط سري، ترجع السياسة قرار إنكار يمنع تمرير الإخراج.
|
|
122
123
|
|
|
123
124
|
### `sanitize-jwt`
|
|
124
125
|
|
|
125
126
|
**الحدث:** PostToolUse (جميع الأدوات)
|
|
126
|
-
**الافتراضي:**
|
|
127
|
+
**الافتراضي:** تحرير رموز JWT (ثلاث مقاطع base64url مفصولة بـ `.`).
|
|
127
128
|
|
|
128
|
-
|
|
129
|
+
لا توجد معاملات.
|
|
129
130
|
|
|
130
131
|
---
|
|
131
132
|
|
|
132
133
|
### `sanitize-api-keys`
|
|
133
134
|
|
|
134
135
|
**الحدث:** PostToolUse (جميع الأدوات)
|
|
135
|
-
**الافتراضي:**
|
|
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
|
+
|--------|-------|----------|-------|
|
|
141
142
|
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | أنماط regex إضافية يتم التعامل معها كأسرار. |
|
|
142
143
|
|
|
143
144
|
**مثال:**
|
|
@@ -160,68 +161,68 @@ icon: shield
|
|
|
160
161
|
### `sanitize-connection-strings`
|
|
161
162
|
|
|
162
163
|
**الحدث:** PostToolUse (جميع الأدوات)
|
|
163
|
-
**الافتراضي:**
|
|
164
|
+
**الافتراضي:** تحرير سلاسل اتصال قاعدة البيانات التي تحتوي على بيانات اعتماد مضمنة (على سبيل المثال، `postgresql://user:password@host/db`).
|
|
164
165
|
|
|
165
|
-
|
|
166
|
+
لا توجد معاملات.
|
|
166
167
|
|
|
167
168
|
---
|
|
168
169
|
|
|
169
170
|
### `sanitize-private-key-content`
|
|
170
171
|
|
|
171
172
|
**الحدث:** PostToolUse (جميع الأدوات)
|
|
172
|
-
**الافتراضي:**
|
|
173
|
+
**الافتراضي:** تحرير كتل PEM (`-----BEGIN PRIVATE KEY-----`، `-----BEGIN RSA PRIVATE KEY-----`، إلخ).
|
|
173
174
|
|
|
174
|
-
|
|
175
|
+
لا توجد معاملات.
|
|
175
176
|
|
|
176
177
|
---
|
|
177
178
|
|
|
178
179
|
### `sanitize-bearer-tokens`
|
|
179
180
|
|
|
180
181
|
**الحدث:** PostToolUse (جميع الأدوات)
|
|
181
|
-
**الافتراضي:**
|
|
182
|
+
**الافتراضي:** تحرير رؤوس `Authorization: Bearer <token>` حيث يكون الرمز 20 حرفًا أو أكثر.
|
|
182
183
|
|
|
183
|
-
|
|
184
|
+
لا توجد معاملات.
|
|
184
185
|
|
|
185
186
|
---
|
|
186
187
|
|
|
187
188
|
## البيئة
|
|
188
189
|
|
|
189
|
-
حماية تكوين البيئة الحساسة من قراءتها أو
|
|
190
|
+
حماية تكوين البيئة الحساسة من أن يتم قراءتها أو كشفها من قبل الوكلاء.
|
|
190
191
|
|
|
191
192
|
### `block-env-files`
|
|
192
193
|
|
|
193
194
|
**الحدث:** PreToolUse (Bash, Read)
|
|
194
|
-
**الافتراضي:**
|
|
195
|
+
**الافتراضي:** ينكر قراءة ملفات `.env` عبر `cat .env` أو استدعاءات `Read` الأداة مع `.env` كمسار الملف، إلخ.
|
|
195
196
|
|
|
196
|
-
لا
|
|
197
|
+
لا يحظر `.envrc` أو ملفات أخرى مرتبطة بالبيئة - فقط الملفات المسماة بـ `.env` بالضبط.
|
|
197
198
|
|
|
198
|
-
|
|
199
|
+
لا توجد معاملات.
|
|
199
200
|
|
|
200
201
|
---
|
|
201
202
|
|
|
202
203
|
### `protect-env-vars`
|
|
203
204
|
|
|
204
205
|
**الحدث:** PreToolUse (Bash)
|
|
205
|
-
**الافتراضي:**
|
|
206
|
+
**الافتراضي:** ينكر الأوامر التي تطبع متغيرات البيئة: `printenv`، `env`، `echo $VAR`.
|
|
206
207
|
|
|
207
|
-
|
|
208
|
+
لا توجد معاملات.
|
|
208
209
|
|
|
209
210
|
---
|
|
210
211
|
|
|
211
212
|
## الوصول إلى الملفات
|
|
212
213
|
|
|
213
|
-
|
|
214
|
+
الحفاظ على عمل الوكلاء داخل حدود المشروع بعيدًا عن الملفات الحساسة.
|
|
214
215
|
|
|
215
216
|
### `block-read-outside-cwd`
|
|
216
217
|
|
|
217
218
|
**الحدث:** PreToolUse (Read, Bash)
|
|
218
|
-
**الافتراضي:**
|
|
219
|
+
**الافتراضي:** ينكر قراءة الملفات خارج دليل العمل الحالي (جذر المشروع).
|
|
219
220
|
|
|
220
221
|
**المعاملات:**
|
|
221
222
|
|
|
222
223
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
223
|
-
|
|
224
|
-
| `allowPaths` | `string[]` | `[]` | بادئات المسار المطلق
|
|
224
|
+
|--------|-------|----------|-------|
|
|
225
|
+
| `allowPaths` | `string[]` | `[]` | بادئات المسار المطلق المسموح بها حتى لو كانت خارج cwd. |
|
|
225
226
|
|
|
226
227
|
**مثال:**
|
|
227
228
|
|
|
@@ -240,13 +241,13 @@ icon: shield
|
|
|
240
241
|
### `block-secrets-write`
|
|
241
242
|
|
|
242
243
|
**الحدث:** PreToolUse (Write, Edit)
|
|
243
|
-
**الافتراضي:**
|
|
244
|
+
**الافتراضي:** ينكر الكتابة إلى الملفات المستخدمة بشكل شائع للمفاتيح الخاصة والشهادات: `id_rsa`، `id_ed25519`، `*.key`، `*.pem`، `*.p12`، `*.pfx`.
|
|
244
245
|
|
|
245
246
|
**المعاملات:**
|
|
246
247
|
|
|
247
248
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
248
|
-
|
|
249
|
-
| `additionalPatterns` | `string[]` | `[]` | أنماط اسم ملف إضافية (على
|
|
249
|
+
|--------|-------|----------|-------|
|
|
250
|
+
| `additionalPatterns` | `string[]` | `[]` | أنماط اسم ملف إضافية (على غرار glob) للحظر. |
|
|
250
251
|
|
|
251
252
|
**مثال:**
|
|
252
253
|
|
|
@@ -269,12 +270,12 @@ icon: shield
|
|
|
269
270
|
### `block-push-master`
|
|
270
271
|
|
|
271
272
|
**الحدث:** PreToolUse (Bash)
|
|
272
|
-
**الافتراضي:**
|
|
273
|
+
**الافتراضي:** ينكر `git push origin main` و `git push origin master`.
|
|
273
274
|
|
|
274
275
|
**المعاملات:**
|
|
275
276
|
|
|
276
277
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
277
|
-
|
|
278
|
+
|--------|-------|----------|-------|
|
|
278
279
|
| `protectedBranches` | `string[]` | `["main", "master"]` | أسماء الفروع التي لا يمكن الدفع إليها مباشرة. |
|
|
279
280
|
|
|
280
281
|
**مثال:**
|
|
@@ -290,7 +291,7 @@ icon: shield
|
|
|
290
291
|
```
|
|
291
292
|
|
|
292
293
|
<Tip>
|
|
293
|
-
للسماح بالدفع إلى جميع الفروع (تعطيل هذه السياسة
|
|
294
|
+
للسماح بالدفع إلى جميع الفروع (بفعالية تعطيل هذه السياسة دون إزالتها من `enabledPolicies`)، اضبط `protectedBranches: []`.
|
|
294
295
|
</Tip>
|
|
295
296
|
|
|
296
297
|
---
|
|
@@ -298,22 +299,22 @@ icon: shield
|
|
|
298
299
|
### `block-work-on-main`
|
|
299
300
|
|
|
300
301
|
**الحدث:** PreToolUse (Bash)
|
|
301
|
-
**الافتراضي:**
|
|
302
|
+
**الافتراضي:** ينكر الخروج من فروع `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
314
|
**الحدث:** PreToolUse (Bash)
|
|
314
|
-
**الافتراضي:**
|
|
315
|
+
**الافتراضي:** ينكر `git push --force` و `git push -f`.
|
|
315
316
|
|
|
316
|
-
|
|
317
|
+
لا توجد معاملات خاصة بالسياسة. استخدم [hint](/ar/configuration#hint-cross-cutting) المتقاطع لاقتراح بدائل:
|
|
317
318
|
|
|
318
319
|
```json
|
|
319
320
|
{
|
|
@@ -330,40 +331,40 @@ icon: shield
|
|
|
330
331
|
### `warn-git-amend`
|
|
331
332
|
|
|
332
333
|
**الحدث:** PreToolUse (Bash)
|
|
333
|
-
**الافتراضي:** يرشد Claude للمتابعة بحذر عند تشغيل `git commit --amend`. لا
|
|
334
|
+
**الافتراضي:** يرشد Claude للمتابعة بحذر عند تشغيل `git commit --amend`. لا يحظر الأمر.
|
|
334
335
|
|
|
335
|
-
|
|
336
|
+
لا توجد معاملات.
|
|
336
337
|
|
|
337
338
|
---
|
|
338
339
|
|
|
339
340
|
### `warn-git-stash-drop`
|
|
340
341
|
|
|
341
342
|
**الحدث:** PreToolUse (Bash)
|
|
342
|
-
**الافتراضي:** يرشد Claude
|
|
343
|
+
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل `git stash drop`. لا يحظر الأمر.
|
|
343
344
|
|
|
344
|
-
|
|
345
|
+
لا توجد معاملات.
|
|
345
346
|
|
|
346
347
|
---
|
|
347
348
|
|
|
348
349
|
### `warn-all-files-staged`
|
|
349
350
|
|
|
350
351
|
**الحدث:** PreToolUse (Bash)
|
|
351
|
-
**الافتراضي:** يرشد Claude لمراجعة ما
|
|
352
|
+
**الافتراضي:** يرشد Claude لمراجعة ما يقوم بتخزينه عند تشغيل `git add -A` أو `git add .`. لا يحظر الأمر.
|
|
352
353
|
|
|
353
|
-
|
|
354
|
+
لا توجد معاملات.
|
|
354
355
|
|
|
355
356
|
---
|
|
356
357
|
|
|
357
358
|
## قاعدة البيانات
|
|
358
359
|
|
|
359
|
-
|
|
360
|
+
اكتشف العمليات SQL المدمرة قبل تنفيذها ضد قاعدة البيانات الخاصة بك.
|
|
360
361
|
|
|
361
362
|
### `warn-destructive-sql`
|
|
362
363
|
|
|
363
364
|
**الحدث:** PreToolUse (Bash)
|
|
364
|
-
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل SQL
|
|
365
|
+
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل SQL يحتوي على `DROP TABLE` أو `DROP DATABASE` أو `DELETE` بدون جملة `WHERE`.
|
|
365
366
|
|
|
366
|
-
|
|
367
|
+
لا توجد معاملات.
|
|
367
368
|
|
|
368
369
|
---
|
|
369
370
|
|
|
@@ -372,24 +373,24 @@ icon: shield
|
|
|
372
373
|
**الحدث:** PreToolUse (Bash)
|
|
373
374
|
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل عبارات `ALTER TABLE`.
|
|
374
375
|
|
|
375
|
-
|
|
376
|
+
لا توجد معاملات.
|
|
376
377
|
|
|
377
378
|
---
|
|
378
379
|
|
|
379
|
-
##
|
|
380
|
+
## تحذيرات
|
|
380
381
|
|
|
381
382
|
إعطاء الوكلاء سياق إضافي قبل العمليات المحتملة الخطورة ولكن غير المدمرة.
|
|
382
383
|
|
|
383
384
|
### `warn-large-file-write`
|
|
384
385
|
|
|
385
386
|
**الحدث:** PreToolUse (Write)
|
|
386
|
-
**الافتراضي:** يرشد Claude للتأكيد قبل كتابة
|
|
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,7 +405,7 @@ icon: shield
|
|
|
404
405
|
```
|
|
405
406
|
|
|
406
407
|
<Note>
|
|
407
|
-
يفرض معالج
|
|
408
|
+
يفرض معالج الخطاف حد stdin بحجم 1 ميجابايت على الحمولات. لاختبار هذه السياسة بمحتوى صغير، اضبط `thresholdKb` على قيمة أقل بكثير من 1024.
|
|
408
409
|
</Note>
|
|
409
410
|
|
|
410
411
|
---
|
|
@@ -414,25 +415,61 @@ icon: shield
|
|
|
414
415
|
**الحدث:** PreToolUse (Bash)
|
|
415
416
|
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل `npm publish`.
|
|
416
417
|
|
|
417
|
-
|
|
418
|
+
لا توجد معاملات.
|
|
418
419
|
|
|
419
420
|
---
|
|
420
421
|
|
|
421
422
|
### `warn-background-process`
|
|
422
423
|
|
|
423
424
|
**الحدث:** PreToolUse (Bash)
|
|
424
|
-
**الافتراضي:** يرشد Claude ليكون حذرًا عند إطلاق العمليات
|
|
425
|
+
**الافتراضي:** يرشد Claude ليكون حذرًا عند إطلاق العمليات الخلفية عبر `nohup` أو `&` أو `disown` أو `screen`.
|
|
425
426
|
|
|
426
|
-
|
|
427
|
+
لا توجد معاملات.
|
|
427
428
|
|
|
428
429
|
---
|
|
429
430
|
|
|
430
431
|
### `warn-global-package-install`
|
|
431
432
|
|
|
432
433
|
**الحدث:** PreToolUse (Bash)
|
|
433
|
-
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل `npm install -g
|
|
434
|
+
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل `npm install -g` أو `yarn global add` أو `pip install` بدون بيئة افتراضية.
|
|
434
435
|
|
|
435
|
-
|
|
436
|
+
لا توجد معاملات.
|
|
437
|
+
|
|
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` موجود في قائمة السماح ويتم التحقق منها أولاً.
|
|
436
473
|
|
|
437
474
|
---
|
|
438
475
|
|
|
@@ -443,37 +480,37 @@ icon: shield
|
|
|
443
480
|
### `warn-repeated-tool-calls`
|
|
444
481
|
|
|
445
482
|
**الحدث:** PreToolUse (جميع الأدوات)
|
|
446
|
-
**الافتراضي:** يرشد Claude
|
|
483
|
+
**الافتراضي:** يرشد Claude للتفكير مرة أخرى عندما يتم استدعاء نفس الأداة 3 مرات أو أكثر بمعاملات متطابقة - علامة شائعة على أن الوكيل عالق في حلقة.
|
|
447
484
|
|
|
448
|
-
|
|
485
|
+
لا توجد معاملات.
|
|
449
486
|
|
|
450
487
|
---
|
|
451
488
|
|
|
452
489
|
## سير العمل
|
|
453
490
|
|
|
454
|
-
فرض سير عمل منضبط لنهاية الجلسة.
|
|
491
|
+
فرض سير عمل منضبط لنهاية الجلسة. تعمل هذه السياسات على حدث **Stop** وتنكر على Claude التوقف حتى يتم استيفاء كل شرط. تتبع سلسلة اعتماد طبيعية: commit → push → PR → CI. إذا رفضت سياسة، يتم تخطي السياسات اللاحقة في السلسلة (الإنكار يختصر).
|
|
455
492
|
|
|
456
|
-
جميع سياسات سير العمل **fail-open**: إذا
|
|
493
|
+
جميع سياسات سير العمل هي **fail-open**: إذا لم تكن الأداة المطلوبة متاحة (على سبيل المثال، `gh` غير مثبتة، لا يوجد remote git)، السياسة تسمح برسالة إعلامية توضح سبب تجاهل الفحص.
|
|
457
494
|
|
|
458
495
|
### `require-commit-before-stop`
|
|
459
496
|
|
|
460
497
|
**الحدث:** Stop
|
|
461
|
-
**الافتراضي:**
|
|
498
|
+
**الافتراضي:** ينكر التوقف عند وجود تغييرات غير مؤكدة (ملفات معدلة أو مرحلة أو غير مرقبة). يرجع رسالة إعلامية عند نظافة دليل العمل.
|
|
462
499
|
|
|
463
|
-
|
|
500
|
+
لا توجد معاملات.
|
|
464
501
|
|
|
465
502
|
---
|
|
466
503
|
|
|
467
504
|
### `require-push-before-stop`
|
|
468
505
|
|
|
469
506
|
**الحدث:** Stop
|
|
470
|
-
**الافتراضي:**
|
|
507
|
+
**الافتراضي:** ينكر التوقف عند وجود commits غير مدفوعة أو عند عدم وجود فرع تتبع remote للفرع الحالي. يقترح `git push -u` لإنشاء فرع تتبع إذا لزم الأمر. يفشل open إذا لم يتم تكوين أي remote.
|
|
471
508
|
|
|
472
509
|
**المعاملات:**
|
|
473
510
|
|
|
474
511
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
475
|
-
|
|
476
|
-
| `remote` | `string` | `"origin"` | اسم
|
|
512
|
+
|--------|-------|----------|-------|
|
|
513
|
+
| `remote` | `string` | `"origin"` | اسم remote للدفع إليه. |
|
|
477
514
|
|
|
478
515
|
**مثال:**
|
|
479
516
|
|
|
@@ -492,14 +529,14 @@ icon: shield
|
|
|
492
529
|
### `require-pr-before-stop`
|
|
493
530
|
|
|
494
531
|
**الحدث:** Stop
|
|
495
|
-
**الافتراضي:**
|
|
532
|
+
**الافتراضي:** ينكر التوقف عند عدم وجود طلب سحب للفرع الحالي، أو عند إغلاق أو دمج طلب السحب الموجود. يرشد Claude لإنشاء PR باستخدام `gh pr create`.
|
|
496
533
|
|
|
497
|
-
|
|
534
|
+
لا توجد معاملات.
|
|
498
535
|
|
|
499
536
|
<Note>
|
|
500
|
-
تتطلب هذه السياسة
|
|
501
|
-
قم بتشغيل `gh auth login` برمز وصول شخصي يتمتع بنطاق `repo`
|
|
502
|
-
|
|
537
|
+
تتطلب هذه السياسة [GitHub CLI](https://cli.github.com/) (`gh`) أن تكون مثبتة ومصرح بها.
|
|
538
|
+
قم بتشغيل `gh auth login` برمز وصول شخصي يتمتع بنطاق `repo` لقراءة طلبات السحب.
|
|
539
|
+
إذا لم تكن `gh` مثبتة أو غير مصرح بها، تفشل السياسة open وتبلغ السبب إلى Claude.
|
|
503
540
|
</Note>
|
|
504
541
|
|
|
505
542
|
---
|
|
@@ -507,14 +544,14 @@ pull requests. إذا لم يتم تثبيت `gh` أو لم يتم المصاد
|
|
|
507
544
|
### `require-ci-green-before-stop`
|
|
508
545
|
|
|
509
546
|
**الحدث:** Stop
|
|
510
|
-
**الافتراضي:**
|
|
547
|
+
**الافتراضي:** ينكر التوقف عند فشل فحوصات CI أو استمرار تشغيلها على الفرع الحالي. يتحقق من كل من تشغيل مسار GitHub Actions والفحوصات من طرف ثالث (على سبيل المثال، CodeRabbit, SonarCloud, Codecov). يعامل `skipped` و `cancelled` على أنها نجاح. يرجع رسالة إعلامية عند نجاح جميع الفحوصات.
|
|
511
548
|
|
|
512
|
-
|
|
549
|
+
لا توجد معاملات.
|
|
513
550
|
|
|
514
551
|
<Note>
|
|
515
|
-
تتطلب هذه السياسة
|
|
516
|
-
قم بتشغيل `gh auth login` برمز وصول شخصي يتمتع بنطاق `repo`
|
|
517
|
-
|
|
552
|
+
تتطلب هذه السياسة [GitHub CLI](https://cli.github.com/) (`gh`) أن تكون مثبتة ومصرح بها.
|
|
553
|
+
قم بتشغيل `gh auth login` برمز وصول شخصي يتمتع بنطاق `repo` لقراءة تشغيل مسارات Actions و Checks API.
|
|
554
|
+
إذا لم تكن `gh` مثبتة أو غير مصرح بها، تفشل السياسة open وتبلغ السبب إلى Claude.
|
|
518
555
|
</Note>
|
|
519
556
|
|
|
520
557
|
---
|
|
@@ -523,7 +560,7 @@ Actions workflow runs و Checks API. إذا لم يتم تثبيت `gh` أو ل
|
|
|
523
560
|
|
|
524
561
|
## تعطيل السياسات الفردية
|
|
525
562
|
|
|
526
|
-
أزل سياسة
|
|
563
|
+
أزل سياسة محددة من `enabledPolicies` في تكوينك، أو قم بتبديلها في علامة التبويب Policies بلوحة المعلومات.
|
|
527
564
|
|
|
528
565
|
```json
|
|
529
566
|
{
|
|
@@ -534,4 +571,4 @@ Actions workflow runs و Checks API. إذا لم يتم تثبيت `gh` أو ل
|
|
|
534
571
|
}
|
|
535
572
|
```
|
|
536
573
|
|
|
537
|
-
|
|
574
|
+
السياسات غير المدرجة في `enabledPolicies` لا تعمل، حتى إذا كانت إدخالات `policyParams` موجودة لها.
|