Configurazione
Ogni app Kazzle ha unkazzle.config.ts nella radice del progetto. Questo file definisce cosa contiene la tua app — componenti, skill e metadati.
Avvio rapido
defineConfig fornisce autocompletamento e validazione TypeScript. I tipi provengono da kazzle.types.ts, che viene generato automaticamente e incluso in ogni template.
Campi di primo livello
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
icon | string | no | Percorso del file icona dell’app relativo alla radice del repository (png, jpg, svg, webp, ico). Caricato su CDN al momento della pubblicazione. |
components | object[] | no | Componenti eseguibili — frontend UI o processi in background |
skills | object[] | no | Definizioni di skill IA — file markdown che l’IA legge per la conoscenza del dominio |
capabilities | object | no | Funzionalità opzionali di integrazione desktop come hotkey, notifiche e presenza nella barra di stato |
Campi dei componenti
Ogni voce incomponents[]:
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | sì | Nome univoco del componente all’interno dell’app |
type | "ui" | "process" | sì | Tipo di componente — ui (max 1) o process |
path | string | sì | Percorso di ingresso all’interno della directory dell’app |
runtime | object | no | Comandi: { dev?, build?, run? } |
runtime.dev | string | no | Comando per avviare il dev server (es. "bun run dev") |
runtime.build | string | no | Comando per compilare per la produzione (es. "vite build") |
runtime.run | string | no | Comando per avviare in produzione (es. "bun run start") |
schedule | string | no | Schedule cron per componenti process (es. "*/5 * * * *") |
trigger | "webhook" | "event" | no | Modalità di trigger per componenti process |
env | object | no | Raccolta di segreti + ambiente per l’iniezione di variabili d’ambiente |
env.collection | string | sì (se env) | Slug della raccolta di segreti |
env.environment | string | sì (se env) | Slug dell’ambiente |
env.include | string[] | no | Inietta solo questi nomi di variabili d’ambiente. Se omesso, inietta tutti dalla raccolta+ambiente. |
Campi delle skill
Ogni voce inskills[]:
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
name | string | sì | Nome della skill |
path | string | sì | Percorso del file SKILL.md relativo alla radice dell’app |
Vincoli
- Max 1 componente UI per app
- I valori di
namedei componenti devono essere univoci all’interno dell’app