How AGENTS.md files talk about your tools: what projects tell coding agents, tool by tool
What open-source projects tell their coding agents about Playwright, pnpm, TypeScript, Docker and 64 more tools — the recurring instructions, in our words, each with the files that say it.
An instruction file is where a project tells its coding agent the things it would otherwise get wrong: which test runner, which package manager, what never to touch. We read the lines that name a tool in the AGENTS.md and CLAUDE.md files of open-source products' repos, and grouped what they say. Below are the 229 things at least three files tell their agents about the same tool, across 68 tools and 449 repos.
Each note is in our words. The number is how many files say it; open a note for the repos.
TypeScriptProgramming Language · named in 288 files
Keep TypeScript in strict mode; do not loosen compiler settings to make errors go away.25 files
AnInsomniacy/rayburst-connectAudiusProject/appsBitterbot-AI/bitterbot-desktopDraculabo/AntigravityManagerGitlawb/openclaudePrismer-AI/PrismerQwenLM/qwen-codeRSSNext/FoloTheOrcDev/8bitcn-uiYoungCan-Wang/WyckoffTradingAgentakash-network/consoleartsy/eigenartsy/forcecalcom/cal.diycode-yeongyu/oh-my-openagentcoleam00/Archondarkroomengineering/satusdatabuddy-analytics/Databuddydavis7dotsh/better-contextdeadlock-mod-manager/deadlock-mod-managerdorylab/doryemdash-cms/emdashethereum/ethereum-org-websiteferdium/ferdium-appgeneralaction/emdashRun the project's type-check script as a separate verification step, alongside lint and tests.11 files
Avoid the any type; use precise types, or unknown with type guards when the shape is not known.9 files
Named as the language for all code in the project.6 files
Do not silence the compiler with unsafe casts or double assertions; narrow with type guards instead.5 files
Typechecking has moved to the native TypeScript 7 compiler.5 files
npmRuntime & Build Tools · named in 228 files
Run the project's checks through npm scripts for build, lint, test, and typecheck before finishing a change.25 files
AudiusProject/appsCodesWhat/drydockHuman-Agent-Society/reefKevin-Liu-01/Claude-of-TanksKiln-AI/KilnKong/insomniaLiamMorrow/LiftLogLibreChat-AI/LibreChatMHSanaei/3x-uiWowUp/WowUpYishenTu/claudianakash-network/consoleantonycourtney/tabliarabold/docs-mcp-serveraustintoddj/canvasdatalayer/jupyter-uideck9/inputdocumenso/documensoearendil-works/piepicweb-dev/epicshopfelipebarcelospro/igniter-jskyhsa93/nestjs-rest-cqrs-examplelangflow-ai/openragmainsail-crew/mainsailopenclaw/crabboxUse the repo's pinned alternative package manager such as pnpm, bun or yarn; never run npm for installs.24 files
AojdevStudio/Finance-GuruCouchers-org/couchersDicklesworthstone/agentic_coding_flywheel_setupEpicenterHQ/epicenterMarve10s/Better-FullstackShelf-nu/shelf.nuXiaomiMiMo/MiMo-Codeactionbook/actionbookatomicstrata/atomicmemoryboardsesh/boardseshcedarjs/cedarcloudflare/cloudflare-oscrbnos/carbondavis7dotsh/better-contextelmohq/elmoever-works/ever-worksfantastic-admin/basicfluidd-core/fluiddgeneralaction/emdashjoachimchauvet/modernstack-saaslobu-ai/lobumweinbach/agent-coworkernextlevelbuilder/goclawonlook-dev/onlookInstall dependencies first with a clean npm ci or install, including in each new worktree, before running other scripts.9 files
Releases to the npm registry go through CI release workflows or changesets with provenance, never by hand from a workstation.6 files
ReactFrontend Framework · named in 207 files
Named as the UI layer, usually React 19 with TypeScript on Vite or Next.js, sometimes with Tailwind.28 files
AbhishekBarali/SpeakoFlowAudiusProject/appsBitBoxSwiss/bitbox-wallet-appChainlit/chainlitChatbotXIO/ChatbotXCiao1019/PetrichorHKUDS/LightRAGMHSanaei/3x-uiMaintainerr/MaintainerrPrismer-AI/PrismerUllrAI/SaaS-StarterValueCell-ai/ClawXZeroDeng01/sublinkProaipotheosis-labs/acichartbrew/chartbrewchirpz-ai/pandaprobedatabuddy-analytics/Databuddydeadlock-mod-manager/deadlock-mod-managerethereum/ethereum-org-websiteever-works/ever-worksfrontpagefyi/frontpagek1LoW/mokatanemo/planollm-ring/lmringlukevella/ralllynamespace-ee/upcountnextlevelbuilder/goclawonyx-dot-app/onyx-fossThe React frontend or mobile app has its own nested instruction file with component and UI conventions to read first.7 files
Use React Query for server state and API calls, keeping client-only state elsewhere.7 files
Write functional components with hooks only; class components are not used.6 files
Name React components in PascalCase.5 files
PythonProgramming Language · named in 178 files
Use uv to run Python commands and manage dependencies; never call bare pip, python or pytest.16 files
69gg/UndefinedHuman-Agent-Society/reefTracecatHQ/tracecataden-hive/hiveagentic-community/mcp-gateway-registryaipotheosis-labs/acibmaltais/kohya_sscocoindex-io/cocoindexgenerative-computing/melleajihe520/MathModelAgentlangchain-ai/langchain-awslemma-work/lemma-platformlfnovo/open-notebookluochang212/dive-into-langgraphonyx-dot-app/onyx-fossparadigmxyz/centaurAnnotate Python code with type hints and keep it passing the type checker, often strict mypy.11 files
Lint and format Python with Ruff (or Black in some repos) and make it pass before finishing.10 files
Activate and use the repository's own .venv virtual environment before running Python, tests or tools.8 files
Target the project's minimum Python version, so avoid newer syntax and features it does not support.4 files
pnpmMonorepo · named in 176 files
Use the pnpm version pinned in the packageManager field, ideally through Corepack, rather than a global install.13 files
Scope commands to one workspace package with pnpm --filter instead of running them from the whole monorepo.12 files
Use pnpm only for installs and scripts; do not switch to npm or yarn.11 files
Avoid repo-wide pnpm lint fixes, full builds or whole test suites; run targeted commands for the changed code.8 files
Run the pnpm lint, typecheck and test scripts before finishing or committing; CI enforces the same checks.8 files
Regenerate generated code, types and migrations with the provided pnpm scripts instead of editing the output by hand.8 files
Claude CodeAI Coding Assistants · named in 164 files
Instruction file exists to give Claude Code guidance whenever it works in the repository.62 files
Arize-ai/openinferenceAudiusProject/appsFoundry376/MailspringHEIGE-PCloud/DoItLeantime/leantimeMiguelsPizza/WebMCPMotleyAI/motleycrewNitrino/easysubsNyanNyanovich/nyanPrismer-AI/PrismerStarTrail-org/LEANNTideDra/zotero-arxiv-dailyTriliumNext/TriliumUI5/webcomponents-reactViewTube/viewtubeViren070/AIOStreamsYunYouJun/cookactionbook/actionbookaipotheosis-labs/acialgorithmicsuperintelligence/openevolveapconw/Aix-DBavgupta456/statboticsbasnijholt/agent-clibenadida/helios-serverc9s/bbgochinchang/web-makerchrisvel/tududicontainers/ramalamacube-js/cubecunla/fakeredis-pyecency/vision-mobileesm7/obsidian-map-viewferdium/ferdium-appfredrikburmester/streamystatsgladly-team/tabguaguaguaxia/weekly_reporthaunchen/n8n-skillshhyqhh/inno-agentisucon/isucon9-qualifyjihe520/MathModelAgentjin-bo/agentaojosephgoksu/prime-nestjsk1LoW/molmnr-ai/lmnrlucafaggianelli/plomberylukevella/ralllymattogodoy/nametagmicrosoft/Agent365-Samplesminusxai/minusx-metabasenamespace-ee/upcountnextflow-io/nextflownounsDAO/nouns-monorepooekazuma/svelte-meta-tagsohcnetwork/careplastic-labs/honchoplatformatic/platformaticreact-native-progress-view/progress-viewrecruit-tech/location-staterobotostudio/turbo-start-sanitysebastienheyd/boilerplatetfriedel/claude-office-skillstom-james-watson/breaktimer-appOne shared agent file is written for Claude Code, Codex, Cursor, and Copilot alike.17 files
Cap-go/capgo.appGetBindu/BinduMemTensor/MemOSNVIDIA/NeMo-RetrieverYoungCan-Wang/WyckoffTradingAgentZIZKA-AI-SL/ZizkaDBauthorizerdev/authorizerchrishayuk/larqldeadlock-mod-manager/deadlock-mod-managerfeast-dev/feastlearningequality/kolibrilithops-cloud/lithopsmudler/LocalAIomnigent-ai/omnigentopenaustralia/planningalertsresponsibleai/ASSERTrsclaw-ai/rsclawCLAUDE.md is a thin adapter that only imports AGENTS.md, which stays the canonical file.7 files
Do not add Claude Code attribution or generated-with footers to commits or pull requests.6 files
Skills live in a shared skills directory that .claude/skills links to.5 files
Claude Code hooks enforce checks or set up the environment at edit or session time.3 files
DockerServers & Self-Hosting · named in 143 files
Integration and end-to-end tests need a running Docker daemon or services, so start them before running those suites.12 files
Docker Compose runs the local dev services, such as databases and Redis, so start it before running the app.7 files
Do not assume Docker is available; many dev and test paths intentionally run without it, and CI may have none.7 files
Build and publish multi-arch Docker images through CI release workflows rather than by hand.6 files
Run visual regression tests inside Docker so screenshots stay consistent across machines and match CI.4 files
Rebuild images after changing code or dependencies; use compose up rather than restart, as there is no hot reload.3 files
ViteRuntime & Build Tools · named in 118 files
Vite is the frontend bundler and dev server, typically behind a React or Vue single-page app.30 files
AudiusProject/appsBitBoxSwiss/bitbox-wallet-appChainlit/chainlitCiao1019/PetrichorCodesWhat/drydockHKUDS/LightRAGMHSanaei/3x-uiMaintainerr/MaintainerrRoznoshchik/LurnbyZeroDeng01/sublinkProactualbudget/actualchartbrew/chartbrewdkron-io/dkronfantastic-admin/basicfluidd-core/fluiddgorkem-bwl/atlasinfiniflow/ragflowk1LoW/molangbot-app/LangBotmainsail-crew/mainsailmindroom-ai/mindroomnamespace-ee/upcountnounsDAO/nouns-monorepoopenRin/Rinorangecoding/fredypaperclipai/paperclipslymnoyann/hey.xyzstatamic/cmstanvesh01/ruduyusufkaraaslan/Skill_SeekersRun the Vite dev server for hot-reload UI work.9 files
Where the project uses Vite+, run everything through the vp CLI instead of calling pnpm, npm, or vite directly.8 files
Frontend source changes are not visible until Vite rebuilds; run the build or the dev server before checking the result.4 files
In Laravel apps, a missing-Vite-manifest error means run the production build or start the dev server.3 files
Environment variables exposed to client code use the VITE_ prefix and are baked in at build time.3 files
pytestTesting · named in 116 files
Run tests through the project environment, with uv run or the venv, never a bare system pytest.26 files
69gg/UndefinedChainlit/chainlitCodeBoarding/CodeBoardingHuman-Agent-Society/reefKiln-AI/KilnMODSetter/SurfSensePipelex/pipelexPrimeIntellect-ai/verifiersSaik0s/mcp-browser-useanywhere-labs/Agents-Anywherecocoindex-io/cocoindexdapr/dapr-agentsdramaclaw/dramaclawemcie-co/parlantgenerative-computing/melleahijohnnylin/neuronpediahome-assistant/corelemma-work/lemma-platformlfnovo/open-notebookplastic-labs/honchopuppyone-ai/puppyone-cloudreflex-dev/reflexsuperserve-ai/superserveusestrix/strixwandb/weavezilliztech/memsearchMark tests by type, such as unit, integration, slow, or e2e, so default runs skip slow or credentialed ones.15 files
AojdevStudio/Finance-GuruDatus-ai/Datus-agentGetStream/Vision-AgentsMODSetter/SurfSenseTideDra/zotero-arxiv-dailyareal-project/AReaLaxolotl-ai-cloud/axolotlcontainers/ramalamacuga-project/cuga-agentdapr/dapr-agentsdramaclaw/dramaclawlivekit/agentsphil65/agentpoolpuppyone-ai/puppyone-cloudyusufkaraaslan/Skill_SeekersRun pytest and see it pass before committing or claiming a task is done.9 files
Run a single test file or test by path while iterating, then the full suite before finishing.7 files
Do not add asyncio markers to async tests; async mode is configured globally in the project.4 files
VitestTesting · named in 115 files
Co-locate Vitest test files next to the source they test.9 files
While iterating, run a single test file or filtered scope rather than the whole suite.9 files
Use Vitest for unit tests and Playwright for end-to-end or browser tests.7 files
Vite+ bundles Vitest, so run tests through its vp command.6 files
Run Vitest non-interactively with run or --run, never in watch mode, especially in automation.5 files
Check whether the Vitest config enables globals before importing describe, it, and expect.4 files
PlaywrightBrowser Automation for Agents · named in 110 files
Keep Playwright specs in a dedicated e2e or playwright directory, separate from unit tests.18 files
Cap-go/capgo.appCodesWhat/drydockDicklesworthstone/agentic_coding_flywheel_setupGram-ax/gramaxNitrino/easysubsSonicJs-Org/sonicjsTriliumNext/Triliumapi-platform/demoartsy/forceaustintoddj/canvasdorylab/doryelement-hq/element-webelmohq/elmoemdash-cms/emdashgitbutlerapp/gitbutleriCrawl/yuudachilikec4/likec4perses/persesRun the Playwright suite through the project's e2e script, such as a test:e2e command or make target.14 files
Playwright is the end-to-end test framework, while unit tests run on Vitest or Jest.11 files
Install Playwright browsers and have the app running before executing end-to-end tests.7 files
Add or update a Playwright spec when changing user-facing flows, rather than relying on unit tests alone.7 files
Do not use Playwright or other browser automation for ad-hoc UI checks; reserve it for committed regression tests.6 files
Node.jsProgramming Language · named in 100 files
Node.js has a required minimum version, so check the version before installing or running anything.38 files
BitBoxSwiss/bitbox-wallet-appChainlit/chainlitChatLunaLab/chatlunaChatbotXIO/ChatbotXCodesWhat/drydockDraculabo/AntigravityManagerGitlawb/openclaudeMaintainerr/MaintainerrMarker-Inc-Korea/AutoRAGMiguelsPizza/WebMCPQwenLM/qwen-codeYunYouJun/cookactionbook/actionbookactualbudget/actualbluesky-social/atprotodiegosouzapw/OmniRouteecency/vision-mobileelmohq/elmoepicweb-dev/epicshopever-co/ever-teamsever-works/ever-worksgarden-co/classic-jazzgiselles-ai/gisellehaunchen/n8n-skillshhyqhh/inno-agentiCrawl/yuudachijakejarvis/domainstack.iojitsucom/jitsukodustech/kodus-ailabring/FastGPTllm-ring/lmringmsgbyte/tianjiopen-condo-software/condoopf/openprojectorangecoding/fredysaifyxpro/HeadlessXsigle/siglevikejs/batiThe Node version is pinned in a version file such as .nvmrc or package.json engines; use nvm to match it.22 files
CodesWhat/drydockFxEmbed/FxEmbedMaintainerr/MaintainerrMiguelsPizza/WebMCPPackmindHub/packmindUniswap/interfaceactualbudget/actualarabold/docs-mcp-serverbluesky-social/atprotoelmohq/elmoever-co/ever-teamsevoluhq/evolufantastic-admin/basicfluidd-core/fluiddgetnao/naok1LoW/mokodustech/kodus-aimaitrungduc1410/react-native-video-trimopen-condo-software/condoperses/persessiemens/ixtambo-ai/tamboUse the one designated package manager alongside Node, such as pnpm only or npm with the lockfile.13 files
Node.js is the runtime for backend services, CLIs, and tooling in the monorepo.11 files
Keep Node.js-only APIs out of browser and renderer code; prefer Web APIs or go through a bridge.3 files
Use Bun instead of Node.js for running, building, and installing in these projects.3 files
ESLintLinting & Formatting · named in 97 files
Lint with the project's lint script, such as pnpm lint, and use its fix variant.17 files
BitBoxSwiss/bitbox-wallet-appChatLunaLab/chatlunaFujiwaraChoki/supoclipNitrino/easysubsPackmindHub/packmindShelf-nu/shelf.nuValueCell-ai/ClawXbwendell/gemini-desktopcedarjs/cedarchinchang/web-makerdeck9/inputever-co/ever-teamshashintel/hashhaunchen/n8n-skillskodustech/kodus-aikyhsa93/nestjs-rest-cqrs-examplereact-native-progress-view/progress-viewUse a flat or shared ESLint config file in the repo as the source of rules.11 files
Lint must pass in CI and pre-commit hooks, so run it before committing.10 files
Used for linting alongside Prettier for formatting; treat the two as the style authority.9 files
Some repos use Biome or oxlint instead of ESLint, so do not add or run ESLint there.8 files
Never disable rules, edit lint configuration, or run repo-wide auto-fix unless asked; fix the root cause instead.5 files
Next.jsFrontend Framework · named in 93 files
Named as the web frontend, dashboard or docs site app inside a monorepo.13 files
Use App Router conventions.5 files
Read the Next.js docs bundled in node_modules before framework work; remembered knowledge may be outdated.4 files
Keep backend and server logic in separate packages; Next.js is only the web frontend or dashboard.4 files
Route browser calls to the backend through a Next.js proxy or BFF layer rather than directly.3 files
PostgreSQLDatabase · named in 82 files
Named as the project's main relational database, often alongside Redis.19 files
Cap-go/capgo.appChatbotXIO/ChatbotXPackmindHub/packmindRoznoshchik/LurnbyShelf-nu/shelf.nuUllrAI/SaaS-Starteraipotheosis-labs/acibaserow/baserowbenadida/helios-servercalcom/cal.diygiselles-ai/gisellellm-ring/lmringmattogodoy/nametagohcnetwork/careonyx-dot-app/onyx-fossopen-condo-software/condoopf/openprojectxang1234/stock-screenerzentralopensource/zentralPair PostgreSQL with Drizzle as the ORM and schema layer.11 files
Use the pgvector extension for embeddings and vector search inside PostgreSQL.8 files
Keep code portable across PostgreSQL and the other supported engines such as SQLite or MySQL.5 files
Run database tests against a real PostgreSQL instance rather than mocks or SQLite stand-ins.4 files
CursorAI Coding Assistants · named in 75 files
The file is written for any AI coding agent, listing Cursor next to Claude Code, Copilot, and Codex.26 files
Cap-go/capgo.appFlowElement-xinliuyuansu/m_flowGetBindu/BinduMaintainerr/MaintainerrMemTensor/MemOSNVIDIA/NeMo-RetrieverUKGovernmentBEIS/inspect_aiYoungCan-Wang/WyckoffTradingAgentZIZKA-AI-SL/ZizkaDBauthorizerdev/authorizerdarkroomengineering/satusdeadlock-mod-manager/deadlock-mod-managerdebpalash/VoiceStudioever-works/ever-worksgenerative-computing/mellealearningequality/kolibrilithops-cloud/lithopsmudler/LocalAIomnigent-ai/omnigentpipeshub-ai/pipeshub-airesponsibleai/ASSERTrsclaw-ai/rsclawrush86999/atomtetherto/pearpass-app-desktopwshobson/agentszilliztech/memsearchCursor Cloud agent VMs have their own environment setup notes, secrets, and caveats documented separately.10 files
Cursor-specific rules live under a dot-cursor directory.6 files
Cursor is named as an MCP client, alongside Claude Desktop, that can connect to the project's server.4 files
SQLiteDatabase · named in 74 files
Serves as the default or embedded local database, often with PostgreSQL as an optional alternative.15 files
Reach SQLite through an ORM or query builder such as Drizzle, Kysely or SeaORM, not scattered raw SQL.8 files
Tests use in-memory or real SQLite instead of external database services.7 files
Change the SQLite schema through versioned migration files rather than ad hoc edits.7 files
When supporting SQLite and other databases, keep schemas aligned and verify changes beyond SQLite alone.4 files
BunMonorepo · named in 67 files
Use Bun for installs and scripts (bun install, bun run, bunx); don't use npm, pnpm, or yarn.13 files
Tests run on Bun's built-in runner (bun:test), with caveats about module mocks, timeouts, and per-package runs.12 files
Repo is a Bun workspaces monorepo, often orchestrated with Turborepo.12 files
Use the pinned Bun version from the repo.8 files
Bun is only the development toolchain; shipped code runs on Node or another runtime, so keep it compatible.5 files
Bun runs TypeScript files directly, so scripts need no compile step.3 files
PrettierLinting & Formatting · named in 67 files
Follow the project's Prettier settings in its config file for quotes, semicolons, width, and indentation.15 files
Format with the project's format script, such as yarn format or pnpm format, rather than by hand.8 files
Some repos use Biome or oxfmt instead of Prettier, so do not run Prettier there.7 files
Formatting is enforced by hooks or CI, so unformatted code gets rejected or fixed automatically.5 files
Prettier plugins sort imports and Tailwind classes, so keep code aligned with that ordering.3 files
RedisCaching & Key-Value · named in 64 files
Named as the queue broker, cache or pub/sub layer, usually next to Postgres and a background worker.15 files
ChatbotXIO/ChatbotXCiao1019/PetrichorPackmindHub/packmindRoznoshchik/Lurnbychartbrew/chartbrewchirpz-ai/pandaprobedatabuddy-analytics/Databuddydataelement/bishengiCrawl/yuudachijihe520/MathModelAgentpuppyone-ai/puppyone-cloudsaifyxpro/HeadlessXthe-momentum/open-wearablesxang1234/stock-screenerxerrors/YuxiStart Redis through Docker Compose or a test service script before running the app or integration tests.9 files
Redis is optional: when it is unset the app falls back to in-memory caching or disables rate limits.5 files
Use Upstash Redis for serverless rate limiting and caching.4 files
RustProgramming Language · named in 60 files
Rust provides the native backend or core, often a Tauri desktop shell or crates beside a TypeScript frontend.12 files
Rust crates live in a Cargo workspace under crates/, separate from app code.6 files
Use the Rust 2024 edition for new code.5 files
Format and lint Rust with cargo fmt and clippy before opening a PR.4 files
Read the nested AGENTS.md for Rust directories before changing Rust code.4 files
Run Rust tests with cargo test, workspace-wide or via nextest.3 files
FastAPIBackend Framework · named in 58 files
Named as the Python backend or API server framework, usually paired with a separate frontend.16 files
ArcReel/ArcReelChainlit/chainlitDmitryBMsk/llm-council-plusFujiwaraChoki/supoclipHKUDS/LightRAGKiln-AI/KilnMODSetter/SurfSenseSignificant-Gravitas/AutoGPTagentcontrol/agent-controlaipotheosis-labs/acilemma-work/lemma-platformlfnovo/open-notebookonyx-dot-app/onyx-fosspuppyone-ai/puppyone-cloudtransformerlab/transformerlab-appwecode-ai/Wegent
GitHub ActionsCI/CD · named in 55 files
Releases, publishing and deploys run through GitHub Actions workflows; do not publish or deploy manually.7 files
Pin third-party actions to a full commit SHA with a version comment, never a floating tag.3 files
Tailwind CSSStyling · named in 55 files
Tailwind is the styling layer, typically paired with shadcn/ui and Radix components.14 files
Chainlit/chainlitDicklesworthstone/agentic_coding_flywheel_setupMiguelsPizza/WebMCPPrismer-AI/PrismerTheOrcDev/8bitcn-uiUllrAI/SaaS-Starteraipotheosis-labs/acidocumenso/documensofrontpagefyi/frontpagekriasoft/react-starter-kitllm-ring/lmringteam-reflect/reflect-openxintaofei/codegyashdev9274/supercliStyle with Tailwind utility classes as the main approach, using plain CSS only when utilities cannot express it.7 files
Tailwind v4 uses CSS-first configuration in a stylesheet.5 files
ElectronDesktop Framework · named in 48 files
Named as the desktop app or wrapper, living in its own directory such as desktop or electron.9 files
Treat Electron as a thin desktop shell; keep shared logic and UI in common packages or the web app.7 files
Running Electron locally needs care: install its binaries per worktree, avoid focus-stealing e2e runs, kill stale processes.4 files
Keep main and renderer processes separate; communicate via IPC and preload bridges, with a thin main process.3 files
ZodData Validation · named in 46 files
Validate all external or untrusted input, such as requests and payloads, with Zod schemas at the boundary.11 files
Keep Zod schemas in one dedicated shared location rather than inline in pages or routers.7 files
Forms pair React Hook Form with Zod for validation.6 files
Infer TypeScript types from Zod schemas instead of declaring duplicate interfaces.3 files
Use Zod parsing to narrow unknown values instead of any or casts.3 files
BiomeLinting & Formatting · named in 40 files
Code style such as indentation, quotes, and semicolons is dictated by the Biome config, so follow it.10 files
Run Biome through package scripts such as lint, format, check, or fix, optionally with auto-fix.9 files
Biome is used through the Ultracite preset, which sets the lint and format rules.6 files
Biome handles both linting and formatting, replacing ESLint and Prettier, so don't add those.3 files
Style is enforced by Biome automatically, so don't hand-police or comment on formatting.3 files
Run Biome before committing or pushing; it is also wired into pre-commit hooks.3 files
CloudflareHosting · named in 35 files
Named as the runtime and host: the backend runs as Cloudflare Workers, often with Hono.14 files
Use Cloudflare R2 as the object storage for uploads, media and release artifacts.5 files
Use Cloudflare D1 as the SQLite database.5 files
Deploy to Cloudflare with the Wrangler CLI or a Wrangler-based CI workflow.3 files
JestTesting · named in 34 files
Run Jest through the project's own script or make target rather than invoking it directly.10 files
Jest test files sit beside source or in __tests__ folders.5 files
React Native projects test with Jest using the react-native preset.3 files
Check which runner a package uses; do not mix Jest with Vitest imports or APIs.3 files
PydanticData Validation · named in 33 files
Define API request and response schemas as Pydantic models for validation.10 files
Load configuration and settings through Pydantic models, giving typed and validated config.9 files
Keep Pydantic models in a dedicated schemas or models directory.7 files
Prefer Pydantic models over untyped dicts or bare classes for structured data.6 files
GraphQLAPI Layer & Data Fetching · named in 32 files
Named as the API layer of the backend, often next to REST or MCP endpoints.10 files
TurborepoMonorepo · named in 31 files
Turborepo orchestrates build, test, and lint tasks across a pnpm or Bun workspace monorepo.18 files
Asymmetric-al/coreChatbotXIO/ChatbotXShelf-nu/shelf.nuactionbook/actionbookcrbnos/carbondatabuddy-analytics/Databuddydeadlock-mod-manager/deadlock-mod-managerdmno-dev/varlockelmohq/elmoever-works/ever-worksgiselles-ai/gisellellm-ring/lmringloglayer/loglayerrobotostudio/turbo-start-sanitysuperserve-ai/superserveteam-reflect/reflect-openthedaviddias/llms-txt-hubuptimekit/uptimekitTurborepo caching speeds up repeated typecheck, test, lint, and build runs, so rely on it.6 files
Task pipeline and cache settings live in turbo.json.5 files
Turborepo behavior varies by version, so read the docs bundled in the installed turbo package before changing config.4 files
VercelHosting · named in 31 files
Build AI features with the Vercel AI SDK.7 files
Environment variables and secrets live in the Vercel project settings.3 files
ZustandState Management · named in 29 files
Used as the frontend global state manager, usually in a React and Vite or Tailwind stack.9 files
Keep stores in dedicated store files or directories rather than inside components.6 files
Reserve Zustand for complex or shared global state; keep component-only state in local useState or context.5 files
Pair Zustand with a server-state library such as React Query or SWR for fetched data.5 files
Split state into several stores or per-domain slices instead of one central monolithic store.4 files
Read stores through selectors, using shallow comparison where needed, and mind what a selector subscribes to.4 files
RuffLinting & Formatting · named in 28 files
Ruff serves as the Python linter and formatter.9 files
Run Ruff through make or just targets; it is enforced by pre-commit hooks.6 files
Ruff also sorts imports.5 files
Ruff settings live in pyproject.toml.3 files
shadcn/uiUI Components · named in 28 files
Named as the UI component library, typically alongside Tailwind CSS, Radix, and React.15 files
Dicklesworthstone/agentic_coding_flywheel_setupPrismer-AI/PrismerTheOrcDev/8bitcn-uiUllrAI/SaaS-Starteraipotheosis-labs/acicoollabsio/jeanethereum/ethereum-org-websitefrontpagefyi/frontpagekriasoft/react-starter-kitlangbot-app/LangBotllm-ring/lmringnext-safe-action/next-safe-actiontom-james-watson/breaktimer-appvanxh/openbioxintaofei/codegPrefer existing shadcn/ui components and primitives when building new interface features instead of custom ones.5 files
YarnRuntime & Build Tools · named in 27 files
The monorepo is managed with Yarn workspaces.15 files
Use Yarn rather than npm.7 files
Use the Yarn 4 version pinned in the package manifest.3 files
DiscordCommunity · named in 26 files
Listed as one of the chat platforms the project integrates with or sends notifications to.8 files
ChangesetsMonorepo · named in 25 files
Do not bump versions or publish by hand; releases go through Changesets and CI, usually via a version PR.6 files
Add a changeset file with the changeset command to every PR that changes published packages, and commit it.4 files
Write changesets as consumer-facing release notes of the final change, with bump level set by impact.4 files
MDXMarkdown & Code Rendering · named in 25 files
Documentation site content is written as MDX pages, often with Fumadocs.14 files
Never hand-edit generated MDX files; update the source and regenerate them.3 files
ExpressBackend Framework · named in 24 files
Named as the backend HTTP or REST API server, often paired with a separate React frontend.14 files
Keep route files thin, with one router per file delegating to controllers or repositories.3 files
In production the API server also serves the built frontend.3 files
SentryError Monitoring · named in 24 files
Sentry is the production error tracking service for the app.10 files
Send unexpected errors through the project's logger or an explicit capture call so they reach Sentry.4 files
SlackCommunity · named in 24 files
Listed as one of the chat platforms the project integrates with or sends notifications to.8 files
OpenTelemetryLogs & Traces · named in 21 files
Named as the tracing and observability layer, often alongside other monitoring tools.8 files
StorybookTesting · named in 21 files
Start the component workbench with the storybook npm script, which serves on a local port such as 6006.5 files
Storybook also feeds testing: visual regression, accessibility checks, or Playwright suites run against it.5 files
Storybook lives with the shared UI component package, documenting the design system.5 files
Add Storybook stories when creating or changing UI components, and develop views there.4 files
SupabaseDatabase · named in 21 files
Used as the hosted Postgres database plus auth layer, with row-level security.6 files
Supabase URLs and keys go in environment files, never in code.3 files
Drizzle ORMDatabase Access & ORMs · named in 20 files
Named as the ORM paired with PostgreSQL, sometimes on Neon.10 files
Keep Drizzle schemas and migrations in a dedicated shared database package or directory.7 files
Query through Drizzle rather than raw SQL, and use it exclusively as the ORM.4 files
Drizzle also fronts lightweight SQLite-style stores such as D1, Turso and expo-sqlite.3 files
SQLAlchemyDatabase Access & ORMs · named in 20 files
Named as the Python ORM, usually with FastAPI or Flask and PostgreSQL.10 files
Keep SQLAlchemy models and database code in dedicated db or models modules, separate from handlers.4 files
Use SQLAlchemy 2.0-style APIs with typed mapped columns and select, not legacy query patterns.3 files
TauriDesktop Framework · named in 20 files
Tauri is the desktop shell, pairing a Rust backend with a web frontend, usually React and Vite.16 files
69gg/UndefinedAbhishekBarali/SpeakoFlowGram-ax/gramaxcoollabsio/jeandeadlock-mod-manager/deadlock-mod-managerdelta-comic/delta-comicdrl990114/MarkFlowygitbutlerapp/gitbutlerkdlbs/kandevnamespace-ee/upcountopen-pencil/open-pencilrsclaw-ai/rsclawscreenpipe/screenpipetanvesh01/ruduteam-reflect/reflect-openxintaofei/codegRust side lives in src-tauri, with command handlers registered in the bootstrap for the frontend to call.4 files
ExpoApp Store Release · named in 19 files
Mobile apps are built with Expo and React Native, usually as one app inside a larger monorepo.14 files
KubernetesServers & Self-Hosting · named in 19 files
Named as the deployment or execution platform, often packaged with Helm charts.6 files
React NativeMobile Framework · named in 19 files
The mobile app is a React Native app, usually built on Expo, living in its own app directory.14 files
Mobile differs from web, so keep native and browser behavior in separate platform layers with their own guidance.4 files
TanStack QueryAPI Layer & Data Fetching · named in 19 files
Named as the data-fetching layer for frontend requests to the backend API.6 files
Use it for frontend calls to the API, through query options helpers on typed or generated clients.5 files
Handles server state and API data fetching, while client-only UI state goes to stores like Zustand or Jotai.3 files
MySQLDatabase · named in 18 files
Named as the primary relational datastore of the backend.5 files
MySQL is one of several supported databases, so keep queries and migrations portable across Postgres, SQLite and MariaDB.3 files
Requires a minimum MySQL version, usually 8.x, with MariaDB accepted as an alternative.3 files
OllamaRun Models Locally · named in 18 files
Ollama is one supported LLM provider alongside hosted ones.10 files
VS CodeCode Editor & Terminal · named in 18 files
VS Code is listed as one of several AI client targets with its own config or instruction files.8 files
i18nextInternationalization · named in 17 files
Named as the internationalization library for the web UI, usually with react-i18next.10 files
Route every user-facing string through i18next translations instead of hardcoding text.4 files
Store translations as keyed locale files per language, split by namespace or feature.3 files
PrismaDatabase Access & ORMs · named in 17 files
Named as the ORM over PostgreSQL.4 files
SvelteFrontend Framework · named in 17 files
Svelte is the frontend UI layer, often as SvelteKit, alongside a non-JavaScript backend.8 files
Consult official Svelte docs, MCP, or vendored Svelte skills before editing Svelte files.4 files
Write Svelte 5 with runes such as $props, $state, $derived, and $effect, not legacy stores.3 files
GitHub CopilotAI Coding Assistants · named in 16 files
Named as one of several AI coding agents (with Claude Code, Codex, Cursor) the shared instruction file addresses.10 files
MongoDBDatabase · named in 16 files
Named as the main document database, often alongside Redis, Postgres, or other stores.7 files
React RouterFrontend Framework · named in 16 files
Named as the client-side routing library for the React frontend.13 files
webpackRuntime & Build Tools · named in 16 files
Named as the frontend asset bundler, configured in a webpack config file.4 files
AstroFrontend Framework · named in 15 files
Astro builds the docs or marketing website, kept in its own subdirectory apart from the main app.7 files
HonoBackend Framework · named in 15 files
Used as the lightweight HTTP framework for backend API services, often on Cloudflare Workers or Bun.11 files
OpenAI CodexAI Coding Assistants · named in 15 files
Listed among several coding agents the shared instruction file is written for, alongside Claude Code and Copilot.4 files
PHPProgramming Language · named in 15 files
PHP serves as the backend language, usually under Laravel or Symfony.10 files
A minimum PHP version is required, so match the version the project targets.5 files
Write modern PHP 8 code following PSR-12, with strict types and newer language features.4 files
Run PHP and test commands through the project wrapper such as Sail, ddev, or artisan tinker.4 files
StripePayments · named in 15 files
Handles billing, subscriptions and payments in the product.11 files
How we counted
From each repo's AGENTS.md (or its CLAUDE.md, when that isn't just a pointer to AGENTS.md), we took up to three lines naming the tool outside code blocks, for up to 150 files per tool. One reader grouped each tool's lines into notes; a second checked every cited repo against its lines and dropped the ones that didn't say it. A note shared by fewer than three files is left out, so the counts are a floor: a file can say the same thing in a line we didn't read. Tools whose names are also ordinary words are left out. The files are their authors' writing, so nothing here quotes them.