Appearance
Search & navigation
This site is built to be read two ways: in the browser by people, and programmatically by agents. Both views are generated from the same markdown at build time.
Searching in the browser
The search box in the top bar is VitePress local search: the index is built into the site, runs entirely in the browser, and needs no backend. It supports fuzzy and prefix matching.
How agents should use this site
Alongside every rendered page, the build publishes machine-readable artifacts. An agent never needs to parse HTML.
1. Discover: llms.txt
/llms.txt is the discovery index: one line per page with its title, description, and a link to the page's raw markdown. Fetch it first to see everything the site covers.
2. Search: the /search endpoint
GET /search?q=<query> searches the same content the site serves and returns results in place - no redirects.
| Parameter | Description |
|---|---|
q | The query (required) |
limit | Max results, default 10, max 50 |
format | json (default) or md for markdown output |
bash
curl 'https://docs.hailer.com/search?q=create+activity&format=md'Pages are indexed as chunks: the intro plus one chunk per ## section, with title boosted over section over body. Each result returns the page url, the raw markdown URL, the best-matching chunk's raw markdown content, and a relevance score - often the returned chunk alone answers the question without fetching the page.
3. Read: raw markdown per page
Every page's source markdown is published next to its HTML - append .md to the page path:
https://docs.hailer.com/api/endpoints/rest the rendered page
https://docs.hailer.com/api/endpoints/rest.md the same content as raw markdownNavigation map
| Section | Content |
|---|---|
/sdk/ | @hailer/sdk - workspace configuration as code |
/app-sdk/ | @hailer/app-sdk - build apps that run inside Hailer |
/api/ | The Hailer API - getting started, guides, generated endpoint reference |
/cli/ | @hailer/cli - interactive console and programmatic Node.js client |
/help/ | End-user Help Center (English and Finnish) |
/about | How this documentation is organized, written, and consumed |
Opting a page out
Set search: false in a page's frontmatter to exclude it from search - both the browser search and the /search endpoint. The build then also skips the page's llms.txt entry and its raw .md; only the rendered page stays on the site.