doc0
A terminal-native documentation runtime. Browse any framework’s docs in a TUI, expose the same cache to your agent over MCP, and keep everything local. One config file. One cache. Zero servers.
then: doc0doc0 mcp install
- ›Open docs.anthropic.com
- Open nextjs.org
- Open react.dev
- Open docs.stack-auth.com
- Open www.typescriptlang.org
- Quit
A real browser, in your terminal.
Run `doc0 <id>` to open the Ink TUI: tree on the left, rendered Markdown on the right, forward/back history, `/` to search, `Enter` to open. Same layout for installed bundles and remote URL docs.
Your agent runs the same CLI — over MCP.
`doc0 mcp` is a stdio MCP server. Four tools: find_docs, read_docs, grep_docs, list_docs. Most agent flows are a single find + single read. `doc0 mcp install` sets up any of six clients in one command — Cursor, Claude Code, Windsurf, Antigravity, Zed, and OpenCode.
Stripe retries webhook deliveries with exponential backoff over 3 days when the endpoint returns non-2xx or times out.
- Return
2xxquickly; queue slow work in a background job. - Verify signatures with
Stripe.webhooks.constructEvent.
One config file. You own every byte of it.
Everything doc0 does is driven by `~/.d0rc`. Point at your own registry fork, disable the community source for air-gapped networks, rebind every TUI key, tighten or loosen cache TTLs, or restrict MCP to installed bundles for a team setup.
# excerpt — yours can be longer registryUrl: https://raw.githubusercontent.com/ myorg/d0-registry/main/registry.json # cache TTL for community index (default: 24h) communityRegistryTtlMs: 3600000 # agents: only installed bundles mcp: installedOnly: true # every TUI key is overridable keybindings: quit: q search: / back: b # …
Your fork, false for air-gapped, or override with D0_REGISTRY_URL.
How long to cache the community registry before re-fetching.
Hide community and seed docs from MCP; curated bundles only.
Remap quit, search, navigation, scroll, and more.
Validate registry entries and inspect cache before a team rollout.
One JSON file on GitHub. PRs are the UI.
No servers. No accounts. Open a PR against doc0team/d0-registry and your docs source ships to every user within 24h.
How the registry works →# point at your own fork registryUrl: https://raw.githubusercontent.com/ myorg/d0-registry/main/registry.json # or disable entirely registryUrl: false