Skip to content

Drush commands

DXPR Builder provides Drush commands for managing pages, templates, elements and content migrations from the command line. Every command except dxb:migrate prints YAML.

Page commands

dxb:page:create

Creates a node from a DXPR Builder page template.

drush dxb:page:create drag_and_drop_page my_template \
  --title="New Landing Page"

Arguments:

Argument Description
type Content type machine name
template_id Page template machine name

Options:

Option Description
--title Node title (required)
--field Builder field name (auto-detected)
--status Published status: 0 or 1 (default: 0)
--dry-run Validate without creating

Alias: dxpr-pc

dxb:page:get

Gets the DXPR Builder markup from an entity.

drush dxb:page:get 42
drush dxb:page:get 5 --entity-type=block_content

Arguments:

Argument Description
entity_id Entity ID

Options:

Option Description
--entity-type Entity type (default: node)
--field Builder field name (auto-detected)

Alias: dxpr-pg

dxb:page:update

Updates DXPR Builder markup on an entity.

drush dxb:page:update 42 --markup="<div>new</div>"
drush dxb:page:update 42 --markup=@/tmp/page.html

Arguments:

Argument Description
entity_id Entity ID

Options:

Option Description
--entity-type Entity type (default: node)
--field Builder field name (auto-detected)
--markup New HTML (string or @file path)
--dry-run Show what would change

Alias: dxpr-pu

Template commands

dxb:template:list

Lists available DXPR Builder page templates.

drush dxb:template:list
drush dxb:template:list --category=Landing
drush dxb:template:list --detail

Options:

Option Description
--category Filter by template category
--profile Filter by profile ID
--detail Include template markup body

Alias: dxpr-tl

User template commands

dxb:user-template:list

Lists all DXPR Builder user templates.

drush dxb:user-template:list
drush dxb:user-template:list --global
drush dxb:user-template:list --uid=1

Options:

Option Description
--uid Filter by owner user ID
--global Show only global templates
--profile Filter by profile ID
--detail Include template markup body

Alias: dxpr-utl

dxb:user-template:create

Creates a reusable DXPR Builder user template.

drush dxb:user-template:create "Hero Section" \
  --markup="<div class='container'>...</div>"
drush dxb:user-template:create "Hero" \
  --markup=@/tmp/hero.html --global

Arguments:

Argument Description
label Template display name

Options:

Option Description
--markup HTML (string or @file path)
--global Make available to all users
--dry-run Validate without creating

Alias: dxpr-utc

Element commands

dxb:element:list

Lists available DXPR Builder elements (blocks, views).

drush dxb:element:list
drush dxb:element:list --type=block
drush dxb:element:list --profile=editor

Options:

Option Description
--type Filter by type: block, view
--profile Filter by profile ID

Alias: dxpr-el

Setup commands

dxb:setup-ai

Installs the AI skill for coding assistants in the Composer project root: .claude/skills/dxb for Claude Code and .agents/skills/dxb for Codex, Gemini, Copilot and Cursor. Each copy holds SKILL.md, references/ (one file per element, the Views and block elements, the parser rules, A/B testing and the workflow) and scripts/ with the markup validator. --check changes nothing and lists every file that is not installed or is outdated.

drush dxb:setup-ai
drush dxb:setup-ai --check
drush dxb:setup-ai --host=claude

Options:

Option Description
--host Target: claude, agents or all (default: all)
--check Check if installed files are up to date, without changes

Alias: dxpr-sa

Migration commands

dxb:migrate

Runs every content migration that has pending items, or only the one you name. It logs a line per migration and exits with a non-zero code when an item fails. The same migrations are listed at DXPR Studio > DXPR Builder > Content Items > Migrations.

drush dxb:migrate
drush dxb:migrate --migration=circle_counter_circliful_to_bootstrap

Options:

Option Description
--migration Run only this migration ID, even when nothing is counted as pending
--force Take over the lock of a run still marked as in progress, after an abandoned run

Migration IDs: owl_carousel_to_bootstrap, circle_counter_circliful_to_bootstrap, progress_bar_legacy_to_bootstrap_extension, entity_link_enrichment and alias_link_enrichment.

Alias: dxpr-migrate

Something wrong or missing on this page? Report it or edit the page.