roots/wordpress-full
Composer package that installs the complete WordPress distribution — core plus bundled themes and plugins — into a configurable web directory. A drop-in replacement for roots/wordpress when you need the full archive, with version pinning and no bundled wp-content, for Bedrock-style projects.
composer.lock alongside everything else. This unlocks deterministic builds across dev/staging/prod, one-command rollback (revert the lockfile and redeploy), and a clean audit trail of "which core version was live on which date" — useful for incident review and compliance evidence.composer update roots/wordpress-full, test, ship" instead of "click update in five dashboards." A PM can commit to an SLA (e.g., critical core releases in production within 72 hours) because the mechanism is a normal deploy, not a manual maintenance window.wordpress-full means you get wp-content with the bundled default themes and plugins (Akismet, Hello Dolly) — closest parity to a wordpress.org download. Choosing the lean roots/wordpress core-only variant forces every theme and plugin to be an explicit, auditable dependency. This is a real roadmap decision: parity and fewer surprises vs. a smaller attack surface and cleaner compliance story.Adopt it when most of the following are true:
Look elsewhere when:
wp-content. If plugin supply chain is the actual problem, evaluate that separately.For executives — one paragraph: We currently update WordPress core by hand, site by site, which means our patch latency is unpredictable and every upgrade is a small, unrehearsed production change. This package turns WordPress core into a normal software dependency: a fixed version recorded in our codebase, deployed through the same pipeline as everything else, and revertible in minutes if something breaks. The cost is near zero — it is a free, GPL-licensed package from the team behind the standard modern WordPress stack — and the payoff is a defensible answer to "how fast do you patch?" plus the ability to move hosts or scale sites without re-platforming.
For engineering — the practical case: Composer-native core means composer.lock is the single source of truth for the WordPress version, so environments stop drifting. Upgrades become a PR: bump the constraint, let CI run, soak in staging, merge, deploy — with rollback being a revert rather than a restore. It removes the custom update scripts and the "someone SSH'd in" class of incident. Note the variant choice explicitly: wordpress-full ships wp-content with bundled themes and plugins for parity with a stock download; if you want every theme and plugin to be an explicit, auditable dependency, take the core-only variant instead and manage wp-content yourself. Either way, the package is auto-generated on each upstream release, so we should pin exact versions and treat composer update as a deliberate, reviewed step — never an unattended cron.
Diligence items to socialize before sign-off: confirm the generation pipeline traces to wordpress.org release artifacts and that we verify integrity on install; document that there is no vendor SLA and that we own the update decision; and confirm GPL-2.0 obligations are acceptable for internal use, revisiting only if we ever distribute the product.
How can I help you explore Laravel packages today?