Documentation that feels like part of your product.
Turn MDX into a polished documentation site with interactive examples,
API playgrounds, search, and context your AI tools can use.
Dory gives product teams a complete documentation experience without maintaining a separate web application. Write your content in MDX, describe your brand and navigation in one dory.json, and publish a static site on the host you choose.
Your documentation stays in your repository. Your team reviews it with your code. Your readers get a consistent, searchable experience across guides, API references, and examples.
| What you need | What Dory gives you |
|---|---|
| Docs that match your product | Clidey UX foundations, light and dark modes, brand colors, typography, and configurable navigation. |
| Examples people can understand and try | Code groups, diagrams, callouts, steps, tables, and interactive API and WebSocket playgrounds. |
| Useful context for coding agents | Published MDX, llms.txt, and llms-full.txt, plus optional MCP tools for reading and authoring documentation. |
| Help inside your application | An embeddable documentation panel that keeps search and navigation close to the task. |
| Freedom to host it yourself | Static HTML, CSS, and JavaScript. GitHub Pages, object storage, a CDN, or your own infrastructure. |
| Fewer surprises when publishing | A content check for navigation, links, assets, and metadata, with local previews before deployment. |
demo.mp4
Browse the live documentation to try navigation, search, component examples, and API references.
pnpm add -g @clidey/dory
mkdir product-docs
cd product-docs
dory init
dory devEdit the starter page in docs/ and configure your site in dory.json. Dory reloads as you write.
product-docs/
├── dory.json
└── docs/
├── introduction.mdx
└── logo.svg
When you are ready to share it:
dory check
dory build
dory previewPublish the generated dist/ directory to your static host. No Dory server is required for the static site, navigation, or search.
Installation · Quick start · Site configuration
Compose guides from code blocks, tabs, cards, callouts, steps, diagrams, tables, and mathematical notation. Import trusted JSX components for live examples with real state and events, paired with copyable source. Keep related examples together and let readers move between explanation and source.
OpenAPI and AsyncAPI references bring your operations into the same site. HTTP and WebSocket playgrounds let readers explore requests and events alongside the documentation.
Explore the components · Interactive JSX examples · HTTP playground · WebSocket playground
Dory publishes machine-readable documentation alongside the site. Give a coding assistant the site's llms.txt URL to discover its pages, or use llms-full.txt for the combined documentation text.
For a connected authoring workflow, Dory's local MCP server can inspect a project, read and write pages, check content, build the site, and capture screenshots for review:
dory mcp configAdd the configuration it prints to your MCP client. A site served with dory preview can also expose read-only HTTP MCP for published documentation. Static hosting serves the text files; HTTP MCP needs the Dory server.
Open relevant help in an embedded panel rather than sending readers away from their work. Keep your documentation site's search and navigation, and choose which applications are allowed to embed it.
An optional documentation assistant can answer questions with source links. It uses a separately configured server backend; model credentials stay on that server.
Embedding · Documentation chat · Languages and versions
Dory is MIT licensed and built with Preact, Vite, and Clidey UX. You own your content, configuration, and generated site.
Build only trusted, reviewed MDX and component source. Static imports are executable application code; a build workspace is not a sandbox for untrusted contributions. See the security policy.