87/ 100 · B

A landmark open source project with strong engineering quality.

The React Framework

JavaScript140,027 starsMITupdated 1d ago
DocumentationREADME, setup, examples, license
82
EngineeringTests, CI, linting, lockfiles
90
Project healthDescription, activity, stars, deps
89

What to fix first

The highest-impact improvements for this repo.

  1. 1
    CI/CD
    EngineeringIssue

    Add a step like `run: npm test`, `run: pytest`, or `run: tox` to your workflow file.

  2. 2
    CI/CD
    EngineeringInfo

    Add `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.

  3. 3
    CI/CD
    EngineeringInfo

    Upload coverage to Codecov, Coveralls, or report it with `--coverage` flags.

Detailed breakdown

Documentation

82
  • README65
    • README is present.
    • README is well structured with multiple sections.
    • No screenshots or images in the README (−20 pts).Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.
    • README has no code examples (−15 pts).Show a quick-start snippet so contributors can see what using your project looks like.
    • README links to a live demo or deployed app.
    • README includes status badges.
  • Install and run instructions100
    • README documents how to install the project.
    • README documents how to run the project.
    • .env.example is present. Contributors can see exactly which env vars to set.
  • License100
    • Licensed under MIT.
  • Contributing guide66
    • Contributing guide is too short for full depth credit (−6 pts). 400+ words earns the full +12 pts.Add setup instructions, code style notes, and how to run tests.
    • Contributing guide lacks a setup section (−12 pts).Show new contributors how to get a local dev environment running.
    • Contributing guide lacks a code style section (−8 pts).Describe your linting/formatting rules and how to run them (e.g. npm run lint, ruff check .).
    • Contributing guide lacks a testing section (−8 pts).Show contributors how to run the test suite (e.g. npm test, pytest, cargo test).
    • Contributing guide describes the PR/review workflow.
    • Contributing guide has no code examples (−5 pts).Add code blocks showing example commands for setup, running tests, and submitting a PR.
    • Code of conduct present.

Engineering

90
  • Tests100
    • Test files detected (crates/next-custom-transforms/tests).
  • CI/CD72

    Not applicable?

    • CI is configured (.github/workflows/build_and_deploy.yml).
    • The CI workflow does not appear to run any tests (−28 pts).Add a step like `run: npm test`, `run: pytest`, or `run: tox` to your workflow file.
    • CI runs on pull requests, not just on pushes to main.
    • CI workflow runs a lint or format check.
    • Optional: add type checking to CI.Add `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.
    • Optional: report test coverage in CI.Upload coverage to Codecov, Coveralls, or report it with `--coverage` flags.
    • CI caches dependencies for faster runs.
    • CI tests across multiple environments or versions.
    • CI includes a build step.
  • Linting and formatting100
    • Linter or formatter configured (.prettierrc.json).
  • Reproducibility80
    • Lockfile present (Cargo.lock). Installs are reproducible.
    • Environment pinned via .github/actions/next-stats-action/Dockerfile.
    • No Dependabot config (adding it earns up to +20 pts).Add .github/dependabot.yml with at least one package-ecosystem entry so dependencies are updated automatically.
  • Issue and PR templates100
    • Issue or PR templates present.
    • Optional: add a SECURITY.md.A SECURITY.md explains how to responsibly disclose vulnerabilities. Worth adding once the project has real users.

Project health

89
  • Dependency manifest65
    • Dependency manifest found (Cargo.toml).
    • package.json is missing a description (−10 pts).Add a one-line description to package.json. It appears in npm search and on GitHub.
    • package.json has no repository field (−10 pts).Add a `repository` field pointing to the GitHub URL so npm knows where the source lives.
    • package.json has no keywords (−8 pts).Add a `keywords` array to help people find your package on npm.
    • package.json has no homepage field (−7 pts).Add a `homepage` field pointing to your docs or project website.
  • Repository metadata100
    • Repository has a description.
    • Primary language detected: JavaScript.
  • Activity100
    • Actively maintained (pushed within the last month).
    • 140,027 stars.
  • Housekeeping100
    • .gitignore present.
    • A .env file exists in a test directory (examples/api-routes-apollo-server-and-client-auth/.env). This is a test fixture, not a committed secret.
Repository files73 root entries
  • .agents
  • .cargo
  • .claude
  • .claude-plugin
  • .conductor
  • .config
  • .cursor
  • .devcontainer
  • .github
    Good: CI is configured (.github/workflows/build_and_deploy.yml).
    Good: Environment pinned via .github/actions/next-stats-action/Dockerfile.
    Good: Issue or PR templates present.
    Good: .gitignore present.
  • .husky
  • .vscode
  • apps
  • bench
  • contributing
  • crates
    Good: Test files detected (crates/next-custom-transforms/tests).
  • docs
  • errors
  • evals
  • examples
    Good: Licensed under MIT.
  • packages
  • patches
  • rspack
  • scripts
  • skills
  • test
  • test-config-errors
  • turbo
  • turbopack
  • .alexignore
  • .alexrc
  • .cursorindexingignore
  • .git-blame-ignore-revs
  • .gitattributes
  • .gitignore
  • .ignore
  • .node-version
  • .npmrc
  • .prettierignore
  • .prettierrc.json
    Good: Linter or formatter configured (.prettierrc.json).
  • .rustfmt.toml
  • .typos.toml
  • AGENTS.md
  • Cargo.lock
    Good: Lockfile present (Cargo.lock). Installs are reproducible.
  • Cargo.toml
    Good: Dependency manifest found (Cargo.toml).
  • CLAUDE.md
  • CODE_OF_CONDUCT.md
    Good: Code of conduct present.
  • conductor.json
  • contributing.md
    Issue: Contributing guide is too short for full depth credit (−6 pts). 400+ words earns the full +12 pts.Fix: Add setup instructions, code style notes, and how to run tests.
    Issue: Contributing guide lacks a setup section (−12 pts).Fix: Show new contributors how to get a local dev environment running.
    Issue: Contributing guide lacks a code style section (−8 pts).Fix: Describe your linting/formatting rules and how to run them (e.g. npm run lint, ruff check .).
    Issue: Contributing guide lacks a testing section (−8 pts).Fix: Show contributors how to run the test suite (e.g. npm test, pytest, cargo test).
    Good: Contributing guide describes the PR/review workflow.
    Issue: Contributing guide has no code examples (−5 pts).Fix: Add code blocks showing example commands for setup, running tests, and submitting a PR.
  • eslint.cli.config.mjs
  • eslint.config.mjs
  • jest.config.js
  • jest.config.turbopack.js
  • lerna.json
  • license.md
  • lint-staged.config.js
  • package.json
  • pnpm-lock.yaml
  • pnpm-workspace.yaml
  • readme.md
    Good: README is present.
    Good: README is well structured with multiple sections.
    Issue: No screenshots or images in the README (−20 pts).Fix: Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.
    Issue: README has no code examples (−15 pts).Fix: Show a quick-start snippet so contributors can see what using your project looks like.
    Good: README links to a live demo or deployed app.
    Good: README includes status badges.
    Good: README documents how to install the project.
    Good: README documents how to run the project.
  • release.js
  • run-evals.js
  • run-tests.js
  • rust-toolchain.toml
  • sgconfig.yml
  • skills-lock.json
  • socket.yaml
  • test-file.txt
  • tsconfig-tsec.json
  • tsconfig.json
  • tsec-exemptions.json
  • turbo.json
  • UPGRADING.md
  • vercel.json