После года vibe coding кто-то наконец вышел навести порядок.
Aiden Bai — создатель million.js — и его команда выпустили react-doctor. Слоган прямой: «Your agent writes bad React. This catches it.»
Невежливо, но точно.
Зачем это нужно
Каждый, кто писал React с Claude Code, Cursor или Codex, сталкивался с этим: ИИ генерирует десяток компонентов за раз, они вроде работают, но присмотришься —
useEffect вкладывает useState, половина массива зависимостей пропущена; props передаются через четыре уровня без memo; Tailwind-классы смешивают text-sm и text-xs; обработчики событий пересоздаются при каждом рендере.
ИИ пишет код быстро, но не знает о производительности React.
react-doctor делает именно это: проверка здоровья кода специально для React-кода от ИИ.
Что он обнаруживает
Производительность: ненужные ререндеры, пропущенные оптимизации memo, инлайн-функции, вызывающие повторный рендер дочерних компонентов, неполные массивы зависимостей useEffect.
Структура: слишком глубокое props drilling, использование prop вместо context,不合理ное разделение компонентов.
Tailwind: проверка версии Tailwind, обновлённая за последние два дня.
Как это работает на практике
Проект работает как GitHub Action, интегрированный в CI. Результаты react-doctor видны прямо на PR.
Отличие от ESLint
ESLint + react-hooks plugin уже делают нечто похожее?
Есть пересечение, но позиционирование разное. ESLint — универсальный движок правил. react-doctor фокусируется на типичных паттернах дефектов в коде, сгенерированном ИИ.
Стоит ли использовать
Цифра 7.9k звёзд сама по себе доказывает существование спроса.
Проект ещё на ранней стадии (276 коммитов, 9 тегов), но библиотека правил обнаружения быстро расширяется.
Основные источники: