Dev tools for Drupal development.

Installs: 391

Dependents: 0

Suggesters: 0

Security: 0

Stars: 5

Watchers: 6

Forks: 1

Open Issues: 5


2.0.1 2021-03-30 09:37 UTC

This package is auto-updated.

Last update: 2021-05-01 07:19:55 UTC


Build Status


Package / Composer plugin for standardizing development tools.



If you already have a grumphp.yml and/or phpcs.xml file in your project, you should rename them. E.g. mv grumphp.yml grumphp.yml.backup If you want to add new tasks and rules on a case-by-case basis, check the files in the distfiles folder of this package. Note: This package is not going to overwrite existing ones, but it might not work with them either.


In your project, simply use

composer require --dev brainsum/drupal-dev-tools



In the grumphp.yml file in your project, add the following:

    - { resource: vendor/brainsum/drupal-dev-tools/convention/grumphp.yml }

This will signal grumphp to import everything from this package.

You can customize the rules when needed, too:

    convention.git_commit_message_whitelist: ['/^([A-Z]+-[\d]+ )+\| [A-Za-z\d\s\.]+([^.])+\.{1}$/s']

For more information, see:


The files grumphp.yml and phpcs.xml should now be created in your project root. They should be good to go, but you should take a look at them and customize them for the current project as necessary. E.g, phpcs.xml descriptions, namings, checked folders, etc.; grumphp.yml php version, etc.

If they, for some reason, don't get created, you can copy their contents from the files from vendor/brainsum/drupal-dev-tools/distfiles as needed.

If you just want to use some settings from grumphp.yml, not the whole thing, see convention/grumphp.yml, as distfiles/grumphp.yml is only an import file and doesn't contain any other directives.



For the pre-defined settings see distfiles/grumphp.yml and convention/grumphp.yml.

Note, we are also trying to create a phpcs.xml file in the project root. The source for that file is also in the distfiles folder.

Twig lint

In addition to the pre-defined settings, this package also provides a custom twig lint task for GrumPHP.

This is a somewhat modified copy from asm89/twig-lint.

The roadmap for this feature:

  • Update the code as necessary according to symfony/twig-bridge
  • Show every error in the twig, not just the first one
  • Move to a separate package