# react19-test-guardian

Субагент обновляет тесты до совместимости с React 19 и перезапускает npm test до полного устранения ошибок. Вызывается агентом react19-commander.

- субагент · `type=agent` · GitHub Copilot · ★ 40451
- Автор: github · официальный репозиторий GitHub
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/github/awesome-copilot/tree/HEAD/agents/react19-test-guardian.agent.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/agents/react19-test-guardian

## Что делает

Субагент находит тестовые файлы проекта и устраняет несовместимости с React 19 по списку из `.github/react19-audit.md`. Он заменяет удалённые экспорты `react-dom/test-utils` на вызовы из `react` и `@testing-library/react`, правит вызовы `Simulate` на `fireEvent`, обновляет ожидания счётчиков шпионов из-за изменений в StrictMode и оборачивает асинхронные обновления в `act()`.

Для контроля прогресса субагент ведёт контрольные точки в памяти через `vscode/memory`. После правки каждого файла он записывает статус, а после прогона сьюта фиксирует число оставшихся ошибок. Если сессия прервётся, он возобновляет работу с сохранённого шага.

Субагент не вызывается пользователем напрямую: флаг `user-invocable: false` передаёт управление координатору `react19-commander`. При этом субагенту запрещено удалять тесты или глушить их через `.skip`. Если тест не удаётся починить за 3 попытки, он вносит проблему в раздел «Blocked Tests» отчёта.

## Установка

### GitHub Copilot (родная платформа)

**Вручную: положить файлы**
- Файл: `.github/agents/react19-test-guardian.agent.md`

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/agents/react19-test-guardian.md` — Для всех проектов — ~/.claude/agents/. Claude делегирует задачу сам по полю description или по @-упоминанию. Поле tools у Copilot перечисляет инструменты по-своему — уберите его или перепишите под Claude Code

### Codex

**Вручную: положить файлы**
- Файл: `.codex/agents/react19-test-guardian.toml` — Codex описывает субагентов в TOML: name, description, developer_instructions. Текст из Markdown перенесите в developer_instructions вручную. Для всех проектов — ~/.codex/agents/

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/agents/react19-test-guardian.md` — Cursor понимает и .claude/agents/

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/github/awesome-copilot/tree/HEAD/agents/react19-test-guardian.agent.md

## Когда брать
- заменить импорты `act` и `Simulate` из устаревшего `react-dom/test-utils`
- скорректировать проверки вызовов функций после отключения повторных эффектов в StrictMode
- обернуть асинхронные обновления состояния в `await act(...)`
- переписать устаревшие хелперы рендеринга на `@testing-library/react`

## Примеры запросов агенту
- Проверь упавшие тесты после обновления до React 19 и исправь их
- Передай задачу react19-test-guardian, чтобы обновить тестовый сьют под React 19
- Запусти миграцию тестов на React 19 до нуля ошибок в npm test

## Похожие
- [test-generate](https://affpapa.org/nevibecode/commands/test-generate.md) — команда · ★ 41823
- [javascript-testing-patterns](https://affpapa.org/nevibecode/skills/javascript-testing-patterns.md) — скилл · 20472 установки
- [code-reviewer](https://affpapa.org/nevibecode/agents/anthropic-code-reviewer.md) — субагент · 31050 установок
- [code-reviewer](https://affpapa.org/nevibecode/agents/code-reviewer.md) — субагент · 31050 установок
- [test-engineer](https://affpapa.org/nevibecode/agents/test-engineer.md) — субагент · 9715 установок
- [code-reviewer](https://affpapa.org/nevibecode/agents/voltagent-community-code-reviewer.md) — субагент · 31050 установок
- [fullstack-developer](https://affpapa.org/nevibecode/agents/fullstack-developer.md) — субагент · 18117 установок
- [prompt-engineer](https://affpapa.org/nevibecode/agents/voltagent-community-prompt-engineer.md) — субагент · 16078 установок

Из того же набора: [github/awesome-copilot](https://affpapa.org/nevibecode/by/github/awesome-copilot.md) — 949 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
