# react19-dep-surgeon

Ведёт зависимости проекта до React 19 по шагам: ставит ядро, обновляет testing-library, Apollo и Emotion, разбирает peer-конфликты и отдаёт вердикт GO/NO-GO.

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

## Что делает

Субагент вызывается командой `react19-commander`, сам по себе он не запускается. Работа идёт по шести шагам: сначала `react@^19.0.0` и `react-dom@^19.0.0` с проверкой версии через `node -e`, потом `@testing-library/react@^16.0.0` вместе с `jest-dom` и `user-event`. Apollo и Emotion обновляются только если они есть в проекте — проверка идёт через `npm ls`.

Каждый шаг пишется в память репозитория под ключом `react19-deps-state`, поэтому после сбоя можно прочитать, где остановились. На шаге с конфликтами агент ищет их через `npm ls` и обновляет виновника до последней версии. `--force` он не использует, а `--legacy-peer-deps` оставляет на крайний случай и требует пометить это в поле `_notes` в `package.json`.

Финальная проверка — снести `node_modules` и `package-lock.json`, поставить всё заново и посчитать строки с ошибками peer-зависимостей. Ноль — это GO, любая ошибка — NO-GO. Если у пакета нет релиза под React 19, агент это фиксирует и передаёт командиру: такой проект до GO не дойдёт, пока вы не найдёте замену или не согласитесь на legacy-флаг.

## Установка

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

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

### Claude Code

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

### Codex

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

### Cursor

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

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

## Когда брать
- поднять React и react-dom до 19 без ручного перебора версий
- обновить @testing-library/react до 16, чтобы тесты не падали на ReactDOM.render
- разобрать peer-конфликты в дереве зависимостей
- обновить Apollo Client и Emotion, если они есть в проекте
- получить чистый npm ls без предупреждений после переустановки

## Примеры запросов агенту
- запусти субагента react19-dep-surgeon и обнови зависимости до React 19
- проверь peer-конфликты после апгрейда и покажи, что осталось
- прочитай состояние апгрейда из памяти репозитория и продолжи с последнего шага

## Похожие
- [dependency-upgrade](https://affpapa.org/nevibecode/skills/dependency-upgrade.md) — скилл · 11079 установок
- [frontend-developer](https://affpapa.org/nevibecode/agents/voltagent-community-frontend-developer.md) — субагент · 40905 установок
- [dx-optimizer](https://affpapa.org/nevibecode/agents/dx-optimizer.md) — субагент · 1198 установок
- [mlops-engineer](https://affpapa.org/nevibecode/agents/voltagent-community-mlops-engineer.md) — субагент · 1009 установок
- [postgres-pro](https://affpapa.org/nevibecode/agents/postgres-pro.md) — субагент · 897 установок
- [agent-installer](https://affpapa.org/nevibecode/agents/agent-installer.md) — субагент · 363 установки
- [embedded-systems](https://affpapa.org/nevibecode/agents/embedded-systems.md) — субагент · 279 установок

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

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

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