Skip to content

Release: Add WordPress platform support#347

Open
callinmullaney wants to merge 9 commits into
mainfrom
develop
Open

Release: Add WordPress platform support#347
callinmullaney wants to merge 9 commits into
mainfrom
develop

Conversation

@callinmullaney

@callinmullaney callinmullaney commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR adds WordPress as a first-class platform option in Emulsify CLI.

It allows emulsify init to create WordPress child themes using the new WordPress starter, supports WordPress platform auto-detection, and updates system variant selection so shared component systems can target multiple platforms with compatibility expressions such as drupal || wordpress.

This PR fixes/implements the following bugs/features

  • Adds wordpress as a supported concrete project platform alongside drupal and none
  • Adds the built-in WordPress starter: https://github.com/emulsify-ds/emulsify-wordpress-starter
  • Detects WordPress theme directories for standard WordPress, Bedrock, and Composer/custom web-root structures
  • Initializes WordPress child themes into the detected themes directory when possible
  • Updates interactive platform prompts to include wordpress
  • Adds clearer validation for unsupported platform values
  • Adds platform compatibility expression support for system variants, including values like drupal || wordpress
  • Updates system install behavior to prefer exact platform matches, then shared compatible variants, then generic none variants
  • Supports interactive variant selection when multiple compatible variants are found
  • Updates schemas and generated types for wordpress and variant platform expressions
  • Updates CLI docs, README content, and website usage copy for WordPress platform support
  • Refreshes lockfile dependencies from the current install

The motivation for this change is to make WordPress a clear, supported path in the CLI instead of requiring WordPress projects to behave like generic none projects. It also gives shared systems a cleaner compatibility model so the same component library can support Drupal and WordPress without duplicating nearly identical variants.

Documentation update (required)

Documentation has been updated across the README and CLI docs to cover:

  • WordPress init examples
  • WordPress auto-detection behavior
  • Built-in platform options
  • Built-in starter repositories
  • WordPress child theme output paths
  • project.platform concrete values
  • System variant compatibility expressions
  • Variant selection behavior during system install

How to review this pull request

  • Review the WordPress init flow and confirm --platform wordpress uses the WordPress starter and hyphenated machine names.
  • Review WordPress auto-detection for wp-content/themes, web/app/themes, and web/wp-content/themes.
  • Review system variant compatibility behavior for exact matches, shared expressions like drupal || wordpress, generic none variants, and ambiguous matches.
  • Review schema/type updates to confirm project.platform stays concrete while variant.platform supports compatibility expressions.
  • Review README and docs updates for accuracy and consistency.
  • Confirm CI/Test checks are passing.

Closing issues

Closes #

dependabot Bot and others added 9 commits June 22, 2026 03:52
Bumps [lint-staged](https://github.com/lint-staged/lint-staged) from 17.0.7 to 17.0.8.
- [Release notes](https://github.com/lint-staged/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/main/CHANGELOG.md)
- [Commits](lint-staged/lint-staged@v17.0.7...v17.0.8)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-version: 17.0.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…-staged-17.0.8

chore(deps-dev): bump lint-staged from 17.0.7 to 17.0.8
Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) from 21.0.2 to 21.1.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/cli)

---
updated-dependencies:
- dependency-name: "@commitlint/cli"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) from 21.0.2 to 21.1.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.1.0/@commitlint/config-conventional)

---
updated-dependencies:
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 26.0.0 to 26.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…itlint/cli-21.1.0

chore(deps-dev): bump @commitlint/cli from 21.0.2 to 21.1.0
…itlint/config-conventional-21.1.0

chore(deps-dev): bump @commitlint/config-conventional from 21.0.2 to 21.1.0
…s/node-26.0.1

chore(deps-dev): bump @types/node from 26.0.0 to 26.0.1
@callinmullaney callinmullaney changed the title Release: Wordpress platform support Release: Add WordPress platform support Jun 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant