--- title: src directory description: Learn how to use a top-level src directory in your Expo Router project. hideTOC: true --- import { FileTree } from '~/ui/components/FileTree'; import { Terminal } from '~/ui/components/Snippet'; As your project grows, it can be helpful to move all of the directories containing application code into a single **src** directory. Expo Router supports this out of the box. Simply move your **app** directory to **src/app** and restart the development server with a clear cache: **Notes**: - The config files (**app.config.js**, **app.json**, **package.json**, **metro.config.js**, **tsconfig.json**) should remain in the root directory. - The **src/app** directory takes higher precedence than the root **app** directory. Only the **src/app** directory will be used if you have both. - The **public** directory should remain in the root directory. - Static rendering will automatically use the **src/app** directory if it exists. - You may consider updating any [type aliases](/guides/typescript#path-aliases) to point to the **src** directory instead of the root directory.