verstak/docs/07_AI_Coder_Prompts.md

6.7 KiB
Raw Permalink Blame History

Верстак — промпты для ИИ-кодера

Постоянный контекст для ИИ-кодера

Ты работаешь над проектом “Верстак”.

Верстак — local-first рабочий vault для дел, клиентов, проектов, документов, заметок, файлов, действий запуска, журнала работ и синхронизации.

Главные принципы:
- данные принадлежат пользователю;
- заметки и файлы физически лежат обычными файлами в vault;
- SQLite хранит индекс, связи, метаданные, FTS и sync state;
- основная сущность — вложенное дерево nodes;
- GUI, TUI и CLI должны использовать общий core;
- бизнес-логику нельзя завязывать на UI;
- не делать SaaS;
- не делать ИИ;
- не делать password manager в MVP;
- не удалять файлы физически без trash;
- опасные действия требуют подтверждения;
- изменения делать маленькими проверяемыми шагами.

Стек:
- Go;
- SQLite;
- Wails для GUI;
- Bubble Tea для TUI позже;
- fsnotify + snapshot scanner позже;
- sync server позже.

После каждого шага дай:
1. что изменено;
2. как запустить;
3. как проверить;
4. какие файлы затронуты;
5. какие риски остались.

Prompt 01 — Skeleton

Создай skeleton проекта “Верстак”.

Нужно:
- Go module `verstak`;
- структура cmd/internal/migrations;
- CLI `verstak --version`;
- команда `verstak init --vault ./test-vault`;
- SQLite connection;
- migration runner;
- первая миграция.

Acceptance:
- `go test ./...` проходит;
- init создаёт vault и `.verstak/index.db`;
- повторный init безопасен.

Prompt 02 — Nodes

Реализуй универсальное дерево nodes.

Нужно:
- tables nodes, node_meta;
- struct Node;
- repository: Create/Get/ListChildren/UpdateTitle/Move/SoftDelete;
- CLI node create/list/move/delete;
- unit tests.

Правила:
- UUID;
- deleted_at вместо физического удаления;
- безопасный slug.

Prompt 03 — Vault files

Добавь работу с файлами vault.

Нужно:
- `.verstak/trash`;
- files table;
- VaultService;
- copy file into vault;
- link external file;
- open with system app;
- delete-to-trash;
- CLI file add/list/open.

Prompt 04 — Markdown notes

Добавь Markdown-заметки.

Нужно:
- notes table;
- note node type;
- create/read/save note;
- `.md` file inside vault;
- backup previous version before overwrite;
- CLI note create/read/write.

Prompt 05 — Wails GUI MVP

Добавь первый Wails GUI.

Нужно:
- sidebar tree;
- main panel;
- create node;
- create note;
- markdown textarea editor;
- save note;
- file list;
- add file;
- open file.

Главный пользовательский поток:
1. создать дело;
2. создать заметку;
3. сохранить заметку;
4. добавить файл;
5. открыть файл системным приложением.

Prompt 06 — Actions

Добавь actions-кнопки.

Типы:
- open_url;
- open_file;
- open_folder;
- run_command.

Нужно:
- actions table;
- action runner;
- confirm_required;
- action log;
- GUI вкладка “Действия”.

Команды запускать через exec.Command с аргументами. Опасные действия — только после confirm.

Prompt 07 — Worklog

Добавь журнал работ.

Нужно:
- worklog_entries table;
- add/edit/delete entry;
- minutes;
- approximate;
- billable;
- GUI вкладка “Журнал”;
- copy report.

Acceptance:
- можно записать “3ч, обновил витрину”;
- можно скопировать отчёт.
Добавь SQLite FTS5 поиск.

Индексировать:
- node titles;
- note content;
- filenames;
- worklog summaries;
- action titles.

Нужно:
- `verstak index rebuild`;
- GUI search bar;
- search results with type/path.

Prompt 09 — DokuWiki import

Добавь импорт из DokuWiki.

Вход:
- path to `data/pages`;
- optional path to `data/media`;
- target node id.

Нужно:
- namespaces as folders;
- pages as notes;
- originals saved in `.verstak/originals/dokuwiki`;
- basic conversion or raw import.

Prompt 10 — Sync server skeleton

Создай `verstak-server`.

Нужно:
- HTTP server;
- API key auth;
- SQLite server db;
- GET /health;
- POST /sync/push;
- POST /sync/pull;
- POST /blobs/upload;
- GET /blobs/{sha256};
- blob storage by sha256.

Prompt 11 — Sync client MVP

Добавь sync client.

Нужно:
- sync_ops local table;
- операции при изменениях;
- config server URL + API key;
- command `verstak sync`;
- push local ops;
- pull remote ops;
- upload/download blobs;
- conflict copy if unsure.

Prompt 12 — Activity MVP

Добавь минимальный activity tracking.

Источники:
- opened node;
- edited note;
- added file;
- launched action.

Нужно:
- activity_events table;
- экран “Активность”;
- группировка по делу;
- возможность создать worklog из выбранных событий.

Prompt 13 — File scanner/watcher

Добавь file scanner и fsnotify watcher.

Важно:
- scanner — источник правды;
- watcher — ускоритель.

Нужно:
- scan vault tree;
- detect new/changed/missing files;
- update index;
- create activity events;
- manual command `verstak scan`.

Prompt 14 — TUI MVP

Добавь TUI на Bubble Tea.

Функции:
- tree/search;
- open node;
- add worklog;
- run action;
- sync now.

TUI не должен повторять весь GUI.

Prompt 15 — Integrity/restore

Добавь команды:
- `verstak vault check`;
- `verstak vault repair`;
- `verstak restore --server <url> --api-key <key> --target <path>`.

Проверять:
- missing files;
- orphan files;
- SQLite references;
- hash mismatch;
- sync state.