diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..b47d1a3 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,93 @@ +# AGENTS.md — Verstak Desktop + +## Назначение + +`verstak-desktop` — Core Platform + UI Shell. Это минимальное ядро, которое запускает приложение, управляет плагинами и предоставляет общий интерфейс. **Core не содержит бизнес-функций пользователя.** + +## Главные инварианты + +- Core не импортирует official plugins как обязательные модули. +- Core не содержит notes/files/editor/activity/journal как внутренние фичи. +- Все пользовательские функции приходят через динамические плагины. +- Plugin Manager UI — обязательный компонент core с первого этапа. +- Capability registry и contribution registry — механизмы связи, а не жёсткие импорты. +- Плагины не могут обращаться к Wails backend методам напрямую — только через VerstakPluginAPI. + +## Технологии + +- **Backend:** Go (Wails v2) +- **Frontend:** Svelte (plain JS, без `lang="ts"`) +- **UI Shell:** окно, навигация, command palette, settings, plugin manager, dialogs/toasts + +## Что НЕ входит в core + +- Markdown editor (это плагин) +- File manager (это плагин) +- Notes workflow (это плагин) +- Activity / journal (это плагины) +- Browser inbox (это плагин) +- Search (это плагин) +- Secrets (это плагин) +- Templates (это плагин) + +## Plugin Runtime + +1. Discovery — сканирование plugin directories, чтение plugin.json +2. Validation — проверка schemaVersion, apiVersion, обязательных полей +3. State check — enabled/disabled +4. Capability resolution — проверка requires/optionalRequires +5. Permissions — запрос, отображение пользователю +6. Backend sidecar — launch, если нужен +7. Frontend bundle — загрузка, если есть +8. Registration — capabilities и contributions в registry +9. Status — loaded / degraded / failed / incompatible / missing-required-capability + +## Структура репозитория + +``` +verstak-desktop/ + AGENTS.md + go.mod + main.go + cmd/ + internal/ + core/ + plugin/ + discovery.go + manifest.go + state.go + lifecycle.go + capability/ + registry.go + contribution/ + registry.go + permissions/ + registry.go + events/ + bus.go + settings/ + registry.go + vault/ + api.go + storage/ + api.go + diagnostics/ + api.go + sync/ + boundary.go + shell/ + app/ + navigation/ + window/ + command-palette/ + plugin-manager/ + ui/ + settings/ + dialogs/ + api/ + plugin.go + frontend/ + src/ + wails.json + ... +```