7.1 KiB
Official Plugins
Официальные плагины - это базовый набор инструментов Верстака. Они не должны быть скрытыми частями core. Их задача - показать, что платформа действительно работает через capabilities и contribution points.
1. official.files
Назначение:
- дерево/список файлов внутри дела;
- добавление файлов;
- перемещение/копирование в vault;
- открытие системным приложением;
- file metadata;
- file actions registry consumer.
Provides:
workspace.files
vault.files
entity.file
file.browser
Optional requires:
editor.text
viewer.file
preview.file
search.provider
Поведение:
- если есть подходящий editor capability, показывает "Edit";
- если есть viewer/preview capability, показывает "Preview";
- если подходящего provider/capability нет, показывает понятное no-provider состояние; открытие внешним приложением остается отдельной отложенной возможностью.
2. official.notes
Назначение:
- markdown notes as a UI-level context over ordinary Markdown files;
- canonical
Notes/folder inside case/project; Overview.mdis allowed only as an ordinary Markdown filename, not as a special UI entity;- note metadata;
- note links.
Provides:
workspace.notes
note.registry
Requires:
vault.files
Optional requires:
editor.text.markdown
preview.markdown
search.provider
Важное правило:
- title и filename должны оставаться синхронизированными;
- filename - человекочитаемая проекция title;
- при конфликте имени не добавлять
_2молча, а показывать понятный conflict dialog.
3. official.markdown-editor
Назначение:
- редактирование markdown/text;
- toolbar;
- save flow;
- dirty state;
- keyboard shortcuts.
Provides:
editor.text
editor.text.markdown
editor.note.markdown
Optional requires:
link.resolver
Не должен:
- сам решать, где хранятся notes;
- напрямую зависеть от
official.notes; - тащить file manager внутрь себя.
Markdown preview is part of the Markdown editor surface. There is no separate
official Markdown preview plugin, because a standalone view provider would
compete with the editor routing for .md / .markdown files.
4. official.file-preview
Назначение:
- metadata view for image files until binary streaming exists;
Open Externalaction throughapi.files.openExternal.
Provides:
viewer.file
viewer.image
preview.file
Текущий статус: базовый verstak.file-preview implemented as a view-only
provider for image metadata. Text-like files, code, and Markdown stay with
editor plugins.
5. official.activity
Назначение:
- сбор activity events;
- отображение истории;
- реконструкция работы;
- подсказки для worklog.
Provides:
activity.log
activity.provider
activity.reconstruction
Subscribes:
file.opened
file.changed
note.saved
action.started
browser.capture.received
case.selected
Текущий статус: базовый verstak.activity implemented as both a global sidebar
view and a workspace item. It also contributes activityProviders, stores
public plugin events in plugin-scoped settings, subscribes to
file/note/browser/case activity events, and exposes a manual record/clear smoke
path. Reconstruction and worklog suggestions are still future work.
6. official.journal
Назначение:
- ручной журнал работ;
- billable/non-billable;
- отчеты по делу/клиенту;
- принятие suggested time из activity.
Provides:
worklog
journal
report.worklog
Optional requires:
activity.reconstruction
7. official.browser-inbox
Назначение:
- прием ссылок, выделенного текста, страниц и snippets из browser extension;
- pending queue;
- привязка доменов к делам;
- создание inbox entries;
- превращение inbox entry в note/link/file/activity.
Provides:
capture.browser
browser.inbox
domain.binding
Requires:
network.local
Optional requires:
workspace.notes
activity.log
search.provider
Текущий статус: базовый verstak.browser-inbox implemented as both a global
sidebar view and a workspace item. It keeps a plugin-scoped pending queue for
browser capture events. Pairing, domain binding, and conversion into
notes/links/files/activity are still future work.
9. official.search
Назначение:
- workspace-scoped search UI;
- baseline recursive text search through public Files API;
- search provider contribution for platform discovery;
- index notes/files/activity/worklog later;
- typo/layout tolerant search later.
Provides:
search
search.provider
search.indexer
Текущий статус: базовый verstak.search implemented as a workspace item and
searchProviders contribution. It searches as the user types, matches vault
file/folder names and paths, scans text-like file contents through
api.files.list / api.files.readText, and opens file results through
Workbench. Persistent indexing and cross-provider runtime hosting are still
future work.
10. official.secrets
Назначение:
- защищенное хранилище клиентских доступов;
- SSH/CMS/VPS/database/API secrets;
- bridge secret, sync token, device private key, pairing token;
- permissions for secret access.
Provides:
secret-store
secrets.read-ui
secrets.write-ui
Важное правило:
- секреты не должны храниться как обычный markdown/plain text;
- доступ к secret-store должен идти через permissions;
- плагины не получают
secrets.readавтоматически.
11. official.templates
Назначение:
- шаблоны дел;
- client/project/server/device structures;
- initial folder/note/action layout.
Provides:
case.templates
Optional requires:
workspace.notes
workspace.files
12. Первый минимальный набор
Для первого платформенного этапа достаточно:
official.files;official.notes;official.markdown-editor;official.file-preview;official.activity;official.browser-inbox;
Но все они должны быть настоящими динамическими плагинами, даже если поставляются вместе с приложением.