Welcome to the Digital.gov Drupal site.
See our CONTRIBUTING.md for Git configuration and working with validation.
- Software requirements
- QuickStart installation
- Working with the codebase
- Basic command reference
- Additional developer documentation
- PHP 8.3: Used to run
./robo.sh/./composer.shtasks - Composer Version 2: https://getcomposer.org/, much faster to run composer locally than through docker
- Lando: https://lando.dev/download/
See our Install Help documentation for a guide to installing the PHP and Composer requirements locally.
The local environment is configured to use the Lando Drupal Plugin. However, you cannot just lando start the first time you start the site.
Once you have confirmed that you have PHP 8.3 and Composer 2 installed locally run the following CLI commands to get your site running locally.
composer install ./robo.sh lando:init # Installing a Drupal site from config (no DB needed). lando si Following that, you can interact with the environment like a normal Lando site using standard lando commands.
There is some custom functionality apart from what's in the base Lando installation.
- See a list of shortcuts (Drush, Composer, etc.):
./robo.sh common:shortcuts-help - When switching to a new branch, always:
lando rebuild -y && lando sito start off completely fresh. - Export content as configuration
./robo.sh drupal-project:export-content. See Exporting Content as Configuration.
See our Frontend documentation for working with the digital_gov custom theme.
Instead of using lando composer we use ./composer.sh which generate entries in composer.log so we can replay composer commands on conflicts.
| Command | Use case |
|---|---|
./composer.sh require drupal/<MODULE_NAME> | Download a drupal module |
./composer.sh remove drupal/<MODULE_NAME> | Remove a drupal module |
./composer.sh update --lock | Regenerate composer lock hash |
| Command | Use case |
|---|---|
lando drush cr | Clearing Drupal cache |
lando drush uli | Log into Drupal as Superuser |
lando drush cim | Import Drupal configuration |
lando drush cex | Export Drupal configuration |
| Command | Use case |
|---|---|
lando start | Start the container |
lando stop | Stop the container |
lando rebuild | Rebuild the container (retains your db) |
lando destroy | Destroys container and your db (when all else fails) |
| Command | Use case |
|---|---|
lando si | Install a fresh Drupal site from configuration |
lando su | Run updates, import configuration, run cron, etc (Install if not installed) |
lando xdebug-on | Enable Xdebug |
lando xdebug-off | Disable Xdebug |
lando patch | Apply composer patches or regenerate lock hash |
lando be | Builds backend (composer) dependencies |
lando fe | Builds front end site (dependencies & compilation) |
lando export-content | Export content as configuration |
For additional details of custom lando commands review the tooling settings within the Lando base file.
Please take a look at the ./docs directory for more information.