Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

module_builder

390 sites Security covered
View on drupal.org

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.

You can read more about how to use Module Builder on the documentation site.

Module Builder saves the data for a generated module as a config entity, meaning that you can return to a generated module and add or change its components and generate code again.

Module Builder also has partial functionality for adopting and existing module as a module config entity, to then add further code to it. For example, this allows adopting an existing service class and adding an extra injected service to it.

There is also experimental code for generating a theme.

Installation

  1. Install Module Builder with Composer, as with a normal module, but with the '--dev' Composer option, so that Module Builder is not deployed to production servers. 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.
  2. Go to Administration › Configuration › Development › Module Builder › Analyse and run the code analysis.
  3. Go to Administration › Configuration › Development › Module Builder › Modules and add a new module entity.

Versions

  • Drupal 8/9/10/11: 4.x is stable and being actively developed. This provides a Drupal UI. For use with Drush commands, 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.
  • 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 4.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.

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

Activity

Total releases
9
First release
Mar 2025
Latest release
1 month ago
Release cadence
44 days
Stability
89% stable

Release Timeline

Releases

Version Type Release date
4.2.2 Stable Mar 15, 2026
4.2.1 Stable Jan 26, 2026
4.2.0 Stable Jan 26, 2026
4.1.3 Stable Sep 10, 2025
4.1.2 Stable Aug 22, 2025
4.1.1 Stable Jul 21, 2025
4.1.x-dev Dev May 15, 2025
4.1.0 Stable Apr 26, 2025
4.0.7 Stable Mar 28, 2025