Skip to content

Since the last run

Overall +10 pointsAgent Safety +23 pointsVerification Surface +13 pointsReproducible Setup +8 pointsMachine Orientation +7 pointsCode Navigability +3 pointsContext Economy +3 points

facebook/react (opens in a new tab)

A massive, robust ecosystem hindered by sprawling file trees and hidden build entrypoints that tax agent context.

JavaScriptโ˜… 250,5511,378 open issuesMIT License
Overall score: 75 out of 100
Holding

last scored 2026-09-18 ยท both lenses

Readiness lenses

The same repo, two ways: how ready it is for an AI coding agent, and for a human newcomer. Switch lenses to see each one's score and checks.

How ready the repo is for an AI coding agent to read, build, and operate it.

75 / 100

26 of 44 checks passed across 6 categories.

  • Machine Orientation

    85

    Good agent orientation with structured rules, though build and test commands require inspecting package scripts.

    The repository provides a CLAUDE.md file and agent instructions, but lacks explicit top-level build, test, and run commands in a machine-readable format. It clears the Solid band (70-89) for machine orientation because it contains structured navigation context and multiple agent files, though setup commands require parsing build scripts rather than being documented directly.

  • Reproducible Setup

    80

    Solid reproducible setup with lockfiles, exact runtime pins, and robust CI, lacking only containerization and env templates.

    The repository provides multiple lockfiles (Cargo.lock, yarn.lock, package-lock.json) and exact version pins in .nvmrc and packageManager, plus comprehensive CI workflows. However, it lacks a container setup (Docker/devcontainer) and an env.example file, placing it firmly in the Solid band.

  • Code Navigability

    65

    Conventional monorepo layout with clear naming and agent files, but its massive file count without architecture docs keeps localization workable rather than seamless.

    The repository has a conventional monorepo layout with clear module separation under packages and compiler crates, and benefits from agent instructions in .claude/ alongside clear naming. However, the sheer scale of over 7,000 files without top-level architecture documentation or explicit path mapping for agents can cause an agent to occasionally search broadly. This places it solidly in the Workable band.

  • Verification Surface

    85

    Comprehensive tests and CI exist, but execution entrypoints require agent discovery across workspaces.

    The repository features extensive CI workflows (26 detected), test suites, lint scripts, and dedicated agent instructions (.claude/skills/verify/SKILL.md), clearing the Solid band. However, without a single standardized top-level task runner or documented command reference in the README, agents must navigate raw package scripts and multi-workspace configurations to execute checks.

  • Agent Safety

    58

    Agent safety is workable, but needs strict secret hygiene fixes around environment files.

    The repository lacks an example environment file (.env.example), and signal detection reports that gitignore does not cover env files and a committed environment file was detected. However, SECURITY.md is present and agent safety boundaries are somewhat guided by structured Claude rules and skills. This places it solidly in the Workable band (50โ€“69).

  • Context Economy

    65

    The massive file tree lacks linguist markers or explicit context boundaries, bloating agent context with raw source and generated files.

    The repository has 7,241 files without local linguist markers, vendor ignores, or explicit build output/node_modules exclusions configured cleanly for agents, causing massive context bloat. While agent instructions exist (.claude/), the lack of repository-level exclusion markers for generated code or vendor directories keeps context economy in the Workable band.

  • Machine Orientation

    7 checks passed3 problems found

    • lowllms.txt present

      An llms.txt is the emerging machine-orientation standard โ€” a curated map for LLMs.

      Fix: Add an llms.txt pointing at the key docs and entry points.

    • lowArchitecture doc

      An ARCHITECTURE doc hands an agent the module map instead of making it infer one.

      Fix: Add an ARCHITECTURE.md describing the major components and how they fit.

    • lowExamples directory

      An examples/ directory gives an agent runnable, copyable references for the API.

      Fix: Add an examples/ directory with small, runnable usage samples.

    • README present โ€” An agent reconstructs what the repo is and how to work in it from the README first.
    • Agent instructions file โ€” AGENTS.md / CLAUDE.md is the direct, machine-read channel for entry points and conventions.
    • Agent instructions stay lean โ€” A bloated instructions file burns context and measurably hurts more than it helps.
    • Repository description set โ€” The one-line description is the fastest orientation signal an agent reads.
    • Topics set โ€” GitHub topics situate the repo's domain and stack for an agent at a glance.
    • README shows usage โ€” A usage/example section tells an agent how the project is actually invoked.
    • Contribution conventions are written down โ€” A contributor guide is where an agent learns the branch, commit, and review conventions it must follow.
  • Reproducible Setup

    4 checks passed3 problems found

    • mediumContainer or dev-container

      A Dockerfile / compose / devcontainer removes 'works on my machine' from setup.

      Fix: Add a Dockerfile, a compose file, or a .devcontainer so the environment is declared, not assumed.

    • lowEnv template present

      A .env.example tells an agent which configuration keys it must supply to run.

      Fix: Ship a .env.example listing every required key with placeholder values.

    • lowDev container

      A .devcontainer gives an agent a one-command, fully-declared environment.

      Fix: Add a .devcontainer so the toolchain is declared, not assumed.

    • Lockfile committed โ€” Without a lockfile two clones can resolve different dependency trees โ€” the build isn't reproducible.
    • Runtime / toolchain pinned โ€” An unpinned runtime makes an agent guess the version a clean environment needs.
    • Version pins are exact โ€” A floating pin (a bare major, or a range) still drifts between installs.
    • README documents setup โ€” Explicit install/setup steps are what let an agent go from clone to running.
  • Code Navigability

    3 checks passed2 problems found

    • lowTypeScript strict mode on

      Strict typing gives an agent typed signatures to anchor an edit on, not guesses.

      Fix: Turn on `strict` in tsconfig.json.

    • lowTyped public API

      A declared `types` entry gives an agent typed signatures to anchor an edit on.

      Fix: Ship type declarations and point package.json `types`/`typings` at them.

    • Conventional source layout โ€” A recognised src/ ยท lib/ ยท app/ layout lets an agent localise code without spelunking.
    • .editorconfig present โ€” An .editorconfig keeps whitespace and encoding consistent, so diffs stay legible.
    • Formatter configured โ€” A formatter config (Prettier/Biome/rustfmt/โ€ฆ) keeps style uniform across the tree.
  • Verification Surface

    5 checks passed2 problems found

    • lowTask runner present

      A Makefile / Taskfile / justfile gives an agent a single index of the project's commands.

      Fix: Add a Makefile / Taskfile / justfile collecting the common commands.

    • lowTypecheck command

      A typecheck script lets an agent catch type errors before they ship.

      Fix: Add a `typecheck` script (e.g. `tsc --noEmit`).

    • Tests present โ€” Runnable tests are the ground truth an agent checks its own edits against.
    • Test command defined โ€” A `test` script is the documented, discoverable way to run the suite.
    • Lint command defined โ€” A linter an agent can run catches a class of mistakes before they ship.
    • CI configured โ€” Readable CI is the feedback loop an agent reads to know what 'green' means here.
    • Build command โ€” A documented build command is the discoverable way for an agent to produce artifacts.
  • Agent Safety

    5 checks passed6 problems found

    • highNo committed .env

      A tracked real .env hands secrets to anything โ€” including an agent โ€” that reads the repo.

      Fix: Remove the .env from history, gitignore it, and ship a .env.example instead.

    • medium.gitignore covers env files

      An ignore rule for .env is what keeps the next careless commit from leaking secrets.

      Fix: Add `.env` (and `.env.*`) to .gitignore.

    • mediumPolicy names the threat model

      A scanning agent aims at what the repo says it is defending, and where untrusted input crosses in.

      Fix: Describe the threat model and trust boundaries in SECURITY.md โ€” what is attacker-controlled, and where it reaches trusted code.

    • mediumPolicy scopes what counts as a finding

      With no reportable-finding bar and no out-of-scope list, an automated scan returns noise nobody triages.

      Fix: State in SECURITY.md what counts as a reportable finding, and what is out of scope or accepted risk.

    • lowCODEOWNERS present

      CODEOWNERS marks the 'don't touch without review' zones an agent should respect.

      Fix: Add a CODEOWNERS file marking the sensitive paths.

    • lowPolicy gives severity context

      Severity judged against this system beats a generic rating an agent had to guess at.

      Fix: Say in SECURITY.md how severity is judged here โ€” what makes a finding critical for this system.

    • No exposed secrets โ€” Secret-shaped literals in tracked files are a live credential leak.
    • Automated dependency updates โ€” Dependabot / Renovate keeps dependencies patched without a human in the loop.
    • .gitignore present โ€” A .gitignore is the first guard against an agent committing secrets or build junk.
    • Security policy โ€” A SECURITY.md is where an autonomous security agent reads this repo's rules before acting on it.
    • License makes the code reusable โ€” Without a license an agent cannot safely copy, redistribute, or vendor any of this code.
  • Context Economy

    2 checks passed2 problems found

    • lowGenerated / vendored files marked

      A .gitattributes linguist marker tells tools (and agents) what to skip.

      Fix: Mark generated/vendored paths in .gitattributes (linguist-generated / linguist-vendored).

    • lowNo oversized source file

      A single file in the hundreds of KB blows past an agent's effective context window.

      Fix: Split the largest files along their natural seams.

    • Dependencies not vendored in โ€” A committed node_modules / vendor tree drowns the real signal an agent needs.
    • Build output not committed โ€” Generated dist/ ยท build/ output is noise an agent has to read past.

Where the grip slips

  1. mediumCode Navigability+6 pts if fixed

    Missing high-level architecture documentation

    Large monorepo layout without a high-level architecture document describing package and crate relationships.

    Fix: Add an ARCHITECTURE.md outlining the core packages, compilers, and dependencies to guide agent localization.

  2. highAgent Safety+3 pts if fixed

    Committed environment file / missing gitignore env coverage

    Committed environment file detected and gitignore does not cover env files, risking secret exposure.

    Fix: Add .env to .gitignore and remove any committed environment files.

  3. mediumContext Economy+3 pts if fixed

    Lack of linguist markers or explicit agent context boundaries for large file tree

    7241 files are tracked or exposed without gitignore/linguist markers clearly demarcating generated output or vendor files for agent context.

    Fix: Add explicit .gitattributes with linguist-generated markers or clean up gitignore rules to reduce noise.

  4. lowVerification Surface+3 pts if fixed

    Unconsolidated verification commands

    No top-level task runner or consolidated verification commands documented in README.md.

    Fix: Add a clear verification section to the README or CLAUDE.md detailing exact test, lint, and build commands.

  5. lowReproducible Setup+2 pts if fixed

    Missing container or devcontainer configuration

    No containerized environment or devcontainer configuration provided for deterministic agent execution.

    Fix: Add a Dockerfile or .devcontainer/devcontainer.json file defining the required Node and Rust toolchain.

  6. mediumMachine Orientation+2 pts if fixed

    Missing explicit build/test commands in CLAUDE.md

    Top-level build and test commands are not explicitly documented in CLAUDE.md or README.md, requiring agents to inspect package.json scripts.

    Fix: Add explicit build, test, and run commands to CLAUDE.md.

  7. mediumAgent Safety+1 pts if fixed

    Missing .env.example

    Missing .env.example file for agent setup reference.

    Fix: Create a .env.example file documenting expected environment variables.

  8. lowReproducible Setup+1 pts if fixed

    Missing environment variable template

    No environment variable template file (e.g. .env.example) present.

    Fix: Add an .env.example file documenting any required environment variables.

Show your score

Latch badge
[![Latch score](https://latch.fyi/api/badge/d4d71a98-cb2c-44f0-9d18-cadf9445fcd2)](https://latch.fyi/facebook/react)

Share this analysis

https://latch.fyi/facebook/react

Fixed some issues? Re-analyze to measure your progress โ†’

Copy the whole report

Grab the entire verdict in one go โ€” a Markdown block for a README or an issue, plain text, or a prompt you can paste straight into an LLM.

Was this verdict fair?

One tap helps โ€” or tell us more.