Command line interface for creating Emulsify projects, installing component systems, installing system components, generating local components, and routing project audits to Emulsify Core.
Emulsify CLI requires Node.js 24 or newer.
Install Emulsify CLI globally from npm:
npm install -g @emulsify/cliRun the current command help at any time:
emulsify
emulsify --helpCreate a Drupal starter project, install a system, and add components:
emulsify init "My Theme" ./web/themes/custom --platform drupal
cd ./web/themes/custom/my_theme
emulsify system install
emulsify component list
emulsify component install card
emulsify component create promo-card --directory molecules --format defaultBuilt-in platforms are drupal, wordpress, and none. For WordPress child themes, use the WordPress platform and starter:
emulsify init "My Theme" ./wp-content/themes --platform wordpressWhen WordPress is auto-detected, Emulsify initializes child themes into the detected themes directory, such as wp-content/themes/my-theme or web/app/themes/my-theme for Bedrock.
For non-interactive environments, pass the flags that normally prompt for input:
emulsify init "My Theme" ./web/themes/custom --platform drupal --yes
emulsify system install compound
emulsify component create promo-card --directory molecules --format default --yesDetailed documentation lives in docs.
| Topic | Use This When |
|---|---|
| CLI Reference | Looking up commands, aliases, options, and examples. |
| Project Initialization | Creating a new Emulsify project from a starter. |
| Systems | Listing, installing, or authoring component systems. |
| Components | Listing, installing, dry-running, or creating components. |
| Project Configuration | Understanding project.emulsify.json, variants, and structure mappings. |
| Component Template Overrides | Customizing files generated by emulsify component create. |
| Hooks And Cache | Understanding starter hooks, system hooks, and local repository cache behavior. |
| Development | Setting up this repository and running local checks. |
| Release | Understanding CI, semantic-release, and npm publishing. |
| Command | Alias | Description |
|---|---|---|
emulsify init [name] [path] |
Initializes an Emulsify project from a starter. | |
emulsify audit [...args] |
Runs the project-installed Emulsify Core audit. | |
emulsify system list |
emulsify system ls |
Lists built-in systems available for installation. |
emulsify system install [name] |
Installs or scaffolds a system in the current Emulsify project. | |
emulsify component list |
emulsify component ls |
Lists components available from the installed system and variant. |
emulsify component install [name] |
emulsify component i [name] |
Installs one component from the installed system and variant. |
emulsify component create [name] |
emulsify component c [name] |
Creates a local component in the current Emulsify project. |
emulsify audit is a convenience façade. The project-installed
@emulsify/core package remains the owner of the canonical emulsify-audit
machine interface, checks, findings, JSON schema, output, and exit behavior.
See the CLI reference and
Core audit documentation.
See Contributors.