WP Packages

May 3, 2026 · View on GitHub

Total Installs Status Build status Follow Roots Sponsor Roots

Manage your WordPress plugins and themes with Composer.

Support us

Roots is an independent open source org, supported only by developers like you. Your sponsorship funds WP Packages and the entire Roots ecosystem, and keeps them independent. Support us by purchasing Radicle or sponsoring us on GitHub — sponsors get access to our private Discord.

Sponsors

Carrot WordPress.com Itineris Kinsta

WP Packages vs WPackagist

WP PackagesWPackagist
Open sourceFully open source — application, infrastructure, and deployment all in the public repoApplication + Docker build only; production infrastructure remains proprietary, and public repo has historically diverged from production
Package namingwp-plugin/* wp-theme/*wpackagist-plugin/* wpackagist-theme/*
Package metadataIncludes authors, description, homepage, and support linksMissing — requested since 2020
Update frequencyEvery 5 minutes~1.5 hours (estimated)
Composer v2 metadata-url
Composer v2 metadata-changes-url
Install statistics
Public status pageSee status page
Untagged plugin installsImmutable — pinned to SVN revisionMutable, resulting in unexpected plugin updates
Closed plugins & themesRemoved in sync with WordPress.org closuresContinues serving closed plugins with no notice

Composer resolve times

Cold resolve (no cache) — lower is better:

PluginsWP PackagesWPackagistSpeedup
10 plugins0.7s12.3s17x faster
20 plugins1.1s19.0s17x faster

Documentation

See the documentation for usage instructions, example composer.json configurations, and more.

Roots WordPress Packages

Roots provides WordPress core as Composer packages — roots/wordpress, roots/wordpress-full, and roots/wordpress-no-content. Learn more.

Migrating from WPackagist

Use the migration script to automatically update your composer.json:

curl -sO https://raw.githubusercontent.com/roots/wp-packages/main/scripts/migrate-from-wpackagist.sh && bash migrate-from-wpackagist.sh

Community