Skip to content

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.

ParameterDescription
qThe query (required)
limitMax results, default 10, max 50
formatjson (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 markdown
SectionContent
/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)
/aboutHow 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.

Hailer Developer Documentation · v1.8.0