Skip to content

feat: add react-doctor infrastructure#2287

Closed
malinskibeniamin wants to merge 3 commits intomasterfrom
react-doctor/1-infrastructure
Closed

feat: add react-doctor infrastructure#2287
malinskibeniamin wants to merge 3 commits intomasterfrom
react-doctor/1-infrastructure

Conversation

@malinskibeniamin
Copy link
Contributor

Summary

  • Add react-doctor as a CI quality gate for detecting React performance anti-patterns
  • Replace reviewdog workflow with react-doctor CI (push-only trigger)
  • Add base config with all rules initially suppressed — subsequent PRs will enable rules incrementally
  • Add prefers-reduced-motion CSS for accessibility compliance

Changes

  • .github/workflows/frontend-react-doctor.yml — new CI workflow replacing reviewdog
  • .github/workflows/frontend-review.yml — removed (reviewdog)
  • frontend/react-doctor.config.json — base config, all rules suppressed
  • frontend/package.json / frontend/bun.lock — add react-doctor dependency
  • frontend/src/globals.css — add prefers-reduced-motion media query
  • README.md — add code quality section

React Doctor Score: 100/100

This is PR 1 of 6 in the react-doctor incremental rollout:

  1. Infrastructure (this PR)
  2. React Compiler compatibility
  3. Mechanical fixes (a11y, array-keys, jsx-key)
  4. State & Effects rules
  5. Hooks & Purity rules
  6. Remaining rules + file enablement

Test Plan

  • bun run doctor passes with 100/100
  • CI passes: type-check, lint, tests

🤖 Generated with Claude Code

- Add react-doctor dependency and `bun run doctor` script
- Add CI workflow (push-only) replacing reviewdog
- Add base react-doctor.config.json with all rules initially suppressed
- Add prefers-reduced-motion CSS for accessibility
- Update README with code quality section

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@secpanda
Copy link

secpanda commented Mar 11, 2026

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

malinskibeniamin and others added 2 commits March 11, 2026 15:34
- Add 'use no memo' directives to 60 components using incompatible
  libraries (TanStack Table, react-hook-form, Zustand stores)
- Add React Compiler source filter in rsbuild.config.ts
- Add useApiStoreHook typed wrapper for Zustand store selectors
- Fix type errors in header, sidebar, and require-auth components

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…2291)

* frontend: add React Compiler compatibility layer

- Add 'use no memo' directives to 60 components using incompatible
  libraries (TanStack Table, react-hook-form, Zustand stores)
- Add React Compiler source filter in rsbuild.config.ts
- Add useApiStoreHook typed wrapper for Zustand store selectors
- Fix type errors in header, sidebar, and require-auth components

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* frontend: fix remaining react-doctor rules and enable file scanning

Enable no-render-in-render and no-prevent-default rules, and remove 7
files from the react-doctor ignore list (knowledgebase, agents,
mcp-servers, secrets-store, observability, transcripts).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants