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