> For the complete documentation index, see [llms.txt](https://docs.create-magento-app.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.create-magento-app.com/v1/getting-started/folder-structure.md).

# Folder structure

After creation, your project should look like this:

```
├── 📁 node_modules
├── 📄 package.json
└── 📄 README.md
```

Looks empty, isn't it? Well, that is because we haven't installed Magento 2 yet.

To install Magento 2 you need to bootstrap the project with [start](/v1/getting-started/available-commands/start.md) command.

After Magento 2 installation folder structure should look

```
├── 📁 app
├── 📁 bin
├── 📁 dev
├── 📁 generated
├── 📁 lib
├── 📁 node_modules
|  ├── 📁 .create-magento-app-cache
|  |  ├── 📁 composer
|  |  |  └── 📄 composer.phar
|  |  ├── 📁 nginx
|  |  |  └── 📁 conf.d
|  |  |     └── 📄 default.conf
|  |  ├── 📄 port-config.json
|  |  └── 📄 php-fpm.conf
|  ... 📁 other packages
├── 📁 phpserver
├── 📁 pub
├── 📁 setup
├── 📁 var
├── 📁 vendor
├── 📄 ... Magento 2 files
├── 📄 cma.js
├── 📄 package.json
└── 📄 README.md
```

Inside `node_modules` there is `.create-magento-app-cache` folder. It contains all configuration files and a local instance of [Composer](https://getcomposer.org/):

* Composer itself.
* PHP-FPM configuration file.
* Nginx configuration file.
* Port configuration file.

In your projects root directory also will be created `cma.js` file that contains CMA configuration: Magento configuration, Docker services configuration, host and SSL configuration.

{% hint style="info" %}
If you are upgrading an existing CMA project, old Magento configuration from `app-config.json` file inside cache folder will be converted to `magento` field in `cma.js` file.
{% endhint %}
