
# CLI

Rudel rejestruje swoje polecenia pod `wp rudel`. WP-CLI odrzuca opcję, której polecenie nie wymienia tutaj, zgłaszając `unknown --<name> parameter`.

Możesz zmienić nazwę polecenia głównego na potrzeby użycia osadzonego, definiując `RUDEL_CLI_COMMAND` w `wp-config.php` przed wczytaniem wtyczki.

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

Zmienia to `wp rudel create` na `wp sandbox create`. Działanie polecenia się nie zmienia.

Domyślnie polecenia działają na hoście. Aby uruchomić dowolne inne polecenie WP-CLI w piaskownicy, ustaw `RUDEL_ENVIRONMENT`:

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

## create

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

Tworzy piaskownicę i wyświetla jej identyfikator.

| Opcja | Znaczenie |
|--------|---------|
| `--name` | Czytelna dla człowieka nazwa. Identyfikator składa się z nazwy i czterech znaków szesnastkowych. Domyślnie jest to nazwa repozytorium z `--git`, a w przeciwnym razie `sandbox`. |
| `--theme` | Motyw do skopiowania do piaskownicy. Musi być zainstalowany na hoście. Domyślnie jest to aktywny motyw hosta lub motyw piaskownicy źródłowej z `--clone-from`. |
| `--clone-from` | Klonuje tabele i motyw z istniejącej piaskownicy zamiast z hosta. |
| `--owner`, `--labels`, `--purpose` | Metadane. Etykiety należy oddzielić przecinkami. |
| `--protected` | Wyklucza piaskownicę z czyszczenia. |
| `--ttl-days` | Czas wygaśnięcia liczony od chwili utworzenia. |
| `--expires-at` | Jawny znacznik czasu wygaśnięcia. |
| `--git` | Klonuje zdalne repozytorium do katalogu piaskownicy. Zobacz [Git](https://rudel.inline0.dev/pl/docs/features/git). |
| `--type` | Ścieżka, pod którą `--git` tworzy kopię: `theme` (domyślnie) lub `plugin`. |
| `--template` | Etykieta zapisana w rekordzie; domyślnie `blank`. Nie wczytuje zapisanego szablonu. |

`--clone-db`, `--clone-themes`, `--clone-plugins`, `--clone-uploads`, `--clone-all`, `--shared-plugins` i `--shared-uploads` są przestarzałe. Zmieniają jedynie komunikaty o postępie: każda piaskownica klonuje tabele, kopiuje jeden motyw oraz współdzieli wtyczki i przesłane pliki.

Polecenie kończy się wskazówką, aby `cd` do katalogu piaskownicy i uruchomić `wp post list`. To działa na hoście, ponieważ `wp-cli.yml` w katalogu piaskownicy wskazuje na hosta URL. Zamiast tego użyj `RUDEL_ENVIRONMENT`.

## list

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

Wyświetla piaskownice wraz z ich identyfikatorem, nazwą, właścicielem, ochroną, terminem wygaśnięcia, statusem, etykietą szablonu, czasem utworzenia i rozmiarem katalogu.

## info

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

Wyświetla rekord jednej piaskownicy, w tym prefiks tabel, motyw, etykiety, metadane klonowania, URL i ścieżkę zawartości.

## update

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

Aktualizuje metadane. `--ttl-days` odlicza czas od teraz. Nie zmienia zawartości witryny w piaskownicy.

## destroy

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

Usuwa tabele piaskownicy, jej katalog i powiązane drzewa robocze, a także kasuje jej rekord. Polecenie prosi o potwierdzenie; `--force` pomija ten monit. Ochrona nie blokuje `destroy`: chroniona piaskownica jest usuwana tak samo jak każda inna.

## status

```bash
wp rudel status
```

Wyświetla tabelę ze stanem inicjalizacji, bieżącą piaskownicą, katalogiem piaskownic, ich liczbą, wartościami `rudel_config` oraz informacją, czy zaplanowano automatyzację. Zawsze wyświetla tabelę i ignoruje `--format`.

## cleanup

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

Bez `--merged` usuwa niechronione piaskownice, których termin wygaśnięcia minął, które przekroczyły limit wieku lub były nieaktywne dłużej niż wynosi limit bezczynności. `--max-age-days` i `--max-idle-days` zastępują `rudel_config` na czas tego uruchomienia. Z `--merged` usuwa piaskownice, których powiązane gałęzie drzew roboczych Git zostały scalone. Chronione piaskownice są zawsze pomijane. Zobacz [Czyszczenie](https://rudel.inline0.dev/pl/docs/features/cleanup).

## logs

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

Wyświetla ostatnie wiersze dziennika piaskownicy `debug.log` (domyślnie 50). `--follow` wykonuje `tail -f`; `--clear` czyści plik. Zobacz [Rejestrowanie błędów](https://rudel.inline0.dev/pl/docs/features/logging).

## snapshot

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

Tworzy nazwany zrzut.

## restore

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

Przywraca zrzut. Polecenie prosi o potwierdzenie; `--force` pomija ten monit. Zobacz [Zrzuty](https://rudel.inline0.dev/pl/docs/features/snapshots).

## template

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

Zapisuje, wyświetla i usuwa kopie szablonów. Żadne polecenie nie tworzy piaskownicy z zapisanego szablonu. Zobacz [Szablony](https://rudel.inline0.dev/pl/docs/features/templates).

## push

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

Zatwierdza zmiany i wypycha je z katalogu roboczego w katalogu piaskownicy do gałęzi `rudel/<id>`.

| Opcja | Znaczenie |
|--------|---------|
| `--git` | Zdalne repozytorium URL. Wymagane tylko wtedy, gdy nie zapisano żadnego; zapamiętywane po pierwszym udanym wypchnięciu. |
| `--dir` | Katalog względem katalogu piaskownicy, na przykład `themes/my-theme`. Domyślnie zapisany katalog roboczy, a w przeciwnym razie cały katalog piaskownicy. |
| `--message` | Komunikat zatwierdzenia, domyślnie `Update from Rudel sandbox`. |

Zobacz [Git](https://rudel.inline0.dev/pl/docs/features/git).
