verstak-desktop/AGENTS.md

94 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
...
```