React Doctor is a CLI that i built to help me as a web developer diagnose problems related to React performance issuesStatic analyzer such as ESlint can tell you what s wrong with your code , while runtime tools like Lighthouse and React DevTools can tell you that something is happening , but they don t always connect the twoThat s the gap React Doctor CLI tries to close.First ,the static analyzer , uses Babel AST to analyze any tsx/jsx files in the project. It looks for bad patterns such as unstable inline props, risky useEffect dependencies , oversized components , prop drilling and other React-specific patternsThe second pass launches the web app in a headless Chrome using Puppeteer and starts collecting runtime info such as component commit duration, re-render count, Web Vitals (LCP, FCP, CLS, INP, TTFB) , DOM size and memory usage.What I m most interested in is the correlation between the two.For example, a static analyzer could tell me that a component might benefit from React.memo(). That alone doesn t necessarily mean it is causing a real performance problem.React Doctor can compare that finding with the runtime behavior and surface it when the component is also showing repeated re-renders during an actual browser session.It then combines the static analysis and runtime profiling results to generate a report with the detected issues and suggested fixes.I built it as my Software Engineering graduation project. It s currently around 25 static, runtime and cross-analysis rules and is available on npm as react-doctor-cli-dev working as a cli for Windows, Linux and macOS.npm: https://www.npmjs.com/package/react-doctor-cli-devDocumentation: https://react-doctor-cli.web.app/I d love to hear feedback from people who use React and care about web performance.Does combining static findings with runtime evidence seem helpful in practice , or would you approach this differently?