PHPackages                             iqual/drupal-platform - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. iqual/drupal-platform

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

iqual/drupal-platform
=====================

Project asset package for the iqual internal developer platform's Drupal integration.

v2.0.0(1mo ago)020.9k↓36.1%GPL-2.0-or-laterTwig

Since Feb 1Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/iqual-ch/drupal-platform)[ Packagist](https://packagist.org/packages/iqual/drupal-platform)[ RSS](/packages/iqual-drupal-platform/feed)WikiDiscussions 2.x Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (35)Used By (0)

iqual Drupal Platform
=====================

[](#iqual-drupal-platform)

This package contains assets for scaffolding configuration files in a Drupal project. It is an "asset package" for the [iqual/project-scaffold](https://github.com/iqual-ch/project-scaffold) Composer plugin that can create new or updating existing projects with pre-defined assets.

The bundled assets are for the iqual internal developer platform's Drupal integration. It supports a DDEV setup using VS Code as IDE. Additionally it contains integrations for a remote deployment to Upsun (formerly Platform.sh) and CI/CD workflows for automation using GitHub Actions.

Platform Features
-----------------

[](#platform-features)

- Local development environment with **DDEV**
- **VS Code** IDE setup
- Workflows for Drupal automation using **GitHub Actions**
- Integration for deployment to **Upsun** (formerly Platform.sh)
- `Makefile` **commands** for project and app tasks

Quick Start
-----------

[](#quick-start)

Make sure to set up the [iqual/project-scaffold](https://github.com/iqual-ch/project-scaffold) Composer plugin first:

```
composer config --no-plugins allow-plugins.iqual/project-scaffold
composer config extra.project-scaffold --json {"allowed-packages":["iqual/drupal-platform"]}
composer require iqual/project-scaffold
```

Install the asset package, using:

```
composer require iqual/drupal-platform
```

Package Variables
-----------------

[](#package-variables)

During scaffolding it will prompt for package variables that are used when the files are being templated:

- `name`: Code name of the project (e.g. `iqual`)
- `title`: Title of the project (e.g. `iqual AG`)
- `url`: URL to the current remote live deployment (e.g. `https://www.iqual.ch`)
- `drupal_spot`: The drupal single point of truth for asset synchronization (e.g. `main-bvxea6i`)
- `runtime.php_version`: PHP version of the platform (e.g. `8.3`)
- `runtime.db_version`: Database version of the platform (e.g. `10.6`)
- `deployment`: Remote deployment integration (e.g. `platform.sh`)

> Check the documentation for a [full list of the Drupal Platform's available package variables](./docs/configuration.md#drupal-platform-package-variables).

Managed Assets
--------------

[](#managed-assets)

List of files that are going to be managed in the destination project by this package.

### Added Assets

[](#added-assets)

Assets that are only added if it doesn't exist in the target yet:

Show structure of added assets
```
assets/add/
├── .platform
│   └── routes.yaml.twig
└── @web-root
    └── sites
        └── default
            ├── all.settings.php
            ├── local.services.yml
            └── local.settings.php.twig

```

### Replaced Assets

[](#replaced-assets)

Assets that are fully managed by the package and will be created if inexistent or otherwise overwritten in the target destination:

Show structure of replaced assets
```
assets/replace/
├── @app-root
│   ├── .environment.twig
│   ├── drush
│   │   ├── drush.yml
│   │   ├── platformsh_generate_drush_yml.php.twig
│   │   └── sites
│   │       └── self.site.yml.twig
│   ├── php.ini.twig
│   ├── phpcs.xml.dist
│   ├── phpstan.neon
│   ├── phpunit.xml.dist
│   └── resources
│       ├── build.sh.twig
│       ├── deploy.sh.twig
│       └── robots.txt.twig
├── .ddev
│   ├── .env.solr.twig
│   ├── commands
│   │   └── web
│   │       ├── lint
│   │       ├── phpcbf
│   │       ├── phpcs
│   │       ├── phpstan
│   │       └── phpunit
│   ├── config.solr.yaml.twig
│   ├── config.yaml.twig
│   ├── docker-compose.solr.yaml.twig
│   ├── homeadditions
│   │   └── .bash_aliases.twig
│   └── php
│       └── my-php.ini.twig
├── .editorconfig
├── .github
│   ├── actions
│   │   ├── install-local
│   │   │   └── action.yml.twig
│   │   └── upgrade
│   │       ├── rector.php
│   │       └── upgrader.sh
│   └── workflows
│       ├── config-pull.yml.twig
│       ├── phpcs.yml.twig
│       ├── phpunit-functional-testing.yml.twig
│       ├── phpunit-unit-testing.yml.twig
│       ├── testing.yml.twig
│       ├── update.yml.twig
│       ├── upgrade.yml.twig
│       └── visual-regression-testing.yml.twig
├── Makefile
├── README.md.twig
├── solr
│   └── site_search
│       └── conf
│           └── README.md.twig
├── .vscode
│   ├── extensions.json
│   ├── launch.json
│   ├── settings.json.twig
│   └── tasks.json
└── @web-root
    └── sites
        └── default
            ├── settings.php
            └── settings.platformsh.php.twig

```

Warning

These files should not be modified in a project anymore, since they will be overwritten by this package.

### Merged Assets

[](#merged-assets)

Assets that will be merged into existing destination files or added if inexistent:

Show structure of merged assets
```
assets/merge/
├── .dockerignore
├── .env.twig
├── .env.visreg.twig
├── .gitattributes
├── .gitignore.twig
├── .platform
│   └── services.yaml.twig
├── .platform.app.yaml.twig
└── playwright-vrt.config.json.twig

```

Documentation
-------------

[](#documentation)

- Guides
    - [Step-by-step initial setup](https://support-iqual.atlassian.net/wiki/spaces/BW/pages/3260579957/Initial+setup+G)
    - [DDEV Installation](https://docs.ddev.com/en/stable/users/install/ddev-installation/)
- Drupal Platform
    - [Concepts](./docs/concepts.md)
    - [Configuration](./docs/configuration.md)
    - [Commands](./docs/commands.md)
    - [Repository Structure](./docs/structure.md)
    - [Drupal Development](./docs/drupal-development.md)
    - [Service Deployment](./docs/deployment.md)
    - [App Installation](./docs/installation.md)
    - [Automation (CI/CD)](./docs/automation.md)
- DDEV
    - [DDEV Usage](https://docs.ddev.com/en/stable/users/usage/)
    - [DDEV Configuration](https://docs.ddev.com/en/stable/users/configuration/config/)
    - [DDEV Debugging](https://docs.ddev.com/en/stable/users/debugging-profiling/step-debugging/)

###  Health Score

49

—

FairBetter than 95% of packages

Maintenance89

Actively maintained with recent releases

Popularity26

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~42 days

Recently: every ~5 days

Total

28

Last Release

54d ago

Major Versions

v1.7.1 → v2.0.0-alpha12026-02-25

### Community

Maintainers

![](https://www.gravatar.com/avatar/90cd0a373720aba510d144cf310f4b036ae8d79f1f7385d663ae20b87a3fb017?d=identicon)[pvbergen](/maintainers/pvbergen)

![](https://www.gravatar.com/avatar/eb59715390ddb5e8d804e769ee3c1705073b18c39a0d0a7ad852c91c28be46c3?d=identicon)[martinstadelmann](/maintainers/martinstadelmann)

![](https://www.gravatar.com/avatar/43082de1b2e2b2b2d48b7ff7dbc7c60ff1d0a015123d4062ac0b49ea0b3b725f?d=identicon)[iqual](/maintainers/iqual)

---

Top Contributors

[![martinstadelmann](https://avatars.githubusercontent.com/u/25382761?v=4)](https://github.com/martinstadelmann "martinstadelmann (68 commits)")

### Embed Badge

![Health badge](/badges/iqual-drupal-platform/health.svg)

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

PHPackages © 2026

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