Drupal is a registered trademark of Dries Buytaert

eb

No security coverage
View on drupal.org

Entity Builder is a visual entity architecture management tool for Drupal 11.

Design, preview, and deploy content types, fields, and displays using an Excel-like spreadsheet interface or flat YAML format. Entity Builder handles dependency resolution automatically, so you never need to worry about operation ordering.

How it works

Entity Builder uses a definition-centric workflow: you create definitions (via UI or YAML), preview the changes, then apply them to your site. Definitions are reusable config entities that can be applied multiple times with smart sync - new items are created, changed items are updated, and unchanged items are skipped.

Under the hood, Entity Builder converts your definitions into atomic operations (create bundle, create field, configure display, etc.) and automatically resolve dependencies. You can define a field that references a taxonomy that's also being created in the same file - Entity Builder figures out the correct order.

Entity Builder Guide

Full documentation is available in the module's docs/ directory and covers:

  • Quick start guide with example definitions
  • Complete YAML format reference
  • All available operations
  • Extension development guide
  • Drush command reference

User interface

Entity Builder Core provides the processing engine and YAML import. The included sub-module eb_ui adds a browser-based interface, and the extension module Entity Builder AG-Grid (strongly recommended) provides a full spreadsheet experience with AG-Grid.

Spreadsheet Interface

The AG-Grid interface offers:

  • Tabbed sheets for Bundles, Fields, Field Groups, Displays, and Menus
  • Excel-like keyboard navigation (Ctrl+Z undo, Tab between cells)
  • Auto-generation of field names from labels
  • Inline dropdowns for entity types, field types, widgets, and formatters
  • Settings modals with native Drupal form rendering
  • Real-time validation with error highlighting
  • Source view toggle for direct YAML editing

Features

  • Visual UI: Spreadsheet-like grid interface - no YAML knowledge required
  • Flat YAML Format: One row per item, easy to edit in Google Sheets or Excel
  • Automatic Dependencies: No manual operation ordering needed
  • Smart Sync: Idempotent imports - run the same definition multiple times safely
  • Two-Stage Validation: Operation-specific validation plus cross-cutting validator plugins
  • Full Rollback Support: Undo any applied definition
  • Audit Logging: Track all changes with session-level and operation-level logs
  • Runtime Discovery: Auto-detect available field types, widgets, and formatters
  • Complete CLI: Drush commands for automation and CI/CD pipelines
  • Extensible: Plugin system for adding custom integrations

Included Sub-module

Entity Builder Core has no dependencies other than Drupal Core (field, field_ui, user). The UI functionality is provided by an included sub-module:

  • eb_ui: Base UI module with definition management interface and shared API endpoints

Extension Modules

Additional functionality is provided by separate extension modules (each has its own Drupal project page):

Supported Operations

Entity Builder supports 14+ operation types across bundles, fields, displays, and menus:

  • Bundles: Create, update, delete content types, vocabularies, media types
  • Fields: Create, update, delete, hide, reorder fields
  • Displays: Configure form widgets and view formatters per display mode
  • Menus: Create custom menus and menu links
  • Field Groups: Create tabs, fieldsets, details, accordions (via eb_field_group)
  • URL Patterns: Configure pathauto patterns (via eb_pathauto)
  • Auto Labels: Configure automatic entity labels (via eb_auto_entitylabel)

Installation

Get started with Entity Builder in minutes:

# Install Entity Builder with recommended modules
composer require drupal/eb drupal/eb_aggrid drupal/eb_field_group drupal/eb_pathauto drupal/eb_auto_entitylabel

# Install AG-Grid library (requires Asset Packagist - see documentation)
composer require npm-asset/ag-grid-community:33.0.0

# Enable modules (include extensions as needed)
drush en eb eb_ui eb_aggrid eb_field_group eb_pathauto eb_auto_entitylabel field_group pathauto auto_entitylabel -y

# Clear cache
drush cr

Then navigate to Configuration > Development > Entity Builder to start creating definitions.

Quick Start

  1. Create a definition - Click "Add definition" and enter a label
  2. Add bundles - Use the Bundles tab to add content types or vocabularies
  3. Add fields - Use the Fields tab to add fields to your bundles
  4. Preview - Click Preview to see planned operations
  5. Apply - Click Apply to execute

For a complete example, import the included Job Board Platform demo:

drush eb:import web/modules/custom/eb/tests/fixtures/examples/job_board_platform.yml
drush eb:apply job_board_platform

This creates 7 taxonomies, 4 content types, 60+ fields, 40+ field groups, URL patterns, and auto-generated labels.

Drush Commands

  • drush eb:import [file] - Import a YAML definition
  • drush eb:apply [id] - Apply a definition
  • drush eb:rollback [id] - Rollback a definition
  • drush eb:generate [id] - Export site architecture to YAML
  • drush eb:list - List all definitions
  • drush eb:validate [file] - Validate a YAML file

Related Projects

Activity

Total releases
2
First release
Jan 2026
Latest release
1 month ago
Release cadence
0 days
Stability
0% stable

Releases

Version Type Release date
1.0.0-alpha1 Pre-release Jan 4, 2026
1.0.x-dev Dev Jan 4, 2026