
# CLI

Rudel mendaftarkan perintahnya di bawah `wp rudel`. WP-CLI menolak opsi yang tidak dicantumkan untuk suatu perintah di sini dengan `unknown --<name> parameter`.

Anda dapat mengganti nama perintah root untuk penggunaan tertanam dengan mendefinisikan `RUDEL_CLI_COMMAND` di `wp-config.php` sebelum plugin dimuat.

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

Itu mengubah `wp rudel create` menjadi `wp sandbox create`. Perilaku perintah tidak berubah.

Secara default, perintah dijalankan terhadap host. Untuk menjalankan perintah WP-CLI lainnya di dalam sandbox, tetapkan `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>]
```

Membuat sandbox dan mencetak ID-nya.

| Opsi | Arti |
|--------|---------|
| `--name` | Nama yang mudah dibaca. ID terdiri dari nama ditambah empat karakter heksadesimal. Secara default menggunakan nama repositori dengan `--git`, atau `sandbox`. |
| `--theme` | Tema yang akan disalin ke sandbox. Harus terpasang di host. Secara default menggunakan tema aktif host, atau tema sandbox sumber dengan `--clone-from`. |
| `--clone-from` | Mengkloning tabel dan tema dari sandbox yang sudah ada sebagai pengganti host. |
| `--owner`, `--labels`, `--purpose` | Metadata. Label dipisahkan dengan koma. |
| `--protected` | Mengecualikan sandbox dari pembersihan. |
| `--ttl-days` | Masa kedaluwarsa relatif terhadap waktu pembuatan. |
| `--expires-at` | Stempel waktu kedaluwarsa eksplisit. |
| `--git` | Mengkloning repositori jarak jauh ke direktori sandbox. Lihat [Git](https://rudel.inline0.dev/id/docs/features/git). |
| `--type` | Lokasi checkout `--git`: `theme` (default) atau `plugin`. |
| `--template` | Label yang disimpan pada catatan, default `blank`. Label ini tidak memuat templat tersimpan. |

`--clone-db`, `--clone-themes`, `--clone-plugins`, `--clone-uploads`, `--clone-all`, `--shared-plugins`, dan `--shared-uploads` sudah usang. Opsi tersebut hanya mengubah pesan progres: setiap sandbox mengkloning tabel, menyalin satu tema, serta berbagi plugin dan unggahan.

Perintah berakhir dengan petunjuk untuk `cd` ke direktori sandbox dan menjalankan `wp post list`. Perintah itu berjalan terhadap host, karena `wp-cli.yml` di direktori sandbox mengarah ke URL host. Gunakan `RUDEL_ENVIRONMENT` sebagai gantinya.

## list

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

Mencantumkan sandbox beserta ID, nama, pemilik, perlindungan, masa berlaku, status, label templat, waktu pembuatan, dan ukuran direktori.

## info

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

Menampilkan satu catatan sandbox, termasuk prefiks tabel, tema, label, metadata kloning, URL, dan jalur konten.

## update

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

Memperbarui metadata. `--ttl-days` menghitung dari waktu sekarang. Tidak mengubah konten situs sandbox.

## destroy

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

Menghapus tabel sandbox, direktori dan worktree tertautnya, lalu menghapus catatannya. Perintah meminta konfirmasi; `--force` melewati permintaan tersebut. Perlindungan tidak menghalangi `destroy`: sandbox yang dilindungi dihancurkan seperti sandbox lainnya.

## status

```bash
wp rudel status
```

Mencetak tabel berisi status bootstrap, sandbox saat ini, direktori sandbox, jumlah sandbox, nilai `rudel_config`, dan apakah otomasi dijadwalkan. Perintah selalu mencetak tabel dan mengabaikan `--format`.

## cleanup

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

Tanpa `--merged`, menghapus sandbox yang tidak dilindungi dan telah kedaluwarsa, atau yang lebih lama dari batas usia maupun tidak aktif lebih lama dari batas waktu tidak aktif. `--max-age-days` dan `--max-idle-days` mengganti `rudel_config` untuk proses ini. Dengan `--merged`, menghapus sandbox yang cabang worktree Git tertautnya telah digabung. Sandbox yang dilindungi selalu dilewati. Lihat [Pembersihan](https://rudel.inline0.dev/id/docs/features/cleanup).

## logs

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

Mencetak baris terakhir `debug.log` sandbox (default 50). `--follow` menjalankan `tail -f`; `--clear` mengosongkan berkas. Lihat [Pencatatan Kesalahan](https://rudel.inline0.dev/id/docs/features/logging).

## snapshot

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

Membuat snapshot bernama.

## restore

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

Memulihkan snapshot. Perintah meminta konfirmasi; `--force` melewati permintaan tersebut. Lihat [Snapshot](https://rudel.inline0.dev/id/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]
```

Menyimpan, mencantumkan, dan menghapus salinan templat. Tidak ada perintah yang membuat sandbox dari templat tersimpan. Lihat [Templat](https://rudel.inline0.dev/id/docs/features/templates).

## push

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

Melakukan commit dan push checkout di dalam direktori sandbox ke cabang `rudel/<id>`.

| Opsi | Arti |
|--------|---------|
| `--git` | Remote URL. Hanya diperlukan jika belum tersimpan; akan diingat setelah push pertama yang berhasil. |
| `--dir` | Direktori relatif terhadap direktori sandbox, misalnya `themes/my-theme`. Secara default menggunakan direktori checkout tersimpan, atau seluruh direktori sandbox. |
| `--message` | Pesan commit, default `Update from Rudel sandbox`. |

Lihat [Git](https://rudel.inline0.dev/id/docs/features/git).
