WenPai branded mirror of wp-packages
Find a file
elementary 741755ac9b
Some checks failed
ci / GolangCI-Lint (push) Failing after 7m10s
ci / Go Modules Tidy (push) Failing after 5m26s
ci / Go Test (push) Failing after 1h3m11s
ci / Integration Test (push) Failing after 5s
govulncheck / govulncheck (push) Failing after 1s
refactor: mirror-mode cleanups — upstream monthly installs, remove untagged, simplify status
2026-04-12 11:14:17 +08:00
.github/workflows Remove only from usage instructions (#43) 2026-03-21 13:45:35 -05:00
benchmarks Remove only from usage instructions (#43) 2026-03-21 13:45:35 -05:00
cmd/wppackages feat(cli): add light-update command for mirror mode 2026-04-12 01:34:54 +08:00
deploy/ansible Implement socket-activated zero-downtime deploy switchover (#67) 2026-04-04 14:07:54 -05:00
docs Add public status page (#89) 2026-04-02 21:24:20 -05:00
internal refactor: mirror-mode cleanups — upstream monthly installs, remove untagged, simplify status 2026-04-12 11:14:17 +08:00
migrations refactor(db+cli): drop versions_json and pipeline tables; disable legacy commands 2026-04-12 01:31:36 +08:00
scripts Add user prompt for script deletion after successful migration (#64) 2026-03-25 14:42:33 -05:00
test Replace shell smoke test with Go integration tests (#26) 2026-03-19 00:38:21 -04:00
.air.toml Split make dev into bootstrap + live-reload (#55) 2026-03-22 21:37:33 -04:00
.gitignore WP Packages rename (#42) 2026-03-19 11:50:12 -05:00
.golangci.yml Update lint config (#45) 2026-03-19 23:36:56 -04:00
CLAUDE.md WP Packages rename (#42) 2026-03-19 11:50:12 -05:00
go.mod Add GET /api/stats endpoint for total downloads badge (#53) 2026-03-23 15:08:31 -05:00
go.sum Add GET /api/stats endpoint for total downloads badge (#53) 2026-03-23 15:08:31 -05:00
LICENSE.md Initial commit 2026-03-14 13:36:07 -05:00
litestream.yml Fix database is locked errors by tuning WAL checkpointing for Litestream (#94) 2026-04-04 10:37:27 -05:00
Makefile Incremental sync refactor (phase 2) (#90) 2026-04-03 10:11:18 -05:00
migrations.go WP Packages rename (#42) 2026-03-19 11:50:12 -05:00
README.md Add public status page (#89) 2026-04-02 21:24:20 -05:00
seeds.yaml Initial commit 2026-03-14 13:36:07 -05:00
wppackages-linux-amd64 fix: align homepage stats with mirror mode data 2026-04-12 10:36:50 +08:00

WP Packages

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 Packages WPackagist
Package naming wp-plugin/* wp-theme/* wpackagist-plugin/* wpackagist-theme/*
Package metadata Includes authors, description, homepage, and support links Missing — requested since 2020
Update frequency Every 5 minutes ~1.5 hours (estimated)
Composer v2 metadata-url
Composer v2 metadata-changes-url
Install statistics
Public status page See status page
Untagged plugin installs Immutable — pinned to SVN revision Mutable, resulting in unexpected plugin updates

Composer resolve times

Cold resolve (no cache) — lower is better:

Plugins WP Packages WPackagist Speedup
10 plugins 0.7s 12.3s 17x faster
20 plugins 1.1s 19.0s 17x 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