LLMs Integration
Docus integrates nuxt-llms by default to prepare your content for Large Language Models (LLMs). All your documentation pages are injected and /llms.txt and /llms-full.txt files are automatically generated and pre-rendered.
Defaults
Here are the default values use to generate the /llms.txt file:
domain→ computed based on your deployment platform (or by usingNUXT_SITE_URLenv variable)title→ extracted from yourpackage.jsondescription→ extracted from yourpackage.jsonfull.title→ extracted from yourpackage.jsonfull.description→ extracted from yourpackage.json
Customize
You can override your LLMs data from the nuxt.config.ts :
export default defineNuxtConfig({
llms: {
domain: 'https://your-site.com',
title: 'Your Site Name',
description: 'A brief description of your site',
full: {
title: 'Your Site Name',
description: 'A brief description of your site',
},
},
})
Raw Markdown Access
When nuxt-llms is enabled, Docus also exposes a raw markdown endpoint so AI agents can fetch LLM-ready source files without going through the full rendering pipeline. This reduces token usage and improves response speed for AI-powered tools consuming your documentation.
How it works
- Endpoint:
/raw/<content-path>.md— use the same path as the page URL, drop trailing/index, and keep the.mdextension - Content-Type:
text/markdown; charset=utf-8 - Auto-enrichment: if the requested document is missing a top-level heading or description, the route automatically prepends the title and description to the markdown body
- LLMs.txt integration: document links in
llms.txtare automatically rewritten to the/raw/...mdendpoint, so agents fetch compact markdown instead of full HTML
Configuration
You can customize the raw markdown behavior from your nuxt.config.ts:
export default defineNuxtConfig({
llms: {
contentRawMarkdown: {
// Prevent specific page collections from being exposed
excludeCollections: ['landing', 'landing_en', 'landing_fr'],
// Keep llms.txt links pointing to rendered pages instead of raw markdown
rewriteLLMSTxt: false,
},
},
})
To disable raw markdown access entirely:
export default defineNuxtConfig({
llms: {
contentRawMarkdown: false,
},
})
Markdown Redirection
When deployed on Vercel, Docus automatically configures intelligent routing to serve markdown content to AI agents and CLI tools.
Why?
Agents like Claude Code use Accept: text/markdown headers by default, retuning raw Markdown is saving lots of data transfer and tokens in the process.
How?
Docus detects requests from AI agents and command-line tools using HTTP headers:
- Accept header: Requests with
Accept: text/markdownare automatically redirected - User-agent detection:
curlrequests as agents are automatically redirected
Redirect Rules
- Root path:
/→/llms.txt - Documentation pages:
/{path}→/raw/{path}.md
Example Usage
# Get llms.txt from homepage
curl -H "Accept: text/markdown" https://docus.dev/
# Get llms.txt from locale homepage
curl -H "Accept: text/markdown" https://docus.dev/en
# Get raw markdown for a documentation page
curl -H "Accept: text/markdown" https://docus.dev/en/ai/llms
All these commands will return markdown content instead of HTML.