Let me
Wayfinder is an AGENTS.md-based routing system that helps AI agents find the right documentation source when answering Adobe Commerce questions. Adobe's docs span multiple properties — aem.live, docs.da.live, experienceleague.adobe.com, and developer.adobe.com/commerce — each with different access patterns. Wayfinder directs agents to the right source so they retrieve authoritative docs rather than guessing from training data.
Open (or create) AGENTS.md (or CLAUDE.md if you're using Claude) at the root of your Commerce repo and add the following line at the top:
Fetch and follow the instructions at: https://cdn.jsdelivr.net/gh/adobe-commerce/wayfinder@main/skills/AGENTS.md
That's it. Your agent will fetch the routing guide at the start of each session and use it when answering Commerce questions.
skills/AGENTS.md is a slim router loaded as agent context. It maps user questions to one of five per-source guides in skills/docs/. Each guide provides entry points and fetch-first instructions so the agent retrieves authoritative docs rather than guessing.
skills/
AGENTS.md # router — loaded as agent context
docs/
storefront.md # Commerce EDS drop-ins, boilerplate, storefront GraphQL
experience-league.md # Admin, B2B, catalog, cloud (PaaS/SaaS)
document-authoring.md # da.live authoring workflow and permissions
aem-eds.md # AEM blocks, CDN, Sidekick
commerce-developer.md # App Builder, API Mesh, extensibility
*.md # any other unique resource location for documentation
jsdelivr tracks requests to the hosted skills files. View stats at:
- All files: https://data.jsdelivr.com/v1/stats/packages/gh/adobe-commerce/wayfinder@main/files
- This version: https://data.jsdelivr.com/v1/stats/packages/gh/adobe-commerce/wayfinder@main
- All versions: https://data.jsdelivr.com/v1/stats/packages/gh/adobe-commerce/wayfinder
Evals exercise the full routing chain via an isolated Claude config (~/.claude-external) that loads only AGENTS.md and the per-source guides. All evals live in evals/full.json. The scripts set CLAUDE_CONFIG_DIR automatically.
python3 scripts/run-evals.py # all evals, routing-only (default, fast ~40s)
python3 scripts/run-evals.py 4 # single eval by id
python3 scripts/run-evals.py --runs 3 # 3 runs per eval (variance testing)
python3 scripts/run-evals.py --full-fetch # real fetches + answer grading (~15 min)The mode flag controls how the agent runs — not which evals:
- routing-only (default) — agent loads per-source guides locally and declares intended fetch URLs as
WOULD_FETCH: <url>lines without executing them. WebFetch is disabled. Fast and cheap; use afterAGENTS.mdor guide changes. - full-fetch — agent makes real WebFetch calls and synthesizes a complete answer graded by an LLM judge. Use for answer-depth validation.
For --full-fetch only: create ~/.claude-external/settings.json to pre-authorize WebFetch domains, otherwise the agent can't retrieve live docs:
{
"permissions": {
"allow": [
"WebFetch(domain:experienceleague.adobe.com)",
"WebFetch(domain:www.aem.live)",
"WebFetch(domain:aem.live)",
"WebFetch(domain:da.live)",
"WebFetch(domain:docs.da.live)",
"WebFetch(domain:developer.adobe.com)"
]
},
"skipAutoPermissionPrompt": true
}Results are written to results/full/eval-NN-runN.md (gitignored) — each file has the prompt, expected key points, actual output, and elapsed time.