docs: add AGENTS.md with platform architecture rules
This commit is contained in:
parent
e3e48a9333
commit
622fcf6625
|
|
@ -0,0 +1,95 @@
|
|||
# AGENTS.md — Verstak SDK
|
||||
|
||||
## Назначение
|
||||
|
||||
`verstak-sdk` — общие контракты для разработки плагинов. Содержит схемы манифестов, TypeScript SDK, RPC протокол, capability contracts, event schemas и инструменты сборки.
|
||||
|
||||
## Состав
|
||||
|
||||
```
|
||||
verstak-sdk/
|
||||
AGENTS.md
|
||||
schemas/
|
||||
manifest.json — JSON Schema для plugin.json
|
||||
capabilities.json — реестр известных capability names
|
||||
contributions.json — contribution points схема
|
||||
permissions.json — permissions схема
|
||||
events/ — event schemas
|
||||
browser.json
|
||||
vault.json
|
||||
lifecycle.json
|
||||
sync.json — sync operation schemas
|
||||
src/
|
||||
plugin-api.ts — VerstakPluginAPI (frontend runtime)
|
||||
types.ts — TypeScript types для manifest, capabilities, etc.
|
||||
rpc.ts — RPC client для sidecar
|
||||
test-utils.ts — test helpers
|
||||
examples/
|
||||
minimal-plugin/
|
||||
package.json
|
||||
tsconfig.json
|
||||
```
|
||||
|
||||
## Правила
|
||||
|
||||
- Схемы — source of truth. TypeScript типы генерируются из JSON Schema.
|
||||
- SDK не должен зависеть от конкретных плагинов.
|
||||
- VerstakPluginAPI — единственный способ для frontend плагина общаться с core.
|
||||
- RPC протокол должен быть языково-нейтральным.
|
||||
- Новые capability names регистрируются в schemas/capabilities.json.
|
||||
|
||||
## Capability Registry (известные)
|
||||
|
||||
```
|
||||
editor.text
|
||||
editor.text.markdown
|
||||
editor.note.markdown
|
||||
viewer.file
|
||||
viewer.image
|
||||
viewer.text
|
||||
preview.markdown
|
||||
preview.file
|
||||
workspace.files
|
||||
workspace.notes
|
||||
vault.files
|
||||
entity.file
|
||||
entity.note
|
||||
note.registry
|
||||
file.browser
|
||||
activity.log
|
||||
activity.provider
|
||||
activity.reconstruction
|
||||
worklog
|
||||
journal
|
||||
report.worklog
|
||||
capture.browser
|
||||
browser.inbox
|
||||
domain.binding
|
||||
search
|
||||
search.provider
|
||||
search.indexer
|
||||
secret-store
|
||||
secrets.read-ui
|
||||
secrets.write-ui
|
||||
case.templates
|
||||
link.resolver
|
||||
```
|
||||
|
||||
## Contribution Points
|
||||
|
||||
```
|
||||
sidebar.items
|
||||
main.views
|
||||
case.tabs
|
||||
file.actions
|
||||
note.actions
|
||||
context.menu
|
||||
commands
|
||||
settings.panels
|
||||
search.providers
|
||||
activity.providers
|
||||
status.bar.items
|
||||
importers
|
||||
exporters
|
||||
protocol.receivers
|
||||
```
|
||||
Loading…
Reference in New Issue