AGENTS.md and CLAUDE.md examples for Fastify
Of 54 actively developed open-source products built with Fastify, 33 (61%) keep instruction files for coding agents: AGENTS.md in 29, CLAUDE.md in 19. The typical file is 796 words, and most cover commands to build, run and test (81%) and pointers to other docs (65%).
Real files to read
From the best-known open-source Fastify 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 Fastify. Each opens on GitHub.
| Project | File | Stars | Words | Covers |
|---|---|---|---|---|
| tsedio/tsed | AGENTS.md | 3,088 | 685 | CommandsTestingDoc pointersStructureCode styleGit |
| Draculabo/AntigravityManager | AGENTS.md | 2,363 | 1,139 | CommandsDoc pointersStructureGit |
| platformatic/platformatic | CLAUDE.md | 2,114 | 461 | CommandsTestingStructureGit |
| getnao/nao | AGENTS.md | 1,909 | 394 | CommandsTestingStructureCode style |
| ViewTube/viewtube | CLAUDE.md | 1,473 | 1,389 | CommandsTestingDoc pointersStructureCode styleGit |
| loglayer/loglayer | AGENTS.md | 548 | 2,059 | CommandsTestingDoc pointersStructureCode style |
What Fastify projects put in them
Share of the 31 files that cover each topic, against all 641 files we read.
How they talk to the agent: 77% say “never” or “do not” somewhere (all files: 80%), 16% shout a rule in capitals like IMPORTANT or MUST (24%), and 10% tell it to ask before some changes (20%).
The tools they name
Package managerspnpm (12 files), npm (9 files), yarn (4 files)
Tests and lintersESLint (7), Vitest (5), Prettier (4), Biome (3), Jest (2), Playwright (2)
Named more than in files generallypnpm (15), Node.js (8), SQLite (7), Yarn (6), Electron (5), GraphQL (5), NestJS (4), Sentry (4)
What they tell the agent
Instructions that recur across files, in our words; open one for the Fastify projects whose file says it.
About pnpm
Use the pnpm version pinned in the packageManager field, ideally through Corepack, rather than a global install.2 files
Scope commands to one workspace package with pnpm --filter instead of running them from the whole monorepo.2 files
Use pnpm only for installs and scripts; do not switch to npm or yarn.1 files
Avoid repo-wide pnpm lint fixes, full builds or whole test suites; run targeted commands for the changed code.2 files
About Node.js
Node.js has a required minimum version, so check the version before installing or running anything.5 files
The Node version is pinned in a version file such as .nvmrc or package.json engines; use nvm to match it.4 files
Use the one designated package manager alongside Node, such as pnpm only or npm with the lockfile.3 files
Node.js is the runtime for backend services, CLIs, and tooling in the monorepo.1 files
About SQLite
Serves as the default or embedded local database, often with PostgreSQL as an optional alternative.3 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.1 files
About Yarn
The monorepo is managed with Yarn workspaces.3 files
Use Yarn rather than npm.2 files
Use the Yarn 4 version pinned in the package manifest.1 files
About Electron
Named as the desktop app or wrapper, living in its own directory such as desktop or electron.2 files
Treat Electron as a thin desktop shell; keep shared logic and UI in common packages or the web app.1 files
About GraphQL
Named as the API layer of the backend, often next to REST or MCP endpoints.2 files
About Sentry
Sentry is the production error tracking service for the app.2 files
A starting AGENTS.md for Fastify
The sections these files cover most, the package manager and checks Fastify projects name most, and the stack Fastify 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 - Backend Framework: Fastify ## 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/fastify — point CLAUDE.md here with a line: @AGENTS.md -->
- pnpm: named in 12 of 31 instruction files from open-source projects built with Fastify.
- Vitest: named in 5 of 31 instruction files from open-source projects built with Fastify.
- Playwright: named in 2 of 31 instruction files from open-source projects built with Fastify.
- ESLint: named in 7 of 31 instruction files from open-source projects built with Fastify.
Questions
What should an AGENTS.md for a Fastify project include?
In 31 files from open-source Fastify products: commands to build, run and test (81%), pointers to other docs (65%), testing (55%), project structure (55%), git, commits and pull requests (52%), code style (48%). The package manager they name most is pnpm (12 files).
AGENTS.md or CLAUDE.md?
Among these Fastify products, 29 keep an AGENTS.md and 19 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 Fastify AGENTS.md?
The median is 796 words in these 31 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 Fastify, 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.