
# CLI

يسجّل Rudel أوامره ضمن `wp rudel`. يرفض WP-CLI أي خيار لا يسرده الأمر هنا برسالة `unknown --<name> parameter`.

يمكنك إعادة تسمية الأمر الأساسي للاستخدام المضمّن بتعريف `RUDEL_CLI_COMMAND` في `wp-config.php` قبل تحميل الإضافة.

```php
define( 'RUDEL_CLI_COMMAND', 'sandbox' );
```

يغيّر ذلك `wp rudel create` إلى `wp sandbox create`. ولا يتغير سلوك الأمر.

تعمل الأوامر على المضيف افتراضيًا. لتشغيل أي أمر WP-CLI آخر داخل بيئة عزل، عيّن `RUDEL_ENVIRONMENT`:

```bash
RUDEL_ENVIRONMENT=alpha-3be7 wp option get blogname
```

## إنشاء

```bash
wp rudel create [--name=<name>] [--theme=<slug>] [--clone-from=<id>] [--owner=<owner>] [--labels=<labels>] [--purpose=<purpose>] [--protected] [--ttl-days=<days>] [--expires-at=<timestamp>] [--git=<remote>] [--type=<theme|plugin>] [--template=<label>]
```

ينشئ بيئة عزل ويطبع معرّفها.

| الخيار | المعنى |
|--------|---------|
| `--name` | اسم مقروء. يتكوّن المعرّف من الاسم وأربعة أحرف سداسية عشرية. افتراضيًا، يُستخدم اسم المستودع مع `--git`، أو `sandbox` بدونه. |
| `--theme` | القالب المراد نسخه إلى بيئة العزل. يجب أن يكون مثبّتًا على المضيف. افتراضيًا، يُستخدم القالب النشط للمضيف، أو قالب بيئة العزل المصدر مع `--clone-from`. |
| `--clone-from` | استنساخ الجداول والقالب من بيئة عزل موجودة بدلًا من المضيف. |
| `--owner`، `--labels`، `--purpose` | بيانات وصفية. تُفصل التسميات بفواصل. |
| `--protected` | استبعاد بيئة العزل من التنظيف. |
| `--ttl-days` | مدة انتهاء الصلاحية من وقت الإنشاء. |
| `--expires-at` | طابع زمني صريح لانتهاء الصلاحية. |
| `--git` | استنساخ مستودع بعيد إلى دليل بيئة العزل. راجع [Git](https://rudel.inline0.dev/ar/docs/features/git). |
| `--type` | موضع استنساخ `--git`: `theme` (الافتراضي) أو `plugin`. |
| `--template` | تسمية مخزنة في السجل، والافتراضي `blank`. ولا تحمّل قالبًا محفوظًا. |

`--clone-db` و`--clone-themes` و`--clone-plugins` و`--clone-uploads` و`--clone-all` و`--shared-plugins` و`--shared-uploads` مهملة. ولا تغيّر سوى رسائل التقدم: تستنسخ كل بيئة عزل الجداول، وتنسخ قالبًا واحدًا، وتتشارك الإضافات والملفات المرفوعة.

ينتهي الأمر بتلميح يطلب منك الانتقال إلى دليل بيئة العزل باستخدام `cd` وتشغيل `wp post list`. يعمل ذلك على المضيف، لأن `wp-cli.yml` في دليل بيئة العزل يشير إلى URL الخاص بالمضيف. استخدم `RUDEL_ENVIRONMENT` بدلًا من ذلك.

## قائمة

```bash
wp rudel list [--format=<table|json|csv|yaml|count>]
```

يسرد بيئات العزل مع المعرّف والاسم والمالك والحماية وانتهاء الصلاحية والحالة وتسمية القالب ووقت الإنشاء وحجم الدليل.

## معلومات

```bash
wp rudel info <id> [--format=<table|json|yaml>]
```

يعرض سجل بيئة عزل واحدة، بما في ذلك بادئة الجدول والقالب والتسميات وبيانات الاستنساخ الوصفية وURL ومسار المحتوى.

## تحديث

```bash
wp rudel update <id> [--owner=<owner>] [--labels=<labels>] [--purpose=<purpose>] [--protected] [--unprotected] [--ttl-days=<days>] [--expires-at=<timestamp>] [--clear-expiry]
```

يحدّث البيانات الوصفية. تُحسب `--ttl-days` من الآن. ولا يغيّر محتوى موقع بيئة العزل.

## إتلاف

```bash
wp rudel destroy <id> [--force]
```

يحذف جداول بيئة العزل، ويزيل دليلها وأشجار العمل المرتبطة بها، ويحذف سجلها. يطلب الأمر تأكيدًا؛ ويتجاوز `--force` المطالبة. لا تمنع الحماية تنفيذ `destroy`؛ إذ تُدمّر بيئة العزل المحمية مثل غيرها.

## الحالة

```bash
wp rudel status
```

يطبع جدولًا يتضمن حالة التهيئة وبيئة العزل الحالية ودليل بيئات العزل وعددها وقيم `rudel_config` وما إذا كانت الأتمتة مجدولة. يطبع دائمًا جدولًا ويتجاهل `--format`.

## تنظيف

```bash
wp rudel cleanup [--dry-run] [--max-age-days=<days>] [--max-idle-days=<days>] [--merged]
```

من دون `--merged`، يزيل بيئات العزل غير المحمية التي انتهت صلاحيتها أو تجاوزت حد العمر أو الخمول. يتجاوز `--max-age-days` و`--max-idle-days` القيمة `rudel_config` لهذا التشغيل. ومع `--merged`، يزيل بيئات العزل التي دُمجت فروع أشجار عمل Git المرتبطة بها. تُستثنى بيئات العزل المحمية دائمًا. راجع [التنظيف](https://rudel.inline0.dev/ar/docs/features/cleanup).

## السجلات

```bash
wp rudel logs <id> [--lines=<lines>] [--follow] [--clear]
```

يطبع الأسطر الأخيرة من `debug.log` الخاص ببيئة العزل (50 افتراضيًا). يشغّل `--follow` `tail -f`؛ ويفرغ `--clear` الملف. راجع [تسجيل الأخطاء](https://rudel.inline0.dev/ar/docs/features/logging).

## لقطة

```bash
wp rudel snapshot <id> --name=<name>
```

ينشئ لقطة باسم محدد.

## استعادة

```bash
wp rudel restore <id> --snapshot=<name> [--force]
```

يستعيد لقطة. يطلب الأمر تأكيدًا؛ ويتجاوز `--force` المطالبة. راجع [اللقطات](https://rudel.inline0.dev/ar/docs/features/snapshots).

## قالب

```bash
wp rudel template save <id> --name=<name> [--description=<description>]
wp rudel template list [--format=<table|json|csv|yaml|count>]
wp rudel template delete <name> [--force]
```

يحفظ نسخ القوالب ويسردها ويحذفها. لا ينشئ أي أمر بيئة عزل من قالب محفوظ. راجع [القوالب](https://rudel.inline0.dev/ar/docs/features/templates).

## دفع

```bash
wp rudel push <id> [--git=<remote>] [--dir=<dir>] [--message=<message>]
```

يُجري commit وpush لنسخة عمل داخل دليل بيئة العزل إلى الفرع `rudel/<id>`.

| الخيار | المعنى |
|--------|---------|
| `--git` | مستودع URL البعيد. لا يلزم إلا إذا لم يكن مخزنًا؛ ويُحفظ بعد أول عملية push ناجحة. |
| `--dir` | دليل نسبةً إلى دليل بيئة العزل، مثل `themes/my-theme`. افتراضيًا، يُستخدم دليل النسخة المخزن، أو دليل بيئة العزل بأكمله. |
| `--message` | رسالة الالتزام، والافتراضي `Update from Rudel sandbox`. |

راجع [Git](https://rudel.inline0.dev/ar/docs/features/git).
