Skip to main content
The nuxt.config.ts file is the main configuration file for Nuxt. This page covers Docus-specific configuration options and common Nuxt options used with Docus.

Extending Docus

To use Docus in your project, extend the Docus layer:
export default defineNuxtConfig({
  extends: ['docus']
})
The extends property allows you to inherit configuration from Docus while customizing your site.

Site Configuration

Site Metadata

site.name
string
Name of your site. Used in SEO meta tags and as fallback for page titles.
site.url
string
Full URL of your site. Required for canonical URLs and Open Graph tags.
export default defineNuxtConfig({
  extends: ['docus'],
  site: {
    name: 'Docus',
    url: 'https://docus.dev'
  }
})

Markdown Configuration

MDC Syntax Highlighting

mdc.highlight.shikiEngine
string
default:"oniguruma"
Syntax highlighting engine for code blocks.Options:
  • javascript - Faster, works in browser
  • oniguruma - More accurate, requires WASM
mdc.highlight.theme
string | object
Shiki theme for syntax highlighting. Can be a theme name or an object with light and dark themes.
export default defineNuxtConfig({
  extends: ['docus'],
  mdc: {
    highlight: {
      shikiEngine: 'javascript',
      theme: {
        light: 'github-light',
        dark: 'github-dark'
      }
    }
  }
})

Internationalization (i18n)

Docus supports multi-language documentation using @nuxtjs/i18n.

Basic i18n Setup

i18n.defaultLocale
string
default:"en"
Default locale for your documentation.
i18n.locales
array
Array of locale configuration objects. Each locale should have code and name properties.
i18n.strategy
string
default:"prefix_except_default"
URL strategy for locale paths.Options:
  • no_prefix - No locale prefix in URLs
  • prefix_except_default - Prefix for all except default locale
  • prefix - Prefix for all locales
  • prefix_and_default - Prefix for all, with redirect from root
export default defineNuxtConfig({
  extends: ['docus'],
  modules: ['@nuxtjs/i18n'],
  i18n: {
    defaultLocale: 'en',
    locales: [
      {
        code: 'en',
        name: 'English'
      },
      {
        code: 'fr',
        name: 'Français'
      }
    ]
  }
})

AI Configuration

LLMs.txt Generation

llms.domain
string
Domain for the llms.txt file generation.
llms.title
string
Title for the LLM documentation.
llms.description
string
Description for the LLM documentation.
llms.full.title
string
Title for the full LLM documentation export.
llms.full.description
string
Description for the full LLM documentation export.
export default defineNuxtConfig({
  extends: ['docus'],
  llms: {
    domain: 'https://docus.dev',
    title: 'Docus',
    description: 'Write beautiful docs with Markdown.',
    full: {
      title: 'Docus Documentation',
      description: 'Complete documentation for Docus.'
    }
  }
})

MCP Server

mcp.name
string
Name of the MCP server for AI integrations.
mcp.browserRedirect
string
Path to redirect browsers to when they access the MCP endpoint.
export default defineNuxtConfig({
  extends: ['docus'],
  mcp: {
    name: 'Docus documentation',
    browserRedirect: '/ai/mcp'
  }
})

Nuxt Studio Integration

studio.route
string
default:"/_studio"
Route path for the Nuxt Studio admin interface.
studio.repository.provider
string
Git provider for content repository.Options: github, gitlab
studio.repository.owner
string
Repository owner/organization name.
studio.repository.repo
string
Repository name.
studio.repository.rootDir
string
Root directory for content in the repository.
export default defineNuxtConfig({
  extends: ['docus'],
  modules: ['nuxt-studio'],
  studio: {
    route: '/admin',
    repository: {
      provider: 'github',
      owner: 'nuxt-content',
      repo: 'docus',
      rootDir: 'docs'
    }
  }
})

Common Modules

Analytics

modules
array
Array of Nuxt modules to enable. Docus works well with analytics modules.
export default defineNuxtConfig({
  extends: ['docus'],
  modules: [
    '@nuxtjs/plausible',
    '@nuxtjs/i18n',
    'nuxt-studio'
  ]
})

Build Configuration

CSS

css
array
Global CSS files to include.
export default defineNuxtConfig({
  extends: ['docus'],
  css: ['~/assets/css/main.css']
})

Vite Configuration

vite.build.sourcemap
boolean
default:"false"
Enable or disable source maps for production builds.
export default defineNuxtConfig({
  extends: ['docus'],
  vite: {
    build: {
      sourcemap: false
    }
  }
})

Compatibility Date

compatibilityDate
string
Nuxt compatibility date for feature flags and behavior changes.
export default defineNuxtConfig({
  extends: ['docus'],
  compatibilityDate: '2025-07-18'
})

Complete Example

export default defineNuxtConfig({
  extends: ['docus'],
  modules: [
    '@nuxtjs/plausible',
    '@nuxtjs/i18n',
    'nuxt-studio'
  ],
  css: ['~/assets/css/main.css'],
  
  site: {
    name: 'Docus',
    url: 'https://docus.dev'
  },
  
  mdc: {
    highlight: {
      shikiEngine: 'javascript',
      theme: {
        light: 'github-light',
        dark: 'github-dark'
      }
    }
  },
  
  compatibilityDate: '2025-07-18',
  
  vite: {
    build: {
      sourcemap: false
    }
  },
  
  i18n: {
    defaultLocale: 'en',
    locales: [
      { code: 'en', name: 'English' },
      { code: 'fr', name: 'Français' }
    ]
  },
  
  llms: {
    domain: 'https://docus.dev',
    title: 'Docus',
    description: 'Write beautiful docs with Markdown.',
    full: {
      title: 'Docus Documentation',
      description: 'Complete documentation for Docus.'
    }
  },
  
  mcp: {
    name: 'Docus documentation',
    browserRedirect: '/ai/mcp'
  },
  
  studio: {
    route: '/admin',
    repository: {
      provider: 'github',
      owner: 'nuxt-content',
      repo: 'docus',
      rootDir: 'docs'
    }
  }
})

Build docs developers (and LLMs) love