React Doctor — AIが生成したReactコードを静的解析で検証する診断ツール
(github.com/millionco)AIコーディングエージェントが書いたReactコードが本当に正しいのか、誰がレビューしているのでしょうか。React Doctorはまさにこの問いから出発したツールです。npx react-doctor@latest の1行でプロジェクトをスキャンすると、状態管理・副作用・パフォーマンス・セキュリティ・アクセシビリティ・アーキテクチャ全般にわたる診断結果が、0〜100点のスコアとともにターミナルに出力されます。Million.coが開発し、MITライセンスで公開されています。
主な特徴
- AIエージェント連携を明示的にサポートします。
react-doctor installを実行すると、Claude Code、Cursor、Codex、OpenCode など主要なエージェントにスキルを自動登録し、git post-checkout/post-merge フックもインストールします。エージェントが問題を起こし、別のエージェントがそれを修正する構図です。 - oxlintベースの100以上のルールを内蔵しています。 独自の oxlint プラグイン(
oxlint-plugin-react-doctor)にルールを直接実装しており、別途 ESLint ランタイムがなくても高速な解析が可能です。Next.js、TanStack、React Native、Expo など、フレームワーク別のルールプリセットも用意されています。 - React Compilerルールを統合しています。
react-hooks-js/*系のルールを通じて、React Compiler が有効な環境で手動メモ化コードが残っている場合に即座に検出します。 - GitHub Actionsをネイティブにサポートしています。 Marketplace に公開されている公式アクションを追加すると、PRごとにインラインアノテーションとスティッキーコメントで診断結果を残します。
--diffモードを使えば変更されたファイルだけをスキャンし、CI時間を削減できます。 - Effect v4ベースのストリーミングパイプラインです。 スキャンエンジン内部は、Effect ライブラリの依存性注入・タグ付きエラー・ジェネレーター基盤の制御フローで構成されており、linting とデッドコード解析を並列実行します。
- プログラマティックな利用も可能です。
@react-doctor/apiパッケージのdiagnose()関数を通じて、型付けされた診断結果を Node.js コードから直接受け取って処理できます。 - スコア共有機能を提供します。 スキャン結果を
react.doctor/shareに投稿し、チーム内外に共有できます。
差別化ポイント
従来の ESLint ベースの React プラグインでは、ルールを1つずつ開発者が選んで設定する必要があるのに対し、React Doctor はインストール直後から全カテゴリ診断を実行する「監査ツール」として位置付けられています。特に、AIが書いたコードの品質を検証するという利用シナリオを前面に打ち出している点は、目を引く方向性です。
v0.2.4 の Effect v4 への移行、v0.2.7 の並列解析とエージェント検出、そして現在の v0.2.8 まで、短いリリースサイクルが続いています。まだメジャーバージョンには達していないため API が変わる余地はありますが、開発速度とカバレッジ拡大の傾向は一貫しています。AIコード生成が日常化した環境で、コードベース品質の最後の関門を担うことを目指すツールとして注目に値します。
1件のコメント
bunxでも動いたので、開発中のプロジェクトで使ってみたのですが、エラーや警告をものすごくたくさん検出してくれます。その大半はあまり重要ではない内容ですが、見落としていたエラーをいくつか見つけてくれたおかげで、一度は試してみる価値のあるツールだと思います。