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

# النشر من Monorepo

> انشر Crew أو Flow من مجلد فرعي داخل مستودع أكبر

<Note>
  استخدم دليل عمل عندما يكون Crew أو Flow داخل مستودع أكبر. يتحقق CrewAI AMP
  من الأتمتة ويبنيها ويشغلها من ذلك المجلد الفرعي بدلاً من جذر المستودع.
</Note>

## متى تستخدم ذلك

يكون النشر من monorepo مفيداً عندما يحتوي مستودع واحد على عدة أتمتات أو حزم
مشتركة أو كود تطبيقات آخر:

```text theme={null}
company-ai/
|-- uv.lock
|-- packages/
|   `-- shared_tools/
`-- crews/
    |-- support_agent/
    |   |-- pyproject.toml
    |   |-- crew.jsonc
    |   `-- agents/
    |       `-- support_agent.jsonc
    `-- research_flow/
        |-- pyproject.toml
        `-- src/
            `-- research_flow/
                `-- main.py
```

لنشر `support_agent`، اضبط دليل العمل على:

```text theme={null}
crews/support_agent
```

لا يزال AMP يجلب المستودع كاملاً أو يرفعه، لكنه يتعامل مع المجلد المحدد كجذر
مشروع الأتمتة.

## ما الذي يتحكم به دليل العمل

عند تعيين دليل عمل، يستخدم AMP ذلك المجلد من أجل:

* التحقق من المشروع، بما في ذلك `pyproject.toml` وملفات crew JSON وأي نقطة دخول كلاسيكية لـ Crew أو Flow
* تثبيت الاعتماديات باستخدام `uv`
* دليل العمل للعملية قيد التشغيل
* متغير البيئة `CREW_ROOT_DIR`

ترك الحقل فارغاً يحافظ على السلوك الحالي ويستخدم جذر المستودع.

## المصادر المدعومة

يمكنك تعيين دليل عمل عند إنشاء نشر من:

* مستودع GitHub متصل
* مستودع Git مكوّن في AMP
* رفع ملف ZIP

<Info>
  اضبط أدلة العمل من واجهة AMP على الويب. لا يطلب تدفق CLI
  `crewai deploy create` هذا الحقل.
</Info>

يمكنك أيضاً إضافة دليل العمل أو تغييره في نشر موجود من صفحة **Settings** الخاصة
بالنشر. يسري التغيير في النشر التالي.

<Warning>
  لا يمكن استخدام أدلة العمل وauto-deploy معاً. إذا كان للنشر دليل عمل، يتم
  تعطيل auto-deploy لذلك النشر. أوقف auto-deploy قبل تعيين دليل عمل.
</Warning>

## إعداد نشر جديد

<Steps>
  <Step title="افتح Deploy from Code">
    في CrewAI AMP، أنشئ نشراً جديداً واختر المصدر: GitHub أو Git Repository أو
    رفع ZIP.
  </Step>

  <Step title="اختر المستودع أو الفرع أو ملف ZIP">
    اختر المستودع والفرع اللذين يحتويان على monorepo، أو ارفع ملف ZIP يحتوي
    جذره على محتويات monorepo.
  </Step>

  <Step title="افتح الإعدادات المتقدمة">
    وسّع قسم **Advanced** في نموذج النشر.
  </Step>

  <Step title="أدخل دليل العمل">
    أدخل المسار من جذر المستودع إلى مشروع Crew أو Flow:

    ```text theme={null}
    crews/support_agent
    ```

    لا تضف شرطة مائلة في البداية.
  </Step>

  <Step title="انشر">
    أضف أي متغيرات بيئة مطلوبة، ثم ابدأ النشر.
  </Step>
</Steps>

## إعداد نشر موجود

<Steps>
  <Step title="افتح إعدادات النشر">
    انتقل إلى الأتمتة في AMP وافتح **Settings**.
  </Step>

  <Step title="أوقف auto-deploy إذا لزم الأمر">
    إذا كان auto-deploy مفعلاً، أوقفه أولاً. لا يكون حقل دليل العمل متاحاً
    أثناء تشغيل auto-deploy.
  </Step>

  <Step title="عيّن دليل العمل">
    في **Basic settings**، أدخل مسار المجلد الفرعي، مثل:

    ```text theme={null}
    crews/support_agent
    ```
  </Step>

  <Step title="أعد النشر">
    احفظ الإعداد وأعد نشر الأتمتة. سيتم استخدام دليل العمل الجديد في النشر
    التالي.
  </Step>
</Steps>

## قواعد المسار

يجب أن يكون دليل العمل مساراً نسبياً داخل جذر المستودع أو ZIP.

| القاعدة                                                                       | المثال                            |
| ----------------------------------------------------------------------------- | --------------------------------- |
| استخدم مساراً نسبياً                                                          | `crews/support_agent`             |
| لا تبدأ بـ `/`                                                                | `/crews/support_agent` غير صالح   |
| لا تستخدم مقاطع المسار `.` أو `..`                                            | `crews/../support_agent` غير صالح |
| استخدم الأحرف والأرقام والشرطات والشرطات السفلية والنقاط والشرطات المائلة فقط | `crews/support agent` غير صالح    |
| اجعل المسار 255 حرفاً أو أقل                                                  | يتم رفض المسارات الأطول           |

يزيل AMP المسافات البيضاء في البداية والنهاية، ويضغط الشرطات المائلة المتكررة،
ويزيل الشرطة المائلة النهائية. تستخدم القيمة الفارغة جذر المستودع.

## ملفات القفل وUV Workspaces

يجب أن يحتوي المجلد المحدد على `pyproject.toml` وملفات المشروع المناسبة لنوع
الأتمتة:

* crew بنمط JSON-first: ملف `crew.jsonc` أو `crew.json` مع مجلد `agents/`
* Crew كلاسيكي أو Flow: مجلد `src/` مع نقطة دخول Python المتوقعة

يمكن أن يوجد ملف `uv.lock` أو `poetry.lock` إما في المجلد المحدد أو في جذر
المستودع.

يدعم هذا تخطيطي ملفات القفل الشائعين:

<Tabs>
  <Tab title="ملف قفل المشروع">
    ```text theme={null}
    company-ai/
    `-- crews/
        `-- support_agent/
            |-- pyproject.toml
            |-- uv.lock
            |-- crew.jsonc
            `-- agents/
                `-- support_agent.jsonc
    ```
  </Tab>

  <Tab title="ملف قفل workspace">
    ```text theme={null}
    company-ai/
    |-- uv.lock
    |-- packages/
    |   `-- shared_tools/
    `-- crews/
        `-- support_agent/
            |-- pyproject.toml
            |-- crew.jsonc
            `-- agents/
                `-- support_agent.jsonc
    ```
  </Tab>
</Tabs>

<Tip>
  إذا كانت الأتمتة تستورد حزماً مشتركة من مكان آخر في monorepo، فصرّح بهذه
  الحزم في `pyproject.toml` باستخدام إعدادات UV workspace أو path أو source.
  يشغل AMP الأتمتة من المجلد المحدد، لذلك يجب تثبيت الكود المشترك كاعتمادية
  بدلاً من الاعتماد على وجود جذر المستودع في Python path.
</Tip>

## استكشاف الأخطاء وإصلاحها

### لم يتم العثور على دليل العمل

تحقق من أن المسار نسبي إلى جذر المستودع أو ZIP. بالنسبة لرفع ZIP، يجب أن
تتضمن محتويات ZIP مسار دليل العمل تماماً كما أدخلته.

### pyproject.toml مفقود

يجب أن يشير دليل العمل إلى مجلد مشروع Crew أو Flow، وليس فقط إلى مجلد أب
يحتوي على عدة مشاريع.

### uv.lock أو poetry.lock مفقود

اعمل commit لملف قفل إما في مجلد المشروع المحدد أو في جذر المستودع. بالنسبة
إلى UV workspaces، يتم دعم إبقاء `uv.lock` في جذر workspace.

### Auto-Deploy غير متاح

يتم تعطيل auto-deploy أثناء تعيين دليل عمل. استخدم إعادة النشر اليدوية أو شغّل
إعادة النشر من CI/CD باستخدام AMP API.

<Card title="النشر على AMP" icon="rocket" href="/ar/enterprise/guides/deploy-to-amp">
  تابع دليل النشر بعد اختيار دليل عمل monorepo.
</Card>
