Screenshot of the entity types form.
Screenshot of the plugins form.
Screenshot of the hooks form.
Screenshot of the code generation form.

A module which auto-generates a skeleton or "scaffolding" for a module, along with hints on how to fill them in. Useful for newbie developers to learn how Drupal code works, and seasoned developers who are too lazy to look up what arguments a function has to take.

Module Builder is unlike any other code generator in that it analyses your site's code to detect plugin types, hooks, services, and so on. It can then generate code for any of these, whether from core, contrib, or your custom code.

But more than this, module builder can generate:

  • Content and config entity types
  • Plugins of just about any type, with injected services
  • Forms, with injected services
  • Routes and controllers, with injected services
  • Permissions
  • Services
  • Plugin types
  • PHPUnit test case classes, and test modules
  • An api.php file to document the module's hooks
  • An admin settings form
  • A README file
  • ... and more.

You can watch a demonstration of some of the components that can be generated.

There is also experimental code for generating a theme.

WARNING: Module Builder is a developer tool. It should NEVER be installed on a production site, as it has the capability to write to the site's codebase.

Versions

  • Drupal 8: 8.x-3.x-dev is stable, compatible with Drupal 8/9/10, and being actively developed. Only provides a Drupal UI. For use with Drush on Drupal 8/9/10, use the Drush command.
  • Drupal 7: 7.x-2.x-dev is stable and only receiving maintenance. 7.x-2.0 is the final version that includes the Drush commands. After this, use the separate the Drush command
  • Drupal 6: 6.x-2.x-dev is stable and no longer supported. For Drush, use 7.x-2.0 as a Drush plugin.
  • Drupal 5: 5.x-1.x-dev is stable and no longer supported.

Drupal UI

Install this module as normal, using the version appropriate for your version of Drupal. For 8.x-3.x, use Composer to install the Drupal Code Builder library and other dependencies (see the README for instructions). After installation, run the code analysis on the settings page.

Drush plugin (7.x-2.0 and earlier only)

Install the entire module folder in a place where Drush can find plugins (see Drush documentation for details). It can then be used for any Drupal site that Drush can be used with, independent of Drupal version. Use 7.x-2.0 version as a Drush plugin for version 6 or 7 of Drupal, and use Drush 8 or prior; see the documentation for more details.

Stability

Module Builder is in perpetual development. There will occasionally be sudden changes in how everything works that will render obsolete your downloaded hook data and any customizations you may have such as custom hook groups and templates.

Co-maintainers needed: http://drupal.org/node/278908
Invitation for roadmap ideas: http://drupal.org/node/310691

Project information

Releases