CLAUDE.md size.
TL;DR: Adoption falls off a cliff right after the CLAUDE.md. 85% write one. Only 25% ever define a subagent, and 13% use hooks. The public ecosystem is wide and shallow.
The adoption ladder
Here is the share of all 2,500 sampled repositories using each feature.
| Feature |
What it does |
Adoption |
CLAUDE.md |
Plain-English project instructions |
84.9% |
.claude/ directory |
Any structured config |
62.1% |
| Any power feature |
Agents, skills, commands, hooks, or MCP |
53.9% |
.claude/settings.json |
Permissions and config |
41.0% |
| Skills |
Reusable SKILL.md capabilities |
28.1% |
| Custom slash commands |
Saved prompts as /commands
|
25.6% |
| Custom subagents |
Specialized agents in .claude/agents
|
24.6% |
Project .mcp.json
|
Model Context Protocol servers |
17.0% |
| Hooks |
Scripts that fire on tool events |
13.3% |
Each rung up the ladder loses roughly a third of the field. Almost everyone writes a CLAUDE.md. Only one in four ever defines a subagent, and only one in eight uses hooks.
If you only look at the repos that bothered to create a .claude/ directory, the picture is more committed: 45% use skills, 41% use slash commands, 40% define subagents, and 21% use hooks. The split is between developers who treat Claude Code as autocomplete and developers who treat it as a platform.
CLAUDE.md files are getting big
A CLAUDE.md is not a one-liner anymore.
- Median file size: 6.2 KB (roughly 100 to 150 lines)
- Over 10 KB: 33.8%
- Top 10%: larger than 24 KB
- Top 1%: larger than 62 KB
- Largest single file found: 341 KB (about the length of a short book)
People who stick with the tool keep growing the file until it becomes the project's institutional memory.
The power users go deep
Among repos that defined subagents, the median was 6 agents, and the top 10% ran 25 or more. Among repos using skills, the median was 8, with a long tail running into the hundreds.
A small group is clearly running Claude Code as the runtime for an entire automated workflow, not as a coding helper. Once you cross into subagents, the question changes. You stop asking "can it write this function" and start asking "can it own this whole part of the build."
Who is actually using it
The ecosystem skews toward web and AI work.
| Language |
Share of sample |
| TypeScript |
30.2% |
| Python |
22.7% |
| JavaScript |
9.2% |
| HTML |
5.2% |
| Shell |
5.1% |
| Rust |
3.3% |
| C# |
2.9% |
| Go |
1.8% |
It is also alive, not abandoned: 78.2% of the repositories were pushed to in the last 90 days. Most are small and personal (the median star count was zero), but the sample includes serious names committing .claude/ config to their main branches: PostHog, NVIDIA's TensorRT-LLM, Automattic's Calypso, AutoGPT, and PrefectHQ's FastMCP among them.
Method and limitations
I partitioned the GitHub code search by CLAUDE.md file size and combined it with the .claude/ path searches to get past the per-query result cap, deduplicated to 8,298 repos, then classified 2,500 by fetching each repository's recursive file tree.
Caveats I would rather state up front than have pointed out:
-
Public, GitHub-indexed repos only. Private repos are invisible, which is where a lot of serious commercial work lives, so deeper-feature adoption is almost certainly higher than these public numbers.
- Default branch only.
-
MCP is measured by the presence of a project
.mcp.json, so MCP configured inside settings.json is not counted. 17% is a floor, not a ceiling.
-
Some public repos are AI-generated config sprawl. One had 375 "agents." Treat these numbers as floors for the public slice, not universal truth.
The scripts and the raw dataset are committed with the full writeup if you want to verify the numbers or run your own cuts.
One honest disclosure
I run a Claude Code project (Build This Now), which is why I cared enough to build this. The data is real and reproducible regardless. Full methodology, charts, and dataset are here:
State of Claude Code 2026: What 2,500 Public Repos Reveal
If you run hooks or 10+ subagents, I am curious what finally pushed you past the CLAUDE.md. The public median is clearly nowhere near where this community is.