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

> Kazzle çalışma zamanı bağlamında oluşturulan uygulama komutlarını çalıştırın.

# Kazzle CLI

Kazzle CLI'yi uygulama komutlarını **geliştirme ve önizlemede** çalıştırmak için kullanın:

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

`--` sonrasındaki her şey gerçek komuttur. Kazzle önce çalışma zamanı ortamını enjekte eder.

`kazzle run` yalnızca geliştirme ve önizleme içindir. `dev` betiğine ait olur, asla `start` içine konmaz. Üretimde, dağıtılan çalışma zamanı `PORT`, `HOST` ve sırları doğrudan enjekte eder ve üretim komutu basit komuttur (örn. `bun run index.ts`). `kazzle` CLI dağıtılan görüntülerde yüklü olmadığından, `kazzle run` çağıran bir üretim komutu `kazzle: command not found` hatasıyla çöker.

## `kazzle run` neyi enjekte eder

* bileşenin `kazzle.config.ts` içindeki `env` girişinden gelen sırlar
* `PORT` ve `HOST`
* `KAZZLE_APP_COMPONENT_SERVER_URL` gibi kardeş bileşen URL'leri
* uygulama kimliği ve bileşen adı gibi Kazzle çalışma zamanı kimliği

## Örnek

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

`dev`, Kazzle'nin önizleme portunu ve çalışma zamanı ortamını enjekte edebilmesi için `kazzle run` aracılığıyla çalışır. `start` basit komuttur — üretim `PORT`/`HOST`/sırları kendisi enjekte eder.

Sır koleksiyon adlarını `package.json` içine koymayın. Bunları `kazzle.config.ts` içine koyun.

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

## Bir checkout'u bir uygulamaya bağlama

`kazzle run`, bu dizinin hangi uygulamaya ait olduğunu bilmesi gerekir. Çözümleme sırası:

1. komut satırında `--app=<appId>`
2. `KAZZLE_APP_ID` ortam değişkeni (Kazzle denetlenen bir bileşeni başlattığında otomatik olarak ayarlanır)
3. geçerli dizinden yukarı doğru yürütülen `.kazzle/link.json`

Bunların hiçbiri çözümlenmezse, `kazzle run` şu hatayla çıkar:

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

`app { create: {} }` otomatik olarak `<checkout>/.kazzle/link.json` yazar — Vercel'in `.vercel/project.json` gibi. Dosya her klon için ayrıdır ve gitignore'lanır. Mevcut bir uygulamanın yeni bir `git clone` işleminden sonra şunu çalıştırın:

```bash theme={"theme":"material-theme-darker"}
kazzle link              # geçerli dizini space'inizin uygulama checkout'larıyla eşleştirin
kazzle link --app=<id>   # belirli bir uygulamayı zorla
kazzle unlink            # bağlantı dosyasını silin
```

AI, bir thread'den `app { link: { appId } }` ile eksik bir bağlantıyı onarabilir.
