# For developers and agents

**There is no public API on this site, and no API keys, accounts or rate plans.** Everything here is a static page, and every page is available as plain Markdown.

## Quickstart

Ask for any page as Markdown with the `Accept` header. No authentication is needed.

```sh
curl -H 'Accept: text/markdown' https://ethan-codes.com/
curl -H 'Accept: text/markdown' https://ethan-codes.com/about
```

Or fetch the Markdown file directly by URL:

```sh
curl https://ethan-codes.com/index.md
curl https://ethan-codes.com/about/index.md
```

Responses vary on `Accept`, so caches keep the HTML and Markdown versions apart. Unknown paths return a real `404`, with a Markdown body when you ask for Markdown.

## Machine-readable files

- [/llms.txt](https://ethan-codes.com/llms.txt): a summary of the site, links to the Markdown version of every page, and a section on when an agent should use this site.
- [/sitemap.xml](https://ethan-codes.com/sitemap.xml): every indexable URL with its last-modified date.
- [/robots.txt](https://ethan-codes.com/robots.txt): crawling is allowed; it points to the sitemap.
- **JSON-LD**: the homepage embeds `Person`, `Organization` and `WebSite` structured data from schema.org.

## Sandbox

[Webuntu](https://box.eths.dev) is a disposable Ubuntu 22.04 computer that runs in a browser tab. It is a safe place to try Linux commands: nothing is installed on your machine and networking is off until you turn it on. Named instances keep their disk between visits.

## Open source

My code is on [GitHub](https://github.com/ethandacat), including [discourse-bot](https://github.com/ethandacat/discourse-bot), a library for building Discourse forum bots without an API key, and [Make a Leaf](https://github.com/ethandacat/make-a-leaf), a game made in Godot.

## Contact

Questions about any of this: [hi@ethan-codes.com](mailto:hi@ethan-codes.com). See also the [about](https://ethan-codes.com/about) and [privacy](https://ethan-codes.com/privacy) pages.
