Project tasks

This documentation page describes several common tasks that you will require as you use BLT on your local computer.

Installing or reinstalling Drupal

Prerequisites to installation:

  • Ensure that the docroot/sites/default/settings/local.settings.php file exists by running the following command:

    blt setup:settings
  • Verify that correct local database credentials are set in the local.settings.php file.

  • Ensure project dependencies have already been built running the following command:

    blt source:build

To re-install Drupal, run the following command:

blt drupal:install


Running the blt drupal:install command drops the existing database tables, and then installs Drupal from scratch.

Adding, updating, or patching a dependency

For information about managing core and contributed packages for your project, see Using Composer to manage dependencies.

Deploying to Cloud Platform

For a detailed description of how to deploy to Cloud Platform, see Deployment workflow.

Running tests and code validation

For information about running tests, see Automated testing.

To evaluate the project codebase with PHP_CodeSniffer and PHP lint, run the following command:

blt validate:all

Building front-end assets

For information about compiling front-end assets and running front and build processes, see Front-end development and BLT.

Updating your local environment

The project is configured to update the local environment with a both local Drush alias and a remote alias (as defined in blt/blt.yml or blt/local.yml). Due to the fact that these aliases match those in drush/sites/, you can update the website with BLT.

Refresh: Rebuild the codebase, copy the database, and run updates

The following command will ensure your local computer is synchronized with the remote environment:

blt sync

This command will sync your website and run all necessary updates, including clearing the cache, database updates, and configuration imports.

By default, BLT does not sync your public and private files directories. However, to perform a file sync during sync:refresh tasks in your project, you can set sync.files to true in your blt.yml file.


If you are using multisite, you can refresh every multisite on your local computer by running the following command:

blt drupal:sync:all-sites

Sync: Copy the database from the remote site

blt drupal:sync:db

The sync command copies a database (and files if sync.files is set to true) but does not run any updates afterward.

Update: Run update tasks locally

blt drupal:update

The previous command runs several update commands (including cache clears, database updates, and configuration imports) to sync the local database with your codebase (for example, an exported configuration).