mcpField
R
react-doctor

react-doctor

github.com/brianlovinTesting & quality3792.8k installsUpdated 31w ago
Repository

About react-doctor

react-doctor is a command-line skill for finding security, performance, correctness, and architecture issues in React codebases. It reports actionable diagnostics with file locations and a score from 0 to 100.

Key features

  1. 01Scans 47+ rules across code quality areas
  2. 02Reports diagnostics with file and line
  3. 03Scores codebases from 0 to 100
  4. 04Covers Next.js and server patterns

Use cases

  1. 01Review a React project for security issues
  2. 02Find performance and bundle-size problems
  3. 03Prioritize fixes using diagnostic severity
  4. 04Recheck code after addressing reported issues

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/brianlovin/agent-config --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