PHPackages                             mstrelan/drupal-contrib - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. mstrelan/drupal-contrib

ActiveProject[DevOps &amp; Deployment](/categories/devops)

mstrelan/drupal-contrib
=======================

Composer project for Drupal contrib

1.5.1(1y ago)87365[1 issues](https://github.com/mstrelan/drupal-contrib/issues)[5 PRs](https://github.com/mstrelan/drupal-contrib/pulls)GPL-2.0-or-laterPHPCI passing

Since Sep 6Pushed 4mo ago2 watchersCompare

[ Source](https://github.com/mstrelan/drupal-contrib)[ Packagist](https://packagist.org/packages/mstrelan/drupal-contrib)[ RSS](/packages/mstrelan-drupal-contrib/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (21)Used By (0)

Drupal contrib starter project
==============================

[](#drupal-contrib-starter-project)

[![tests](https://github.com/mstrelan/drupal-contrib/actions/workflows/tests.yml/badge.svg)](https://github.com/mstrelan/drupal-contrib/actions/workflows/tests.yml)

Prerequisites
-------------

[](#prerequisites)

- Composer
- Docker / Docker compose
- PhpStorm (optional)

Getting started
---------------

[](#getting-started)

To get started run the following command:

```
composer create-project mstrelan/drupal-contrib

```

Directory structure
-------------------

[](#directory-structure)

- **app/** - this is the web root. The Drupal repo will be checked out here.
- **assets/scaffold/files/** - files that will be copied to their destination with composer.
- **bin/** - vendor binaries go here.
- **src/** - scripts used by composer.
- **vendor/** - composer vendor dir.

Docker compose
--------------

[](#docker-compose)

Start the stack by running `docker-compose up` or `make start`.

You can override port numbers and other env vars by copying `.env.dist` to `.env`

The following services are available:

- **nginx** - the webserver
- **php-fpm** - serves the Drupal site
- **php-cli** - a CLI container for interacting with the Drupal site
- **mysql** - an empty database container
- **chrome** - for running webdriver tests

Makefile targets
----------------

[](#makefile-targets)

Make commands should be executed on the host machine.

- `clean` - runs composer install, installs minimal profile and provides a one-time login link
- `start` - starts the stack
- `stop` - stops the stack
- `stop-php` - stops the php containers
- `minimal` - installs Drupal with the minimal profile
- `standard` - installs Drupal with the standard profile
- `umami` - installs Drupal with the demo\_umami profile
- `login` - gets a one-time login link
- `switch` - switches branch, e.g. `make BRANCH=9.3 switch`
- `phpstan` - runs phpstan for core
- `phpstan-baseline` - generates phpstan baseline for core
- `10.3|10.4|10.5|10.6|11.1|11.2|11.3|11.x` - provides a clean environment with the specified Drupal version
- `php8.1|php8.2|php8.3|php8.4` - starts the stack with the specified php version

PhpStorm configuration
----------------------

[](#phpstorm-configuration)

Upon first installation you'll be asked if you want to configure PhpStorm. This will configure a remote PHP interpreter, PHPUnit and path mappings for debugging.

The remote interpreter assumes that you have Docker integration configured and working already. See the [Enable Docker support](https://www.jetbrains.com/help/phpstorm/docker.html#enable_docker)section of the PhpStorm documentation to set this up.

Running tests
-------------

[](#running-tests)

If you elected to automatically configure PhpStorm you should be able to click the green triangle next to each test in PhpStorm.

Alternatively you can run phpunit on the command line like so:

```
docker-compose exec php-cli bash
phpunit -c app/core/phpunit.xml.dist app/core/tests/Drupal/Tests/Core/DrupalKernel/

```

Debugging
---------

[](#debugging)

Xdebug can be enabled for HTTP requests via the Xdebug helper browser extension:

- Firefox - [Xdebug Helper for Firefox](https://addons.mozilla.org/en-US/firefox/addon/xdebug-helper-for-firefox/)
- Chrome - [Xdebug helper](https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc)

For CLI scripts including drush and phpunit, use `XDEBUG_SESSION=1`. For example:

You can also toggle Xdebug for debugging tests directly in PhpStorm by clicking the Run Test button next to a test and choosing Debug.

```
docker-compose exec php-cli bash
XDEBUG_SESSION=1 phpunit app/core/tests/Drupal/Tests/Core/DrupalTest.php --filter=testSetContainer

```

Debugging WebDriver tests with Selenium and VNC
-----------------------------------------------

[](#debugging-webdriver-tests-with-selenium-and-vnc)

The `.env.dist` file contains examples for how to configure the `selenium` service to use either Chrome or Firefox in debug mode. This exposes a VNC port (default 5900) that you can connect to in order to see tests running in the browser. Using a VNC client such as Remmina or VNC Viewer, simply connect to port `127.0.0.1:5900` with the password `secret`. If you've changed the `VNC_PORT`environment variable be sure to connect to that port instead.

Mailpit
-------

[](#mailpit)

The mailpit service is available and configured to capture email sent from the site. This can be accessed at . For more info see .

Contributing
------------

[](#contributing)

Once you're up and running you'll have Drupal core checked out in the app directory. From here you can create a new branch for each issue that you're working on.

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance63

Regular maintenance activity

Popularity23

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~75 days

Recently: every ~92 days

Total

14

Last Release

368d ago

Major Versions

1.2.3 → 10.2.x-dev2023-10-10

### Community

Maintainers

![](https://www.gravatar.com/avatar/2ffbd54d4eb9c0e90863e4a328b87d2f88c8993070d266310ceaf4b6844e11ce?d=identicon)[mstrelan](/maintainers/mstrelan)

---

Top Contributors

[![mstrelan](https://avatars.githubusercontent.com/u/665110?v=4)](https://github.com/mstrelan "mstrelan (47 commits)")[![nlisgo](https://avatars.githubusercontent.com/u/383397?v=4)](https://github.com/nlisgo "nlisgo (3 commits)")[![acbramley](https://avatars.githubusercontent.com/u/569927?v=4)](https://github.com/acbramley "acbramley (1 commits)")[![dpi](https://avatars.githubusercontent.com/u/21850?v=4)](https://github.com/dpi "dpi (1 commits)")

---

Tags

composerdockerdocker-composedrupal

### Embed Badge

![Health badge](/badges/mstrelan-drupal-contrib/health.svg)

```
[![Health](https://phpackages.com/badges/mstrelan-drupal-contrib/health.svg)](https://phpackages.com/packages/mstrelan-drupal-contrib)
```

###  Alternatives

[metadrop/drupal-boilerplate

Project template for Drupal 9 projects with a relocated document root

281.0k](/packages/metadrop-drupal-boilerplate)[fourkitchens/sous-drupal-project

Starter project for Sous a Drupal distribution featuring a theme based on Emulsify Design System.

151.0k](/packages/fourkitchens-sous-drupal-project)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
