agent-md-bench
paste your AGENTS.md, CLAUDE.md, .cursorrules or .mdc. the page will count tokens and bytes, show per-agent size budgets, and flag parser quirks across the major CLI coding agents. 100% in the browser. nothing leaves the page.
drag-and-drop a file here, or paste your AGENTS.md / CLAUDE.md / .cursorrules / .mdc content.
size
| metric | value |
|---|---|
| characters | 423 |
| bytes (utf-8) | 423 |
| lines | 25 |
| approx tokens (±20%) | 106 |
per-agent budget
soft caps from each agent’s docs (May 2026). no agent hard-truncates today; over-budget files cost prompt-cache headroom.
| agent | soft cap | verdict |
|---|---|---|
| Claude Code | ~200 lines / ~16 KB | within budget |
| Cursor | ~500 lines per .mdc | within budget |
| Codex CLI | ~32 KB | within budget |
| Aider | ~16 KB | within budget |
| Gemini CLI | ~32 KB | within budget |
| OpenCode | ~32 KB | within budget |
| Goose | ~16 KB | within budget |
findings (0 error · 0 warn · 2 info)
- AIDER-01Aiderinfo
Aider does not auto-discover 'AGENTS.md'. Either rename to CONVENTIONS.md or add 'read: AGENTS.md' to .aider.conf.yml.
- GEMINI-01Gemini CLIinfo
Gemini CLI looks for GEMINI.md (case-sensitive on Linux). 'AGENTS.md' will be ignored unless you symlink it.
100% client-side. nothing leaves your browser. parser rules sourced from the bernstein adapters.
what the linter checks
- claude code: 200-line soft cap; YAML frontmatter is ignored (and burns tokens); subdirectory CLAUDE.md needs explicit
--add-dir. - cursor: .mdc requires YAML frontmatter; legacy
.cursorrulesstill works but is undocumented; ≤500 lines per .mdc. - codex (openai): reads AGENTS.md only; weighs prose blocks higher than dense bullet lists.
- aider: reads CONVENTIONS.md, NOT AGENTS.md / CLAUDE.md, and only if .aider.conf.yml lists it.
- gemini cli: reads GEMINI.md (case-sensitive on linux).
- opencode: reads AGENTS.md by convention.
- cross-cutting: non-standard
max-tool-budgetdirective; HTML comments cost tokens; prompt-cache penalty over 16 KB; missing “## Build & test” section.
every rule is a pure function over the input text. the source of truth is src/bernstein/adapters in the bernstein OSS repo. send a PR to fix or extend a rule.