Developers & agents
Everything on this site that is meant to be read by a program. No auth, no keys, no rate limits beyond common sense — it is a static profile site, and it exists to be fetched.
Endpoints
Markdown twins
Every HTML page has a plain-Markdown twin — append .md to its URL, or send Accept: text/markdown to the HTML URL and content negotiation returns the same thing.
Errors
Unknown paths return a real HTTP 404 — never the homepage wearing a 200. The body follows your Accept header: an RFC 9457 problem document for application/json (with a resources map of every real endpoint), a short Markdown recovery page for text/markdown, HTML only for browsers. A plain Accept: */* — curl, most agents — gets the JSON.
Versioning & rate limits
Every machine-readable response carries X-Api-Version. There are no URL-path versions: this surface is additive, and nothing is removed or repurposed without a new major version announced in llms.txt at least 90 days ahead, after which retired paths return 410 with a Sunset date. Responses also carry RFC 9331 draft RateLimit headers — an advisory 240/60s budget; the site is static and not currently throttled. Full policy lives in the OpenAPI info block.
Formats
One URL, three representations: send Accept: application/json to any page for a PageDocument object (url, title, content as Markdown), Accept: text/markdown for raw Markdown, or just append .md to the URL.