Конфигурация
Каждое приложение Kazzle имеет файлkazzle.config.ts в корне проекта. Этот файл определяет содержимое вашего приложения — компоненты, навыки и метаданные.
Быстрый старт
defineConfig обеспечивает автодополнение TypeScript и валидацию. Типы берутся из kazzle.types.ts, который автоматически генерируется и включается в каждый шаблон.
Поля верхнего уровня
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
icon | string | нет | Путь к файлу иконки приложения относительно корня репозитория (png, jpg, svg, webp, ico). Загружается на CDN при публикации. |
components | object[] | нет | Исполняемые компоненты — интерфейсы пользователя или фоновые процессы |
skills | object[] | нет | Определения ИИ-навыков — файлы markdown, которые ИИ читает для получения знаний в области |
capabilities | object | нет | Опциональные функции интеграции с рабочим столом, такие как горячие клавиши, уведомления и присутствие в строке состояния |
Поля компонента
Каждая запись вcomponents[]:
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
name | string | да | Уникальное имя компонента в приложении |
type | "ui" | "process" | да | Тип компонента — ui (максимум 1) или process |
path | string | да | Путь входа в директории приложения |
runtime | object | нет | Команды: { dev?, build?, run? } |
runtime.dev | string | нет | Команда для запуска dev-сервера (например "bun run dev") |
runtime.build | string | нет | Команда для сборки для production (например "vite build") |
runtime.run | string | нет | Команда для запуска в production (например "bun run start") |
schedule | string | нет | Расписание cron для компонентов процесса (например "*/5 * * * *") |
trigger | "webhook" | "event" | нет | Режим триггера для компонентов процесса |
env | object | нет | Коллекция секретов + окружение для инъекции переменных окружения |
env.collection | string | да (если env) | Slug коллекции секретов |
env.environment | string | да (если env) | Slug окружения |
env.include | string[] | нет | Инъектировать только эти имена переменных окружения. Если опущено, инъектировать все из коллекции+окружения. |
Поля навыка
Каждая запись вskills[]:
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
name | string | да | Имя навыка |
path | string | да | Путь к файлу SKILL.md относительно корня приложения |
Ограничения
- Максимум 1 UI-компонент на приложение
- Значения
nameкомпонентов должны быть уникальны в приложении