React Doctor
Scans React codebases for security, performance, correctness, and architecture issues. Outputs a 0–100 health score.
After making React code changes:
Run npx react-doctor@latest --verbose --scope changed and check the score did not regress.
If the score dropped, fix the regressions before committing.
For general cleanup or code improvement:
Run npx react-doctor@latest --verbose (the default --scope full) to scan the full codebase. Fix
issues by severity — errors first, then warnings.
For a focused UI design audit:
Run npx react-doctor@latest design --verbose. This selects only design-tagged UI composition,
typography, interaction, accessibility, and motion rules, including focused rules that remain opt-in
during a general health scan.
/doctor — full local triage workflow
When the user types /doctor, says "run react doctor", or asks for a full triage / cleanup pass
(not just a regression check), fetch the canonical local-triage playbook and follow every step in
it:
curl --fail --silent --show-error \
--header 'Cache-Control: no-cache' \
https://www.react.doctor/prompts/react-doctor-agent.md
The playbook is the single source of truth — a scan → filter → triage → fix → validate loop that edits the working tree directly (never commits, never opens PRs). Updating the prompt at its source updates every agent on its next fetch — no skill reinstall needed.
Pair it with the matching per-rule prompts at
https://www.react.doctor/prompts/rules/<plugin>/<rule>.md (fetched on demand inside the playbook)
so each fix uses the canonical, reviewer-tested recipe.
Configuring or explaining rules
When the user wants to understand a rule, disagrees with one, or wants to disable / tune which rules
run (not fix code), read references/explain.md and follow it. Start with
npx react-doctor@latest rules explain <rule>, then apply the narrowest control via
npx react-doctor@latest rules disable|set|category|ignore-tag …, which edits your
doctor.config.* (or package.json#reactDoctor).
Command
npx react-doctor@latest --verbose --scope changed
| Flag | Purpose |
|---|---|
. |
Scan current directory |
--verbose |
Show affected files and line numbers per rule |
--scope changed |
Only report issues introduced vs the base branch (default: full) |
--scope lines |
Only report issues on the changed lines |
--score |
Output only the numeric score |
design |
Run only the focused UI design diagnostics |