Frontend build failure root cause:
- Vite 8 uses rolldown with Wails v3 typed-events plugin
- @wailsio/runtime (Wails v3) in frontend dependencies
- vite.config.js had wails('./bindings') plugin from Wails v3 template
- main.js used Svelte 5 mount() API but Svelte 4 required
Fixes:
- Remove @wailsio/runtime dependency
- Remove wails('./bindings') plugin from vite.config.js
- Replace Vite 8 with Vite 5.4.21 + Rollup (stable)
- Downgrade Svelte 5 to Svelte 4.2.19
- Downgrade @sveltejs/vite-plugin-svelte to v3.1.2
- Fix main.js: mount() -> new App({ target })
- Rewrite App.svelte with Wails v2 binding calls (window.go.main.App.*)
- UI: sidebar with sections, nodes, basic navigation
Build: cd frontend && npm run build -> dist/ (476ms)
Build GUI: go build -tags 'gui production webkit2_41' -o verstak-gui ./cmd/verstak-gui
Run: ./verstak-gui (window opens, no SIGSEGV)
|
||
|---|---|---|
| .verstak | ||
| build | ||
| cmd | ||
| contrib/plugins/importer-dokuwiki | ||
| docs | ||
| frontend | ||
| internal | ||
| migrations | ||
| .gitignore | ||
| README.md | ||
| go.mod | ||
| go.sum | ||
README.md
Верстак
Верстак — локальная программа, где по каждому клиенту или проекту лежат все его файлы, заметки, документы, ссылки, действия и история работ.
Это не замечатель, не CRM, не таск-трекер. Нишевая аудитория — люди, у которых работа организована через дела, а не через задачи:
дело → файлы → заметки → документы → действия → история → вернуться через месяц
Для кого
Один продукт — разные входные двери:
| Кто | Как видит Верстак |
|---|---|
| Фрилансер / дизайнер | клиентские проекты, файлы, правки, история работ |
| Мастер по ПК | клиенты, устройства, серийники, фото, журнал |
| Разработчик | локальный workspace: заметки, репы, команды, файлы |
| Писатель / мейкер | мастерская проектов: материалы, заметки, версии, история |
Универсальные сущности
Базовая модель предельно проста — плагины добавляют функционал:
- Дело — контекст для всего остального
- Заметка — Markdown внутри vault
- Файл / Документ — любой файл, привязанный к делу
- Действие — кнопка запуска: URL, файл, папка, команда
- Журнал — записи о затраченном времени
Плагины (шаблоны дел, календарь, канбан, импортёры) расширяют эти сущности без перекомпиляции программы.
Стек
Go + SQLite + Lua (плагины) + Wails + Bubble Tea.
Документация
- Описание продукта: docs/01_Product_Spec.md
- Архитектура: docs/02_Architecture.md
- Плагины: docs/09_Extensibility.md
- План разработки: docs/PLAN.md