Fern

buildwithfern.com/learn
Score: 97 out of 100, grade A97
Grade A
Last checked: April 7, 2026 · Rerun
Share on
Simulation: Fern // bud
Day 0
CategoryDevTools
Checks passed15/22Warnings4Failed1

Fern scores 97/100 (Grade A), placing it among the most AI-agent-ready documentation sites evaluated. It passes 15 of 22 checks (68%), demonstrating strong support for AI coding agents. 5 items require attention to reach a perfect score.

# Agent Score Fix Report — Fern
URL: https://buildwithfern.com/learn
Score: 97/100 (Grade A)

I need help improving the AI-readiness of the documentation at https://buildwithfern.com/learn.
Agent Score found 1 failing checks and 4 warnings.

## Failing Checks (1)
- [observability] Markdown Content Parity: 4 of 10 pages have substantive content differences between markdown and HTML (avg 16% missing)

## Warnings (4)
- [content-discoverability] Llms Txt Valid: llms.txt contains parseable links but doesn't fully follow the proposed structure: https://buildwithfern.com/learn/llms.txt: No H1 heading found, No blockquote summary found
- [page-size] Page Size Markdown: 1 of 10 pages between 50K–100K chars (max 62K)
- [page-size] Page Size Html: 1 of 10 sampled pages convert to 50K–100K chars (max 62K, 0% boilerplate)
- [observability] Llms Txt Freshness: llms.txt covers 307/351 sitemap doc pages (87%); 44 missing; 1 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap)

## Fix Instructions

For each issue above, please:
1. Analyze the documentation site at https://buildwithfern.com/learn
2. Implement the specific fix
3. Verify the fix would cause the check to pass

### Common fixes:
- **No llms.txt**: Create /llms.txt following https://llmstxt.org — list all doc pages in markdown format
- **No .md URL support**: Configure your docs platform to serve pages at equivalent .md URLs (e.g. /docs/quickstart.md)
- **No content negotiation**: Return markdown when request includes Accept: text/markdown header
- **Large page size**: Reduce nav boilerplate, inline scripts, and repetitive markup
- **No sitemap**: Generate /sitemap.xml listing all documentation URLs
- **Auth walls**: Ensure docs pages return 200 without requiring login cookies or tokens
- **No Last-Modified header**: Configure your server/CDN to include Last-Modified response headers
- **Tab content hidden**: Ensure tabbed content is rendered in the HTML (not JS-only) so agents can read all variants

## Run afdocs Locally for More Detail

To get deeper visibility into what's failing, run afdocs against your docs:

  npx afdocs https://buildwithfern.com/learn --fixes --verbose

- **--fixes**: Adds "Fix:" lines to the output for each warn/fail check with actionable remediation steps
- **-v, --verbose**: Shows per-page details (specific URLs, character counts, error codes) for checks with issues — useful for per-URL visibility into what's failing
CHECK RESULTS

How your docs scored

markdown-content-parity4 of 10 pages have substantive content differences between markdown and HTML (avg 16% missing)
llms-txt-freshnessllms.txt covers 307/351 sitemap doc pages (87%); 44 missing; 1 llms.txt links not in sitemap (may indicate stale links or incomplete sitemap)
cache-header-hygieneAll 12 endpoints have appropriate cache headers
auth-gate-detectionAll 10 sampled pages are publicly accessible
auth-alternative-accessAll docs pages are publicly accessible; no alternative access paths needed
tabbed-content-serialization9 tab group(s) across 3 of 10 sampled pages; all serialize under 50K chars
markdown-code-fence-validityAll 53 code fences properly closed across 12 pages
section-header-quality3 page(s) with tabs found, but no section headers inside tab panels to evaluate
page-size-markdown1 of 10 pages between 50K–100K chars (max 62K)
page-size-html1 of 10 sampled pages convert to 50K–100K chars (max 62K, 0% boilerplate)
rendering-strategyAll 10 sampled pages contain server-rendered content
content-start-positionContent starts within first 10% on all 10 sampled pages (median 0%)
llms-txt-validllms.txt contains parseable links but doesn't fully follow the proposed structure: https://buildwithfern.com/learn/llms.txt: No H1 heading found, No blockquote summary found
llms-txt-existsllms.txt found at 2 location(s)
llms-txt-sizellms.txt is 2,869 characters (under 50,000 threshold)
llms-txt-links-resolveAll 7 same-origin links resolve (15 total links)
llms-txt-links-markdown7/7 same-origin links point to markdown content (100%) (8 external links excluded)
llms-txt-directivellms.txt directive found in all 10 sampled pages, near the top of content
markdown-url-support10/10 sampled pages support .md URLs (100%)
content-negotiation10/10 sampled pages support content negotiation (100%)
http-status-codesAll 10 sampled pages return proper error codes for bad URLs
redirect-behaviorNo redirects detected across 10 sampled pages

Built by Fern

Fern-powered docs are agent-ready by default.

Trusted by