mcpField
R
react-doctor

react-doctor

github.com/posthogTesting & quality40.5k501 installsUpdated today
Repository

About react-doctor

React Doctor is a command-line checker for React codebases. It reports security, performance, correctness, and architecture issues with file-level diagnostics and a 0–100 score.

Key features

  1. 01Scan React code for 47+ issue types
  2. 02Report file paths and line numbers
  3. 03Score results from 0 to 100
  4. 04Cover Next.js and accessibility checks
  5. 05Re-run scans to verify fixes

Use cases

  1. 01Finding security issues in a React app
  2. 02Reviewing performance and architecture problems
  3. 03Checking a codebase after changes
  4. 04Prioritizing fixes by diagnostic severity

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/posthog/posthog --skill react-doctor

After installing, type/react-doctorin Claude Code to confirm it loaded.

Details

From the project README

React Doctor

Scans your React codebase for security, performance, correctness, and architecture issues. Outputs a 0-100 score with actionable diagnostics.

Usage

npx -y react-doctor@latest . --verbose

Workflow

  1. Run the command above at the project root
  2. Read every diagnostic with file paths and line numbers
  3. Fix issues starting with errors (highest severity)
  4. Re-run to verify the score improved

Rules (47+)

  • Security: hardcoded secrets in client bundle, eval()
  • State & Effects: derived state in useEffect, missing cleanup, useState from props, cascading setState
  • Architecture: components inside components, giant components, inline render functions
  • Performance: layout property animations, transition-all, large blur values
  • Correctness: array index as key, conditional rendering bugs
  • Next.js: missing metadata, client-side fetching for server data, async client components
  • Bundle Size: barrel imports, full lodash, moment.js, missing code splitting
  • Server: missing auth in server actions, blocking without after()
  • Accessibility: missing prefers-reduced-motion
  • Dead Code: unused files, exports, types

Score

  • 75+: Great
  • 50-74: Needs work
  • 0-49: Critical

Comments

Markdown supported