
# 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>]
```

Създава пясъчна среда и отпечатва нейния ID.

| Опция | Значение |
|--------|---------|
| `--name` | Четимо за хората име. ID е името плюс четири шестнадесетични знака. По подразбиране е името на хранилището с `--git`, а иначе `sandbox`. |
| `--theme` | Тема за копиране в пясъчната среда. Трябва да е инсталирана на хоста. По подразбиране е активната тема на хоста или темата на изходната пясъчна среда при `--clone-from`. |
| `--clone-from` | Клонира таблиците и темата от съществуваща пясъчна среда вместо от хоста. |
| `--owner`, `--labels`, `--purpose` | Метаданни. Етикетите са разделени със запетаи. |
| `--protected` | Изключва пясъчната среда от почистването. |
| `--ttl-days` | Срок на валидност, изчислен от момента на създаване. |
| `--expires-at` | Изричен времеви печат за изтичане. |
| `--git` | Клонира отдалечено хранилище в директорията на пясъчната среда. Вижте [Git](https://rudel.inline0.dev/bg/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>]
```

Извежда списък с пясъчните среди и техните ID, имена, собственици, защита, срок на валидност, състояние, етикет на шаблона, време на създаване и размер на директорията.

## информация

```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/bg/docs/features/cleanup).

## регистрационни файлове

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

Отпечатва последните редове от `debug.log` на пясъчната среда (по подразбиране 50). `--follow` стартира `tail -f`; `--clear` изпразва файла. Вижте [Регистрационни файлове за грешки](https://rudel.inline0.dev/bg/docs/features/logging).

## снимка

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

Създава именувана снимка на състоянието.

## възстановяване

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

Възстановява снимка на състоянието. Командата иска потвърждение; `--force` пропуска подканата. Вижте [Снимки на състоянието](https://rudel.inline0.dev/bg/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/bg/docs/features/templates).

## изпращане

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

Записва комит и го изпраща от работно копие в директорията на пясъчната среда към клона `rudel/<id>`.

| Опция | Значение |
|--------|---------|
| `--git` | Отдалечено хранилище URL. Нужно е само ако няма запазена стойност; запомня се след първото успешно изпращане. |
| `--dir` | Директория спрямо директорията на пясъчната среда, например `themes/my-theme`. По подразбиране е запазената директория на работното копие, а иначе — цялата директория на пясъчната среда. |
| `--message` | Съобщение за комита; по подразбиране `Update from Rudel sandbox`. |

Вижте [Git](https://rudel.inline0.dev/bg/docs/features/git).
