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

4.8 KiB
Raw Blame History

Воркспейс dnd_project (корень: cursorAi)

Этот каталог — единая точка входа в Cursor для всей экосистемы DNDGamePlayer: общие правила, агенты, пайплайн и чеклисты лежат в .cursor/ здесь, а не в отдельных репозиториях.

Родительская папка на диске: D:\Work\my_projects\dnd_project (рядом с cursorAi лежат остальные репозитории).

Каталог dnd_player/.cursor на Windows — это junction (символическая связь каталога) на cursorAi/.cursor: один источник правил и хуков, без дублирования. Клонировать репозитории лучше в соседние папки с тем же относительным расположением; после клона только dnd_player junction нужно создать заново (или держать .cursor только в cursorAi и не коммитить его в dnd_player).


Репозитории

Каталог Репозиторий Назначение
cursorAi воркспейс Cursor Документация (этот файл), единые настройки .cursor/. Отдельного приложения нет.
../dnd_player DNDGamePlayer Electron: редактор и проигрыватель игр (React, Pixi.js, .dnd.zip, лицензирование). Основной код и полный CI-набор: lint, typecheck, test, build.
../project-converter dnd-project-converter Утилита: конвертация .dnd.zip, добавление превью сцен (WebP). Свой package.json, отдельный Electron-пакет.
../DndGamePlayerLicenseServer dndgameplayer-license-server HTTP-сервис лицензий (Ed25519, активация, отзыв). Node ≥20, без npm-зависимостей в манифесте.

Связь клиента и сервера лицензий описана в README сервера и в коде плеера (bundledPublicKey и переменные окружения).


Сборка и проверки

  • dnd_player: из каталога репозитория — npm install, npm run dev, npm run build, npm run lint, npm run typecheck, npm run test.
  • project-converter: отдельного build нет; npm install, npm run dev. Синтаксис: node --check по файлам в src/.
  • DndGamePlayerLicenseServer: npm start (или node src/server.mjs); синтаксис: node --check для src/ и lib/.

Хук stop в Cursor (см. .cursor/hooks.json) запускает финальную проверку: стадии в .cursor/pipeline-state.json и команды lint / typecheck / test выполняются в каталоге dnd_player, если воркспейс открыт из cursorAi (см. логику в .cursor/hooks/final-verify.cjs). Переопределение пути: переменная окружения DND_PLAYER_ROOT.


Пайплайн и правила

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

При работе только в project-converter или DndGamePlayerLicenseServer соблюдай смысл пайплайна (минимальный diff, тесты по возможности), а формальные команды npm run lint и т.д. из плеера запускай, когда менялся общий контракт или есть смысл прогнать регрессию всего монорепо по смыслу (или по требованию задачи).


Multi-root в Cursor (по желанию)

Чтобы видеть все папки в одном окне, можно добавить в файл *.code-workspace блок folders с путями к cursorAi, dnd_player, project-converter, DndGamePlayerLicenseServer. Корнем с правилами остаётся папка, где лежит актуальный .cursor/ (рекомендуется cursorAi).