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 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:

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

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.