# Introduction

> For the complete documentation index, see [llms.txt](https://preview.writedocs.io/llms.txt).

What Writedocs is, and what a documentation site built with it includes.

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](https://preview.writedocs.io/docs/quickstart/)**

Install Writedocs and preview your first site in a minute.

**[writedocs.json](https://preview.writedocs.io/docs/configuration/overview/)**

Every field of the configuration file, with examples.

**[Components](https://preview.writedocs.io/docs/content/components/)**

Callouts, cards, tabs, steps and more - ready in every page.

**[API reference](https://preview.writedocs.io/docs/openapi/overview/)**

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.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](https://preview.writedocs.io/docs/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](https://preview.writedocs.io/docs/configuration/hidden-sections/), for docs meant for a different audience. See [Navigation](https://preview.writedocs.io/docs/configuration/navigation-basics/).
- **Components in every page** - callouts, cards, tabs, accordions, steps, code groups, file trees, changelogs and more, with no imports. See [Components](https://preview.writedocs.io/docs/content/components/).
- **Code blocks** - syntax highlighting for light and dark themes, titles, line highlighting, diffs, focus, line numbers and collapsible blocks. See [Code blocks](https://preview.writedocs.io/docs/content/code-blocks/).
- **Search** - built into every site, with no service to sign up for. See [Search](https://preview.writedocs.io/docs/search/).
- **API reference** - point a group at an OpenAPI spec and get a page per endpoint, with a **Try it** playground. See [API reference](https://preview.writedocs.io/docs/openapi/overview/).
- **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](https://preview.writedocs.io/docs/configuration/context-menu/).
- **Your brand** - colors, logo, fonts, code themes, and a navbar and background of your own, in light and dark. See [Colors and backgrounds](https://preview.writedocs.io/docs/configuration/colors/).
- **Checks before you publish** - `writedocs validate`, `writedocs broken-links` and `writedocs a11y` find mistakes with their file and line. See [CLI](https://preview.writedocs.io/docs/cli/).

Coming from Mintlify? Most pages work unchanged, and `writedocs convert` writes your `writedocs.json` - see [Migrating from Mintlify](https://preview.writedocs.io/docs/migrating-from-mintlify/).