Align docs with standalone v2 direction
This commit is contained in:
parent
97989fb282
commit
4eeb1defda
|
|
@ -15,7 +15,7 @@
|
||||||
- [03_Repositories.md](03_Repositories.md) - разбиение на репозитории и назначение каждого.
|
- [03_Repositories.md](03_Repositories.md) - разбиение на репозитории и назначение каждого.
|
||||||
- [04_Plugin_System.md](04_Plugin_System.md) - динамические плагины, manifest, lifecycle, capabilities, settings, permissions.
|
- [04_Plugin_System.md](04_Plugin_System.md) - динамические плагины, manifest, lifecycle, capabilities, settings, permissions.
|
||||||
- [05_Official_Plugins.md](05_Official_Plugins.md) - состав официальных плагинов и их зависимости через capabilities.
|
- [05_Official_Plugins.md](05_Official_Plugins.md) - состав официальных плагинов и их зависимости через capabilities.
|
||||||
- [06_Migration_Strategy.md](06_Migration_Strategy.md) - как переходить от текущего приложения к платформе без потери смысла.
|
- [06_Migration_Strategy.md](06_Migration_Strategy.md) - как развивать Verstak v2 как отдельную платформу без временных мостов к первой версии.
|
||||||
- [AGENTS.md](AGENTS.md) - инструкция для coding agents, чтобы они не возвращали проект к монолиту.
|
- [AGENTS.md](AGENTS.md) - инструкция для coding agents, чтобы они не возвращали проект к монолиту.
|
||||||
|
|
||||||
## Главный архитектурный инвариант
|
## Главный архитектурный инвариант
|
||||||
|
|
@ -33,4 +33,3 @@ Core не знает о конкретных функциях вроде "зам
|
||||||
- UI shell.
|
- UI shell.
|
||||||
|
|
||||||
Все рабочие инструменты поставляются плагинами. Даже официальные плагины должны жить по тем же правилам, что и будущие сторонние.
|
Все рабочие инструменты поставляются плагинами. Даже официальные плагины должны жить по тем же правилам, что и будущие сторонние.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ VerstakVault/
|
||||||
Clients/
|
Clients/
|
||||||
Romashka/
|
Romashka/
|
||||||
Notes/
|
Notes/
|
||||||
Overview.md
|
project-plan.md
|
||||||
Files/
|
Files/
|
||||||
Screenshots/
|
Screenshots/
|
||||||
Projects/
|
Projects/
|
||||||
|
|
@ -274,4 +274,3 @@ Sync не должен знать о внутренних UI-плагинах.
|
||||||
- plugin data через зарегистрированные storage namespaces.
|
- plugin data через зарегистрированные storage namespaces.
|
||||||
|
|
||||||
Плагины должны явно указывать, какие данные можно синхронизировать, а какие локальны только на устройстве.
|
Плагины должны явно указывать, какие данные можно синхронизировать, а какие локальны только на устройстве.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,15 +35,18 @@ search.provider
|
||||||
|
|
||||||
- если есть подходящий editor capability, показывает "Edit";
|
- если есть подходящий editor capability, показывает "Edit";
|
||||||
- если есть viewer/preview capability, показывает "Preview";
|
- если есть viewer/preview capability, показывает "Preview";
|
||||||
- если нет, оставляет "Open externally".
|
- если подходящего provider/capability нет, показывает понятное no-provider
|
||||||
|
состояние; открытие внешним приложением остается отдельной отложенной
|
||||||
|
возможностью.
|
||||||
|
|
||||||
## 2. `official.notes`
|
## 2. `official.notes`
|
||||||
|
|
||||||
Назначение:
|
Назначение:
|
||||||
|
|
||||||
- markdown notes as first-class Verstak entities;
|
- markdown notes as a UI-level context over ordinary Markdown files;
|
||||||
- canonical `Notes/` folder inside case/project;
|
- canonical `Notes/` folder inside case/project;
|
||||||
- Overview note;
|
- `Overview.md` is allowed only as an ordinary Markdown filename, not as a
|
||||||
|
special UI entity;
|
||||||
- note metadata;
|
- note metadata;
|
||||||
- note links.
|
- note links.
|
||||||
|
|
||||||
|
|
@ -51,7 +54,6 @@ Provides:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
workspace.notes
|
workspace.notes
|
||||||
entity.note
|
|
||||||
note.registry
|
note.registry
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -300,4 +302,3 @@ workspace.files
|
||||||
- `official.browser-inbox`;
|
- `official.browser-inbox`;
|
||||||
|
|
||||||
Но все они должны быть настоящими динамическими плагинами, даже если поставляются вместе с приложением.
|
Но все они должны быть настоящими динамическими плагинами, даже если поставляются вместе с приложением.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
# Migration Strategy
|
# Platform Development Strategy
|
||||||
|
|
||||||
## 1. Цель миграции
|
## 1. Цель
|
||||||
|
|
||||||
Нужно перейти от текущего приложения к платформе, не потеряв исходный смысл Верстака:
|
Verstak v2 разрабатывается как отдельное приложение и платформа. Цель -
|
||||||
|
собрать рабочий local-first vault вокруг дел без временных мостов к первой
|
||||||
|
версии:
|
||||||
|
|
||||||
- local-first vault;
|
- local-first vault;
|
||||||
- дела как центр контекста;
|
- дела как центр контекста;
|
||||||
|
|
@ -10,7 +12,8 @@
|
||||||
- заметки, файлы, журнал, активность, браузерные материалы вокруг дела;
|
- заметки, файлы, журнал, активность, браузерные материалы вокруг дела;
|
||||||
- синхронизация и расширение как отдельные части, а не ядро смысла.
|
- синхронизация и расширение как отдельные части, а не ядро смысла.
|
||||||
|
|
||||||
Миграция не должна быть "просто разнести App.svelte". Это смена архитектурной модели.
|
Это не миграция v1 -> v2 и не перенос старого монолита частями. Это развитие
|
||||||
|
самостоятельной платформенной модели.
|
||||||
|
|
||||||
## 2. Нельзя делать
|
## 2. Нельзя делать
|
||||||
|
|
||||||
|
|
@ -18,7 +21,8 @@
|
||||||
- Нельзя делать official plugins скрытыми compile-time modules.
|
- Нельзя делать official plugins скрытыми compile-time modules.
|
||||||
- Нельзя связывать плагины по именам, если нужна capability.
|
- Нельзя связывать плагины по именам, если нужна capability.
|
||||||
- Нельзя делать notes/files/editor обязательными частями core.
|
- Нельзя делать notes/files/editor обязательными частями core.
|
||||||
- Нельзя ломать существующий vault layout без миграционного плана.
|
- Нельзя добавлять временные compatibility bridges к первой версии.
|
||||||
|
- Нельзя менять v2 vault layout без явного плана изменения формата.
|
||||||
- Нельзя хранить секреты как обычные заметки или plain text.
|
- Нельзя хранить секреты как обычные заметки или plain text.
|
||||||
- Нельзя молча менять title/filename note при конфликте.
|
- Нельзя молча менять title/filename note при конфликте.
|
||||||
|
|
||||||
|
|
@ -79,9 +83,9 @@
|
||||||
- падение sidecar переводит плагин в failed;
|
- падение sidecar переводит плагин в failed;
|
||||||
- disable останавливает sidecar.
|
- disable останавливает sidecar.
|
||||||
|
|
||||||
## 6. Этап 4 - Official Plugin Extraction
|
## 6. Этап 4 - Official Plugin Development
|
||||||
|
|
||||||
Выносить функции по одной:
|
Развивать official plugins по одному, через общий plugin runtime:
|
||||||
|
|
||||||
1. `official.markdown-preview`;
|
1. `official.markdown-preview`;
|
||||||
2. `official.markdown-editor`;
|
2. `official.markdown-editor`;
|
||||||
|
|
@ -97,7 +101,8 @@
|
||||||
- проверить Plugin Manager;
|
- проверить Plugin Manager;
|
||||||
- проверить enable/disable;
|
- проверить enable/disable;
|
||||||
- проверить degraded mode при отключении optional plugin;
|
- проверить degraded mode при отключении optional plugin;
|
||||||
- проверить, что старые данные vault открываются;
|
- проверить, что v2 vault остается читаемым и не получает скрытых
|
||||||
|
plugin-specific truth-слоев для пользовательских документов;
|
||||||
- проверить, что UI contributions исчезают при disable.
|
- проверить, что UI contributions исчезают при disable.
|
||||||
|
|
||||||
## 7. Этап 5 - Repository Split
|
## 7. Этап 5 - Repository Split
|
||||||
|
|
@ -123,6 +128,5 @@
|
||||||
- плагин может иметь свое settings окно;
|
- плагин может иметь свое settings окно;
|
||||||
- capability registry управляет видимостью actions;
|
- capability registry управляет видимостью actions;
|
||||||
- отсутствие optional capability не считается ошибкой;
|
- отсутствие optional capability не считается ошибкой;
|
||||||
- existing vault открывается без миграционной потери данных;
|
- v2 vault layout остается стабильным и читаемым без compatibility bridges к v1;
|
||||||
- документация соответствует реализации.
|
- документация соответствует реализации.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ Plugin Manager UI - обязательный core-модуль.
|
||||||
Для notes:
|
Для notes:
|
||||||
|
|
||||||
- canonical folder: `Notes/`;
|
- canonical folder: `Notes/`;
|
||||||
- Overview note: `Notes/Overview.md`;
|
- `Overview.md` is an ordinary Markdown filename when present, not a special UI entity;
|
||||||
- title и filename должны быть синхронизированы;
|
- title и filename должны быть синхронизированы;
|
||||||
- filename строится из title как человекочитаемая безопасная проекция;
|
- filename строится из title как человекочитаемая безопасная проекция;
|
||||||
- при конфликте имени операция не должна молча добавлять `_2`; нужен conflict dialog/suggestion.
|
- при конфликте имени операция не должна молча добавлять `_2`; нужен conflict dialog/suggestion.
|
||||||
|
|
@ -118,4 +118,3 @@ Plugin Manager UI - обязательный core-модуль.
|
||||||
- это contribution point?
|
- это contribution point?
|
||||||
|
|
||||||
Если функция относится к заметкам, файлам, редакторам, просмотру, activity, journal, browser inbox, search, secrets, import/export - по умолчанию это плагин, а не core.
|
Если функция относится к заметкам, файлам, редакторам, просмотру, activity, journal, browser inbox, search, secrets, import/export - по умолчанию это плагин, а не core.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
- [Repositories](03_Repositories.md) — разбиение на репозитории
|
- [Repositories](03_Repositories.md) — разбиение на репозитории
|
||||||
- [Plugin System](04_Plugin_System.md) — динамические плагины
|
- [Plugin System](04_Plugin_System.md) — динамические плагины
|
||||||
- [Official Plugins](05_Official_Plugins.md) — состав официальных плагинов
|
- [Official Plugins](05_Official_Plugins.md) — состав официальных плагинов
|
||||||
- [Migration Strategy](06_Migration_Strategy.md) — план перехода
|
- [Platform Development Strategy](06_Migration_Strategy.md) — план развития v2
|
||||||
|
|
||||||
## Схемы SDK
|
## Схемы SDK
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue