Introduction
Writedocs turns a folder of Markdown pages and one writedocs.json file into a complete documentation site: navigation, search, light and dark themes, an interactive API reference, and files AI tools can read. You write pages and describe the site; Writedocs does the rest.
Quickstart
Install Writedocs and preview your first site in a minute.
writedocs.json
Every field of the configuration file, with examples.
Components
Callouts, cards, tabs, steps and more - ready in every page.
API reference
An interactive API reference, generated from an OpenAPI spec.
A project at a glance
my-docs/
├── writedocs.json # the site: name, colors, navigation, ...
├── index.mdx # the home page, at "/"
└── docs/
├── quickstart.mdx
└── guides/
└── webhooks.mdxwritedocs.json describes the site, and every .md or .mdx file is a page. A page is named by its path without the extension - docs/guides/webhooks.mdx is docs/guides/webhooks in the navigation, and is served at /docs/guides/webhooks/. See Project structure for the details.
What you get
- Navigation that grows with your docs - a single sidebar, or tabs, versions, languages and products, nested the way your docs are organized. Sections can be hidden, for docs meant for a different audience. See Navigation.
- Components in every page - callouts, cards, tabs, accordions, steps, code groups, file trees, changelogs and more, with no imports. See Components.
- Code blocks - syntax highlighting for light and dark themes, titles, line highlighting, diffs, focus, line numbers and collapsible blocks. See Code blocks.
- Search - built into every site, with no service to sign up for. See Search.
- API reference - point a group at an OpenAPI spec and get a page per endpoint, with a Try it playground. See API reference.
- Made for AI tools too - every page has a Markdown copy and a menu to open it in ChatGPT or Claude, the site has
llms.txtandllms-full.txt, and an MCP server lets AI tools search your docs. See Search and AI. - Your brand - colors, logo, fonts, code themes, and a navbar and background of your own, in light and dark. See Colors and backgrounds.
- Checks before you publish -
writedocs validate,writedocs broken-linksandwritedocs a11yfind mistakes with their file and line. See CLI.
Coming from Mintlify? Most pages work unchanged, and writedocs convert writes your writedocs.json - see Migrating from Mintlify.