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

# Yapılandırma

> kazzle.config.ts — uygulama manifestinin tam referansı.

# Yapılandırma

Her Kazzle uygulamasının proje kökünde bir `kazzle.config.ts` dosyası vardır. Bu dosya uygulamanızın içeriğini tanımlar — bileşenler, beceriler ve meta veriler.

## Hızlı başlangıç

```typescript theme={"theme":"material-theme-darker"}
import { defineConfig } from '@kazzle/app';

export default defineConfig({
  components: [
    { name: 'My App', type: 'ui', path: '.' }
  ]
});
```

`defineConfig` yardımcısı TypeScript otomatik tamamlama ve doğrulama sağlar. Türler her şablonda bulunan `@kazzle/app` paketinden gelir.

## Üst düzey alanlar

| Alan           | Tür                          | Gerekli | Açıklama                                                                                                                                                                                 |
| -------------- | ---------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`         | `string`                     | hayır   | Uygulama kataloğunda gösterilen pazarlama adı. Atlanırsa slug'a geri döner.                                                                                                              |
| `subtitle`     | `string`                     | hayır   | Katalogda uygulama adının altında gösterilen kısa tek satırlık etiket (örn. "Kazzle'dan Mac uygulamalarını kontrol edin"). Yayınlamak için gerekli — atlanırsa yayınlama başarısız olur. |
| `version`      | `string`                     | hayır   | Yazar tarafından belirlenen sürüm etiketi (örn. "1.2.0"). Yalnızca görüntüleme amaçlı; yayınlandığında anlık görüntü alınır ve klonlarda çatallanmış sürüm olarak gösterilir.            |
| `icon`         | `string`                     | hayır   | Depo kökü göre uygulama simgesi dosyasının yolu (png, jpg, svg, webp, ico). Yayınlandığında CDN'ye yüklenir.                                                                             |
| `accentColor`  | `string`                     | hayır   | İsteğe bağlı marka vurgu rengi hex dizesi olarak (örn. "#3b82f6"). Uygulama simgesi yongasını ve detay kahramanını tinter. Atlanırsa vurgu simgeden otomatik olarak örneklenir.          |
| `kazzleAuth`   | `"optional"` \| `"required"` | hayır   | Uygulama başlatma yüzeyi için kimlik doğrulama — "optional" (Kazzle kullanıcısı varsa kimlik sağlanır) veya "required" (görüntülemek için oturum açmış Kazzle kullanıcısı olmalı).       |
| `launchUrl`    | `string`                     | hayır   | Uygulamaya tıklandığında Kazzle içinde açılan tam URL, olduğu gibi kullanılır. Atlanırsa başlatma yüzeyi UI bileşeninin dağıtılan önizleme URL'sidir.                                    |
| `webhookUrl`   | `string`                     | hayır   | Kazzle'ın app.installed / app.uninstalled üzerine POST yaptığı yayıncı uç noktası (yükleme anahtarını teslim eder).                                                                      |
| `components`   | object\[]                    | hayır   | Yürütülebilir bileşenler — UI ön uçları veya arka plan işlemleri                                                                                                                         |
| `skills`       | object\[]                    | hayır   | AI beceri tanımları — AI'ın alan bilgisi için okuduğu markdown dosyaları                                                                                                                 |
| `capabilities` | `object`                     | hayır   | Kısayol tuşları, bildirimler ve durum çubuğu varlığı gibi isteğe bağlı masaüstü entegrasyon özellikleri                                                                                  |

## Bileşen alanları

`components[]` içindeki her giriş:

| Alan                   | Tür                      | Gerekli          | Açıklama                                                                            |
| ---------------------- | ------------------------ | ---------------- | ----------------------------------------------------------------------------------- |
| `name`                 | `string`                 | evet             | Uygulama içinde benzersiz bileşen adı                                               |
| `type`                 | `"ui"` \| `"process"`    | evet             | Bileşen türü — ui (maks 1) veya process                                             |
| `path`                 | `string`                 | evet             | Uygulama dizini içinde giriş yolu                                                   |
| `runtime`              | object                   | hayır            | Komutlar ve isteğe bağlı env geçersiz kılmaları: `{ dev?, prod? }`                  |
| `runtime.dev.command`  | `string`                 | hayır            | Dev sunucusunu başlatma komutu (örn. `"bun run dev"`)                               |
| `runtime.dev.env`      | object                   | hayır            | Yalnızca dev env geçersiz kılması. Bileşen `env`'ye geri döner.                     |
| `runtime.prod.command` | `string`                 | hayır            | Üretimde başlatma komutu (örn. `"bun run start"`)                                   |
| `runtime.prod.build`   | `string`                 | hayır            | Üretim için derleme komutu (örn. `"vite build"`)                                    |
| `runtime.prod.env`     | object                   | hayır            | Yalnızca üretim env geçersiz kılması. Bileşen `env`'ye geri döner.                  |
| `schedule`             | `string`                 | hayır            | Process bileşenleri için Cron zamanlaması (örn. `"*/5 * * * *"`)                    |
| `trigger`              | `"webhook"` \| `"event"` | hayır            | Process bileşenleri için tetikleme modu                                             |
| `env`                  | object                   | hayır            | Gizli dizi koleksiyonu + env var enjeksiyonu için ortam                             |
| `env.collection`       | `string`                 | evet (env varsa) | Gizli dizi koleksiyonu slug'u                                                       |
| `env.environment`      | `string`                 | evet (env varsa) | Ortam slug'u                                                                        |
| `env.include`          | `string[]`               | hayır            | Yalnızca bu env var adlarını enjekte et. Atlanırsa koleksiyondan tümünü enjekte et. |

## Beceri alanları

`skills[]` içindeki her giriş:

| Alan   | Tür      | Gerekli | Açıklama                                      |
| ------ | -------- | ------- | --------------------------------------------- |
| `name` | `string` | evet    | Beceri adı                                    |
| `path` | `string` | evet    | Uygulama köküne göre SKILL.md dosyasının yolu |

## Kısıtlamalar

* **Uygulama başına maksimum 1 UI bileşeni**
* Bileşen `name` değerleri uygulama içinde benzersiz olmalıdır

## Şablon örnekleri

### ai app

```typescript theme={"theme":"material-theme-darker"}
import { defineConfig } from '@kazzle/app';

export default defineConfig({
  /** Tek satırlık katalog etiketi. Yayınlamak için gerekli. */
  subtitle: 'My App',
  icon: 'components/ui/public/favicon.svg',
  components: [
    { name: 'ui', type: 'ui', path: './components/ui' },
    { name: 'server', type: 'process', path: './components/server/index.ts', runtime: { dev: { command: 'bun run dev' }, prod: { command: 'bun run start' } } },
  ],
});
```

### ui db app

```typescript theme={"theme":"material-theme-darker"}
import { defineConfig } from '@kazzle/app';

export default defineConfig({
  /** Tek satırlık katalog etiketi. Yayınlamak için gerekli. */
  subtitle: 'My App',
  icon: 'components/ui/public/favicon.svg',
  components: [
    { name: 'ui', type: 'ui', path: './components/ui' },
    { name: 'server', type: 'process', path: './components/server/index.ts', runtime: { dev: { command: 'bun run dev' }, prod: { command: 'bun run start' } } },
  ],
});
```

### ui app

```typescript theme={"theme":"material-theme-darker"}
import { defineConfig } from '@kazzle/app';

export default defineConfig({
  /** Tek satırlık katalog etiketi. Yayınlamak için gerekli. */
  subtitle: 'My App',
  /** Depo köküne göre uygulama simgesi yolu. Yayınlandığında CDN'ye yüklenir. */
  icon: 'components/ui/public/favicon.svg',
  /** Uygulama bileşenleri — her giriş dağıtılabilir bir birimi tanımlar. Maksimum 1 UI bileşeni. */
  components: [
    { name: 'My App', type: 'ui', path: './components/ui' },
  ],
});
```
