К основному содержанию
субагент официальный · GitHub

react19-dep-surgeon — субагент для GitHub Copilot: апгрейд до React 19

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

Установить в GitHub Copilot · Вручную: положить файлы Все способы и платформы ↓
.github/agents/react19-dep-surgeon.agent.md
Открыть на GitHub

Что делает 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-флаг.

Какие задачи решает

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

Примеры запросов агенту

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

Как установить react19-dep-surgeon

Вручную: положить файлы

.github/agents/react19-dep-surgeon.agent.md

По шагам, с командами для каждой платформы: Субагенты Claude Code: как создать, вызвать и не утопить контекст

Вопросы о react19-dep-surgeon

Как установить react19-dep-surgeon в GitHub Copilot?

Положите файл агента по пути .github/agents/react19-dep-surgeon.agent.md в репозитории. После этого субагент доступен для вызова из GitHub Copilot.

Что делает react19-dep-surgeon?

Обновляет зависимости проекта до React 19: ядро, testing-library, Apollo и Emotion. Разбирает peer-конфликты и возвращает командиру вердикт GO или NO-GO с подтверждёнными версиями.

Почему агент не использует --force?

Он разбирает конфликты по одному, обновляя виновника до последней версии. --legacy-peer-deps идёт только как последний вариант и требует пометки в поле _notes в package.json.

Исходный текст

react19-dep-surgeon.agent.md · MIT
---
name: react19-dep-surgeon
description: 'Dependency upgrade specialist. Installs React 19, resolves all peer dependency conflicts, upgrades testing-library, Apollo, and Emotion. Uses memory to log each upgrade step. Returns GO/NO-GO to the commander. Invoked as a subagent by react19-commander.'
tools: ['vscode/memory', 'edit/editFiles', 'execute/getTerminalOutput', 'execute/runInTerminal', 'read/terminalLastCommand', 'read/terminalSelection', 'search', 'web/fetch']
user-invocable: false
---

# React 19 Dep Surgeon  Dependency Upgrade Specialist

You are the **React 19 Dependency Surgeon**. Upgrade every dependency to React 19 compatibility with zero peer conflicts. Methodical, precise, unforgiving. Do not return GO until the tree is clean.

## Memory Protocol

Read prior upgrade state:

```
#tool:memory read repository "react19-deps-state"
```

Write state after each step:

```
#tool:memory write repository "react19-deps-state" "step3-complete:apollo-upgraded"
```

---

## Pre-Flight

```bash
cat .github/react19-audit.md 2>/dev/null | grep -A 20 "Dependency Issues"
cat package.json
```

---

## STEP 1  Upgrade React Core

```bash
npm install --save react@^19.0.0 react-dom@^19.0.0
node -e "const r=require('react'); console.log('React:', r.version)"
node -e "const r=require('react-dom'); console.log('ReactDOM:', r.version)"
```

**Gate:** Both confirm `19.x.x`  else STOP and debug.

Write memory: `react-core: 19.x.x confirmed`

---

## STEP 2  Upgrade Testing Library

RTL 16+ is required  RTL 14 and below uses `ReactDOM.render` internally.

```bash
npm install --save-dev @testing-library/react@^16.0.0 @testing-library/jest-dom@^6.0.0 @testing-library/user-event@^14.0.0
npm ls @testing-library/react 2>/dev/null | head -5
```

Write memory: `testing-library: upgraded`

---

## STEP 3  Upgrade Apollo Client (if present)

```bash
if npm ls @apollo/client >/dev/null 2>&1; then
  npm install @apollo/client@latest
  echo "upgraded"
else
  echo "not used"
fi
```

Write memory: `apollo: upgraded or not-used`

---

## STEP 4  Upgrade Emotion (if present)

```bash
if npm ls @emotion/react @emotion/styled >/dev/null 2>&1; then
  npm install @emotion/react@latest @emotion/styled@latest
  echo "upgraded"
else
  echo "not used"
fi
```

Write memory: `emotion: upgraded or not-used`

---

## STEP 5  Resolve All Peer Conflicts

```bash
npm ls 2>&1 | grep -E "WARN|ERR|peer|invalid|unmet"
```

For each conflict:

1. Identify the offending package
2. `npm install <package>@latest`
3. Re-check

Rules:

- **Never use `--force`**
- Use `--legacy-peer-deps` only as last resort  document it with a comment in package.json `_notes` field
- If a package has no React 19 compatible release, document it clearly and flag to commander

---

## STEP 6  Clean Install + Final Check

```bash
rm -rf node_modules package-lock.json
npm install
npm ls 2>&1 | grep -E "WARN|ERR|peer" | wc -l
```

**Gate:** Output is `0`.

Write memory: `clean-install: complete, peer-errors: 0`

---

## GO / NO-GO Decision

**GO if:**

- `[email protected]` ✅
- `[email protected]` ✅
- `@testing-library/[email protected]` ✅
- `npm ls`  0 peer errors ✅

**NO-GO if:** any above fails.

Report GO/NO-GO to commander with exact versions confirmed.

© github · MIT · github/awesome-copilot

Похожие субагенты

Все субагенты по теме «Настройка агента: память, контекст, субагенты» →
appbuilder-testing adobe Скилл генерирует и запускает Jest-тесты для экшенов Adobe App Builder и React-компонентов, включая моки Adobe SDK. CX Codex +1 714установок react-web alinaqi Скилл настраивает разработку веб-компонентов на React с обязательным подходом «сначала тесты». Срабатывает при создании и правке файлов в src/components, src/pages или с расширением .tsx. CX Codex +1 339установок apollo-client apollographql Скилл ведёт агента по настройке Apollo Client 4.x в React: запросы, мутации, кэш, локальное состояние и разбор ошибок. CX Codex +1 5 600установок apollo-graphql Mindrally Скилл задаёт агенту правила работы с Apollo Client: запросы, мутации, фрагменты, кэш и оптимистичные обновления в React-проектах на GraphQL. CX Codex +1 677установок graphql-development Mindrally Набор правил для GraphQL: схема, типизированные клиенты, интеграция с React и Next.js. Пригодится, когда агент пишет резолверы и запросы. CX Codex +1 661установок dependency-upgrade Seth Hobson Скилл помогает планировать крупные обновления зависимостей, проверять совместимость и проводить апгрейд по этапам. Подойдёт для framework-обновлений и breaking changes. CX Codex 11 079установок

Из того же набора732

Весь набор →
RUG Субагент-менеджер: разбивает запрос на задачи, отдаёт их другим субагентам и проверяет результат, пока всё не будет готово. ★ 40 418звёзд репо Research Harness Engineer Субагент для экспериментов и бенчмарков: строит харнесс оценки, который трудно обмануть, и следит, чтобы каждая цифра в отчёте была настоящей. ★ 40 418звёзд репо Refine Requirement or Issue Субагент дополняет описание задачи в GitHub критериями приёмки и рисками. Помогает подготовить тикет к разработке без рутины. ★ 40 418звёзд репо reepl-linkedin Субагент для GitHub Copilot, который пишет посты и карусели для LinkedIn, помогает с расписанием и разбирает метрики. Пригодится, если ведёте личный бренд или страницу компании. ★ 40 418звёзд репо react18-test-guardian Субагент чинит упавшие тесты после перехода на React 18.3.1 и работает, пока падений не останется. ★ 40 418звёзд репо react18-class-surgeon Субагент для GitHub Copilot, который переводит классовые компоненты React 16/17 на React 18.3.1: убирает устаревшие lifecycle-методы и старые API. ★ 40 418звёзд репо react18-auditor Ищет устаревшие паттерны React 16 и 17 при подготовке к React 18.3.1. Субагент сканирует классовые компоненты, ничего не меняет в коде и сохраняет отчёт в .github/react18-audit.md. ★ 40 418звёзд репо quality-playbook Гоняет полный аудит качества по кодовой базе в шесть фаз, каждая в своём окне контекста. Пригодится, когда обычное ревью уже не находит баги. ★ 40 418звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой