The repository architecture is based on the following set of core principles:
Consequently, there are some aspects of a project’s architecture and workflow that may be unfamiliar to you:
.gitignore
are populated during build
artifact generation.The following is an overview of the purpose of each top level directory in the project template:
root
├── blt - Contains custom build config files for CI solutions
├── box - Contains DrupalVM Configuration (optional, created by
| `blt vm`)
├── config - Contains Drupal configuration files
├── drush - Contain drush configuration that is not site or
| environment specific
├── docroot - The Drupal docroot
├── hooks - Contains Cloud Platform hooks (optional, created by
| `blt recipes:cloud-hooks:init`)
├── patches - Contains private patches to be used by composer.json
├── reports - Contains output of automated tests; is .gitignored
├── tests - Contains project-level test files and configuration
├── vendor - Contains built composer dependencies; is .gitignored
All project and Drupal (including module, themes, and libraries) dependencies are managed using Composer. This management strategy is based on the Drupal Project.
You can add modules, themes, and other contributed Drupal projects as
dependencies in the root composer.json
file.
For step-by-step instructions about how to update dependencies, see Project tasks.