Konfiguration
Jede Kazzle-App hat einekazzle.config.ts im Projektstammverzeichnis. Diese Datei definiert, was deine App enthält — Komponenten, Skills und Metadaten.
Schnelleinstieg
defineConfig-Helper bietet TypeScript-Autovervollständigung und Validierung. Die Typen stammen aus kazzle.types.ts, die automatisch generiert und in jeder Vorlage enthalten sind.
Felder auf oberster Ebene
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
icon | string | nein | Pfad zur App-Symboldatei relativ zum Repo-Stammverzeichnis (png, jpg, svg, webp, ico). Wird beim Veröffentlichen ins CDN hochgeladen. |
components | object[] | nein | Ausführbare Komponenten — UI-Frontends oder Hintergrundprozesse |
skills | object[] | nein | KI-Skill-Definitionen — Markdown-Dateien, die die KI für Domänenwissen liest |
capabilities | object | nein | Optionale Desktop-Integrationsfunktionen wie Hotkeys, Benachrichtigungen und Statusleistenpräsenz |
Komponentenfelder
Jeder Eintrag incomponents[]:
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | string | ja | Eindeutiger Komponentenname innerhalb der App |
type | "ui" | "process" | ja | Komponententyp — ui (max. 1) oder process |
path | string | ja | Einstiegspfad im App-Verzeichnis |
runtime | object | nein | Befehle: { dev?, build?, run? } |
runtime.dev | string | nein | Befehl zum Starten des Dev-Servers (z. B. "bun run dev") |
runtime.build | string | nein | Befehl zum Erstellen für die Produktion (z. B. "vite build") |
runtime.run | string | nein | Befehl zum Starten in der Produktion (z. B. "bun run start") |
schedule | string | nein | Cron-Zeitplan für Prozesskomponenten (z. B. "*/5 * * * *") |
trigger | "webhook" | "event" | nein | Triggermodus für Prozesskomponenten |
env | object | nein | Geheimnissammlung + Umgebung für Umgebungsvariablen-Injektion |
env.collection | string | ja (falls env) | Geheimnissammlung-Slug |
env.environment | string | ja (falls env) | Umgebungs-Slug |
env.include | string[] | nein | Nur diese Umgebungsvariablennamen injizieren. Falls weggelassen, alle aus der Sammlung+Umgebung injizieren. |
Skill-Felder
Jeder Eintrag inskills[]:
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | string | ja | Skill-Name |
path | string | ja | Pfad zur SKILL.md-Datei relativ zum App-Stammverzeichnis |
Einschränkungen
- Max. 1 UI-Komponente pro App
name-Werte von Komponenten müssen innerhalb der App eindeutig sein