Manati Drupal Starter Kit Generator
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

generator-mdsk NPM version Build Status Dependency Status NPM Info

Manati Drupal Starter Kit Generator

What's in the box?

Using this generator; you'll get a folder with the below listed structure ready to start working with Drupal using modern and cool technologies like drupalvm, behat (using selenium for running JS tests), gulp, aquifer, vagrant, ansible and more.

Out of the box; you'll get the necessary stuff for building your Drupal site using aquifer, using a virtual machine (created with vagrant and provisioned with ansible); with useful tools to check code quality (eslint, phplint, drupalcs) and some scripts for day-to-day tasks (generate settings, install site, run behat, verify features status).

Besides that; you'll get a Wercker config file ready to create a wercker app the with necessary build steps and Pantheon deploy. You'll also get the same (but untested) for CircleCI (without the Pantheon deploy stuff).


First, install Yeoman and generator-mdsk using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-mdsk

Then generate your new project:

yo mdsk

Folder Structure

Once generated your project; you'll get an structure like this:

  • .gitignore - gitignore general file
  • /artifacts/ - Deployable build artifacts.
  • /build/ - Build working directory.
  • /docs - Documentation for the distribution.
  • /files/ - User files.
  • /gulp-tasks - Individual Gulp tasks.
  • /modules/custom - Your custom modules.
  • /modules/features - Your features.
  • /patches - Drupal patches.
  • /provisioning - Drupal VM Ansible playbooks.
  • /scripts - Utility scripts.
  • /settings/settings.php - Drupal common settings.
  • aquifer.json - Aquifer build system configuration.
  • behat.yml - Behat config file.
  • composer.json - Composer PHP dependency manager configuration.
  • composer.lock - locks Composer to specific versions.
  • config.yml - Drupal VM.
  • drupal.make.yml - Defines Drupal, contrib projects and patches.
  • .editorconfig - Defines and maintains consistent coding styles between different editors
  • .eslintrc - JavaScript coding standards.
  • example.config.yml - Drupal VM.
  • config.yml - Same as example.config.yml that you can/should edit to your settings.
  • gulpfile.js - Gulp JavaScript task runner; use gulp help for details.
  • package.json - Node.JS packages.
  • - Basic info and description file.
  • Vagrantfile - Drupal VM.
  • /settings/settings.secret.php - Drupal environmental settings that should not be in version control, like passwords.
  • /settings/settings.local.php - Drupal local development settings.
  • /tests/behat/features - Behat features folder.
  • /tests/sample_content - Sample content folder to use in your Behat features.
  • circle.yml - CircleCI config file.
  • /circle - CircleCI necessary files.
  • wercker.yml - Wercker config file.
  • /wercker - Wercker necessary files.
  • /node_modules - Node contrib packages.
  • /.vendor - Composer contrib packages.


For usage instructions; please refer to:

Getting To Know Yeoman

Yeoman has a heart of gold. He's a person with feelings and opinions, but he's very easy to work with. If you think he's too opinionated, he can be easily convinced. Feel free to learn more about him.


This generator has been possible thanks to all the great projects mentioned above. We also want to give special thanks to @fluxsauce (and @fourkitchens) for his help and guidance and the folder structure in which this project is inspired.


Apache-2.0 © Manati