Project structure

When you generate your project with Humpback Generator, you'll get the following folders and files in the root path of your project.


It contains the definition of custom ahoy commands for your site.


Contains a basic template to integrate your project with CircleCI.


Contains custom composer scripts for your project, like the one in charge of the drupal settings placing.


In this folder all the drupal configuration files are stored.


It stores all the custom documentation of your project.


This directory contains commands, configuration and site aliases for Drush. See this web page for a directory of Drush commands installable via Composer.


This folder contains all the files uploaded to your Drupal site. The folder web/sites/default/files is a symbolic link to this folder.


This folder contains all the custom gulp task defined for the project. You could develop your own gulp tasks and put it in this folder to make it available to your project.


Contains all the custom modules developed in your custom project. Notice that web/modules/custom is a symbolic link to the folder custom that's is inside of this directory.


This folder contains the MYSQL configuration file (my.cnf) for the MYSQL container.


Contains the nginx server configuration for the nginx container.


This folder is exclusive to save the local patches for modules, libraries and so on.


By default, Humpback Generator creates an installation profile for each project it generates, that profile is stored in this folder and its content is linked to the folder web/profiles/custom (by using a symbolic link).


This folder is created so you can add files that you need to be placed in the root path of your project, for example the .htaccess file. All the files here will be symbolic linked into the web folder.


This folder contains all the settings files and the services.yml file required by drupal. All of this files are symbolic linked into the folder web/sites/.


Contains the Solr server config for the Humpback Solr container.


The purpose of this folder is to store all the custom behat test for the generated project.


This directory contains the Custom Drupal Themes for the project, also it is symbolic linked into: web/themes/custom.


This folder is where the complete drupal site is built, it shouldn't be added to the git history, its goal is to store the artifact for local development.


Defines some ahoy commands.


EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs, see


This file is very important, it allows us to change certain settings of the Humpback containers environment, for example using the environment variable VIRTUAL_HOST, we can change the local site domain.


This file provides all the behat testing framework configuration for the environment.


This file is the one in charge to keep the information about the required modules and libraries and the version of those packages, including the drupal core. For more information follow this link.




It contains the Docker compose configuration for the current project containers. For more information about how it works, you can take a look here.


Example file for the .env file.


Gulp configuration file for the project.


The License file for the project.




This file provides the possibility to set advanced configuration to your pantheon environments. For more information look at: pantheon.yml usage

The readme file for your project.


It contains the configuration to be placed in the traefik container to configure the traefik app. For more information about this file, check this link