Skip to content
Public template

About

💧 Template for a contributed Drupal module or theme with CI and mirroring to Drupal.org

Topics

Resources

Contributing

Security policy

Stars

18 stars

Watchers

3 watching

Forks

Latest commit

 

History

624 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eddy logo

Eddy

Template for contributed Drupal modules and themes


Eddy is a template for maintaining a contributed Drupal module or theme on GitHub. Start your extension from it and you get CI on GitHub Actions, a local Drupal site to develop and test against, coding standards checks, and mirroring of the code to Drupal.org.

Eddy isn't for building websites: use Vortex for that. The 2 templates do separate jobs, and a repository uses only 1 of them.

Features

  • ⚙️ CI on GitHub Actions - PHP 8.3, 8.4 and 8.5, and Drupal stable on 10, 11 and 12, plus legacy and canary tiers on 11 and 12, with code coverage on codecov.io. The setup works with Drupal.org GitLab CI too.
  • 💻 Local development - a Drupal site built on the PHP of your host by the same commands that CI runs, through make or Ahoy, with your development dependencies, suggested extensions and patches.
  • 🧹 Coding standards - PHPCS, PHPStan, Drupal Rector, Twig CS Fixer, ESLint, Stylelint, CSpell and Prettier.
  • 🧪 Tests - PHPUnit Unit, Kernel, Functional and FunctionalJavascript tests, in a local Chrome or a Selenium container, and JavaScript tests with Jest.
  • 🚚 Deployment - mirroring of the code and its tags to Drupal.org, or any other git remote, once CI passes.
  • 🤖 Renovate - grouped pull requests that keep dependencies up to date.
  • 📝 Docs for your extension - README.md and CONTRIBUTING.md templates.

Eddy tests itself the way it tests a project created from it, and deploys to drevops/eddy_destination as a working example.

➡️ See the projects using Eddy.

Quick start

  1. Download the latest release and expand it into a new directory.
  2. Run php install.php there and answer its questions.
  3. Build the site with make build or ahoy build, then check it with lint and test through the same wrapper. Without a wrapper, the generated CONTRIBUTING.md lists the scripts/eddy-tooling and vendor/bin/eddy-* commands that do the same jobs.

Installation process

➡️ Installation walks through every step, from the download to the first deployment to Drupal.org.

Updating

If you use Claude Code, ask Claude to "update scaffold" in your project, and it merges the latest release into your extension through a pull request. You can update by hand too.

➡️ Updating your extension covers both, and Upgrading from 4.x covers the one-off move from a 4.x release.

Contributing

Contributions are welcome.

➡️ See Contributing for how to build and test the scaffold, run its self-tests, and work on the documentation.

About

💧 Template for a contributed Drupal module or theme with CI and mirroring to Drupal.org

Topics

Resources

Contributing

Security policy

Stars

18 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages