GitHub
enscrive-docs · pre-alpha

Retrieval-native docs, backed by neural search.

One Rust binary turns any markdown directory into a polished documentation site with semantic ⌘K search powered by Enscrive corpora and voices. For humans, AI agents, and any HTTP consumer.

Why a docs tool from a search company?

Agents don't read your docs. They search them.

Coding agents in 2026 don't page through documentation—they neural-search it. enscrive-docs makes that search a first-class capability of your /docs endpoint, not an afterthought. Humans get a polished site; agents query a JSON endpoint backed by Enscrive's neural search.

Neural search

Embeddings, not keywords

Every doc page becomes an Enscrive corpus. The ⌘K palette returns ranked results by meaning, scoped to the configured corpus, with click-to-passage deep links via the W3C Text Fragments standard.

Single binary

Zero runtime dependencies

cargo install enscrive-docs and you're done. No Node, no Docker, no Python, no CDN. CSS, JS, fonts, and templates ship inside the binary. Deploy as a subdomain, behind a reverse-proxy subpath, or as a sidecar container.

Agent-first

JSON & /llms.txt

Every page renders as HTML, raw markdown (?format=md), or JSON (?format=json). Plus /search, /llms.txt, and sitemap.xml out of the box for any agent or crawler.

Install

Pick a channel, install the same binary.

Four ways in—Rust toolchain, universal curl, Homebrew, or pinned release. The binary is identical; only the channel differs.

Rust recommended
cargo install enscrive-docs
Universal curl + sh
curl -fsSL https://docs.enscrive.io/install | sh
Homebrew macOS / Linux
brew install enscrive/tap/enscrive-docs
Manual pinned binary

Pre-built binaries for linux/macOS/windows are published with each tag at github.com/enscrive/enscrive-docs/releases.

Pre-alpha note. The install channels above will go live as part of v1. Today, install from source via cargo install --git https://github.com/enscrive/enscrive-docs --bin enscrive-docs.

90-second quickstart

Three commands, one searchable site.

Point it at a markdown directory, give it an Enscrive API key, and you have a polished searchable docs site on a port of your choice.

Terminal three commands
# 1. Scaffold a config (detects your enscrive-cli profile if present)
enscrive-docs init

# 2. Push your markdown into an Enscrive corpus
enscrive-docs ingest

# 3. Serve at http://localhost:3737/  (with ⌘K neural search)
enscrive-docs serve

For local authoring, swap serve for watch and the page auto-reloads when you save a markdown file. For agent integration, hit /search?q=... and you get JSON results with deep-link URLs that scroll to the matching passage.

What you get

Eight capabilities, out of the box.

Polished neutral theme

Careful typography, light + dark via prefers-color-scheme, configurable accent color.

⌘K neural-search palette

Vanilla JS, debounced, keyboard nav, scoped to your configured corpus.

Click-to-passage

Results deep-link via W3C Text Fragments — Chromium and Safari scroll and highlight natively.

Agent-friendly endpoints

/search JSON, ?format=md|json per page, /llms.txt, sitemap.xml.

Voice-tuned retrieval

Chunking and score thresholds tuned per corpus via Enscrive voices, evaluable end-to-end.

Layered theming

Defaults → token overrides → custom CSS → full template override. Override only what you need.

Watch-mode hot-reload

SSE-driven browser refresh on file save. No browser extension, no manual refresh.

Subpath / sidecar friendly

--base-path /docs for reverse-proxy mounts, honors $PORT, deploy anywhere.

Built on Enscrive.

enscrive-docs needs an Enscrive account for the neural-search backend. The introductory tier covers most documentation sites comfortably.