chore: cursor agents, rules, hooks and workspace docs

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ivan Fontosh
2026-05-11 22:20:28 +08:00
parent 01cde7476c
commit a58732f78a
25 changed files with 1016 additions and 261 deletions
+37 -19
View File
@@ -2,7 +2,7 @@
**База путей:** репозиторий **`dnd_player/`** (не каталог `cursorAi`).
Связь с **feature-pipeline** (`.cursor/skills/feature-pipeline/SKILL.md`): критерии ниже сгруппированы по стадиям; после merge обновляют `.cursor/pipeline-state.json` по мере прохождения стадий.
Связь с **feature-pipeline** (`.cursor/skills/feature-pipeline/SKILL.md`): критерии ниже сгруппированы по стадиям; после merge обновляют **`.cursor/pipeline-state.json`** по мере прохождения стадий.
---
@@ -16,7 +16,7 @@
---
## Stage 1 — Implementation (subagent: `frontend-senior`)
## Stage 1 — Implementation (subagent: `frontend-developer`)
### Чеклист PR
@@ -39,7 +39,23 @@
---
## Stage 2 — Review (subagent: `reviewer`)
## Stage 2 — UI-автотесты (subagent: `ui-test-developer`)
### Чеклист PR
- [ ] Добавлены или обновлены тесты на **чистую логику** (например, хелпер разметки чипов по `Scene`, если вынесен в `app/shared`).
- [ ] Либо задокументировано в PR, что изменения только презентационные и покрыты smoke-тестом пайплайна.
### Критерии приёмки (Stage 2)
1. Из **`dnd_player/`**: `npm run test` завершается с кодом 0.
2. Новые тесты не flaky, не зависят от Electron UI там, где это не нужно.
**Definition of Done (Stage 2):** `ui_autotests: done` в `.cursor/pipeline-state.json`.
---
## Stage 3 — Code review (subagent: `code-reviewer`)
### Чеклист PR
@@ -47,32 +63,32 @@
- [ ] a11y: фокус/клавиатура на интерактивах не сломаны; `aria-*` не ухудшены.
- [ ] Нет лишнего diff вне файлов задачи.
### Критерии приёмки (Stage 2)
### Критерии приёмки (Stage 3)
1. Reviewer фиксирует замечания с **Severity**; все **high** устранены или явно отклонены с причиной в PR.
1. Ревьювер фиксирует замечания с **критичностью**; все **блокирующие** устранены или явно отклонены с причиной в PR.
2. После правок по review снова выполняется из **`dnd_player/`**: `npm run build`.
**Definition of Done (Stage 2):** review-замечания закрыты; state `review: done`.
**Definition of Done (Stage 3):** `code_review: done` в `.cursor/pipeline-state.json`.
---
## Stage 3Tests (subagent: `unit-tests`)
## Stage 4UI в браузере / Electron (subagent: `ui-tester`)
### Чеклист PR
- [ ] Добавлены или обновлены тесты на **чистую логику** (например, хелпер разметки чипов по `Scene`, если вынесен в `app/shared`).
- [ ] Либо задокументировано в PR, что изменения только презентационные и покрыты smoke-тестом пайплайна.
- [ ] Проверены ключевые сценарии редактора и пульта в **запущенном приложении** (renderer).
- [ ] Состояния загрузки/ошибки/пусто не регрессировали там, где затронуто.
### Критерии приёмки (Stage 3)
### Критерии приёмки (Stage 4)
1. Из **`dnd_player/`**: `npm run test` завершается с кодом 0.
2. Новые тесты не flaky, не зависят от Electron UI.
1. Нет блокирующих/важных визуальных дефектов по чеклисту Stage 1.
2. Зафиксирован краткий отчёт по шаблону `pipeline-execution-template.mdc`.
**Definition of Done (Stage 3):** `tests: done` в `.cursor/pipeline-state.json`.
**Definition of Done (Stage 4):** `ui_browser_verification: done` в `.cursor/pipeline-state.json`.
---
## Stage 4 — Verify (локально / hook `final-verify.cjs`)
## Stage 5 — Verify (локально / hook `final-verify.cjs`)
Выполнить подряд из **`dnd_player/`**:
@@ -91,11 +107,11 @@ npm run test
npm run build
```
### Критерии приёмки (Stage 4)
### Критерии приёмки (Stage 5)
1. Из **`dnd_player/`**: `npm run typecheck`, `npm run test`, `npm run build`**exit 0**.
2. Линт: либо полный `npm run lint`**exit 0**, либо (при известном eol-долге репозитория) scoped-ESLint по файлам PR — **exit 0**, как в блоке выше.
3. Из корня воркспейса (`cursorAi`): `node .cursor/hooks/final-verify.cjs`успешное завершение пайплайна только когда полный `npm run lint` в **`dnd_player/`** зелёный (хук вызывает полный lint; при падении lint хук пишет `followup_message` в stdout).
3. Из корня воркспейса (`cursorAi`): `node .cursor/hooks/final-verify.cjs`при **`verify_repo`: `dnd_player`** (по умолчанию для этого чеклиста): все четыре ключа пайплайна **`done`**, затем в **`dnd_player/`** зелёные `lint` / `typecheck` / `test` (см. **`project.mdc`**).
---
@@ -105,9 +121,11 @@ npm run build
```json
{
"implementation": "done",
"review": "done",
"tests": "done"
"frontend_development": "done",
"ui_autotests": "done",
"code_review": "done",
"ui_browser_verification": "done",
"verify_repo": "dnd_player"
}
```