Meta

Documentation Stack & Nuxt Upgrade

Overview of the Docus-powered documentation site, current package versions, AI integrations, and maintenance steps.

Stack Overview

  • Framework: Docus 5.2.1 running on Nuxt 4.2.1 (see docs/package.json).
  • Content source: Markdown pages under docs/content/ with Docus front matter blocks.
  • Styling & theme: Docus defaults extended via app.config in docs/nuxt.config.ts.
  • Hosting: GitHub Pages (https://nuetzliches.github.io/xtraq/) with a configurable baseURL.

Key Files

FilePurpose
docs/nuxt.config.tsExtends the Docus preset, registers ESLint, configures the built-in LLM experience, head metadata, and pre-render routes.
docs/content.config.tsCentralises navigation structure and Markdown processing options.
docs/app/componentsVue components available to Markdown via MDC slots (tabs, callouts, etc.).
docs/public/Static assets served verbatim (favicons, logos).

LLM & AI Integration

Docus ships with an llms block that enables the AI navigation assistant.

  1. Configuration lives in docs/nuxt.config.ts under the llms section.
  2. Update the domain, title, and description fields when the public URL changes.
  3. To plug in a provider (OpenAI, Mistral, Azure OpenAI):
    • Set provider credentials via environment variables documented at https://docus.dev/integrations/llms.
    • Add the provider module to modules in nuxt.config.ts if required (e.g. @nuxtjs/openai).
    • Store secrets in GitHub Actions environments; never commit API keys.
  4. For local experiments, create a .env file in docs/ with NUXT_OPENAI_API_KEY (or equivalent) and run npx nuxt dev.

Upgrade Procedure

When new Docus/Nuxt releases become available:

  1. From docs/, run npm install docus@latest nuxt@latest.
  2. Apply necessary codemods noted in the Docus release notes and Nuxt migration guide.
  3. Verify ESLint compatibility (npm update @nuxt/eslint eslint).
  4. Execute npm run lint and npm run build to validate the upgrade.
  5. Run npm run generate and smoke-test the generated site under .output/public or dist/.
  6. Update this page with the new version numbers and add a changelog entry under docs/content/5.roadmap/index.md if user-visible behaviour changes.

Local Development Workflow

cd docs
npm install
npm run dev
  • Access the preview at http://localhost:3000.
  • Set NUXT_APP_BASE_URL="/xtraq/" locally to mirror GitHub Pages routing.
  • Use npm run lint before committing UI changes.

Publishing & CI

  • The GitHub Pages workflow runs npm run generate and deploys the static output.
  • Ensure favicons and logos exist in docs/public/ (referenced via baseURL helper in nuxt.config.ts).
  • Keep compatibilityDate in nuxt.config.ts current when upgrading Nuxt.

Further Reading