React Doctor — un outil de diagnostic qui vérifie par analyse statique le code React généré par l’IA
(github.com/millionco)Qui vérifie réellement que le code React écrit par un agent de codage IA est correct ? React Doctor est un outil né précisément de cette question. Avec une seule commande, npx react-doctor@latest, il scanne un projet et affiche dans le terminal les résultats du diagnostic sur l’ensemble de la gestion d’état, des effets de bord, des performances, de la sécurité, de l’accessibilité et de l’architecture, accompagnés d’un score de 0 à 100. Il est développé par Million.co et publié sous licence MIT.
Caractéristiques principales
- Prend explicitement en charge l’intégration avec les agents IA. En exécutant
react-doctor install, l’outil enregistre automatiquement des skills pour les principaux agents comme Claude Code, Cursor, Codex et OpenCode, et installe aussi des hooks git post-checkout/post-merge. Une structure où un agent crée des problèmes, et un autre les corrige aussitôt. - Intègre plus de 100 règles basées sur oxlint. Les règles sont implémentées directement dans son propre plugin oxlint (
oxlint-plugin-react-doctor), ce qui permet une analyse rapide sans runtime ESLint séparé. Des presets de règles spécifiques sont aussi prévus pour des frameworks comme Next.js, TanStack, React Native et Expo. - Intègre les règles de React Compiler. Grâce aux règles de la famille
react-hooks-js/*, il détecte immédiatement les cas où du code de mémorisation manuelle subsiste dans un environnement où React Compiler est activé. - Prise en charge native de GitHub Actions. En ajoutant l’action officielle publiée sur la Marketplace, les résultats du diagnostic sont laissés sur chaque PR sous forme d’annotations inline et de sticky comments. Le mode
--diffpermet de ne scanner que les fichiers modifiés afin de réduire le temps de CI. - Pipeline de streaming fondé sur Effect v4. Le moteur de scan interne est structuré avec l’injection de dépendances, les tagged errors et un flux de contrôle basé sur des générateurs de la bibliothèque Effect, tout en exécutant en parallèle le linting et l’analyse du code mort.
- Approche programmatique également possible. Via la fonction
diagnose()du package@react-doctor/api, il est possible de recevoir directement des résultats de diagnostic typés dans du code Node.js et de les traiter. - Propose une fonction de partage des scores. Les résultats du scan peuvent être publiés sur
react.doctor/sharepour être partagés avec l’équipe ou à l’extérieur.
Éléments différenciants
Alors que les plugins React traditionnels basés sur ESLint demandent aux développeurs de sélectionner et configurer chaque règle une par une, React Doctor se positionne comme un « outil d’audit » qui lance un diagnostic de toutes les catégories dès l’installation. Il est particulièrement notable par le fait qu’il met au premier plan un scénario d’usage consistant à vérifier la qualité du code écrit par l’IA.
Après la migration vers Effect v4 en v0.2.4, l’analyse parallèle et la détection d’agents en v0.2.7, le projet continue d’enchaîner des cycles de publication courts jusqu’à l’actuelle v0.2.8. Comme il n’a pas encore atteint une version majeure, l’API peut encore évoluer, mais le rythme de développement et la tendance à l’extension de la couverture restent constants. Dans un environnement où la génération de code par IA devient courante, c’est un outil à suivre comme dernier poste de contrôle de la qualité d’une base de code.
1 commentaires
Comme ça fonctionnait aussi avec
bunx, je l’ai essayé sur un projet en cours de développement, et il détecte énormément d’erreurs et d’avertissements.La plupart ne sont pas très significatifs, mais comme il m’a permis d’identifier quelques erreurs qui m’avaient échappé, je pense que c’est un outil qui vaut le coup d’être testé au moins une fois.