Source: /

# Documentation thatjust works with

Write MDX once. Ship docs for people, with **Ask AI, MCP, and llms.txt** built in for agents.

Get started Copy agent prompt

pnpm npm yarn bun

pnpm dlx @farming-labs/docs init

- Next.js
- TanStack Start
- Farm.js
- SvelteKit
- Astro
- Nuxt

docs.farming-labs.dev/docs

Powering docs for 100+ teams building with AI

- [assistant-ui](https://www.assistant-ui.com/docs?utm_source=docs.farming-labs.dev&utm_medium=referral&utm_campaign=used_by)
- [Hoplite](https://hoplite.sh/docs?utm_source=docs.farming-labs.dev&utm_medium=referral&utm_campaign=used_by)
- [Farm.js](https://farmjs.dev/docs?utm_source=docs.farming-labs.dev&utm_medium=referral&utm_campaign=used_by)
- [lim.run](https://docs.limrun.com/docs?utm_source=docs.farming-labs.dev&utm_medium=referral&utm_campaign=used_by)
- [ScholarXIV](https://www.scholarxiv.com/?utm_source=docs.farming-labs.dev&utm_medium=referral&utm_campaign=used_by)
- 100+more teams

- [01Ask AI](#ask-ai)
- [02Search](#search)
- [03Markdown mirrors](#markdown)
- [04Page actions](#page-actions)
- [05API reference](#api-reference)
- [06Agent score](#agent-score)

Ask AIDocs

### Ask AI

Cited answers from your MDX.

Ask AI · docs.acme.devcited

How do I expose my docs to agents?

Docs assistant

MCP is on by default: `search_docs` and `read_page` at `/mcp` [1]

Every page also answers at its `.md` URL [2]

1 · customization/mcp2 · llms-txt

Ask a question…⌘ I

SearchDocs

### Search that fits your stack

Built-in, Typesense, Algolia, or MCP.

sidebarESC

Pages

Sidebar/docs/configuration

Collapsible groups/docs/customization/sidebar

Banner and footer slots/docs/configuration

Ask AI

“How do I customize the sidebar?”

SimpleTypesenseAlgoliaMCP

Markdown mirrorsDocs

### Readable by agents

Every page at a .md URL.

agent sessionzsh

````
$ curl acme.dev/docs/quickstart.md# Quickstart> Install the CLI, then run init. ## 1. Install```bashpnpm dlx @farming-labs/docs init```200 · text/markdown · 1.8 kB
````

Page actionsDocs

### Hand any page to an LLM

Open in ChatGPT, Claude, or Cursor.

docs / configurationmdx

Configuration

Every option in docs.config.ts

Copy page

Open in ChatGPT

Open in Claude

Open in Cursor

View as Markdown

API referenceDocs

### OpenAPI reference

Request console and typed SDKs.

GET/v1/projects/{id} Send

id pathprj_8f2a1c

include querymembers

200 OK · 84mscurlTSPython

```
{
  "id": "prj_8f2a1c",
  "name": "Acme Docs",
  "members": ["ada"]
}
```

Agent scoreDocs

### Agent score

See what agents see.

agent score · acme.dev

96/100

- llms.txt
- Markdown routes
- MCP endpoint
- Cache headers

Under the hood

## One source, every reader.

Markdown, llms.txt, MCP, and discovery files from the same MDX.

MCP guide

Live on this site6 endpoints

- [GET/llms.txtCompact map of every page](/llms.txt)
- [GET/llms-full.txtThe whole site in one file](/llms-full.txt)
- [GET/docs/{page}.mdMarkdown mirror of each page](/docs/installation.md)
- POST/mcpsearch_docs · read_page · list_pages
- [GET/.well-known/agent.jsonAgent discovery manifest](/.well-known/agent.json)
- [GET/skill.mdSkill file for coding agents](/skill.md)

Also built in

Twelve themes

Presets or createTheme().

llms.txt and sitemaps

Generated from your content.

Analytics

Docs, search, AI, and MCP events.

Changelogs

Release notes from MDX, built in.

CLI scaffolding

init scaffolds everything.

Open Graph images

Static or dynamic, per page.

Internationalization

Locales and localized navigation.

Feedback

Send it anywhere with onFeedback().

Frameworks

## Runs on the framework you already use.

- [Next.js One withDocs() wrapper in next.config.](/docs/installation)
- [TanStack Start A Vite plugin and a docs server.](/docs/installation)
- [Farm.js Built-in adapter, edge-ready builds.](/docs/installation)
- [SvelteKit createDocsServer() for load and routes.](/docs/installation)
- [Astro Server helpers and one middleware.](/docs/installation)
- [Nuxt One defineDocsHandler() via Nitro.](/docs/installation)
No framework? No problem.Frameworkless mode: a docs.json and a docs/ folder is all it takes.pnpm exec docs dev

Migrations

## Already have docs? Bring them with you.

Move content, navigation, assets, and existing URLs from your current platform. Each guide is agent-readable, so your assistant can run it.

Migration guidesmigrations.md

- [Docusaurus](/docs/migrations/docusaurus)
- [Mintlify](/docs/migrations/mintlify)
- [Nextra](/docs/migrations/nextra)
- [Fumadocs](/docs/migrations/fumadocs)
- [VitePress](/docs/migrations/vitepress)
- [Starlight](/docs/migrations/starlight)
- [GitBook](/docs/migrations/gitbook)
- [Material for MkDocs](/docs/migrations/mkdocs)

Quick start

## Up and running in one command.

The CLI detects your framework and writes every file for you.

pnpm npm yarn bun

pnpm dlx @farming-labs/docs init

Read the guideCLI reference

Next.js TanStack Farm.js SvelteKit Astro Nuxt

docs.config.tsx next.config.ts app/docs/quickstart/page.mdx tsx

```
import { defineDocs } from "@farming-labs/docs";import { pixelBorder } from "@farming-labs/theme/pixel-border";export default defineDocs({  entry: "docs",  theme: pixelBorder(),  ai: { enabled: true },  metadata: { titleTemplate: "%s – Acme Docs" },});
```

Themes

## Pick a look.

Twelve presets, or build your own with createTheme().

Theme gallery

Pixel Border
theme/pixel-border/css
Default
theme/default/css
Darksharp
theme/darksharp/css
Colorful
theme/colorful/css
Shiny
theme/shiny/css
Ledger
theme/ledger/css
Shadcn
theme/shadcn/css
DarkBold
theme/darkbold/css
GreenTree
theme/greentree/css
Hardline
theme/hardline/css
Concrete
theme/concrete/css
Command Grid
theme/command-grid/css

Docs cloud

## You ship the code. Cloud writes the docs.

Git-backed editing, AI drafts, managed search, and one-command deploys.

Explore cloudJoin the waitlist

docs deploypreview

```
$ pnpm dlx @farming-labs/docs deploy✓ Synced repo graph · 842 sections✓ Drafted 3 pages from merged PRs✓ Opened a draft PR for review✓ Indexed search · Ask AI readyProduction: https://acme.docs.app
```

Start building

## Docs for your users, and their agents.

Get started Copy agent prompt
