220 lines
4.4 KiB
Markdown
220 lines
4.4 KiB
Markdown
# Верстак — roadmap
|
||
|
||
> **Wails v3 → v2:** The GUI was initially built with Wails v3 but repeatedly hit SIGSEGV on Linux during window close. Downgraded to Wails v2 which is stable. Milestone 4 below reflects the current (desktop) state.
|
||
|
||
## Milestone 0 — Skeleton
|
||
|
||
- Go module;
|
||
- cmd/verstak;
|
||
- cmd/verstak-gui stub;
|
||
- cmd/verstak-server stub;
|
||
- internal/core;
|
||
- SQLite connection;
|
||
- migrations;
|
||
- config;
|
||
- `verstak --version`;
|
||
- `verstak init --vault ./test-vault`.
|
||
|
||
Acceptance:
|
||
|
||
- `go test ./...` проходит;
|
||
- vault создаётся;
|
||
- повторный init безопасен.
|
||
|
||
## Milestone 1 — Nodes
|
||
|
||
- table nodes;
|
||
- node_meta;
|
||
- UUID;
|
||
- Create/Get/ListChildren/Update/Move/SoftDelete;
|
||
- CLI node commands;
|
||
- tests.
|
||
|
||
Acceptance:
|
||
|
||
- можно создать дерево дел;
|
||
- можно переместить узел;
|
||
- delete soft.
|
||
|
||
## Milestone 2 — Vault files
|
||
|
||
- `.verstak/`;
|
||
- config.yml;
|
||
- files table;
|
||
- copy/link file;
|
||
- open file;
|
||
- trash.
|
||
|
||
Acceptance:
|
||
|
||
- файл добавляется в дело;
|
||
- открывается системным приложением;
|
||
- delete moves to trash.
|
||
|
||
## Milestone 3 — Markdown notes
|
||
|
||
- notes table;
|
||
- create/read/save note;
|
||
- `.md` files;
|
||
- version backup;
|
||
- CLI note commands.
|
||
|
||
Acceptance:
|
||
|
||
- заметка редактируется;
|
||
- файл физически лежит в vault;
|
||
- старая версия сохраняется.
|
||
|
||
## Milestone 4 — GUI MVP
|
||
|
||
> **Current state:** the GUI is a Wails v2 desktop app. Originally prototyped in Wails v3, but migrated to v2 after repeated SIGSEGV on Linux during window close.
|
||
|
||
- Wails app;
|
||
- sidebar tree;
|
||
- create node/note;
|
||
- edit note;
|
||
- add/open file;
|
||
- basic settings.
|
||
|
||
Acceptance:
|
||
|
||
- можно пользоваться как маленьким заметочником+файловым кабинетом.
|
||
|
||
## Milestone 5 — Actions
|
||
|
||
- actions table;
|
||
- open_url;
|
||
- open_file;
|
||
- open_folder;
|
||
- run_command;
|
||
- confirmation;
|
||
- action log;
|
||
- GUI Actions tab.
|
||
|
||
Acceptance:
|
||
|
||
- можно запускать Godot/sshkeeper/сайт/папку.
|
||
|
||
## Milestone 6 — Worklog
|
||
|
||
- worklog table;
|
||
- manual entries;
|
||
- minutes;
|
||
- approximate;
|
||
- billable;
|
||
- report copy.
|
||
|
||
Acceptance:
|
||
|
||
- можно записать “3ч обновлял витрину”;
|
||
- можно скопировать отчёт клиенту.
|
||
|
||
## Milestone 7 — Search
|
||
|
||
- FTS5;
|
||
- index nodes/notes/files/worklog/actions;
|
||
- search UI;
|
||
- reindex command.
|
||
|
||
Acceptance:
|
||
|
||
- поиск находит старую инструкцию, файл или запись работ.
|
||
|
||
## Milestone 8 — DokuWiki import
|
||
|
||
- read `data/pages`;
|
||
- read `data/media`;
|
||
- namespaces to folders;
|
||
- pages to notes;
|
||
- originals saved;
|
||
- optional conversion to markdown.
|
||
|
||
Acceptance:
|
||
|
||
- старые заметки переезжают в Верстак.
|
||
|
||
## Milestone 9 — Work folder intake
|
||
|
||
- scan folder;
|
||
- show unassigned folders/files;
|
||
- create case from folder;
|
||
- copy/move/link into vault.
|
||
|
||
Acceptance:
|
||
|
||
- можно постепенно разобрать папку `work`.
|
||
|
||
## Milestone 10 — Sync server MVP (PAUSED)
|
||
|
||
- HTTP server;
|
||
- API key;
|
||
- server db;
|
||
- push/pull ops;
|
||
- blob upload/download;
|
||
- restore manifest.
|
||
|
||
Acceptance:
|
||
|
||
- две машины обмениваются изменениями через сервер.
|
||
|
||
## Milestone 11 — Conflicts and restore
|
||
|
||
- conflict copy;
|
||
- conflict UI;
|
||
- restore from server;
|
||
- retention deleted files;
|
||
- integrity check.
|
||
|
||
Acceptance:
|
||
|
||
- конфликт не теряет данные;
|
||
- можно восстановить vault на новой машине.
|
||
|
||
## Milestone 12 — Activity MVP (PAUSED)
|
||
|
||
- activity events;
|
||
- opened nodes;
|
||
- launched actions;
|
||
- changed files through app;
|
||
- suggestions;
|
||
- evidence.
|
||
|
||
Acceptance:
|
||
|
||
- Верстак предлагает worklog на основе следов.
|
||
|
||
## Milestone 13 — File scanner/watcher (PAUSED)
|
||
|
||
- snapshot scanner;
|
||
- fsnotify watcher;
|
||
- manual scan;
|
||
- changed/missing files;
|
||
- activity events.
|
||
|
||
Acceptance:
|
||
|
||
- изменения файлов снаружи приложения обнаруживаются.
|
||
|
||
## Milestone 14 — TUI MVP (PAUSED)
|
||
|
||
- Bubble Tea;
|
||
- tree/search;
|
||
- add worklog;
|
||
- run action;
|
||
- sync.
|
||
|
||
Acceptance:
|
||
|
||
- можно из терминала быстро работать с Верстаком.
|
||
|
||
## Milestone 15 — 1.0 polish (PAUSED)
|
||
|
||
- installers;
|
||
- backup export;
|
||
- docs;
|
||
- keyboard shortcuts;
|
||
- UI polish;
|
||
- migration safety;
|
||
- crash recovery;
|
||
- tests.
|