> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# حزم السياسات

> قم بتثبيت مجموعة من السياسات المنشورة كإصدار GitHub، وأدر ما تفرضه.

الحزمة عبارة عن مجموعة من السياسات المنشورة كإصدار GitHub. أمر واحد يثبتها، ويتم التحقق من قيم تجزئة الإصدار قبل تشغيل أي شيء، ويتم تسجيل البصمة بحيث لا يمكن للحزمة أن تتغير على جهازك بعد ذلك.

## قم بتثبيت سياسات Failproof AI

```bash theme={null}
failproofai pack add core
```

هذا يثبت المجموعة التي ننشرها، من النسخة داخل الحزمة — لذلك لا تحتاج إلى شبكة ولا يمكن أن تفشل خلف وكيل. خذ جزءًا منها:

```bash theme={null}
failproofai pack add core --policy block-rm-rf         # واحدة، أو عدة مفصولة بفواصل
failproofai pack add core --category dangerous-commands # فئة كاملة
failproofai pack add core --all                         # كل شيء فيها
```

يسمي `failproofai pack list` كل فئة تقدمها الحزمة.

## اطلع على محتويات الحزمة، قبل تثبيتها

```bash theme={null}
failproofai pack list acme/support-agent
```

يسرد كل سياسة تحملها الحزمة، مجمعة حسب الفئة، مع تحديد أيها يفعّلها مؤلفها افتراضيًا وأيها اختيارية. يقرأ **البيان فقط** — لا يتم أبدًا تنزيل القطعة الرئيسية ولا استيرادها، لذا فإن النظر إلى حزمة غريب لا يمكن أن يشغل كود غريب. البيان لا يزال يتحقق منه مقابل `SHA256SUMS` الخاص بالإصدار، لذا ما تقرأه هو ما سيتم تثبيته.

يسرد `failproofai pack list` بدون مصدر الحزم المثبتة بالفعل هنا.

## قم بتثبيت حزمة شخص آخر

```bash theme={null}
failproofai pack add acme/support-agent
```

أي من هذه تعمل — الصق أيًا منها لديك:

| المصدر                                                      | النتيجة                                            |
| ----------------------------------------------------------- | -------------------------------------------------- |
| `acme/support-agent`                                        | أحدث إصدار، **محدد** بالعلامة الدقيقة التي تم حلها |
| `acme/support-agent@v2.1.0`                                 | هذا الإصدار                                        |
| `github:acme/support-agent@v2.1.0`                          | نفس الشيء، مكتوب بوضوح                             |
| `https://github.com/acme/support-agent/releases/tag/v2.1.0` | نفس الشيء، تم نسخه من متصفح                        |

عدم تسمية علامة يثبت أحدث إصدار **ويحددها**، ثم يخبرك بالعلامة التي اختارها. ما يتم تسجيله دائمًا يسمي بالضبط إصدارًا واحدًا، لذا لا يمكن لإعادة التثبيت أن تنجرف.

## خذ جزءًا من الحزمة

بشكل افتراضي تحصل على **الافتراضيات الخاصة** بالحزمة — السياسات التي وضع مؤلفها علامة عليها آمنة للتشغيل دون مراقبة — وليس كل ما تحتويه.

```bash theme={null}
failproofai pack add acme/support-agent --category billing,git
failproofai pack add acme/support-agent --policy block-refunds
failproofai pack add acme/support-agent --all
```

يتم دمج `--category` و `--policy` كاتحاد (`--only` مقبول كمرادف لـ `--policy`). إضافة مجددًا بإصدار أحدث تحتفظ بما اخترته بدلاً من إعادة تشغيل الباقي.

## أدر ما هو قيد التشغيل

```bash theme={null}
failproofai policies                    # كل مصدر في قائمة واحدة، الحزم مضمنة
failproofai pack list                   # الحزم فقط، مجمعة حسب الفئة
failproofai policies --uninstall block-refunds        # أوقف سياسة حزمة واحدة
failproofai policies --install block-refunds          # وإعادة تشغيلها
failproofai pack remove acme/support-agent
```

الاسم العادي يعني **المدمج** عندما يكون موجودًا بهذا الاسم. اذكر نسخة الحزمة بوضوح عندما تحتاج إلى:

```bash theme={null}
failproofai policies --uninstall acme/support-agent:block-refunds
```

<Note>
  إذا كانت الحزمة تشحن سياسة اسمها هو أيضًا **مدمج مفعّل**، يتم تشغيل المدمج وتخطي نسخة الحزمة — سيتم تقييم نفس الحماية مرتين وإلا. أوقف المدمج لاستخدام نسخة الحزمة بدلاً من ذلك.
</Note>

## من أين تأتي سياسات Failproof AI

يقرأ `core` النسخة المدرجة في حزمة npm. نفس المجموعة منشورة كإصدار GitHub، وهو ما تثبته إذا كنت تريد إصدارًا محددًا:

```bash theme={null}
failproofai pack add core                    # من هذه الحزمة، بدون شبكة
failproofai pack add FailproofAI/policies    # نفس المجموعة، من إصدار GitHub الخاص بها
```

## ما الذي توفره السلامة الكاملة وما الذي لا توفره

`SHA256SUMS` مرسلة في نفس الإصدار مثل القطعة، لذا فهي **ليست** توقيعًا ولا تثبت شيئًا عن هوية ناشرها. ما تثبته هو أن البايتات هي الموجودة في ذلك الإصدار — وبسبب تسجيل البصمة عند إضافة الحزمة وإعادة التحقق منها قبل كل استيراد، لا يمكن للحزمة أن تتغير على جهازك بعد ذلك. يتوقف المستودع الذي يُعيد وسم أو يستبدل أحد الأصول عن التحميل بدلاً من تشغيل شيء آخر بهدوء.

في وقت التثبيت، يتم أيضًا **استيراد الحزمة مرة واحدة** والتحقق منها مقابل بيانها الخاص. يتم رفض الحزمة التي لا يمكن تحليل قطعتها أو التي تسجل شيئًا مختلفًا عما تعلنه قبل تفعيل أي شيء — بدلاً من التثبيت بنجاح والفشل في استدعاء الأداة التالية.

## عندما لن تحميل الحزمة

الحزمة التي تم إخبار هذا الجهاز بفرضها ولا يمكنه تشغيلها **ترفض** الأحداث التي غطتها سياساته المفقودة، بدلاً من السماح بها صمتًا. انظر [سلوك الفشل](/ar/policies/failure-behavior). `failproofai pack list` يسمي أي حزمة في تلك الحالة ويخرج بقيمة غير صفرية.

## بلا اتصال والمرايا

| المتغير                     | التأثير                                         |
| --------------------------- | ----------------------------------------------- |
| `FAILPROOFAI_NO_DOWNLOAD=1` | يرفض الجلب؛ الحزم المثبتة بالفعل تستمر في الفرض |
| `FAILPROOFAI_PACK_BASE_URL` | يوجه جلب الحزم إلى مرآة بدلاً من `github.com`   |

نشر حزمتك الخاصة: انظر [نشر حزمة](/ar/policies/publish-a-pack).
