docs: add AGENTS.md with platform architecture rules
This commit is contained in:
parent
65531ec50b
commit
08f7328d87
|
|
@ -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
|
||||||
|
...
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue