Made-with: Cursor
5.5 KiB
Контекст для агента (прочитать в начале сессии)
Этот файл лежит в репозитории cursorAi — канонический корень воркспейса Cursor для экосистемы DNDGamePlayer. Правила, хуки и под-агенты: .cursor/ в этом же репозитории (у dnd_player каталог .cursor — это junction сюда, см. WORKSPACE.md).
Над чем мы работаем
DNDGamePlayer — десктопное приложение (Electron): редактор и проигрыватель настольных сценариев/игр в формате проекта .dnd.zip (граф сцен, медиа, превью, эффекты, лицензирование и т.д.). Цель команды — развивать клиент, утилиты и сервер лицензий как связанный продукт, а не разрозненные скрипты.
Карта репозиториев (одна родительская папка на диске)
На машине разработчика все репозитории обычно лежат рядом в каталоге вроде …/dnd_project/. Относительно cursorAi/:
Путь от cursorAi |
Назначение |
|---|---|
../dnd_player |
Основной код DNDGamePlayer (Electron + React + TypeScript + Vite, Pixi.js, Sharp, ffmpeg-static и др.). Сюда уходит большинство задач по UI, логике игры, IPC, пакетам проектов. |
../project-converter |
Отдельное Electron-приложение: миграция/конвертация .dnd.zip (добавление превью сцен WebP и правки project.json). Не входит в артефакт сборки плеера. |
../DndGamePlayerLicenseServer |
HTTP-сервис лицензий для плеера (ключ → подписанный токен Ed25519, админ-эндпоинты, статус для клиента). Node (без тяжёлых зависимостей в package.json). |
cursorAi (текущий репо) |
Документация воркспейса, AGENTS.md, WORKSPACE.md, единый .cursor/ (правила, MCP-напоминания, пайплайн, агенты, хук verify). |
Удалённые копии (Gitea, пример): CursorAi, DndGamePlayer, GameConverter, DndGamePlayerLicenseServer под пользователем ifontosh на git.mailib.ru — актуальные URL смотри в git remote каждого репозитория.
Где по умолчанию править код
- Фичи, баги, UI, тесты плеера → репозиторий
dnd_player, команды из его корня:npm run dev,npm run build,npm run lint,npm run typecheck,npm run test. - Конвертер проектов →
project-converter:npm run devи т.д. (отдельного productionbuildвpackage.jsonможет не быть). - Лицензии →
DndGamePlayerLicenseServer:npm start, переменные окружения см. README там и в клиенте.
Хук Cursor stop (.cursor/hooks/final-verify.cjs) при полном пайплайне гоняет lint / typecheck / test в каталоге dnd_player (поиск корня: DND_PLAYER_ROOT или соседний ../dnd_player).
Как мы работаем (кратко)
- Правила по умолчанию:
.cursor/rules/project.mdc(alwaysApply) — future-pipeline: implementation → review → tests → verify для изменений в коде. - Сценарий по шагам:
.cursor/skills/feature-pipeline/SKILL.md. - Под-агенты:
.cursor/agents/(frontend-senior,reviewer,unit-tests). - Чеклисты под тип задач:
.cursor/pr-checklists/(пути к файлам кода — отdnd_player/).
Подробности путей на диске, сборки и junction: WORKSPACE.md.
Что не путать
cursorAi— не приложение; это точка сборки правил и документации для всей «песочницы» репозиториев.project-converter— не частьnpm run buildосновного плеера; отдельный продукт/утилита.- Контракт лицензии: публичный ключ в клиенте и приватный/сервер в
DndGamePlayerLicenseServerдолжны соответствовать друг другу (см. README сервера).
Итог для новой сессии
- Прочитай
AGENTS.md(этот файл) и при необходимостиWORKSPACE.md. - Определи, в каком из четырёх репозиториев живёт задача.
- Для
dnd_playerпосле существенных правок прогоняй lint, typecheck, test (и учитывай хукstop). - Соблюдай минимальный diff и существующие паттерны репозитория.