---
title: "Project Directory Structure"
description: "Organizing your project correctly helps keep your code clean, maintainable, and easy for the system to understand. A standard project directory structure typically includes folders for your web pag..."
last_updated: "2026-10-12T06:40:49.10093+00:00"
canonical_url: "https://www.doc0.dev/docs/8f4009b0-65bd-4480-9b00-e201f0914bb3/guide/getting-started/project-directory-structure"
---

## Overview

### Introduction to Project Structure

Organizing your project correctly helps keep your code clean, maintainable, and easy for the system to understand. A standard project directory structure typically includes folders for your web pages, public assets, and configuration files. You can choose to place your application files directly under the project root or keep them neatly organized inside an optional `src` folder.

---

### Key Directory Folders

Understanding where different files belong ensures your project builds and runs smoothly.

| Folder Name | Description |
| :--- | :--- |
| `app/` or `pages/` | Contains your application pages, routing layouts, and user interface components. |
| `public/` | Stores static assets like images, icons, and files that are served directly to visitors. |
| `src/` | An optional folder that can wrap around your `app/` or `pages/` directories to keep the project root clean. |

> [!NOTE]
> If you use both an `app/` and a `pages/` folder, they must both live under the exact same parent folder (either directly in the project root or both inside the `src/` folder).

---

### Placing Public Assets

To make images, logos, and other static files available to your visitors, store them in the public folder.

1. Create a folder named `public` directly at your project root.
2. Place your static files (such as images or icons) inside this folder.
3. Reference these assets in your code by pointing directly to the filename from the root (for example, `/next.svg`).

> [!TIP]
> The older `static` directory name is deprecated. Always use the `public` directory for your static assets.

---

### Configuring Settings

Project-wide configuration files let you customize how your application behaves, builds, and formats code. 

Supported configuration filenames include:
- `next.config.js`
- `next.config.mjs`
- `next.config.ts`
- `next.config.mts`

> [!WARNING]
> Ensure configuration files and public asset folders are placed correctly at the project root level so the build tools can locate them automatically.

## Related

- [Installation and Setup](https://www.doc0.dev/docs/8f4009b0-65bd-4480-9b00-e201f0914bb3/guide/getting-started/installation-and-setup)
- [Routing and Navigation](https://www.doc0.dev/docs/8f4009b0-65bd-4480-9b00-e201f0914bb3/guide/core-features/routing-and-navigation)


## Sitemap

See the full [sitemap](https://www.doc0.dev/docs/8f4009b0-65bd-4480-9b00-e201f0914bb3/llms.txt) for all pages in this wiki.
