Configuração
Todo app Kazzle tem umkazzle.config.ts na raiz do projeto. Este arquivo define o que seu app contém — componentes, skills e metadados.
Início rápido
defineConfig fornece autocompletar e validação do TypeScript. Os tipos vêm de kazzle.types.ts, que é gerado automaticamente e incluído em cada template.
Campos de nível superior
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
icon | string | não | Caminho para o arquivo de ícone do app relativo à raiz do repositório (png, jpg, svg, webp, ico). Enviado para CDN ao publicar. |
components | object[] | não | Componentes executáveis — frontends de UI ou processos em background |
skills | object[] | não | Definições de skill de IA — arquivos markdown que a IA lê para conhecimento de domínio |
capabilities | object | não | Recursos opcionais de integração desktop, como hotkeys, notificações e presença na barra de status |
Campos de componente
Cada entrada emcomponents[]:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | sim | Nome único do componente dentro do app |
type | "ui" | "process" | sim | Tipo de componente — ui (máx 1) ou process |
path | string | sim | Caminho de entrada dentro do diretório do app |
runtime | object | não | Comandos: { dev?, build?, run? } |
runtime.dev | string | não | Comando para iniciar o servidor de desenvolvimento (ex: "bun run dev") |
runtime.build | string | não | Comando para compilar para produção (ex: "vite build") |
runtime.run | string | não | Comando para iniciar em produção (ex: "bun run start") |
schedule | string | não | Agendamento cron para componentes de processo (ex: "*/5 * * * *") |
trigger | "webhook" | "event" | não | Modo de disparo para componentes de processo |
env | object | não | Coleção de secrets + ambiente para injeção de variáveis de ambiente |
env.collection | string | sim (se env) | Slug da coleção de secrets |
env.environment | string | sim (se env) | Slug do ambiente |
env.include | string[] | não | Injetar apenas estes nomes de variáveis de ambiente. Se omitido, injeta todos da coleção+ambiente. |
Campos de skill
Cada entrada emskills[]:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | sim | Nome do skill |
path | string | sim | Caminho para o arquivo SKILL.md relativo à raiz do app |
Restrições
- Máx 1 componente de UI por app
- Os valores de
namedo componente devem ser únicos dentro do app