Skip to main content
Version: v2
Vortex LogoVortex Logo

Vortex
Drupal project template

Vortex is a Drupal project template for building and deploying Drupal sites. This introduction is for anyone evaluating it or about to start a project with it. By the end, you'll know why the template exists, what it's made of, and where to go to install it, get help, or contribute.

A Vortex project gives you the following, configured to work together, so your team starts on features instead of setting up infrastructure:

  • A containerized local environment
  • Automated testing and code quality tools
  • Continuous integration pipelines for GitHub Actions or CircleCI
  • Integrations with the Acquia and Lagoon hosting platforms

Every Vortex project shares the same structure and tooling, so a developer who knows one project knows their way around the next.

Renovate keeps the tools the template ships up to date, and automated tests check every change to the template. The tests lower the risk of an update breaking your project and keep it easier to maintain over time.

For a tour of Vortex in slides, see the DrupalSouth 2025 presentation (Google Slides | PDF).

Why Vortex exists​

Setting up a Drupal project takes time, and every setup comes out a little different:

  • ⏱️ Developers lose hours or days setting up their local, continuous integration, and hosting environments
  • ⚠️ Inconsistent setups cause false negatives that erode trust in the tools
  • 🔌 Poorly understood third-party services slow integration and troubleshooting
  • 📉 Poor onboarding documentation slows new team members down

Those gaps add up to the following:

  • 😩 Developer frustration and burnout
  • ⏳ Project delays and missed deadlines
  • 💸 Unplanned costs and budget overruns

We built Vortex to solve these problems with a ready-to-use foundation for developing and maintaining Drupal projects.

3 pillars of Vortex​

📦
Template
+
📖
Documentation
+
🎛️
CLI

📦 Template​

The template includes the following:

  • 💧 A pre-configured Drupal project structure with module, theme, and test boilerplate
  • 🧰 Pre-configured tools for code quality checks and automated testing
  • 🐳 Docker-based environment for local development and cloud hosting
  • ☁️ Built-in support for Acquia and Lagoon cloud hosting platforms
  • 🏗️ Continuous integration using GitHub Actions or CircleCI
  • 📖 Project documentation

➡️ See Features and Architecture

📖 Documentation​

The documentation comes in 3 parts:

  • 🌐 Centralized documentation on this site
  • 🗂️ Scaffolded structure for project-specific docs
  • 📋 Project README with local setup steps

🎛️ CLI​

The Vortex CLI does the following:

  • 📦 Adds boilerplate for the features you select
  • 🏗️ Renames files and replaces strings during installation
  • 🔄️ Updates existing installations to a newer boilerplate version when you run ahoy update-vortex
  • 🎚️ Reconfigures an existing project in place and checks the tools a project needs on your machine
  • 🔌 Runs as a standalone PHAR that scripts and AI agents can drive with prepared answers, a prompt schema, and a validation mode

➡️ See CLI, Installation, and Updating Vortex

🧱 Solid base for your projects​

Every project starts from a base with these qualities:

  • 🔄 Upgradable
  • 🧪 Automatically tested in many scenarios
  • 🛠️ Actively managed and maintained as a product since 2017
  • 📚 Documented on this documentation site

🚀 Quick start​

You need PHP 8.3 or later, curl, git, tar, and composer to install, and Docker, Pygmy, and Ahoy to build the site.

Run the CLI in an empty directory and answer its prompts:

curl -SsL https://www.vortextemplate.com/install > vortex.phar && php vortex.phar

A successful installation shows a Finished installing Vortex box before the CLI offers to build the site.

➡️ See Installation for the full requirements and what each step shows

🛟 Getting help​

➡️ See Support

🤝 Contributing​

➡️ See Contributing

⚖️ License​

Vortex is licensed under the GPL-3.0 license. The LICENSE file has the full text.

The CLI leaves the template's LICENSE file out of your project, along with SECURITY.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, and .github/FUNDING.yml. Your project's composer.json declares "license": "proprietary".