WritedocsWritedocs

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.

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

writedocs.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.txt and llms-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-links and writedocs a11y find 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.