---
title: "Project Structure"
description: "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."
canonical_url: "https://docs.mhaibaraai.cn/en/docs/getting-started/project-structure"
---
# Project Structure

> 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`:

```bash
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.

```bash
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
```

> [!TIP]
> See: /en/docs/getting-started/nuxt#automatic-routing
> 
> 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:

```json [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`

```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-3-flash'
    ],
  },
  mcp: {
    name: 'My Docs'
  }
})
```

### App configuration file `app/app.config.ts`

> [!NOTE]
> 
> 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.


## Sitemap

See the full [sitemap](https://docs.mhaibaraai.cn/sitemap.md) for all pages.
