PHPackages                             lemberg/draft-environment - 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. lemberg/draft-environment

AbandonedArchivedComposer-plugin[DevOps &amp; Deployment](/categories/devops)

lemberg/draft-environment
=========================

Development environment for Draft Drupal.

3.6.4(3y ago)3213.2k—5.6%4[8 issues](https://github.com/lemberg/draft-environment/issues)[1 PRs](https://github.com/lemberg/draft-environment/pulls)1GPL-2.0-or-laterPHPPHP &gt;=7.4

Since Feb 13Pushed 2y ago4 watchersCompare

[ Source](https://github.com/lemberg/draft-environment)[ Packagist](https://packagist.org/packages/lemberg/draft-environment)[ RSS](/packages/lemberg-draft-environment/feed)WikiDiscussions 3.x.x Synced 1mo ago

READMEChangelog (10)Dependencies (24)Versions (47)Used By (1)

Draft Environment
=================

[](#draft-environment)

[![Latest Stable Version](https://camo.githubusercontent.com/273a4bcb07fd68c551a1e9ae486cbed2431511690fc7fe0de174182d3fba5e90/68747470733a2f2f706f7365722e707567782e6f72672f6c656d626572672f64726166742d656e7669726f6e6d656e742f762f737461626c65)](https://packagist.org/packages/lemberg/draft-environment)[![Build Status](https://github.com/lemberg/draft-environment/workflows/Integrate/badge.svg)](https://github.com/lemberg/draft-environment/workflows/Integrate/badge.svg)[![codecov](https://camo.githubusercontent.com/5b68ee85d906c9553c8a978e3a2e03422e9f6d2816ff1c45c94564381e49ff14/68747470733a2f2f636f6465636f762e696f2f67682f6c656d626572672f64726166742d656e7669726f6e6d656e742f6272616e63682f332e782e782f67726170682f62616467652e737667)](https://codecov.io/gh/lemberg/draft-environment)

This is Vagrant-based development environment for Drupal projects. This project is a part of a [Draft](https://github.com/lemberg/draft-template) Drupal project template.

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

[](#prerequisites)

- PHP (7.4+) and Composer 2
- Vagrant (2.2.6+)
- VirtualBox (5.2+)
- [mkcert](https://mkcert.dev) (optional)

Vagrant plugins (will be automatically installed)
-------------------------------------------------

[](#vagrant-plugins-will-be-automatically-installed)

#### [Vagrant Host Manager](https://github.com/devopsgroup-io/vagrant-hostmanager)

[](#vagrant-host-manager)

Manages host and/or guest `hosts` files. Draft is configured to create a `hostname.test` DNS record on a host machine.

#### [vagrant-disksize](https://github.com/sprotheroe/vagrant-disksize)

[](#vagrant-disksize)

A Vagrant plugin to resize disks in VirtualBox.

#### [Vagrant WinNFSd (WINDOWS only)](https://github.com/winnfsd/vagrant-winnfsd)

[](#vagrant-winnfsd-windows-only)

Dramatically increases disk IO on Windows by adding NFS support.

How to
------

[](#how-to)

1. (Optional) Locally-trusted SSL certificates

    **Skip this step if `mkcert` is already installed and the local CA does already exist.**

    Install [mkcert](https://mkcert.dev) in order to get locally-trusted development SSL certificates. This tool requires no configuration. After installation just run:

    ```
    $ mkcert -install

    ```
2. Add Draft Environment to the project (as a dev dependency):

    ```
    $ composer require --dev lemberg/draft-environment

    ```
3. Configure guest machine by answering installer's questions. At the moment, project name (hostname) and PHP version are the only settings that can be set interactively
4. Override any variable used in any Ansible role by manually editing the `vm-settings.yml`. All available variables alongside with their default values are listed in [default.vm-settings.yml](/default.vm-settings.yml)

    Here's the list of used roles:

    - draft (internal)
    - [oefenweb.swapfile @ v2.0.35](https://github.com/Oefenweb/ansible-swapfile/tree/v2.0.35)
    - [geerlingguy.mailhog @ 2.3.0](https://github.com/geerlingguy/ansible-role-mailhog/tree/2.3.0)
    - git\_config (internal)
    - apache2 (internal)
    - [geerlingguy.mysql @ 3.5.0](https://github.com/geerlingguy/ansible-role-mysql/tree/3.5.0)
    - [t2l.php @ 1.6.2](https://github.com/T2L/ansible-role-php/tree/1.6.2)
    - [t2l.composer @ 2.0.5](https://github.com/T2L/ansible-role-composer/tree/2.0.5)
    - [t2l.java @ 1.3.3](https://github.com/T2L/ansible-role-java/tree/1.3.3)
    - [t2l.solr @ 2.2.2](https://github.com/T2L/ansible-role-solr/tree/2.2.2)
5. Create and provision the guest machine:

    ```
    $ vagrant up

    ```
6. Commit `.gitignore`, `Vagrantfile` and `vm-settings.yml` to lock the VM state
7. Configuration can be overridden locally by creating and editing `vm-settings.local.yml` (and this file must not be committed)

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

[](#documentation)

Everybody loves documentation. We do too! [Check this out](/docs).

Changelog
---------

[](#changelog)

Changelog can be found here [CHANGELOG.md](/CHANGELOG.md)

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity38

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 99.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 ~54 days

Recently: every ~110 days

Total

45

Last Release

971d ago

Major Versions

1.x-dev → 2.0.02017-10-11

2.x-dev → 3.0.0-beta12018-10-24

PHP version history (3 changes)3.0.0-rc1PHP ^7.2

3.3.0PHP &gt;=7.3

3.6.0PHP &gt;=7.4

### Community

Maintainers

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

---

Top Contributors

[![T2L](https://avatars.githubusercontent.com/u/492138?v=4)](https://github.com/T2L "T2L (668 commits)")[![andrii-khomych-lemberg-co-uk](https://avatars.githubusercontent.com/u/24794729?v=4)](https://github.com/andrii-khomych-lemberg-co-uk "andrii-khomych-lemberg-co-uk (4 commits)")

---

Tags

drupaldrupal-8drupal-draftvagrantvirtualboxvm

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/lemberg-draft-environment/health.svg)

```
[![Health](https://phpackages.com/badges/lemberg-draft-environment/health.svg)](https://phpackages.com/packages/lemberg-draft-environment)
```

###  Alternatives

[wsdltophp/packagegenerator

Generate hierarchical PHP classes based on a WSDL

4351.9M19](/packages/wsdltophp-packagegenerator)[shopware/deployment-helper

Shopware deployment tools

19305.3k5](/packages/shopware-deployment-helper)[drevops/git-artifact

Package artifact from your codebase in CI and push it to a separate git repo.

2133.2k](/packages/drevops-git-artifact)

PHPackages © 2026

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