verstak/docs/01_Product_Spec.md

195 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Верстак — описание продукта
## 1. Проблема
У фрилансеров, мастеров, разработчиков и мейкеров есть много
разнородной рабочей информации:
- клиентские проекты и переписка;
- договоры, счета, акты;
- заметки и инструкции;
- скриншоты и фото;
- скрипты и конфиги;
- доступы и серийники;
- файлы с правками и версиями.
Проблема не в хранении. Проблема в **контексте**:
- что к чему относится;
- где актуальная версия;
- что было сделано в прошлый раз;
- сколько времени ушло;
- где договор, где заметка, где скрипт.
Обычные инструменты закрывают только кусок: Obsidian — заметки,
CRM — продажи, таймтрекер — время, файловый менеджер — файлы без смысла.
## 2. Что такое Верстак
**Верстак** — local-first рабочий vault, где всё организовано вокруг "дел".
Дело — это контекст, в который складываются заметки, документы,
файлы, действия и история работы.
**Главная формула:**
> Верстак — локальная программа, где по каждому клиенту или проекту
> лежат все его файлы, заметки, документы, ссылки, действия и история работ.
## 3. Аудитория
Верстак нужен людям, у которых работа идёт через **дела**, а не через задачи.
Есть люди, которым нужен таск-трекер (task → done). А есть люди,
которым нужно место, где накапливается контекст по каждому клиенту
или проекту — и всё это доступно через месяц, через год.
### Сегменты
| Сегмент | Зачем Верстак |
|---------|---------------|
| Фрилансер / дизайнер | Клиенты, файлы, правки, история работ, отчёты |
| Мастер по ремонту/ПК | Клиенты, устройства, серийники, фото, журнал |
| Разработчик | Workspace: заметки, репозитории, команды, логи |
| Мейкер / писатель | Проекты: материалы, заметки, версии, история |
| Консультант | Клиенты, документы, журнал времени, отчёты |
## 4. Основные сущности (универсальные)
### Дело
Главный рабочий контекст. Поля: название, тип, родитель,
описание, статус (active / sleeping / archived), теги.
### Заметка
Markdown-файл внутри vault. Резервная копия при перезаписи.
### Файл / Документ
Любой файл, привязанный к делу. Открывается системным приложением.
### Ссылка
Отдельный артефакт дела, а не заметка. Хранит URL, название,
hostname, заметку и дату добавления. Открывается во внешнем браузере
и показывается во вкладке "Ссылки" конкретного дела.
### Действие
Кнопка запуска: URL, файл, папка, команда. Опасные — с подтверждением.
### Журнал работ
Записи о затраченном времени: дата, длительность, описание.
### Активность
Следы работы: открыт файл, изменена заметка, запущено действие.
Используется для восстановления времени.
### Неразобранное
Единый входящий поток. Любой внешний материал — файл, папка,
изображение, URL или текст из drag-and-drop, Ctrl+V или кнопки
"Вставить из буфера" — сначала создаётся как unresolved artifact.
Верстак хранит контекст захвата по `node_id` или системному разделу,
показывает материал в глобальном "Неразобранном" и, если захват был
внутри дела, в локальной вкладке "Неразобранное" этого дела.
При разборе artifact маршрутизируется по типу:
- файл / папка / изображение → "Файлы" выбранного дела;
- текст → "Заметки" выбранного дела;
- URL → "Ссылки" выбранного дела.
## 5. Примеры дерева (универсальные)
```text
Клиенты
ООО Ромашка
Сайт
Документы
Скриншоты
Журнал работ
Проекты
Мой проект
Notes
Assets
dist
Рецепты
Сайты
Backup одной строкой
Очистка кеша
Документы
Счета
Договоры
Серийники
```
## 6. Сценарии (сегмент-agnostic)
### Работа с клиентом
1. Открыть дело клиента.
2. Посмотреть заметки и документы.
3. Открыть связанный URL или папку.
4. Добавить файлы.
5. Записать время.
6. Сформировать отчёт для клиента.
### Личный проект
1. Открыть дело проекта.
2. Нажать "Открыть в IDE".
3. Обновить roadmap-заметку.
4. Записать "на чём остановился".
### Восстановление времени
Пользователь не нажимал таймер, но вечером видит:
```text
Похоже, работа по "Клиенты / Ромашка / Сайт":
14:0517:12, примерно 3ч.
Основания:
- открывался URL админки сайта;
- менялся catalog.xlsx;
- создавались скриншоты.
[Записать 3ч] [Изменить] [Игнорировать]
```
## 7. Расширяемость
Базовые сущности универсальны. Плагины добавляют функционал
без перекомпиляции программы:
- шаблоны дел (клиент, ремонт, проект, рецепт...);
- календарь;
- канбан;
- импортёры (DokuWiki, Obsidian, plain folder);
- интеграции с внешними сервисами.
Подробнее: [docs/09_Extensibility.md](docs/09_Extensibility.md).
## 8. Что не делать в начале
- не делать SaaS;
- не делать multi-user CRM;
- не делать офисный пакет;
- не делать password manager;
- не делать ИИ;
- не делать мобильное приложение;
- не делать сложные права пользователей;
- не делать бухгалтерию.
## 9. Уникальность
Верстак объединяет заметочник, файловый кабинет, лаунчер,
журнал работ и контекст вокруг одного понятия: **дело**.
Плагины делают его адаптируемым под любой сегмент.