> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kazzle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kazzle CLI

> Jalankan perintah aplikasi yang dihasilkan dengan konteks runtime Kazzle.

# Kazzle CLI

Gunakan Kazzle CLI untuk menjalankan perintah aplikasi **dalam pengembangan dan pratinjau**:

```bash theme={"theme":"material-theme-darker"}
kazzle run -- <command>
```

Semua yang setelah `--` adalah perintah sebenarnya. Kazzle menyuntikkan lingkungan runtime terlebih dahulu.

`kazzle run` hanya untuk pengembangan dan pratinjau. Letakkan di skrip `dev`, jangan di `start`. Dalam produksi, runtime yang diterapkan menyuntikkan `PORT`, `HOST`, dan rahasia secara langsung, dan perintah produksi adalah perintah biasa (misalnya `bun run index.ts`). CLI `kazzle` tidak dipasang di gambar yang diterapkan, jadi perintah produksi yang memanggil `kazzle run` akan gagal dengan `kazzle: command not found`.

## Apa yang disuntikkan `kazzle run`

* rahasia dari entri `env` komponen di `kazzle.config.ts`
* `PORT` dan `HOST`
* URL komponen saudara seperti `KAZZLE_APP_COMPONENT_SERVER_URL`
* identitas runtime Kazzle seperti ID aplikasi dan nama komponen

## Contoh

```json theme={"theme":"material-theme-darker"}
{
  "scripts": {
    "dev": "kazzle run -- bun --watch server/index.ts",
    "start": "bun server/index.ts"
  }
}
```

`dev` berjalan melalui `kazzle run` sehingga Kazzle dapat menyuntikkan port pratinjau dan env runtime. `start` adalah perintah biasa — produksi menyuntikkan `PORT`/`HOST`/rahasia itu sendiri.

Jangan letakkan nama koleksi rahasia di `package.json`. Letakkan di `kazzle.config.ts`.

```ts theme={"theme":"material-theme-darker"}
components: [
  {
    name: 'server',
    type: 'process',
    path: './server/index.ts',
    env: { collection: 'my-app', environment: 'local' },
  },
]
```

## Menautkan checkout ke aplikasi

`kazzle run` perlu tahu aplikasi mana yang dimiliki direktori ini. Urutan resolusi:

1. `--app=<appId>` di baris perintah
2. variabel env `KAZZLE_APP_ID` (diatur secara otomatis saat Kazzle memulai komponen yang diawasi)
3. `.kazzle/link.json` dilacak dari direktori saat ini

Jika tidak ada yang terselesaikan, `kazzle run` keluar dengan:

```
Error: This directory is not linked to a Kazzle app. Run `kazzle link` to fix.
```

`app { create: {} }` menulis `<checkout>/.kazzle/link.json` secara otomatis — seperti `.vercel/project.json` Vercel. File ini per-klon dan diabaikan git. Setelah `git clone` segar dari aplikasi yang ada, jalankan:

```bash theme={"theme":"material-theme-darker"}
kazzle link              # cocokkan direktori saat ini dengan checkout aplikasi space Anda
kazzle link --app=<id>   # paksa aplikasi tertentu
kazzle unlink            # hapus file tautan
```

AI dapat memperbaiki tautan yang hilang dari thread dengan `app { link: { appId } }`.
