Files
CursorAi/AGENTS.md
T
2026-05-11 22:20:28 +08:00

6.2 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 и т.д. (отдельного production build в package.json может не быть).
  • ЛицензииDndGamePlayerLicenseServer: npm start, переменные окружения см. README там и в клиенте.

Хук Cursor stop (.cursor/hooks/final-verify.cjs) после четырёх этапов в pipeline-state.json гоняет lint / typecheck / test в каталоге dnd_player (поиск корня: DND_PLAYER_ROOT или соседний ../dnd_player).


Как мы работаем (кратко)

  1. Правила по умолчанию: .cursor/rules/project.mdc (alwaysApply) — пайплайн и verify для изменений в коде; детали этапов: agents-pipeline-order.mdc, стандарты в frontend-*.mdc и agent-*.mdc.
  2. Сценарий по шагам: .cursor/skills/feature-pipeline/SKILL.md.
  3. Под-агенты: .cursor/agents/ (frontend-developer, ui-test-developer, code-reviewer, ui-tester).
  4. Чеклисты под тип задач: .cursor/pr-checklists/ (пути к файлам кода — от dnd_player/).

Подробности путей на диске, сборки и junction: WORKSPACE.md.


Что не путать

  • cursorAi — не приложение; это точка сборки правил и документации для всей «песочницы» репозиториев. Обязательный 4-этапный пайплайн к нему не применяется; для хука stop при работе только здесь — verify_repo: none.
  • project-converter — не часть npm run build основного плеера; отдельный продукт/утилита.
  • Контракт лицензии: публичный ключ в клиенте и приватный/сервер в DndGamePlayerLicenseServer должны соответствовать друг другу (см. README сервера).

Итог для новой сессии

  1. Прочитай AGENTS.md (этот файл) и при необходимости WORKSPACE.md.
  2. Определи, в каком из репозиториев живёт задача (dnd_player, project-converter, DndGamePlayerLicenseServer, cursorAi).
  3. Для кода приложений: полный пайплайн и хук stop; в pipeline-state.json выставь verify_repo на целевой репо (none — только правки в cursorAi, тогда хук не гоняет npm в других репо). Для dnd_player — также lint, typecheck, test; планируется i18n ru/en (отдельная задача).
  4. Соблюдай минимальный diff и существующие паттерны репозитория.