# 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.