A massive, robust ecosystem hindered by sprawling file trees and hidden build entrypoints that tax agent context.
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 / 10026 of 44 checks passed across 6 categories.
Machine Orientation
85Good 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
80Solid 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
65Conventional 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
85Comprehensive 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
58Agent 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
65The 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.
How ready the repo is for a human newcomer to understand, set up, and contribute.
71 / 10025 of 33 checks passed across 6 categories.
First Impression
85Clear purpose and examples, but minor friction from legacy documentation links in the README.
The repository clears the Solid band (70-89) for First Impression because the README clearly identifies React's core purpose, scope, and target audience, complete with a functional JSX example and links to external documentation. However, it falls short of Exemplary (90-100) as key contribution links in the README point to legacy documentation URLs (`legacy.reactjs.org`) and installation/setup instructions rely heavily on external websites rather than self-contained repo guides.
Getting Running
60Getting running relies on external links rather than clear, local copy-paste instructions.
Although lockfiles, pinned versions, and CI workflows exist, the main README and root documentation rely entirely on external links to legacy React docs for installation and building instructions rather than providing copy-pasteable local build and run commands. This places the repository in the Work workable band.
Finding Your Way
60Basic top-level orientation exists in CLAUDE.md, but detailed package-level architecture documentation is missing.
The repository provides a CLAUDE.md file outlining the monorepo structure (splitting React core and React Compiler), but lacks a dedicated architecture or overview document explaining package boundaries or navigation in standard docs. This places it in the Work workable band (50โ69), where essential navigational aids exist via helper and configuration files, but comprehensive module mapping is sparse.
Path to Contribute
60Contributing documentation points to dead legacy links, breaking the onboarding route.
The repository provides issue and PR templates along with CI checks, but the main CONTRIBUTING guide in both README.md and CONTRIBUTING.md points to an outdated, dead external URL (reactjs.org/docs/how-to-contribute.html). This breaks the onboarding path for any newcomer attempting to follow the official instructions. These factors place the repository squarely in the Workable band.
Signs of Life
85Active, well-tooled project with extensive CI pipelines and clear contributor templates.
The repository clearly demonstrates active maintenance with 26 CI workflows, extensive issue/PR templates, dependabot configuration, and recent commits. It achieves a Solid rating (70โ89) for signs of life due to robust automation and active development cadence, though without direct contributor metric verification beyond repository metadata.
Open Door
85Legal and community safety signals are fully present via an MIT license, contributing guides, and issue/PR templates.
The repository provides a recognized MIT license, CONTRIBUTING.md, issue and PR templates, and explicit code of conduct references, clearing the Solid band. However, the reference to the code of conduct links externally rather than containing a repository-local file, slightly fragmenting immediate newcomer safety onboarding.
First Impression
5 checks passed1 problem found
- lowExamples to learn from
An examples/ directory gives a newcomer something concrete to run and adapt.
Fix: Add an examples/ directory with small, runnable samples.
- README present โ The README is the first screen โ with none, a newcomer has nothing to land on.
- Repository description set โ The one-line description sets expectations before a newcomer even opens the README.
- Topics set โ Topics situate the project's domain at a glance and help a newcomer find it.
- Status badges โ Build/version badges signal at a glance that the project is alive and healthy.
- README shows what it does โ A usage/example section lets a newcomer see the tool in action before committing.
Getting Running
4 checks passed3 problems found
- mediumOne-command environment
A Dockerfile / compose / devcontainer turns a fiddly setup into one command.
Fix: Add a Dockerfile, a compose file, or a .devcontainer for a one-command setup.
- lowEnv template present
A .env.example shows a newcomer exactly which settings they must fill in to run it.
Fix: Ship a .env.example listing every required key with placeholder values.
- lowOne-click dev container
A .devcontainer lets a newcomer start in a cloud IDE with zero local setup.
Fix: Add a .devcontainer for a one-click, batteries-included environment.
- Lockfile committed โ Without a lockfile a newcomer's install resolves differently and hits errors the docs don't mention.
- Prerequisite versions pinned โ Unpinned prerequisites are the classic 'works on my machine' first-run failure.
- README documents setup โ Explicit install steps are the difference between a 5-minute start and giving up.
- Versions pinned exactly โ A floating version still drifts โ a newcomer can hit a break the maintainer never saw.
Finding Your Way
3 checks passed2 problems found
- mediumArchitecture / overview doc
An overview hands a newcomer the map instead of making them reconstruct it.
Fix: Add an ARCHITECTURE.md (or a 'Project layout' README section) naming the key directories.
- lowNo oversized source file
A single thousand-line file is a wall a newcomer bounces off.
Fix: Split the largest files along their natural seams.
- Conventional source layout โ A familiar src/ ยท lib/ ยท app/ layout lets a newcomer guess where things live.
- .editorconfig present โ Consistent indentation/encoding keeps the code readable and diffs clean for newcomers.
- Formatter configured โ An auto-formatter means a newcomer never guesses the house style.
Path to Contribute
5 checks passed1 problem found
- lowTask runner
A Makefile / Taskfile gives a contributor a single index of the project's commands.
Fix: Add a Makefile / Taskfile collecting the common dev commands.
- CONTRIBUTING guide โ A CONTRIBUTING guide is the difference between a guessed and a guided first PR.
- Issue templates โ Issue templates show a newcomer how to file something useful โ and that contributions are welcome.
- Pull-request template โ A PR template tells a first-time contributor what a good change includes.
- Test command defined โ A documented test command lets a contributor check their change before opening a PR.
- Lint command โ A linter lets a first-time contributor catch style issues before review.
Signs of Life
4 checks passed1 problem found
- lowFunding configured
A FUNDING config signals an invested, sponsored project โ not a one-off dump.
Fix: Add a .github/FUNDING.yml if the project accepts sponsorship.
- Tests present โ A test suite signals a project that's cared for, not abandoned.
- CI configured โ Green CI on every change tells a newcomer the project is actively kept working.
- Automated dependency updates โ Dependabot / Renovate activity is a visible heartbeat of ongoing maintenance.
- Changelog โ A maintained CHANGELOG shows a newcomer the project ships and records its changes.
Open Door
4 checks passed0 problems found
- License present โ With no license the project isn't legally reusable โ the door is shut however friendly the README.
- License is a standard one โ A non-standard or custom license is a legal question mark a newcomer won't resolve.
- Code of conduct โ A code of conduct states the social ground rules that make it safe to step in.
- Security policy โ A SECURITY.md tells a newcomer how to report a problem responsibly.
Where the grip slips
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
[](https://latch.fyi/facebook/react)Share this analysis
https://latch.fyi/facebook/reactFixed 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.