1. Route first
Open `/llms.txt` or `/task-paths.md` before reading full lessons.
The site is intentionally redundant: the same corpus is exposed as Markdown, JSON, `llms.txt`, SQLite FTS, Pagefind search, and a small OpenAPI manifest. An agent should use the smallest surface that answers the task.
Open `/llms.txt` or `/task-paths.md` before reading full lessons.
Use SQLite FTS or `rg` to find the exact fragments you need, then open only those Markdown files.
Use `/llms-ctx-full.txt` or `/animation-all.md` only for broad review tasks.
Best starting point for an external agent. Small, curated, and task-aware.
Best for programmatic routing when you need module, lesson, section, and path metadata.
Best when the caller prefers API-shaped contracts and typed path discovery.
Best for precise keyword retrieval across section bodies without a hosted service.
Best for the final context load once you know which lesson or section matters.
Best for manual browsing in the deployed site. It stays fully static after build.
bun run search -- "transform origin" --limit 5 sqlite3 public/db/animation-content.sqlite \
'SELECT lesson_title, heading, url_path
FROM sections_fts
WHERE sections_fts MATCH ''prefers reduced motion''
LIMIT 5;' rg -n "ease-out|spring|scale\\(0\\)" public/md Use for duration, responsiveness, easing curves, and choosing between product and marketing motion.
Use for `transform`/`opacity`, dropped frames, hardware acceleration, React re-render costs, and layout-heavy animation risks.
Use for reduced motion, autoplaying media fallbacks, and smooth-scrolling decisions.
Use for contextual surfaces, origin-aware motion, onboarding flows, popovers, drawers, and interruptible gestures.
Use for polishing, sequencing, brand feeling, and reviewing motion that technically works but still feels off.