# react-doctor

> Your agent writes bad React. This catches it

Latest version **0.9.22** (published 2026-11-02) · SEE LICENSE IN LICENSE license · 0 weekly downloads

## Install

```sh
npm install react-doctor
pnpm add react-doctor
yarn add react-doctor
bun add react-doctor
```

Provides the command `react-doctor`.

## Health

**Score 70/100 (B)** — status: active.

Positive: esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; popular repo.

Warnings: low downloads; no types; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.9.22 |
| Published | 2026-11-02 |
| First published | 2026-02-13 |
| Weekly downloads | 0 |
| License | SEE LICENSE IN LICENSE |
| TypeScript types | none |
| Module format | ESM |
| Node | ^20.19.0 \|\| >=22.13.0 |
| Dependencies | 19 |
| Unpacked size | 9.4 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 15070 |
| Author | Million Software, Inc |
| Maintainers | abai |
| Keywords | accessibility, diagnostics, linter, nextjs, oxlint, performance, react, react-compiler, react-native, security, tanstack, typescript |

## Links

- npm: https://www.npmjs.com/package/react-doctor
- Repository: https://github.com/millionco/react-doctor
- Homepage: https://github.com/millionco/react-doctor#readme
- Issues: https://github.com/millionco/react-doctor/issues
- npm.io page: https://npm.io/package/react-doctor

## Dependencies (19)

- [conf](https://npm.io/package/conf.md) ^15.1.0
- [jiti](https://npm.io/package/jiti.md) ^2.7.0
- [yaml](https://npm.io/package/yaml.md) ^2.9.0
- [bippy](https://npm.io/package/bippy.md) ^0.6.1
- [oxlint](https://npm.io/package/oxlint.md) >=1.81.0 <1.82.0
- [confbox](https://npm.io/package/confbox.md) ^0.2.4
- [prompts](https://npm.io/package/prompts.md) ^2.4.2
- [magicast](https://npm.io/package/magicast.md) ^0.5.3
- [oxc-parser](https://npm.io/package/oxc-parser.md) ^0.148.0
- [typescript](https://npm.io/package/typescript.md) >=5.0.4 <6
- [yoga-layout](https://npm.io/package/yoga-layout.md) ~3.2.1
- [@sentry/node](https://npm.io/package/@sentry/node.md) ^10.54.0
- [oxc-resolver](https://npm.io/package/oxc-resolver.md) ^11.24.2
- [agent-install](https://npm.io/package/agent-install.md) 0.0.5
- [playwright-core](https://npm.io/package/playwright-core.md) ^1.62.1
- [@astrojs/compiler](https://npm.io/package/@astrojs/compiler.md) ^4.0.0
- [is-unicode-supported](https://npm.io/package/is-unicode-supported.md) ^2.1.0
- [eslint-plugin-react-hooks](https://npm.io/package/eslint-plugin-react-hooks.md) 7.1.1
- [oxlint-plugin-react-doctor](https://npm.io/package/oxlint-plugin-react-doctor.md) 0.9.22

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 0.9.22 (latest) — 2026-11-02
- 0.9.22-dev.ec45ff9 (dev) — 2026-11-10
- 0.2.0-beta.6 (beta) — 2026-05-17
- 0.9.22-dev.8177197 — 2026-11-10
- 0.9.22-dev.21eff89 — 2026-11-10
- 0.9.22-dev.5364034 — 2026-11-10
- 0.9.22-dev.e468c6f — 2026-11-10
- 0.9.22-dev.a182cd2 — 2026-11-10
- 0.9.22-dev.ab7795b — 2026-11-10
- 0.9.22-dev.1cc1c94 — 2026-11-10
- 0.9.22-dev.4989042 — 2026-11-10
- 0.9.22-dev.3eda1c1 — 2026-11-10
- 0.9.22-dev.654e650 — 2026-11-10
- 0.9.22-dev.b8da6b9 — 2026-11-10
- 0.9.22-dev.0bebfec — 2026-11-10
- … 910 more at https://npm.io/package/react-doctor/versions

## README

<picture>
  <source media="(prefers-color-scheme: dark)" srcset="./assets/react-doctor-readme-logo-dark.svg">
  <source media="(prefers-color-scheme: light)" srcset="./assets/react-doctor-readme-logo-light.svg">
  <img alt="React Doctor" src="./assets/react-doctor-readme-logo-light.svg" width="134" height="36">
</picture>

[![version](https://img.shields.io/npm/v/react-doctor?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/react-doctor)
[![downloads](https://img.shields.io/npm/dt/react-doctor.svg?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/react-doctor)

React Doctor runs deterministic checks on your code. It reports issues in state and effects, performance, architecture, security, accessibility, and maintainability.

Supports React projects built with Next.js, Vite, Astro, TanStack, React Native, and Expo.

[Documentation →](https://react.doctor/docs)

## Install

### 1. Run a scan

Run this command from your project root:

```bash
npx react-doctor@latest
```

https://github.com/user-attachments/assets/07cc88d9-9589-44c3-aa73-5d603cb1c570

### 2. Install for agents

Install the skill to help your coding agent find and fix React issues:

```bash
npx react-doctor@latest install
```

Supports coding agents including Claude Code, Cursor, Codex, and OpenCode.

### 3. Run in CI

Scan each pull request and report the issues it introduces:

```bash
npx react-doctor@latest ci install
```

[CI docs →](https://react.doctor/ci)

### 4. Configure rules

Choose rules and scan settings in `doctor.config.ts`.

With `customRulesOnly: true`, explicit `rules` settings of `"warn"` or `"error"`
enable selected ported rules. Legacy rule names also work. Other ported rules and
the React Compiler plugin stay off.

[Configuration docs →](https://react.doctor/docs/configuration/config-files)

## Runtime performance traces

Record a Chrome DevTools performance trace while you interact with a running React app:

```bash
npx react-doctor@latest scan http://localhost:3000
```

[Runtime trace docs →](https://react.doctor/docs/reference/cli-reference#runtime-performance-traces)

## Telemetry

The CLI collects crash reports and anonymous usage data. See [Data use](https://react.doctor/docs/legal/data-use) for details.

To opt out, run: `npx react-doctor@latest --no-telemetry`

## Contributing

[Report an issue](https://github.com/millionco/react-doctor/issues)

MIT-licensed

---
_Source: https://npm.io/package/react-doctor · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
