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.3.4