--- name: directory-structure description: Nuxt project folder structure, conventions, and file organization --- # Directory Structure Nuxt uses conventions-based directory structure. Understanding it is key to effective development. ## Standard Project Structure ``` my-nuxt-app/ ├── app/ # Application source (can be at root level) │ ├── app.vue # Root component │ ├── app.config.ts # App configuration (runtime) │ ├── error.vue # Error page │ ├── components/ # Auto-imported Vue components │ ├── composables/ # Auto-imported composables │ ├── layouts/ # Layout components │ ├── middleware/ # Route middleware │ ├── pages/ # File-based routing │ ├── plugins/ # Vue plugins │ └── utils/ # Auto-imported utilities ├── assets/ # Build-processed assets (CSS, images) ├── public/ # Static assets (served as-is) ├── server/ # Server-side code │ ├── api/ # API routes (/api/*) │ ├── routes/ # Server routes │ ├── middleware/ # Server middleware │ ├── plugins/ # Nitro plugins │ └── utils/ # Server utilities (auto-imported) ├── content/ # Content files (@nuxt/content) ├── layers/ # Local layers (auto-scanned) ├── modules/ # Local modules ├── nuxt.config.ts # Nuxt configuration ├── package.json └── tsconfig.json ``` ## Key Directories ### `app/` Directory Contains all application code. Can also be at root level (without `app/` folder). ```ts // nuxt.config.ts - customize source directory export default defineNuxtConfig({ srcDir: 'src/', // Change from 'app/' to 'src/' }) ``` ### `app/components/` Vue components auto-imported by name: ``` components/ ├── Button.vue →