Overview
Get started with wpm for WordPress plugins and themes, including core commands, project files, and your first install in under a minute.
wpm is an open source package manager for WordPress plugins and themes.
It's built in Go for performance and reliability, with a globally distributed registry powered by Cloudflare Workers for fast installs around the world.
wpm makes WordPress dependencies reproducible, shareable, and easy to manage.
Why wpm?
- Built for WordPress out of the box. No extra configuration required.
- Plugins, themes, and mu-plugins are first-class package types.
- Dependency resolution works automatically.
- Reproducible installs with
wpm.lock. - Built-in package integrity and supply chain security checks.
- Fast installs and reliable caching.
- Fully open source.
For the longer rationale, a concrete comparison with Composer, and the design choices behind wpm, see Why wpm.
Quick install
Linux and macOS
curl -fsSL https://wpm.so/install | bashWindows (PowerShell)
irm https://wpm.so/install.ps1 | iexFor Docker, go install, source builds, and shell completions, see the
installation guide.
After installation, verify that wpm is available on your system path:
wpm --versionFirst steps
Create a new project:
mkdir my-wp-project
cd my-wp-project
wpm init -yInstall dependencies:
wpm install akismet hello-dollywpm downloads the packages into wp-content/plugins/ and records the exact
versions in wpm.lock.
Inspect the dependency tree:
wpm lsLearn wpm
Why wpm?
The longer rationale and design choices.
Installation
Every install method, in detail.
First project
A ten-minute walkthrough.
Fundamentals
Learn how the wpm ecosystem works.
Dependencies
The dependency maps and how wpm resolves them.
wpm.json
The project manifest schema.
wpm.lock
The lockfile that makes installs reproducible.
Runtime compatibility
`requires` and `config.runtime` for WordPress and PHP.
Package types
`plugin`, `theme`, and `mu-plugin`.
Registry
Dist tags, visibility, and where packages live.
Guides
Common workflows and real-world usage.
Authentication
Tokens, login, and multiple identities.
Publishing
Ship plugins, themes, and mu-plugins to the registry.
CI/CD
Run wpm in GitHub Actions, GitLab CI, and shell runners.
Reference
Community
Last updated on