Download & install

Get Divengine Studio

Studio is not a service you sign up for. It is free software you download and run on your own infrastructure: a laptop to try it, a server for your team, your cloud of choice. Your data never leaves it.

What you need

ComponentVersionNotes
Drupal core11.4Not installed separately: Composer installs it at the exact version locked by Studio, currently a security release of the 11.4 branch.
PHP8.4The version Studio is tested with. Drupal 11.4 accepts PHP 8.3, but Studio is not tested on it. Include the extensions Drupal needs, such as pdo_pgsql, gd, xml and mbstring.
PostgreSQL16 or newerThe minimum Drupal 11.4 accepts, with the pg_trgm extension. Studio is developed and tested on PostgreSQL.
Composer2.xInstalls Drupal core, contributed modules and libraries at the exact versions locked by Studio.
GitanyTo get the code, and for Code Source to read your repositories.
Web serveranyApache, nginx or Caddy with PHP-FPM, with web/ as the web root.
Private filesA directory outside the web root for test evidence, attachments and the MCP token, configured before installing.

Install with the web installer

This is the recommended path for a new site. The installer is a Drupal installation profile with the Studio branding. It applies the divengine_studio recipe, which is Drupal's Standard recipe followed by divengine_studio_base, the recipe that holds all of Studio's modules and configuration.

  1. Get the code

    git clone https://github.com/divengine/studio.git
    cd studio
    composer install
  2. Create the database

    An empty PostgreSQL database with pg_trgm enabled.

    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;
    SQL
  3. Prepare settings.php

    Set the private file path and the host names Studio will answer to.

    cp web/sites/default/default.settings.php web/sites/default/settings.php
    mkdir -p private/files
    cat >> web/sites/default/settings.php <<'PHP'
    $settings['file_private_path'] = '../private/files';
    $settings['trusted_host_patterns'] = ['^studio\.example\.com$'];
    PHP
  4. Configure the web server

    Point it at web/. Only Apache reads Drupal's .htaccess rules; on nginx or Caddy, deny settings files, source files, hidden files and PHP under files/ yourself. The Studio README has ready-made nginx and Caddy configurations.

  5. Open the installer

    Browse to https://studio.example.com/core/install.php. The Divengine Studio distribution is selected automatically. Choose a language, enter the database, choose optional integrations (MCP integration is off by default) and create the administrator account. When it finishes, Studio opens on My work.

  6. Optional: connect AI assistants

    If you selected the MCP integration, create its service account and token on the server:

    vendor/bin/drush divengine:mcp-setup --uri=https://studio.example.com

    The token is written to a private file, never printed, and the command shows how to connect a client. Add the service account to the Developments it should read.

Without a browser

The same profile installs from the command line, for example in provisioning scripts:

vendor/bin/drush site:install divengine_studio_installer \
  --db-url=pgsql://studio:choose-a-good-one@localhost/studio \
  --site-name='Divengine Studio' \
  --account-name=admin --account-mail=you@example.com
# add divengine_studio_installer_integrations_form.mcp=1 for MCP

Apply Studio to an existing Drupal site

To add Studio to a Drupal 11.4 site that already exists, apply divengine_studio_base. The site needs what Drupal's Standard recipe or profile provides: the Basic and Full HTML text formats with their editors and the Content editor role. A site installed with the Minimal profile does not have them. The site keeps its name; /studio becomes the front page, the Studio theme the default theme and Gin the administration theme.

vendor/bin/drush recipe $PWD/recipes/divengine_studio_base
vendor/bin/drush recipe $PWD/recipes/divengine_studio_mcp   # optional

Do not apply divengine_studio to an existing site. It starts with Drupal's Standard recipe, whose configuration changes between Drupal releases, and Drupal refuses to apply it over a site created with an earlier version.

Update an existing site

Back up the database and the private files directory, and try the update on a copy of the site first. Then deploy the new code, apply the database updates and re-apply the base recipe, which imports the configuration that new features bring:

composer install
vendor/bin/drush updatedb --yes
vendor/bin/drush recipe $PWD/recipes/divengine_studio_base
vendor/bin/drush recipe $PWD/recipes/divengine_studio_mcp   # if MCP is installed
vendor/bin/drush cache:rebuild
  • This is also the path from Drupal 11.3 to 11.4, for sites installed with the web installer and for sites where the Studio recipe was applied to a Standard installation
  • Re-applying the base recipe sets again the values it defines for existing configuration: the front page, the default and administration themes, and the editor buttons and filters of Basic and Full HTML. Customizations of those are overwritten
  • Sites created before Drupal 11.4 keep what the earlier Standard profile installed, such as the toolbar, the Article and Basic page content types and History. New sites use Drupal's Navigation instead
  • Studio has no tagged releases yet. A versioned release and upgrade policy is being prepared; until then, update from the main branch
Out of the box

What you get

The whole suite

Records and traceability, BPMN and UML modelers, the Unified Process, test management, projects, timesheets, knowledge base, discussions, code source, code documentation and database schemas.

Roles that make sense

Content editor, Project Manager, QA User, Tester, Lead and Manager, Studio Manager and Database analyzer, with access by Development membership.

Sensible defaults

Record types and lifecycles, trace types, process definitions, development cases and QA settings, ready to adapt.

A real Drupal site

Extend it with modules, theme it, integrate it through Drupal's APIs. Studio follows Drupal's own practices.

Optional MCP server

A second recipe adds an MCP endpoint for AI assistants, with OAuth sign-in or a service token. Assistants read by default; people you make MCP writers can let theirs draft records, never approve them. Leave it out entirely if you do not need it.

GPL-3.0

Free software: use it for any purpose, study it, change it and share your improvements.

Need a hand?

The documentation walks you through configuration and every feature, in plain language.