# Directory Structure

The Nuxt application structure is intended to provide a great starting point for both small and large applications. You are free to organize your application however you like and can create them as and when you need.

### The `app.vue` file

The `app.vue` file, is used as main component for your application ([learn more](/app/app)).

### The `pages/` directory

The `pages/` directory contains your application's views and routes. If it exists, Nuxt reads all the `.vue` files inside this directory and uses them to create the application router ([learn more](/app/pages)).

### The `plugins/` directory

Nuxt will automatically read the files in your `plugins/` directory and load them. ([learn more](/app/plugins)).


### The `server/` directory

The `server/` directory contains API endpoints and server middleware for your project. ([learn more](/server/api)).

### The `components/` directory

The `components/` directory is where you put all your Vue components which can then be imported inside your pages or other components.

### The `assets/` directory

The `assets/` directory contains your uncompiled assets such as your styles or fonts.

### The `static/` directory

The `static/` directory is directly served at server root and contains public files that have to keep their names (e.g. `robots.txt`) _or_ likely won't change (e.g. `favicon.ico`).

### The `nuxt.config` file

The `nuxt.config` (`js` or `ts`) file is the single point of configuration for Nuxt. If you want to add modules or override default settings, this is the place to apply the changes.

### The `package.json` file

The `package.json` file contains all the dependencies and scripts for your application.

### The `yarn.lock` or `package.lock.json` file

This file is automatically generated and keeps exactly installed version of packages. So that next time you or another one wants to try project, will install same versions.

### The `.nuxt` directory

This is the directory used by nuxt to put temporary build files.

### The `.output` directory

When using `nuxt build`, this directory will be created and is meant to be deployed to production server.