chore: cursor agents, rules, hooks and workspace docs
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+6
-6
@@ -24,21 +24,21 @@
|
||||
## Сборка и проверки
|
||||
|
||||
- **`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/`.
|
||||
- **`project-converter`**: отдельного `build` нет; `npm install`, `npm run dev`. Синтаксис: `node --check` по файлам в `src/`. **`npm run test`** — обязателен после появления скрипта `test` (**вариант A**, см. **`project.mdc`**).
|
||||
- **`DndGamePlayerLicenseServer`**: `npm start` (или `node src/server.mjs`); `node --check` для `src/` и `lib/`. **`npm run test`** — обязателен после появления скрипта `test` (**вариант A**).
|
||||
|
||||
Хук **`stop`** в Cursor (см. `.cursor/hooks.json`) запускает финальную проверку: стадии в `.cursor/pipeline-state.json` и команды **`lint` / `typecheck` / `test`** выполняются в каталоге **`dnd_player`**, если воркспейс открыт из `cursorAi` (см. логику в `.cursor/hooks/final-verify.cjs`). Переопределение пути: переменная окружения **`DND_PLAYER_ROOT`**.
|
||||
Хук **`stop`** (`.cursor/hooks/final-verify.cjs`): читает **`.cursor/pipeline-state.json`**. Если **`verify_repo`** = **`none`** (правки только в **`cursorAi`**), хук **сразу** завершается успехом. Иначе при четырёх **`done`** пайплайна запускает проверки **целевого** репо: **`dnd_player`** — `lint` / `typecheck` / `test`; **`project-converter`** — `npm run lint`, `node --check` по `src/`, обязательный **`npm run test`** (скрипт `test` должен быть в `package.json`); **`DndGamePlayerLicenseServer`** — `node --check` по `src/` и `lib/`, обязательный **`npm run test`**. Переопределение репо для хука: **`VERIFY_REPO`**; корень соседних репозиториев: **`DND_PROJECT_ROOT`**; для плеера: **`DND_PLAYER_ROOT`**.
|
||||
|
||||
---
|
||||
|
||||
## Пайплайн и правила
|
||||
|
||||
- Правила агента по умолчанию: **`.cursor/rules/project.mdc`** (future-pipeline: implementation → review → tests → verify).
|
||||
- Правила агента по умолчанию: **`.cursor/rules/project.mdc`**, порядок этапов: **`agents-pipeline-order.mdc`**, стандарты: **`frontend-agent-core.mdc`**, **`frontend-development-standards.mdc`**, гейты: **`agent-test-gates-mandatory.mdc`**.
|
||||
- Пошаговый сценарий с под-агентами: **`.cursor/skills/feature-pipeline/SKILL.md`**.
|
||||
- Под-агенты: **`.cursor/agents/`** (`frontend-senior`, `reviewer`, `unit-tests`).
|
||||
- Под-агенты: **`.cursor/agents/`** (`frontend-developer`, `ui-test-developer`, `code-reviewer`, `ui-tester`).
|
||||
- PR-чеклисты: **`.cursor/pr-checklists/`** (пути к файлам в чеклистах заданы относительно репозитория **`dnd_player/`**).
|
||||
|
||||
При работе **только** в `project-converter` или `DndGamePlayerLicenseServer` соблюдай смысл пайплайна (минимальный diff, тесты по возможности), а формальные команды `npm run lint` и т.д. из плеера запускай, когда менялся общий контракт или есть смысл прогнать регрессию всего монорепо по смыслу (или по требованию задачи).
|
||||
Для **`project-converter`** и **`DndGamePlayerLicenseServer`** действуют те же требования пайплайна и гейтов, что и для **`dnd_player`** (см. **`project.mdc`**, **`agents-pipeline-order.mdc`**). **Политика тестов — вариант A:** любое изменение поведения в **том же PR** добавляет/обновляет **`npm test`** и сами тесты; откладывать на отдельный эпик нельзя. Запуск проверок из **`dnd_player`** при задаче только в другом репо **не заменяет** verify целевого репозитория.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user