roots/wordpress
Composer-managed WordPress package from Roots. Installs WordPress in a clean, modern directory structure with environment-based configuration, making core updates and dependencies easy to manage in version-controlled projects.
Category correction (first-order finding): roots/wordpress is not a Laravel package. It is a Composer-packaged distribution of WordPress core, published by Roots, and consumed almost exclusively through the Bedrock stack. It ships no service provider, no facade, no Artisan commands, no Eloquent bindings, and no Laravel version constraints. Treat any request framed as "adopt this Laravel package" as a scoping error and re-baseline the decision as "do we adopt Composer-managed WordPress core?" The Laravel adjacency is indirect: Bedrock borrows Laravel-style .env config and directory conventions, and the companion Sage theme uses Blade and Illuminate components. A TPM should set expectations accordingly in the kickoff.
Architecture fit:
web/wp, plugins/themes at web/app, and wp-config.php is env-driven.wordpress-core package type (roots/wordpress-core-installer or composer/installers) plus an install-path override.composer.lock, immutable deploys, no dashboard-driven core edits, and a single dependency workflow for PHP.Integration feasibility:
wp-content, docroot changes, and disabling FS_METHOD/core updates, not code changes.ABSPATH or WP_CONTENT_DIR assumptions, or writing to core, will need remediation.Technical risk:
composer.lock, and checksum comparison against wordpress.org tarballs.Key questions to resolve before commitment:
Stack fit:
Migration path (brownfield WordPress):
composer require roots/wordpress:^6.x.wp-content to app/, map WP_CONTENT_DIR/WP_CONTENT_URL, convert wp-config.php constants to .env.web/, set DISALLOW_FILE_MODS and AUTOMATIC_UPDATER_DISABLED to true.composer install --no-dev, config lint, smoke test, deploy artifact.Compatibility checks:
app/.Sequencing:
Maintenance:
composer outdated in CI, Renovate/Dependabot against composer.lock) but keep the merge human-gated with a smoke test.Support:
Scaling:
Failure modes to design against:
composer update.Ramp-up:
How can I help you explore Laravel packages today?