failproofai 0.0.3 → 0.0.4
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/.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]__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]__0bo8s~-._.js → [root-of-the-server]__0lty_fo._.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]__03kiqd5._.js → [root-of-the-server]__0v1egkj._.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/{03oepxbqx6o8~.js → 0b2_069x5qnxg.js} +2 -2
- package/.next/standalone/.next/static/chunks/{02t9.s735hqyq.js → 0de3q2juhg_dr.js} +1 -1
- package/.next/standalone/.next/static/chunks/{18cl6wups7ouq.js → 0p5sfob-upg0g.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0h5kbvg~.xf.v.js → 0tw_xfxb1tto..js} +1 -1
- package/.next/standalone/.next/static/chunks/{0od..umlku4bb.js → 0uxpbrcv44lga.js} +1 -1
- package/.next/standalone/.next/static/chunks/0xjz3w.yw5tza.js +1 -0
- package/.next/standalone/.next/static/chunks/{0xbwzy4dl87-0.js → 0y-bi_mp2rv4l.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0cwft44dh9bww.js → 11zlh73ggln0w.js} +1 -1
- package/.next/standalone/CHANGELOG.md +5 -0
- package/.next/standalone/dist/cli.mjs +4 -8
- package/.next/standalone/docs/ar/built-in-policies.mdx +100 -129
- package/.next/standalone/docs/ar/cli/install-policies.mdx +10 -11
- package/.next/standalone/docs/ar/cli/remove-policies.mdx +10 -12
- package/.next/standalone/docs/built-in-policies.mdx +3 -30
- package/.next/standalone/docs/cli/install-policies.mdx +0 -1
- package/.next/standalone/docs/cli/remove-policies.mdx +0 -1
- package/.next/standalone/docs/de/built-in-policies.mdx +65 -92
- package/.next/standalone/docs/de/cli/install-policies.mdx +3 -4
- package/.next/standalone/docs/de/cli/remove-policies.mdx +3 -4
- package/.next/standalone/docs/docs.json +5 -0
- package/.next/standalone/docs/es/built-in-policies.mdx +66 -93
- package/.next/standalone/docs/es/cli/install-policies.mdx +4 -5
- package/.next/standalone/docs/es/cli/remove-policies.mdx +4 -5
- package/.next/standalone/docs/fr/built-in-policies.mdx +83 -110
- package/.next/standalone/docs/fr/cli/install-policies.mdx +11 -12
- package/.next/standalone/docs/fr/cli/remove-policies.mdx +2 -3
- package/.next/standalone/docs/he/built-in-policies.mdx +131 -160
- package/.next/standalone/docs/he/cli/install-policies.mdx +14 -15
- package/.next/standalone/docs/he/cli/remove-policies.mdx +13 -14
- package/.next/standalone/docs/hi/built-in-policies.mdx +168 -197
- package/.next/standalone/docs/hi/cli/install-policies.mdx +10 -11
- package/.next/standalone/docs/hi/cli/remove-policies.mdx +13 -14
- package/.next/standalone/docs/it/built-in-policies.mdx +83 -110
- package/.next/standalone/docs/it/cli/install-policies.mdx +12 -13
- package/.next/standalone/docs/it/cli/remove-policies.mdx +5 -6
- package/.next/standalone/docs/ja/built-in-policies.mdx +119 -146
- package/.next/standalone/docs/ja/cli/install-policies.mdx +12 -13
- package/.next/standalone/docs/ja/cli/remove-policies.mdx +8 -9
- package/.next/standalone/docs/ko/built-in-policies.mdx +80 -107
- package/.next/standalone/docs/ko/cli/install-policies.mdx +10 -11
- package/.next/standalone/docs/ko/cli/remove-policies.mdx +2 -3
- package/.next/standalone/docs/pt-br/built-in-policies.mdx +46 -73
- package/.next/standalone/docs/pt-br/cli/install-policies.mdx +5 -6
- package/.next/standalone/docs/pt-br/cli/remove-policies.mdx +11 -12
- package/.next/standalone/docs/ru/built-in-policies.mdx +107 -132
- package/.next/standalone/docs/ru/cli/install-policies.mdx +10 -10
- package/.next/standalone/docs/ru/cli/remove-policies.mdx +13 -14
- package/.next/standalone/docs/tr/built-in-policies.mdx +106 -131
- package/.next/standalone/docs/tr/cli/install-policies.mdx +14 -15
- package/.next/standalone/docs/tr/cli/remove-policies.mdx +7 -8
- package/.next/standalone/docs/vi/built-in-policies.mdx +73 -100
- package/.next/standalone/docs/vi/cli/install-policies.mdx +17 -18
- package/.next/standalone/docs/vi/cli/remove-policies.mdx +11 -12
- package/.next/standalone/docs/zh/built-in-policies.mdx +77 -104
- package/.next/standalone/docs/zh/cli/install-policies.mdx +4 -5
- package/.next/standalone/docs/zh/cli/remove-policies.mdx +8 -9
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/hooks/builtin-policies.ts +0 -4
- package/dist/cli.mjs +4 -8
- package/package.json +1 -1
- package/src/hooks/builtin-policies.ts +0 -4
- package/.next/standalone/.next/static/chunks/0e2uz2g026ckb.js +0 -1
- /package/.next/standalone/.next/static/{En9eEShUkUjgeYbY9v6Gy → LayjxQulxIcNH19Lqgjbf}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{En9eEShUkUjgeYbY9v6Gy → LayjxQulxIcNH19Lqgjbf}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{En9eEShUkUjgeYbY9v6Gy → LayjxQulxIcNH19Lqgjbf}/_ssgManifest.js +0 -0
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
---
|
|
2
|
-
|
|
3
1
|
---
|
|
4
2
|
title: السياسات المدمجة
|
|
5
|
-
description: "جميع
|
|
3
|
+
description: "جميع 30 سياسة مدمجة تلتقط أنماط فشل الوكلاء الشائعة"
|
|
6
4
|
icon: shield
|
|
7
5
|
---
|
|
8
6
|
|
|
9
|
-
يأتي failproofai مع 30 سياسة مدمجة تلتقط أنماط فشل
|
|
7
|
+
يأتي failproofai مع 30 سياسة مدمجة تلتقط أنماط فشل الوكلاء الشائعة. تنشط كل سياسة على نوع حدث hook معين واسم أداة معين. تقبل تسع سياسات معاملات تتيح لك ضبط سلوكها دون كتابة أكواد. تطبق أربع سياسات سير عمل خط أنابيب commit → push → PR → CI قبل توقف Claude.
|
|
10
8
|
|
|
11
9
|
---
|
|
12
10
|
|
|
@@ -14,26 +12,26 @@ icon: shield
|
|
|
14
12
|
|
|
15
13
|
يتم تجميع السياسات في فئات:
|
|
16
14
|
|
|
17
|
-
| الفئة | السياسات | نوع
|
|
18
|
-
|
|
15
|
+
| الفئة | السياسات | نوع Hook |
|
|
16
|
+
|----------|----------|-----------|
|
|
19
17
|
| [الأوامر الخطرة](#dangerous-commands) | block-sudo, block-rm-rf, block-curl-pipe-sh, block-failproofai-commands | PreToolUse |
|
|
20
|
-
| [الأسرار (
|
|
18
|
+
| [الأسرار (معقمات)](#secrets-sanitizers) | sanitize-jwt, sanitize-api-keys, sanitize-connection-strings, sanitize-private-key-content, sanitize-bearer-tokens | PostToolUse |
|
|
21
19
|
| [البيئة](#environment) | block-env-files, protect-env-vars | PreToolUse |
|
|
22
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
22
|
| [قاعدة البيانات](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
|
|
25
|
-
| [
|
|
26
|
-
| [سير العمل
|
|
23
|
+
| [التحذيرات](#warnings) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
|
|
24
|
+
| [سير العمل](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
|
|
27
25
|
|
|
28
|
-
- **`block-`** — إيقاف الوكيل
|
|
29
|
-
- **`warn-`** — إعطاء الوكيل سياق إضافي
|
|
30
|
-
- **`sanitize-`** — مسح البيانات الحساسة من مخرجات الأداة قبل
|
|
31
|
-
- **`require-`** —
|
|
26
|
+
- **`block-`** — إيقاف الوكيل من المتابعة.
|
|
27
|
+
- **`warn-`** — إعطاء الوكيل سياق إضافي حتى يتمكن من التصحيح الذاتي.
|
|
28
|
+
- **`sanitize-`** — مسح البيانات الحساسة من مخرجات الأداة قبل أن يراها الوكيل.
|
|
29
|
+
- **`require-`** — حجب حدث Stop حتى تستوفى الشروط.
|
|
32
30
|
|
|
33
31
|
---
|
|
34
32
|
|
|
35
33
|
<Tip>
|
|
36
|
-
|
|
34
|
+
كل سياسة تدعم حقل `hint` اختياري في `policyParams`. يتم إضافة التلميح إلى رسالة الرفض أو التعليمات التي يراها Claude، مما يوفر إرشادات قابلة للتنفيذ دون تعديل كود السياسة. يعمل مع السياسات المدمجة والمخصصة وسياسات الاتفاقية. راجع [التكوين → hint](/ar/configuration#hint-cross-cutting) للحصول على التفاصيل.
|
|
37
35
|
</Tip>
|
|
38
36
|
|
|
39
37
|
---
|
|
@@ -47,13 +45,13 @@ icon: shield
|
|
|
47
45
|
**الحدث:** PreToolUse (Bash)
|
|
48
46
|
**الافتراضي:** يرفض أي أمر `sudo`.
|
|
49
47
|
|
|
50
|
-
|
|
48
|
+
يحجب الاستدعاءات التي تتضمن كلمة المفتاح `sudo`. يتم تطابق النمط على رموز الأوامر المحللة، وليس السلسلة الخام، لمنع التجاوز عبر حقن عامل shell.
|
|
51
49
|
|
|
52
50
|
**المعاملات:**
|
|
53
51
|
|
|
54
52
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
55
|
-
|
|
56
|
-
| `allowPatterns` | `string[]` | `[]` | بادئات الأوامر الدقيقة
|
|
53
|
+
|-------|------|---------|-------------|
|
|
54
|
+
| `allowPatterns` | `string[]` | `[]` | بادئات الأوامر الدقيقة المسموحة. يتم مطابقة كل إدخال مقابل رموز argv المحللة. |
|
|
57
55
|
|
|
58
56
|
**مثال:**
|
|
59
57
|
|
|
@@ -67,10 +65,10 @@ icon: shield
|
|
|
67
65
|
}
|
|
68
66
|
```
|
|
69
67
|
|
|
70
|
-
مع هذا
|
|
68
|
+
مع هذا التكوين، يُسمح بـ `sudo systemctl status nginx`، لكن `sudo rm /etc/hosts` مرفوض.
|
|
71
69
|
|
|
72
70
|
<Note>
|
|
73
|
-
يتم مطابقة الأنماط مقابل الرموز المحللة، وليس سلسلة الأمر الخام.
|
|
71
|
+
يتم مطابقة الأنماط مقابل الرموز المحللة، وليس سلسلة الأمر الخام. يمنع التجاوز عبر عوامل shell المدرجة (على سبيل المثال، `sudo systemctl status x; rm -rf /` لا يطابق `sudo systemctl status *`).
|
|
74
72
|
</Note>
|
|
75
73
|
|
|
76
74
|
---
|
|
@@ -78,13 +76,13 @@ icon: shield
|
|
|
78
76
|
### `block-rm-rf`
|
|
79
77
|
|
|
80
78
|
**الحدث:** PreToolUse (Bash)
|
|
81
|
-
**الافتراضي:** يرفض `rm -rf
|
|
79
|
+
**الافتراضي:** يرفض `rm -rf`, `rm -fr`، والأشكال الأخرى المشابهة لحذف العودة.
|
|
82
80
|
|
|
83
81
|
**المعاملات:**
|
|
84
82
|
|
|
85
83
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
86
|
-
|
|
87
|
-
| `allowPaths` | `string[]` | `[]` | المسارات
|
|
84
|
+
|-------|------|---------|-------------|
|
|
85
|
+
| `allowPaths` | `string[]` | `[]` | المسارات الآمنة للحذف العودي (على سبيل المثال `/tmp`). |
|
|
88
86
|
|
|
89
87
|
**مثال:**
|
|
90
88
|
|
|
@@ -103,43 +101,43 @@ icon: shield
|
|
|
103
101
|
### `block-curl-pipe-sh`
|
|
104
102
|
|
|
105
103
|
**الحدث:** PreToolUse (Bash)
|
|
106
|
-
**الافتراضي:** يرفض `curl <url> | bash`، `curl <url> | sh`، `wget <url> | bash
|
|
104
|
+
**الافتراضي:** يرفض `curl <url> | bash`، `curl <url> | sh`، `wget <url> | bash`، والأنماط المشابهة.
|
|
107
105
|
|
|
108
|
-
|
|
106
|
+
بدون معاملات.
|
|
109
107
|
|
|
110
108
|
---
|
|
111
109
|
|
|
112
110
|
### `block-failproofai-commands`
|
|
113
111
|
|
|
114
112
|
**الحدث:** PreToolUse (Bash)
|
|
115
|
-
**الافتراضي:** يرفض الأوامر التي
|
|
113
|
+
**الافتراضي:** يرفض الأوامر التي ستقوم بإلغاء تثبيت أو تعطيل failproofai نفسه (على سبيل المثال `npm uninstall failproofai`، `failproofai policies --uninstall`).
|
|
116
114
|
|
|
117
|
-
|
|
115
|
+
بدون معاملات.
|
|
118
116
|
|
|
119
117
|
---
|
|
120
118
|
|
|
121
|
-
## الأسرار (
|
|
119
|
+
## الأسرار (معقمات)
|
|
122
120
|
|
|
123
|
-
منع الوكلاء من
|
|
121
|
+
منع الوكلاء من تسرب بيانات اعتماد إلى سياقهم أو مخرجاتهم. تنشط سياسات المعقم على أحداث **PostToolUse**. عندما يقوم Claude بتشغيل أمر Bash أو قراءة ملف أو استدعاء أي أداة، تفحص هذه السياسات المخرجات قبل إرجاعها إلى Claude. إذا تم الكشف عن نمط سري، تُرجع السياسة قرار رفض يمنع إرجاع المخرجات.
|
|
124
122
|
|
|
125
123
|
### `sanitize-jwt`
|
|
126
124
|
|
|
127
125
|
**الحدث:** PostToolUse (جميع الأدوات)
|
|
128
|
-
**الافتراضي:** يحذف رموز JWT (ثلاث
|
|
126
|
+
**الافتراضي:** يحذف رموز JWT (ثلاث مقاطع base64url مفصولة بـ `.`).
|
|
129
127
|
|
|
130
|
-
|
|
128
|
+
بدون معاملات.
|
|
131
129
|
|
|
132
130
|
---
|
|
133
131
|
|
|
134
132
|
### `sanitize-api-keys`
|
|
135
133
|
|
|
136
134
|
**الحدث:** PostToolUse (جميع الأدوات)
|
|
137
|
-
**الافتراضي:** يحذف تنسيقات مفاتيح API الشائعة: Anthropic (`sk-ant-`)، OpenAI (`sk-`)، GitHub PATs (`ghp_`)، مفاتيح الوصول AWS (`AKIA`)، مفاتيح Stripe (`sk_live_
|
|
135
|
+
**الافتراضي:** يحذف تنسيقات مفاتيح API الشائعة: Anthropic (`sk-ant-`)، OpenAI (`sk-`)، GitHub PATs (`ghp_`)، مفاتيح الوصول AWS (`AKIA`)، مفاتيح Stripe (`sk_live_`, `sk_test_`)، ومفاتيح Google API (`AIza`).
|
|
138
136
|
|
|
139
137
|
**المعاملات:**
|
|
140
138
|
|
|
141
139
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
142
|
-
|
|
140
|
+
|-------|------|---------|-------------|
|
|
143
141
|
| `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | أنماط regex إضافية يتم التعامل معها كأسرار. |
|
|
144
142
|
|
|
145
143
|
**مثال:**
|
|
@@ -164,7 +162,7 @@ icon: shield
|
|
|
164
162
|
**الحدث:** PostToolUse (جميع الأدوات)
|
|
165
163
|
**الافتراضي:** يحذف سلاسل اتصال قاعدة البيانات التي تحتوي على بيانات اعتماد مضمنة (على سبيل المثال `postgresql://user:password@host/db`).
|
|
166
164
|
|
|
167
|
-
|
|
165
|
+
بدون معاملات.
|
|
168
166
|
|
|
169
167
|
---
|
|
170
168
|
|
|
@@ -173,31 +171,31 @@ icon: shield
|
|
|
173
171
|
**الحدث:** PostToolUse (جميع الأدوات)
|
|
174
172
|
**الافتراضي:** يحذف كتل PEM (`-----BEGIN PRIVATE KEY-----`، `-----BEGIN RSA PRIVATE KEY-----`، إلخ).
|
|
175
173
|
|
|
176
|
-
|
|
174
|
+
بدون معاملات.
|
|
177
175
|
|
|
178
176
|
---
|
|
179
177
|
|
|
180
178
|
### `sanitize-bearer-tokens`
|
|
181
179
|
|
|
182
180
|
**الحدث:** PostToolUse (جميع الأدوات)
|
|
183
|
-
**الافتراضي:** يحذف رؤوس `Authorization: Bearer <token>` حيث يكون الرمز 20 أو
|
|
181
|
+
**الافتراضي:** يحذف رؤوس `Authorization: Bearer <token>` حيث يكون الرمز 20 حرفًا أو أكثر.
|
|
184
182
|
|
|
185
|
-
|
|
183
|
+
بدون معاملات.
|
|
186
184
|
|
|
187
185
|
---
|
|
188
186
|
|
|
189
187
|
## البيئة
|
|
190
188
|
|
|
191
|
-
حماية
|
|
189
|
+
حماية تكوين البيئة الحساسة من قراءتها أو تعريضها من قبل الوكلاء.
|
|
192
190
|
|
|
193
191
|
### `block-env-files`
|
|
194
192
|
|
|
195
|
-
**الحدث:** PreToolUse (Bash
|
|
196
|
-
**الافتراضي:** يرفض قراءة ملفات `.env` عبر `cat .env`، استدعاءات أداة
|
|
193
|
+
**الحدث:** PreToolUse (Bash, Read)
|
|
194
|
+
**الافتراضي:** يرفض قراءة ملفات `.env` عبر `cat .env`، استدعاءات أداة Read مع `.env` كمسار الملف، إلخ.
|
|
197
195
|
|
|
198
|
-
لا يحجب `.envrc` أو ملفات أخرى مجاورة للبيئة - فقط الملفات المسماة
|
|
196
|
+
لا يحجب `.envrc` أو ملفات أخرى مجاورة للبيئة - فقط الملفات المسماة بالضبط `.env`.
|
|
199
197
|
|
|
200
|
-
|
|
198
|
+
بدون معاملات.
|
|
201
199
|
|
|
202
200
|
---
|
|
203
201
|
|
|
@@ -206,24 +204,24 @@ icon: shield
|
|
|
206
204
|
**الحدث:** PreToolUse (Bash)
|
|
207
205
|
**الافتراضي:** يرفض الأوامر التي تطبع متغيرات البيئة: `printenv`، `env`، `echo $VAR`.
|
|
208
206
|
|
|
209
|
-
|
|
207
|
+
بدون معاملات.
|
|
210
208
|
|
|
211
209
|
---
|
|
212
210
|
|
|
213
211
|
## الوصول إلى الملفات
|
|
214
212
|
|
|
215
|
-
|
|
213
|
+
إبقاء الوكلاء يعملون داخل حدود المشروع بعيدًا عن الملفات الحساسة.
|
|
216
214
|
|
|
217
215
|
### `block-read-outside-cwd`
|
|
218
216
|
|
|
219
|
-
**الحدث:** PreToolUse (Read
|
|
217
|
+
**الحدث:** PreToolUse (Read, Bash)
|
|
220
218
|
**الافتراضي:** يرفض قراءة الملفات خارج دليل العمل الحالي (جذر المشروع).
|
|
221
219
|
|
|
222
220
|
**المعاملات:**
|
|
223
221
|
|
|
224
222
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
225
|
-
|
|
226
|
-
| `allowPaths` | `string[]` | `[]` | بادئات المسار المطلق
|
|
223
|
+
|-------|------|---------|-------------|
|
|
224
|
+
| `allowPaths` | `string[]` | `[]` | بادئات المسار المطلق المسموحة حتى لو كانت خارج cwd. |
|
|
227
225
|
|
|
228
226
|
**مثال:**
|
|
229
227
|
|
|
@@ -241,14 +239,14 @@ icon: shield
|
|
|
241
239
|
|
|
242
240
|
### `block-secrets-write`
|
|
243
241
|
|
|
244
|
-
**الحدث:** PreToolUse (Write
|
|
242
|
+
**الحدث:** PreToolUse (Write, Edit)
|
|
245
243
|
**الافتراضي:** يرفض الكتابة إلى الملفات المستخدمة بشكل شائع للمفاتيح الخاصة والشهادات: `id_rsa`، `id_ed25519`، `*.key`، `*.pem`، `*.p12`، `*.pfx`.
|
|
246
244
|
|
|
247
245
|
**المعاملات:**
|
|
248
246
|
|
|
249
247
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
250
|
-
|
|
251
|
-
| `additionalPatterns` | `string[]` | `[]` | أنماط اسم ملف إضافية على نمط glob
|
|
248
|
+
|-------|------|---------|-------------|
|
|
249
|
+
| `additionalPatterns` | `string[]` | `[]` | أنماط اسم ملف إضافية (على نمط glob) للحجب. |
|
|
252
250
|
|
|
253
251
|
**مثال:**
|
|
254
252
|
|
|
@@ -276,7 +274,7 @@ icon: shield
|
|
|
276
274
|
**المعاملات:**
|
|
277
275
|
|
|
278
276
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
279
|
-
|
|
277
|
+
|-------|------|---------|-------------|
|
|
280
278
|
| `protectedBranches` | `string[]` | `["main", "master"]` | أسماء الفروع التي لا يمكن الدفع إليها مباشرة. |
|
|
281
279
|
|
|
282
280
|
**مثال:**
|
|
@@ -292,7 +290,7 @@ icon: shield
|
|
|
292
290
|
```
|
|
293
291
|
|
|
294
292
|
<Tip>
|
|
295
|
-
للسماح بالدفع إلى جميع الفروع (تعطيل هذه السياسة بشكل
|
|
293
|
+
للسماح بالدفع إلى جميع الفروع (تعطيل هذه السياسة بشكل فعال دون إزالتها من `enabledPolicies`)، اضبط `protectedBranches: []`.
|
|
296
294
|
</Tip>
|
|
297
295
|
|
|
298
296
|
---
|
|
@@ -300,13 +298,13 @@ icon: shield
|
|
|
300
298
|
### `block-work-on-main`
|
|
301
299
|
|
|
302
300
|
**الحدث:** PreToolUse (Bash)
|
|
303
|
-
**الافتراضي:** يرفض
|
|
301
|
+
**الافتراضي:** يرفض الانتقال إلى فروع `main` أو `master` مباشرة.
|
|
304
302
|
|
|
305
303
|
**المعاملات:**
|
|
306
304
|
|
|
307
305
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
308
|
-
|
|
309
|
-
| `protectedBranches` | `string[]` | `["main", "master"]` | أسماء الفروع التي لا يمكن
|
|
306
|
+
|-------|------|---------|-------------|
|
|
307
|
+
| `protectedBranches` | `string[]` | `["main", "master"]` | أسماء الفروع التي لا يمكن الانتقال إليها مباشرة. |
|
|
310
308
|
|
|
311
309
|
---
|
|
312
310
|
|
|
@@ -315,7 +313,7 @@ icon: shield
|
|
|
315
313
|
**الحدث:** PreToolUse (Bash)
|
|
316
314
|
**الافتراضي:** يرفض `git push --force` و `git push -f`.
|
|
317
315
|
|
|
318
|
-
|
|
316
|
+
بدون معاملات خاصة بالسياسة. استخدم التقاطع [`hint`](/ar/configuration#hint-cross-cutting) لاقتراح بدائل:
|
|
319
317
|
|
|
320
318
|
```json
|
|
321
319
|
{
|
|
@@ -332,66 +330,66 @@ icon: shield
|
|
|
332
330
|
### `warn-git-amend`
|
|
333
331
|
|
|
334
332
|
**الحدث:** PreToolUse (Bash)
|
|
335
|
-
**الافتراضي:**
|
|
333
|
+
**الافتراضي:** يرشد Claude للمتابعة بحذر عند تشغيل `git commit --amend`. لا يحجب الأمر.
|
|
336
334
|
|
|
337
|
-
|
|
335
|
+
بدون معاملات.
|
|
338
336
|
|
|
339
337
|
---
|
|
340
338
|
|
|
341
339
|
### `warn-git-stash-drop`
|
|
342
340
|
|
|
343
341
|
**الحدث:** PreToolUse (Bash)
|
|
344
|
-
**الافتراضي:**
|
|
342
|
+
**الافتراضي:** يرشد Claude لتأكيد قبل تشغيل `git stash drop`. لا يحجب الأمر.
|
|
345
343
|
|
|
346
|
-
|
|
344
|
+
بدون معاملات.
|
|
347
345
|
|
|
348
346
|
---
|
|
349
347
|
|
|
350
348
|
### `warn-all-files-staged`
|
|
351
349
|
|
|
352
350
|
**الحدث:** PreToolUse (Bash)
|
|
353
|
-
**الافتراضي:**
|
|
351
|
+
**الافتراضي:** يرشد Claude لمراجعة ما يختزنه عند تشغيل `git add -A` أو `git add .`. لا يحجب الأمر.
|
|
354
352
|
|
|
355
|
-
|
|
353
|
+
بدون معاملات.
|
|
356
354
|
|
|
357
355
|
---
|
|
358
356
|
|
|
359
357
|
## قاعدة البيانات
|
|
360
358
|
|
|
361
|
-
|
|
359
|
+
اكتش العمليات SQL المدمرة قبل تنفيذها ضد قاعدة البيانات الخاصة بك.
|
|
362
360
|
|
|
363
361
|
### `warn-destructive-sql`
|
|
364
362
|
|
|
365
363
|
**الحدث:** PreToolUse (Bash)
|
|
366
|
-
**الافتراضي:**
|
|
364
|
+
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل SQL التي تحتوي على `DROP TABLE`، `DROP DATABASE`، أو `DELETE` بدون بند `WHERE`.
|
|
367
365
|
|
|
368
|
-
|
|
366
|
+
بدون معاملات.
|
|
369
367
|
|
|
370
368
|
---
|
|
371
369
|
|
|
372
370
|
### `warn-schema-alteration`
|
|
373
371
|
|
|
374
372
|
**الحدث:** PreToolUse (Bash)
|
|
375
|
-
**الافتراضي:**
|
|
373
|
+
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل عبارات `ALTER TABLE`.
|
|
376
374
|
|
|
377
|
-
|
|
375
|
+
بدون معاملات.
|
|
378
376
|
|
|
379
377
|
---
|
|
380
378
|
|
|
381
|
-
##
|
|
379
|
+
## التحذيرات
|
|
382
380
|
|
|
383
|
-
إعطاء الوكلاء سياق إضافي قبل العمليات المحتملة
|
|
381
|
+
إعطاء الوكلاء سياق إضافي قبل العمليات المحتملة الخطورة ولكن غير المدمرة.
|
|
384
382
|
|
|
385
383
|
### `warn-large-file-write`
|
|
386
384
|
|
|
387
385
|
**الحدث:** PreToolUse (Write)
|
|
388
|
-
**الافتراضي:**
|
|
386
|
+
**الافتراضي:** يرشد Claude للتأكيد قبل كتابة الملفات الأكبر من 1024 كيلوبايت.
|
|
389
387
|
|
|
390
388
|
**المعاملات:**
|
|
391
389
|
|
|
392
390
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
393
|
-
|
|
394
|
-
| `thresholdKb` | `number` | `1024` | عتبة حجم الملف بالكيلوبايت التي يتم إصدار
|
|
391
|
+
|-------|------|---------|-------------|
|
|
392
|
+
| `thresholdKb` | `number` | `1024` | عتبة حجم الملف بالكيلوبايت التي يتم فوقها إصدار تحذير. |
|
|
395
393
|
|
|
396
394
|
**مثال:**
|
|
397
395
|
|
|
@@ -406,7 +404,7 @@ icon: shield
|
|
|
406
404
|
```
|
|
407
405
|
|
|
408
406
|
<Note>
|
|
409
|
-
يفرض معالج
|
|
407
|
+
يفرض معالج hook حد أقصى 1 ميجابايت stdin على الحمولات. لاختبار هذه السياسة بمحتوى صغير، اضبط `thresholdKb` على قيمة أقل بكثير من 1024.
|
|
410
408
|
</Note>
|
|
411
409
|
|
|
412
410
|
---
|
|
@@ -414,68 +412,68 @@ icon: shield
|
|
|
414
412
|
### `warn-package-publish`
|
|
415
413
|
|
|
416
414
|
**الحدث:** PreToolUse (Bash)
|
|
417
|
-
**الافتراضي:**
|
|
415
|
+
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل `npm publish`.
|
|
418
416
|
|
|
419
|
-
|
|
417
|
+
بدون معاملات.
|
|
420
418
|
|
|
421
419
|
---
|
|
422
420
|
|
|
423
421
|
### `warn-background-process`
|
|
424
422
|
|
|
425
423
|
**الحدث:** PreToolUse (Bash)
|
|
426
|
-
**الافتراضي:**
|
|
424
|
+
**الافتراضي:** يرشد Claude ليكون حذرًا عند إطلاق العمليات في الخلفية عبر `nohup`، `&`، `disown`، أو `screen`.
|
|
427
425
|
|
|
428
|
-
|
|
426
|
+
بدون معاملات.
|
|
429
427
|
|
|
430
428
|
---
|
|
431
429
|
|
|
432
430
|
### `warn-global-package-install`
|
|
433
431
|
|
|
434
432
|
**الحدث:** PreToolUse (Bash)
|
|
435
|
-
**الافتراضي:**
|
|
433
|
+
**الافتراضي:** يرشد Claude للتأكيد قبل تشغيل `npm install -g`، `yarn global add`، أو `pip install` دون بيئة افتراضية.
|
|
436
434
|
|
|
437
|
-
|
|
435
|
+
بدون معاملات.
|
|
438
436
|
|
|
439
437
|
---
|
|
440
438
|
|
|
441
439
|
## سلوك الذكاء الاصطناعي
|
|
442
440
|
|
|
443
|
-
اكتشف عندما
|
|
441
|
+
اكتشف عندما يعلق الوكلاء أو يتصرفون بشكل غير متوقع.
|
|
444
442
|
|
|
445
443
|
### `warn-repeated-tool-calls`
|
|
446
444
|
|
|
447
445
|
**الحدث:** PreToolUse (جميع الأدوات)
|
|
448
|
-
**الافتراضي:**
|
|
446
|
+
**الافتراضي:** يرشد Claude لإعادة النظر عند استدعاء نفس الأداة 3 مرات أو أكثر مع معاملات متطابقة - علامة شائعة على أن الوكيل عالق في حلقة.
|
|
449
447
|
|
|
450
|
-
|
|
448
|
+
بدون معاملات.
|
|
451
449
|
|
|
452
450
|
---
|
|
453
451
|
|
|
454
|
-
## سير العمل
|
|
452
|
+
## سير العمل
|
|
455
453
|
|
|
456
|
-
فرض سير عمل منضبط
|
|
454
|
+
فرض سير عمل منضبط لنهاية الجلسة. تنشط هذه السياسات على حدث **Stop** وترفض Claude من التوقف حتى تستوفى كل شرط. يتبعون سلسلة اعتماد طبيعية: commit → push → PR → CI. إذا رفضت سياسة، يتم تجاوز السياسات اللاحقة في السلسلة (الرفض يقصر الدارة).
|
|
457
455
|
|
|
458
|
-
جميع سياسات سير العمل **fail-open**: إذا
|
|
456
|
+
جميع سياسات سير العمل **fail-open**: إذا كانت الأداة المطلوبة غير متاحة (على سبيل المثال `gh` غير مثبت، لا يوجد git remote)، تسمح السياسة برسالة معلوماتية تشرح سبب تخطي الفحص.
|
|
459
457
|
|
|
460
458
|
### `require-commit-before-stop`
|
|
461
459
|
|
|
462
460
|
**الحدث:** Stop
|
|
463
|
-
**الافتراضي:** يرفض التوقف عند وجود تغييرات غير
|
|
461
|
+
**الافتراضي:** يرفض التوقف عند وجود تغييرات غير مطبقة (ملفات معدلة أو مرحلة أو غير متتبعة). يرجع رسالة معلوماتية عند نظافة دليل العمل.
|
|
464
462
|
|
|
465
|
-
|
|
463
|
+
بدون معاملات.
|
|
466
464
|
|
|
467
465
|
---
|
|
468
466
|
|
|
469
467
|
### `require-push-before-stop`
|
|
470
468
|
|
|
471
469
|
**الحدث:** Stop
|
|
472
|
-
**الافتراضي:** يرفض التوقف عند وجود commits غير مدفوعة أو عندما لا يكون للفرع الحالي فرع تتبع بعيد. يقترح `git push -u` لإنشاء فرع تتبع إذا لزم الأمر. يفشل
|
|
470
|
+
**الافتراضي:** يرفض التوقف عند وجود commits غير مدفوعة أو عندما لا يكون للفرع الحالي فرع تتبع بعيد. يقترح `git push -u` لإنشاء فرع تتبع إذا لزم الأمر. يفشل مفتوح إذا لم يتم تكوين أي بعيد.
|
|
473
471
|
|
|
474
472
|
**المعاملات:**
|
|
475
473
|
|
|
476
474
|
| المعامل | النوع | الافتراضي | الوصف |
|
|
477
|
-
|
|
478
|
-
| `remote` | `string` | `"origin"` | اسم
|
|
475
|
+
|-------|------|---------|-------------|
|
|
476
|
+
| `remote` | `string` | `"origin"` | اسم البعيد للدفع إليه. |
|
|
479
477
|
|
|
480
478
|
**مثال:**
|
|
481
479
|
|
|
@@ -494,14 +492,14 @@ icon: shield
|
|
|
494
492
|
### `require-pr-before-stop`
|
|
495
493
|
|
|
496
494
|
**الحدث:** Stop
|
|
497
|
-
**الافتراضي:** يرفض التوقف
|
|
495
|
+
**الافتراضي:** يرفض التوقف عند عدم وجود pull request للفرع الحالي، أو عندما يكون PR الموجود مغلقًا/مدمجًا. يرشد Claude لإنشاء PR باستخدام `gh pr create`.
|
|
498
496
|
|
|
499
|
-
|
|
497
|
+
بدون معاملات.
|
|
500
498
|
|
|
501
499
|
<Note>
|
|
502
|
-
تتطلب هذه السياسة تثبيت [GitHub CLI](https://cli.github.com/) (`gh`) والمصادقة
|
|
503
|
-
|
|
504
|
-
|
|
500
|
+
تتطلب هذه السياسة تثبيت [GitHub CLI](https://cli.github.com/) (`gh`) والمصادقة عليه.
|
|
501
|
+
قم بتشغيل `gh auth login` برمز وصول شخصي يتمتع بنطاق `repo` للقراءة
|
|
502
|
+
pull requests. إذا لم يتم تثبيت `gh` أو لم يتم المصادقة عليه، تفشل السياسة مفتوحة وتبلغ السبب إلى Claude.
|
|
505
503
|
</Note>
|
|
506
504
|
|
|
507
505
|
---
|
|
@@ -509,50 +507,23 @@ icon: shield
|
|
|
509
507
|
### `require-ci-green-before-stop`
|
|
510
508
|
|
|
511
509
|
**الحدث:** Stop
|
|
512
|
-
**الافتراضي:** يرفض التوقف
|
|
510
|
+
**الافتراضي:** يرفض التوقف عند فشل فحوصات CI أو لا تزال تعمل على الفرع الحالي. يتحقق من سير عمل GitHub Actions وفحوصات bot جهات خارجية (على سبيل المثال CodeRabbit, SonarCloud, Codecov). يتعامل مع استنتاجات `skipped` كنجاح. يرجع رسالة معلوماتية عند نجاح جميع الفحوصات.
|
|
513
511
|
|
|
514
|
-
|
|
512
|
+
بدون معاملات.
|
|
515
513
|
|
|
516
514
|
<Note>
|
|
517
|
-
تتطلب هذه السياسة تثبيت [GitHub CLI](https://cli.github.com/) (`gh`) والمصادقة
|
|
518
|
-
|
|
519
|
-
|
|
515
|
+
تتطلب هذه السياسة تثبيت [GitHub CLI](https://cli.github.com/) (`gh`) والمصادقة عليه.
|
|
516
|
+
قم بتشغيل `gh auth login` برمز وصول شخصي يتمتع بنطاق `repo` للقراءة
|
|
517
|
+
Actions workflow runs و Checks API. إذا لم يتم تثبيت `gh` أو لم يتم المصادقة عليه، تفشل السياسة مفتوحة وتبلغ السبب إلى Claude.
|
|
520
518
|
</Note>
|
|
521
519
|
|
|
522
520
|
---
|
|
523
521
|
|
|
524
|
-
## سياسات بيتا
|
|
525
|
-
|
|
526
|
-
تم وضع علامة على بعض السياسات `beta` وليست مثبتة بشكل افتراضي. قد تحتوي سياسات Beta على حواف خشنة أو تولد إيجابيات خاطئة. يتخرجون إلى مستقرة في الإصدارات المستقبلية.
|
|
527
|
-
|
|
528
|
-
**سياسات بيتا الحالية:**
|
|
529
|
-
|
|
530
|
-
- `require-commit-before-stop` — التزم بجميع التغييرات قبل التوقف
|
|
531
|
-
- `require-push-before-stop` — ادفع جميع commits إلى البعيد
|
|
532
|
-
- `require-pr-before-stop` — تأكد من وجود PR للفرع
|
|
533
|
-
- `require-ci-green-before-stop` — يجب أن تمر جميع فحوصات CI
|
|
534
|
-
|
|
535
|
-
معاً، فهذه تفرض سير عمل **commit → push → PR → CI**.
|
|
536
|
-
|
|
537
|
-
لتثبيت جميع سياسات بيتا:
|
|
538
|
-
|
|
539
|
-
```bash
|
|
540
|
-
failproofai policies --install --beta
|
|
541
|
-
```
|
|
542
|
-
|
|
543
|
-
أو ثبّت سياسات سير عمل محددة:
|
|
544
|
-
|
|
545
|
-
```bash
|
|
546
|
-
failproofai policies --install require-commit-before-stop require-push-before-stop require-pr-before-stop require-ci-green-before-stop
|
|
547
|
-
```
|
|
548
|
-
|
|
549
|
-
شغّل `failproofai policies` لمعرفة السياسات التي تحمل علامة بيتا.
|
|
550
|
-
|
|
551
522
|
---
|
|
552
523
|
|
|
553
|
-
## تعطيل
|
|
524
|
+
## تعطيل السياسات الفردية
|
|
554
525
|
|
|
555
|
-
أزل سياسة
|
|
526
|
+
أزل سياسة معينة من `enabledPolicies` في تكوينك، أو أوقفها في علامة التبويب Policies في لوحة البيانات.
|
|
556
527
|
|
|
557
528
|
```json
|
|
558
529
|
{
|
|
@@ -563,4 +534,4 @@ failproofai policies --install require-commit-before-stop require-push-before-st
|
|
|
563
534
|
}
|
|
564
535
|
```
|
|
565
536
|
|
|
566
|
-
السياسات غير المدرجة في `enabledPolicies
|
|
537
|
+
لا تعمل السياسات غير المدرجة في `enabledPolicies`، حتى لو كانت هناك إدخالات `policyParams` لها.
|
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
---
|
|
2
2
|
---
|
|
3
3
|
title: تثبيت السياسات
|
|
4
|
-
description: "تفعيل السياسات
|
|
4
|
+
description: "تفعيل السياسات لتعمل على كل استدعاء أداة للوكيل"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
failproofai policies --install [policy-names...] [options]
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
يكتب
|
|
11
|
+
يكتب مدخلات الخطاف في `settings.json` الخاص بـ Claude Code بحيث يعترض failproofai استدعاءات الأدوات.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
الأسماء المختصرة: `failproofai p -i`
|
|
14
14
|
|
|
15
15
|
## الخيارات
|
|
16
16
|
|
|
17
17
|
| العلم | الوصف |
|
|
18
|
-
|
|
18
|
+
|------|--------|
|
|
19
19
|
| `--scope user` | التثبيت في `~/.claude/settings.json` (الافتراضي - جميع الجلسات) |
|
|
20
20
|
| `--scope project` | التثبيت في `.claude/settings.json` في المجلد الحالي |
|
|
21
21
|
| `--scope local` | التثبيت في `.claude/settings.local.json` في المجلد الحالي |
|
|
22
22
|
| `--custom <path>` / `-c` | المسار إلى ملف JS يحتوي على سياسات الخطاف المخصصة |
|
|
23
|
-
| `--beta` | تضمين السياسات التجريبية |
|
|
24
23
|
|
|
25
24
|
## السلوك
|
|
26
25
|
|
|
27
|
-
- **بدون أسماء سياسات** - يفتح موجه تفاعلي
|
|
28
|
-
- **أسماء محددة** - يفعّل تلك السياسات (
|
|
29
|
-
- **`all`** - يفعّل كل
|
|
26
|
+
- **بدون أسماء سياسات** - يفتح موجه تفاعلي لاختيار السياسات
|
|
27
|
+
- **أسماء محددة** - يفعّل تلك السياسات (مضافة إلى أي سياسات مفعّلة بالفعل)
|
|
28
|
+
- **`all`** - يفعّل كل السياسات المتاحة
|
|
30
29
|
|
|
31
|
-
التثبيت إضافي: تشغيل `--install`
|
|
30
|
+
التثبيت إضافي: تشغيل `--install` مرة أخرى يضيف سياسات جديدة دون إزالة السياسات الموجودة.
|
|
32
31
|
|
|
33
32
|
## أمثلة
|
|
34
33
|
|
|
@@ -39,11 +38,11 @@ failproofai policies --install
|
|
|
39
38
|
# تثبيت سياسات محددة للمشروع الحالي
|
|
40
39
|
failproofai policies --install block-sudo sanitize-api-keys --scope project
|
|
41
40
|
|
|
42
|
-
# تفعيل جميع السياسات
|
|
41
|
+
# تفعيل جميع السياسات دفعة واحدة
|
|
43
42
|
failproofai policies --install all
|
|
44
43
|
|
|
45
44
|
# التثبيت مع ملف سياسات مخصص
|
|
46
45
|
failproofai policies --install --custom ./my-policies.js
|
|
47
46
|
```
|
|
48
47
|
|
|
49
|
-
عند توفير `--custom <path>`، يتم التحقق من الملف فورًا - يجب أن يستدعي `customPolicies.add()` مرة واحدة على الأقل. يتم حفظ المسار
|
|
48
|
+
عند توفير `--custom <path>`، يتم التحقق من الملف فورًا - يجب أن يستدعي `customPolicies.add()` مرة واحدة على الأقل. يتم حفظ المسار المحلول في `policies-config.json` باسم `customPoliciesPath`.
|