Files
CursorAi/AGENTS.md
T
2026-04-24 07:54:46 +08:00

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

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


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

  1. Правила по умолчанию: .cursor/rules/project.mdc (alwaysApply) — future-pipeline: implementation → review → tests → verify для изменений в коде.
  2. Сценарий по шагам: .cursor/skills/feature-pipeline/SKILL.md.
  3. Под-агенты: .cursor/agents/ (frontend-senior, reviewer, unit-tests).
  4. Чеклисты под тип задач: .cursor/pr-checklists/ (пути к файлам кода — от dnd_player/).

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


Что не путать

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

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

  1. Прочитай AGENTS.md (этот файл) и при необходимости WORKSPACE.md.
  2. Определи, в каком из четырёх репозиториев живёт задача.
  3. Для dnd_player после существенных правок прогоняй lint, typecheck, test (и учитывай хук stop).
  4. Соблюдай минимальный diff и существующие паттерны репозитория.