Project Structure

View source
Take a closer look at the directory structure of a Movk Nuxt Docs project and the responsibilities of each file, including the content/ directory, public/ static assets, nuxt.config.ts module configuration, and app.config.ts runtime UI configuration, with typical configuration examples.

Overall structure

Movk Nuxt Docs is a Nuxt Layer that extends a standard Nuxt application into a documentation site.

Here is the structure after creating a project with npx nuxi init -t gh:mhaibaraai/movk-nuxt-docs/templates/default my-docs:

my-docs/
├── app/
   └── composables/             # Custom composables
├── content/                     # Markdown content
   ├── index.md                 # Home page
   └── docs/                    # Documentation pages
├── public/                      # Static assets
├── nuxt.config.ts               # Nuxt configuration
├── tsconfig.json                # TypeScript configuration
├── package.json                 # Dependencies and scripts
├── .env.example                # Environment variable example
└── pnpm-workspace.yaml          # pnpm workspace configuration

Content directory content/

Where Markdown documents live; routes are generated automatically.

content/
├── index.md              # Home page content
├── releases.yml          # Release notes (optional, auto-detected)
├── templates.yml         # Templates showcase page (optional, auto-detected)
└── docs/                 # Documentation pages
    ├── 1.index.md
    └── 2.installation.md
The system automatically detects releases.yml / releases.md and templates.yml / templates.md files and creates the /releases and /templates routes respectively, with no manual configuration required.

Public assets directory public/

The static assets directory. Files are served directly at the root path without going through the build process. Store images, icons, and similar resources here.

Dependency management package.json

Defines the project's dependencies and scripts. A typical package.json is very minimal:

package.json
{
  "name": "movk-nuxt-docs-template",
  "packageManager": "pnpm@10.33.0",
  "scripts": {
    "build": "nuxt build",
    "dev": "nuxt dev"
  },
  "dependencies": {
    "@movk/nuxt-docs": "latest",
    "better-sqlite3": "^12.6.0",
    "nuxt": "^4.3.0",
    "tailwindcss": "^4.1.18"
  }
}

Nuxt configuration file nuxt.config.ts

nuxt.config.ts
export default defineNuxtConfig({
  extends: ['@movk/nuxt-docs'],
  css: ['~/assets/css/main.css'],
  aiChat: {
    model: 'zai/glm-4.7',
    models: [
      'zai/glm-4.7',
      'anthropic/claude-sonnet-4.6',
      'google/gemini-2.5-flash'
    ],
  },
  mcp: {
    name: 'My Docs'
  }
})

App configuration file app/app.config.ts

This file is not required to run a Movk Nuxt Docs application.

In this file you can configure Movk Nuxt Docs to match your brand, handle SEO, and customize links and social media information.

Copyright © 2024 - 2026