verstak/docs/06_Roadmap.md

4.4 KiB
Raw Blame History

Верстак — 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ч обновлял витрину”;
  • можно скопировать отчёт клиенту.
  • 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.