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