AGENTS.md and CLAUDE.md examples for React Router
Of 254 actively developed open-source products built with React Router, 160 (63%) keep instruction files for coding agents: AGENTS.md in 119, CLAUDE.md in 87. The typical file is 986 words, and most cover commands to build, run and test (79%) and pointers to other docs (76%).
Real files to read
From the best-known open-source React Router products whose file is a real one (not a pointer to another), 200 to 4,000 words, covering at least three of the usual topics and naming React Router. Each opens on GitHub.
| Project | File | Stars | Words | Covers |
|---|---|---|---|---|
| Kong/insomnia | AGENTS.md | 40,043 | 652 | CommandsTestingDoc pointersStructure |
| langbot-app/LangBot | AGENTS.md | 18,107 | 600 | CommandsTestingDoc pointers |
| Chainlit/chainlit | AGENTS.md | 12,510 | 1,387 | CommandsTestingDoc pointersStructureCode styleGit |
| lewish/asciiflow | CLAUDE.md | 5,960 | 1,022 | CommandsTestingStructureCode style |
| ferdium/ferdium-app | CLAUDE.md | 4,677 | 701 | CommandsTestingStructureCode styleGit |
| nextlevelbuilder/goclaw | AGENTS.md | 3,646 | 3,111 | CommandsTestingDoc pointersStructureCode style |
| chrisvel/tududi | CLAUDE.md | 3,427 | 2,330 | CommandsTestingDoc pointersStructure |
| crbnos/carbon | AGENTS.md | 2,718 | 2,221 | CommandsDoc pointersStructure |
| Maintainerr/Maintainerr | AGENTS.md | 2,335 | 3,585 | CommandsTestingDoc pointersStructureCode styleGit |
| porsche-design-system/porsche-design-system | AGENTS.md | 663 | 1,921 | CommandsTestingDoc pointersStructureCode styleGit |
| namespace-ee/upcount | CLAUDE.md | 398 | 419 | CommandsStructureGit |
| BitBoxSwiss/bitbox-wallet-app | AGENTS.md | 333 | 1,675 | CommandsTestingDoc pointersStructureCode styleGit |
What React Router projects put in them
Share of the 139 files that cover each topic, against all 641 files we read.
How they talk to the agent: 86% say “never” or “do not” somewhere (all files: 80%), 27% shout a rule in capitals like IMPORTANT or MUST (24%), and 16% tell it to ask before some changes (20%).
The tools they name
Package managerspnpm (38 files), npm (35 files), uv (17 files)
Tests and lintersVitest (27), ESLint (27), Playwright (25), pytest (22), Prettier (21), Jest (16)
Named more than in files generallyReact (76), Vite (50), Cursor (25), SQLite (25), Electron (18), Jest (16)
What they tell the agent
Instructions that recur across files, in our words; open one for the React Router projects whose file says it.
About React Router
Named as the client-side routing library for the React frontend.13 files
About React
Named as the UI layer, usually React 19 with TypeScript on Vite or Next.js, sometimes with Tailwind.13 files
The React frontend or mobile app has its own nested instruction file with component and UI conventions to read first.3 files
Use React Query for server state and API calls, keeping client-only state elsewhere.3 files
Write functional components with hooks only; class components are not used.1 files
About Vite
Vite is the frontend bundler and dev server, typically behind a React or Vue single-page app.21 files
AudiusProject/appsBitBoxSwiss/bitbox-wallet-appChainlit/chainlitCiao1019/PetrichorHKUDS/LightRAGMHSanaei/3x-uiMaintainerr/MaintainerrZeroDeng01/sublinkProactualbudget/actualchartbrew/chartbrewdkron-io/dkrongorkem-bwl/atlasinfiniflow/ragflowlangbot-app/LangBotmindroom-ai/mindroomnamespace-ee/upcountnounsDAO/nouns-monorepoorangecoding/fredypaperclipai/paperclipslymnoyann/hey.xyzyusufkaraaslan/Skill_SeekersRun the Vite dev server for hot-reload UI work.6 files
Frontend source changes are not visible until Vite rebuilds; run the build or the dev server before checking the result.1 files
Environment variables exposed to client code use the VITE_ prefix and are baked in at build time.2 files
About Cursor
The file is written for any AI coding agent, listing Cursor next to Claude Code, Copilot, and Codex.10 files
Cursor Cloud agent VMs have their own environment setup notes, secrets, and caveats documented separately.3 files
Cursor-specific rules live under a dot-cursor directory.2 files
Cursor is named as an MCP client, alongside Claude Desktop, that can connect to the project's server.1 files
About SQLite
Serves as the default or embedded local database, often with PostgreSQL as an optional alternative.10 files
Reach SQLite through an ORM or query builder such as Drizzle, Kysely or SeaORM, not scattered raw SQL.2 files
Tests use in-memory or real SQLite instead of external database services.5 files
Change the SQLite schema through versioned migration files rather than ad hoc edits.3 files
About Electron
Named as the desktop app or wrapper, living in its own directory such as desktop or electron.3 files
Treat Electron as a thin desktop shell; keep shared logic and UI in common packages or the web app.3 files
Running Electron locally needs care: install its binaries per worktree, avoid focus-stealing e2e runs, kill stale processes.2 files
Keep main and renderer processes separate; communicate via IPC and preload bridges, with a thin main process.1 files
About Jest
Run Jest through the project's own script or make target rather than invoking it directly.4 files
Jest test files sit beside source or in __tests__ folders.2 files
Check which runner a package uses; do not mix Jest with Vitest imports or APIs.2 files
A starting AGENTS.md for React Router
The sections these files cover most, the package manager and checks React Router projects name most, and the stack React Router makers' products chose most often. Fill in the <placeholders>.
# AGENTS.md <What this product does and who it is for, in a sentence or two.> ## Stack - Frontend Framework: React Router ## Commands - Install: `pnpm install` - Run locally: `<command>` - Test: `pnpm exec vitest run` - End-to-end tests: `pnpm exec playwright test` - Lint: `pnpm exec eslint .` ## Testing Run `pnpm exec vitest run` and `pnpm exec playwright test` before calling a change done, and add a test with each fix or feature. ## Project structure - `<folder>/`: <what lives there> - More in <docs/…> ## Conventions - <Naming, patterns and style the code does not show> - Commits and pull requests: <your rules> ## Boundaries - Ask before: <changes you want to approve first> - Never: <files or actions that are off-limits> <!-- Started from https://howmakersbuild.com/agents-md/react-router — point CLAUDE.md here with a line: @AGENTS.md -->
- pnpm: named in 38 of 139 instruction files from open-source projects built with React Router.
- Vitest: named in 27 of 139 instruction files from open-source projects built with React Router.
- Playwright: named in 25 of 139 instruction files from open-source projects built with React Router.
- ESLint: named in 27 of 139 instruction files from open-source projects built with React Router.
Questions
What should an AGENTS.md for a React Router project include?
In 139 files from open-source React Router products: commands to build, run and test (79%), pointers to other docs (76%), testing (73%), project structure (60%), git, commits and pull requests (55%), code style (49%). The package manager they name most is pnpm (38 files).
AGENTS.md or CLAUDE.md?
Among these React Router products, 119 keep an AGENTS.md and 87 a CLAUDE.md. Across every product we checked, 320 keep both, and in 170 of those the CLAUDE.md only points to the AGENTS.md (a symlink or a line like @AGENTS.md), so there's one file to maintain. Codex, Cursor, Copilot and others read AGENTS.md; Claude Code reads CLAUDE.md.
How long is a typical React Router AGENTS.md?
The median is 986 words in these 139 files; across all 641 files we read, half are between 425 and 1,665 words.
How this is counted: the GitHub repos of open-source products built with React Router, pushed to in the 180 days before 2026-10-12. We read each repo's AGENTS.md, CLAUDE.md and other agent files; what's published here is counts and links, not their text. All files, by the numbers.