--- description: Workspace-wide workflow and conventions (dnd_project) alwaysApply: true --- # DNDGamePlayer / `dnd_project` — правила работы над задачами (future-pipeline) Эти правила применяются **только** когда запрос пользователя требует **изменений в репозитории** (код/конфиги/тесты). Для чисто текстовых задач (описания, маркетинг, переписка) pipeline не запускаем. **Корень воркспейса Cursor** — обычно каталог `cursorAi` с единым `.cursor/`. Исходники плеера — в соседнем репозитории **`dnd_player/`** (см. `WORKSPACE.md`). ## future-pipeline (обязательный порядок) ### 1) Implementation - Прочитать релевантный код (минимум 1 файл), найти реальную причину бага/задачи. - Делать **minimal, review-friendly diff** и следовать текущим паттернам проекта. - Не добавлять зависимости без явной причины. ### 2) Review - Самопроверка изменений: edge-cases, состояние UI (loading/error/empty/disabled), a11y, регрессии. - Если задача нетривиальная: запустить внутренний «строгий ревью» (под-агент reviewer). ### 3) Tests - Обновить/добавить тест(ы), если поведение изменилось или был баг. - Для мелких правок допускается «облегчённый режим» без под-агентов, но тесты всё равно должны проходить там, где они есть. ### 4) Verify (всегда, перед ответом — для **`dnd_player`**) Из каталога **`dnd_player/`** (или через хук из корня воркспейса, см. `.cursor/hooks/final-verify.cjs`): - `npm run lint` - `npm run typecheck` - `npm run test` Если задача касалась **только** `project-converter` или **DndGamePlayerLicenseServer** — выполни адекватную проверку для этого репозитория (`node --check`, локальный прогон) и явно укажи в ответе, что полный набор команд плеера не запускался (если он не нужен по смыслу). Если что-то упало — исправить и повторить до green. ## Команды **`dnd_player`** (справка) Выполнять из **`../dnd_player`** относительно `cursorAi`, либо из корня клонированного `dnd_player`: - install: `npm install` - dev: `npm run dev` - build: `npm run build` - lint: `npm run lint` - typecheck: `npm run typecheck` - test: `npm run test` Полная карта воркспейса: **`WORKSPACE.md`**.