react-doctor 是什么?

React Doctor 是 Million.js 团队做的 React 代码体检工具:一条 npx react-doctor 扫描代码库,输出 0-100 健康分 + 可执行诊断,覆盖 state & effects、性能、架构、安全、可访问性五维,规则按框架(Next.js/Vite/React Native)和 React 版本自动开关;还能 react-doctor install 把 React 最佳实践教给 Claude Code/Cursor/Codex 等 50+ agent,让它们一开始就别写烂代码,并提供 GitHub Action(CI/PR 阻断)和 eslint/oxlint 插件。

⭐ 13,302 Stars 🍴 423 Forks TypeScript MIT 作者: millionco 商业引流:低
来源:README 首段 + Install + Install for your coding agent 查看 GitHub 仓库 →

为什么值得关注

AI agent 写 React 又快又多,但常写出有 state/effect 误用、性能反模式、架构问题的「烂 React」,人工 review 跟不上。React Doctor 用「医生」思路解决:一条命令给代码库打 0-100 健康分并列出跨五个维度的具体问题(75+ 优秀 / 50-74 需改进 / <50 危急),规则按你的框架和 React 版本自动适配。它三管齐下——既是诊断工具(扫描评分)、又是 agent 教育 skill(react-doctor install 把最佳实践装进 50+ agent 让它们少写烂代码)、还是 CI 关卡(GitHub Action + 退出码做 PR 阻断 + diff/staged 模式)。背靠 Million.js / React Scan 团队(Aiden Bai,React 性能领域知名)的专业积累,10.5K★ 反映「在 AI 写 React 时代守住代码质量」的真实需求。

来源:README 首段 / Install for coding agent / GitHub Actions

核心功能

0-100 健康分 + 五维诊断

一条 npx react-doctor 扫描代码库输出 0-100 健康分(75+ Great / 50-74 Needs work / <50 Critical)和可执行诊断,覆盖 state & effects、performance、architecture、security、accessibility 五个维度。规则按框架(Next.js/Vite/React Native)和 React 版本自动 toggle,无需手配。

来源:README 首段 / Scoring
教 agent 写好 React(install 到 50+ agent)

react-doctor install 把 React 最佳实践教给你的编码 agent,让它从源头别写烂代码——交互式选择检测到的 agent(--yes 跳过),支持 Claude Code、Cursor、Codex、OpenCode 等 50+ agent。这是「治未病」:不只事后抓,还前置预防。

来源:README 'Install for your coding agent'
GitHub Action + PR 阻断

仓库自带 composite action(action.yml),放进 .github/workflows 即用;支持按健康分阈值做 PR blocking 和退出码控制,把 React 质量门禁纳入 CI。配 diff 和 staged 模式只检查改动部分。

来源:README GitHub Actions / PR blocking and exit codes / Diff and staged modes
standalone lint 插件(eslint + oxlint)

除 CLI 外提供独立 lint 插件:eslint-plugin-react-doctor 和 oxlint-plugin-react-doctor,可把 React Doctor 的规则集成进现有 ESLint/oxlint 流程,在编辑器里实时提示而非只在扫描时。

来源:README 'Lint plugin (standalone)' + packages(eslint/oxlint plugin)
灵活配置 + inline 抑制 + Node API

config keys 可调规则、阈值;支持 inline suppressions(行内抑制某规则);mixed monorepo 里能处理 React Native 规则的范围;提供 Node.js API 供编程集成;CLI 有完整参数参考。

来源:README Configuration / Inline suppressions / CLI reference / Node.js API
多框架支持 + 排行榜

支持 Next.js、Vite、React Native,规则按框架和 React 版本自动适配;有 Leaderboard 展示不同项目的健康分。配套网站 react.doctor 可在线看效果。

来源:README 首段 / Leaderboard / website

技术架构

React Doctor 是 pnpm + turbo 管理的 TypeScript monorepo,packages/(825 文件)拆多个包:core(规则引擎与诊断核心)、react-doctor(CLI 入口,npx 跑的就是它)、eslint-plugin-react-doctor + oxlint-plugin-react-doctor(两套 lint 插件集成)、project-info(探测框架/React 版本)、types、website(react.doctor 站点)。运行流程:CLI 扫描代码 → project-info 探测框架与 React 版本以决定启用哪些规则 → core 的规则在 state&effects/性能/架构/安全/可访问性五维上跑诊断 → 汇总成 0-100 健康分 + 问题清单。三种使用面共享 core 规则:CLI(扫描评分)、lint 插件(编辑器/CI 实时)、agent install(把规则转成最佳实践教给 agent)。GitHub Action 是 composite action 包装 CLI 做 CI 门禁,支持 diff/staged 只查改动、退出码做 PR 阻断。设计判断:把同一套 React 规则同时落到「事后扫描评分 + 编辑器 lint + CI 门禁 + agent 预防」四个触点,是很完整的质量治理全链路;尤其「教 agent 别写烂代码」的预防视角,比单纯事后抓更贴合 AI 写代码的现实。它的价值上限是规则集的质量与覆盖度——五维诊断的规则是否准、是否跟得上 React 演进(如 RSC、新 hook),决定了它的实用性。

来源:tree(packages)+ README Scoring/Lint plugin + package.json

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) core — 规则引擎与五维诊断core project-info — 框架(Next.js/Vite/RN)与 React 版本探测project-info eslint-plugin-react-doctor + oxlint-plugin-react-doctor — lint 集成eslint-plugin-… pnpm + turbo — monorepo 构建pnpm + turbo react.doctor — 配套网站与 Leaderboardreact.doctor 0-100 健康分 + 五维诊断0-100 健康分 + 五维… 教 agent 写好 React(install 到 50+ agent)教 agent 写好 React… GitHub Action + PR 阻断GitHub Action + PR… standalone lint 插件(eslint + oxlint)standalone lint 插… 灵活配置 + inline 抑制 + Node API灵活配置 + inline 抑… 多框架支持 + 排行榜 react-doctor 项目本体 核心功能 关键依赖

中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成

技术栈

语言TypeScript框架CLI(npx react-doctor)+ ESLint/oxlint 插件 + GitHub composite Action + Node.js API
coreproject-infoeslint-plugin-react-doctor + oxlint-…pnpm + turboreact.doctor
npm 包 react-doctor(npx 即用);GitHub composite action(action.yml)做 CI/PR 阻断;agent install 支持 Claude Code/Cursor/Codex/OpenCode 等 50+ agent;MIT 协议;v0.x(npm 0.0.38);changeset 管理发版
来源:package.json + tree + README

快速上手

# 体检:扫描代码库出 0-100 健康分 + 诊断 npx react-doctor@latest # 得分:75+ Great / 50-74 Needs work / <50 Critical # 五维:state & effects / performance / architecture / security / accessibility # 教你的编码 agent 写好 React(装进 50+ agent) npx react-doctor@latest install # 交互选 agent;--yes 跳过提示 # 支持 Claude Code / Cursor / Codex / OpenCode 等 # GitHub Actions(PR 门禁):把 composite action 放进 .github/workflows/react-doctor.yml # - uses: actions/checkout@v5 # - uses: millionco/react-doctor 的 action(按健康分阈值阻断 PR) # 只查改动 # react-doctor --diff / --staged # lint 插件(编辑器/CI 实时):装 eslint-plugin-react-doctor 或 oxlint-plugin-react-doctor # 配置/inline 抑制/CLI 参数见 README Configuration / CLI reference
来源:README Install / Install for coding agent / GitHub Actions 原文

使用场景

1. 体检 AI 写的 React:跑一次 npx react-doctor 拿健康分 + 五维问题清单,快速定位 AI 生成代码里的 state/effect 误用、性能反模式、架构/安全/可访问性问题;2. 预防胜于治疗:用 react-doctor install 把最佳实践装进团队的编码 agent(Claude Code/Cursor 等),让 AI 一开始就少写烂 React;3. CI 质量门禁:用 GitHub Action + 退出码按健康分阈值阻断 PR,diff/staged 模式只查改动;4. 编辑器实时提示:装 eslint/oxlint 插件,在写代码时就看到 React Doctor 的规则提示;5. 多框架团队:Next.js/Vite/React Native 项目用同一套自动适配的规则;6. 编程集成:用 Node.js API 把诊断嵌进自有工具或脚本。

来源:README 各章节

优势与局限

优势

  • 完整的质量治理全链路:同一套 React 规则同时落到事后扫描评分、编辑器 lint、CI 门禁、agent 预防四个触点,覆盖「写前-写中-写后」全链路
  • 预防视角贴合 AI 现实:react-doctor install 把最佳实践教给 50+ agent 让它少写烂代码,比单纯事后抓更治本,是 AI 写代码时代的对症设计
  • 上手极低 + 可量化:一条 npx 出 0-100 健康分 + 分级(Great/Needs work/Critical),五维诊断可执行,规则按框架和 React 版本自动适配无需手配
  • 集成方式齐全:CLI + GitHub Action(PR 阻断 + diff/staged)+ eslint/oxlint 双插件 + Node.js API + inline 抑制,能嵌进各种现有流程
  • 团队专业且活跃:Million.js / React Scan 团队(React 性能领域知名)出品,10.5K★,monorepo 工程规范(pnpm+turbo+changeset),配套 react.doctor 网站 + Leaderboard

局限

  • 价值上限 = 规则集质量:五维诊断准不准、是否跟得上 React 演进(RSC、新 hook、并发特性)决定实用性;规则误报/漏报会影响信任,规则覆盖度需随 React 生态持续维护
  • 评分的主观性:0-100 健康分是规则加权的结果,「健康」的定义带团队判断,不同项目/风格下分数高低未必等于真实质量,需理解评分口径而非盲信数字
  • 可测试性 / benchmark:README 未给规则的准确率/召回等量化指标,诊断质量需在自己代码库上验证;Leaderboard 是展示而非严格 benchmark
  • 稳定性:仍是 0.x(npm 0.0.38),规则和配置可能演进;v0.2 已移除 knip 集成(改为自己跑),说明功能边界在调整,下游配置有跟随成本
  • 可扩展性 / 自定义规则:能调阈值和开关规则、inline 抑制,但自定义新规则的能力未在材料中明确,规则集主要由官方维护,特殊团队约定可能覆盖不到
  • 框架/版本边界:声称支持 Next.js/Vite/React Native,但具体到某些框架变体、SSR/RSC、特定版本的覆盖完整度需实测;mixed monorepo 的 RN 规则范围需正确配置
来源:综合 README + tree + package.json

最新版本

npm 包 react-doctor 最新约 v0.0.38(2026-04-17,npm 采用 0.0.x 版本号),首个 0.0.1 (2026-02-19)。仓库 2026-02-13 创建、pushed 到 2026-05-22 高频更新,用 changeset 管理发版。v0.2 起移除了 knip 死代码检测集成(改为建议单独跑 npx knip)。

来源:GitHub Releases API + README Migration note

总结评价

如果你的团队用 AI 写 React 又担心代码质量,React Doctor 是当前最对症的方案:一条 npx 出 0-100 健康分 + 五维诊断,还能把最佳实践装进 50+ agent 做预防,加 CI 门禁和 lint 插件覆盖全链路。务实建议:1) 先 npx react-doctor 给现有代码库体检,看分数和五维问题清单了解现状;2) 真正的长期价值在「预防」——用 react-doctor install 把规则教给团队的编码 agent,从源头减少烂 React;3) 把它接进 CI(GitHub Action + 阈值阻断 + diff 模式只查改动)做质量门禁;4) 健康分是规则加权结果、带团队判断,理解评分口径再用,别把数字当绝对真理;5) 0.x 阶段规则和配置会演进(如已移除 knip),跟着 changelog 走;6) 规则质量决定一切,先在你的代码库验证误报/漏报情况,编辑器里用 eslint/oxlint 插件获得实时反馈。

来源:综合分析

常见问题

react-doctor 是什么?

React Doctor 是 Million.js 团队做的 React 代码体检工具:一条 npx react-doctor 扫描代码库,输出 0-100 健康分 + 可执行诊断,覆盖 state & effects、性能、架构、安全、可访问性五维,规则按框架(Next.js/Vite/React Native)和 React 版本自动开关;还能 react-doctor install 把 React 最佳实践教给 Claude…

react-doctor 有哪些核心功能?

react-doctor 的核心功能包括:0-100 健康分 + 五维诊断、教 agent 写好 React(install 到 50+ agent)、GitHub Action + PR 阻断、standalone lint 插件(eslint + oxlint)、灵活配置 + inline 抑制 + Node API。

react-doctor 为什么最近很受关注?

AI agent 写 React 又快又多,但常写出有 state/effect 误用、性能反模式、架构问题的「烂 React」,人工 review 跟不上。React Doctor 用「医生」思路解决:一条命令给代码库打 0-100 健康分并列出跨五个维度的具体问题(75+ 优秀 / 50-74 需改进 / <50 危急),规则按你的框架和 React 版本自动适配。

react-doctor 适合哪些使用场景?

1. 体检 AI 写的 React:跑一次 npx react-doctor 拿健康分 + 五维问题清单,快速定位 AI 生成代码里的 state/effect 误用、性能反模式、架构/安全/可访问性问题;2. 预防胜于治疗:用 react-doctor install 把最佳实践装进团队的编码 agent(Claude Code/Cursor 等),让 AI 一开始就少写烂 React;3.

透明度声明
本页内容由 AI(大语言模型)基于以下公开材料自动生成:GitHub README、代码目录结构、依赖文件、Release 信息。 分析时间: 2026-05-22 11:07. 质量评分: 100/100.

数据来源:README、GitHub API、依赖文件