
# 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` | Зрозуміла людині назва. Ідентифікатор складається з назви та чотирьох шістнадцяткових символів. За замовчуванням це назва репозиторію з `--git`, інакше `sandbox`. |
| `--theme` | Тема для копіювання в ізольоване середовище. Її має бути встановлено на хості. За замовчуванням використовується активна тема хоста або тема вихідного ізольованого середовища з `--clone-from`. |
| `--clone-from` | Клонувати таблиці й тему з наявного ізольованого середовища, а не з хоста. |
| `--owner`, `--labels`, `--purpose` | Метадані. Мітки розділяються комами. |
| `--protected` | Не включати ізольоване середовище до очищення. |
| `--ttl-days` | Термін дії відносно часу створення. |
| `--expires-at` | Явна позначка часу завершення дії. |
| `--git` | Клонувати віддалений репозиторій у каталог ізольованого середовища. Див. [GitРепозиторій](https://rudel.inline0.dev/uk/docs/features/git). |
| `--type` | Куди `--git` виконує checkout: `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/uk/docs/features/cleanup).

## журнали

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

Виводить останні рядки журналу ізольованого середовища `debug.log` (типово — 50). `--follow` виконує `tail -f`; `--clear` очищує файл. Див. [Журналювання помилок](https://rudel.inline0.dev/uk/docs/features/logging).

## знімок

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

Створює іменований знімок.

## відновлення

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

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

## надсилання

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

Фіксує зміни й надсилає checkout у каталозі ізольованого середовища до гілки `rudel/<id>`.

| Параметр | Значення |
|--------|---------|
| `--git` | Віддалений URL. Потрібен, лише якщо його не збережено; запам’ятовується після першого успішного надсилання. |
| `--dir` | Каталог відносно каталогу ізольованого середовища, наприклад `themes/my-theme`. Типово використовується збережений каталог checkout, а за його відсутності — весь каталог ізольованого середовища. |
| `--message` | Повідомлення коміту; типове значення — `Update from Rudel sandbox`. |

Див. [GitДовідку](https://rudel.inline0.dev/uk/docs/features/git).
