Repository navigation
Installation
Good news first: Studio is a regular Drupal 11 site packaged as a recipe, so installing it is mostly "get the code, point it at a database, run one command". This page walks you through it on a Linux machine. Coffee recommended, but it shouldn't take long. ☕
flowchart LR
A[1. Check<br/>requirements] --> B[2. Get the code<br/>+ composer install]
B --> C[3. Create the<br/>database]
C --> D[4. Prepare<br/>settings.php]
D --> E[5. Run the<br/>recipe]
E --> F[6. Point your<br/>web server]
F --> G((🎉 Log in))
| Thing | Version | Notes |
|---|---|---|
| PHP | 8.4 | With the usual Drupal extensions: pdo_pgsql, gd, xml, mbstring, curl, zip, opcache. |
| PostgreSQL | 14 or newer (16 tested) | Needs the pg_trgm extension. |
| Composer | 2.x | To download Drupal core and the libraries. |
| A web server | Caddy, nginx or Apache | Anything that can talk to PHP-FPM. |
| Git | any | To clone the repository, and for Code Source to read your code. |
🐘 Why PostgreSQL? It's what Studio is developed and tested on. Drupal itself supports MySQL and SQLite too, but stick with PostgreSQL unless you enjoy surprises.
git clone https://github.com/divengine/studio.git
cd studio
composer installThe repository only contains Divengine's own code (the divengine_* modules, the theme and the
recipes). composer install downloads Drupal core, the contributed modules and everything else
into web/ and vendor/.
sudo -u postgres psql <<'SQL'
CREATE ROLE studio LOGIN PASSWORD 'choose-a-good-one';
CREATE DATABASE studio OWNER studio;
\c studio
CREATE EXTENSION IF NOT EXISTS pg_trgm;
SQLTest evidence (screenshots, logs, videos your testers attach) is stored in Drupal's private file system, so nobody can download it without permission. Tell Drupal where that folder lives before installing:
cp web/sites/default/default.settings.php web/sites/default/settings.php
mkdir -p private/files
echo "\$settings['file_private_path'] = '../private/files';" >> web/sites/default/settings.phpThe private/ folder sits next to web/, outside the public web root. Good.
This is the magic step. It installs Drupal with the Standard profile, every Studio module, the Studio theme, the Gin admin theme, the default configuration (artifact types, lifecycles, trace types, process definitions, QA settings) and the user roles.
vendor/bin/drush site:install recipes/divengine_studio \
--db-url=pgsql://studio:choose-a-good-one@localhost/studio \
--account-name=admin --account-pass='another-good-one' \
--site-name='Divengine Studio'It takes a minute or two. When it says Installation complete, you have a working Studio.
Already have a Drupal 11 site? You can apply the recipe on top of it instead:
vendor/bin/drush recipe $PWD/recipes/divengine_studio. Your existing configuration is kept.
The document root is the web/ folder. Here's a minimal Caddy example (the setup we use
day to day):
:8080 {
root * /srv/studio/web
php_fastcgi unix//run/php/php8.4-fpm.sock
file_server
encode gzip
}For nginx or Apache, follow the standard Drupal hosting guides: nothing special is needed.
If you access the site by IP or a custom host name, add it to the trusted hosts at the end of
settings.php:
$settings['trusted_host_patterns'] = ['^localhost$', '^studio\.example\.com$'];Open the site in your browser. You'll land on the login page:

Log in with the admin account you created and you'll see My work, your personal starting point. Next stop: A tour of the workspace.
Go to Manage → Reports → Status report (/admin/reports/status). Look for:
- QA evidence storage: Private file system. If it says Not configured, step 4 was skipped.
- No red errors about the database or file permissions.
- AI assistants: expose Studio read-only to Claude Code and other MCP clients. See Connecting AI assistants.
-
Running the test suite: copy
phpunit.xml.disttophpunit.xml, setSIMPLETEST_DB, thenvendor/bin/phpunit -c phpunit.xml web/modules/custom.
git pull
composer install
vendor/bin/drush updatedb -y
vendor/bin/drush cache:rebuildSomething went wrong? The Troubleshooting & FAQ page collects the usual suspects.
Divengine Studio · open source by Divengine · Source code · Found a mistake in these pages? Open an issue.
Getting started
Knowledge
- Knowledge base
- Artifacts
- Traceability
- Diagrams
- Discussions & attachments
- Code Source
- Code docs
- Database schemas
Work
Process
Quality
- Test management
- Running tests (for testers)
- QA issues
- Dashboard & reports
- Verifying requirements with tests
Administration
Under the hood