Skip to content

Requirements

shipped 1.0.0

cwp shells out to these; it does not bundle them. cwp doctor checks them all at once, and every failure prints the command that fixes it.

ToolWhyInstall
Node.js ≥ 22cwp’s own runtimebrew install node
A Docker runtimeDDEV needs onebrew install --cask orbstack, then start it
DDEVthe local WordPress containerbrew install ddev/ddev/ddev
mkcertlocal HTTPSmkcert -install

Then whatever your host needs:

ProviderAlso needs
cloudronthe Cloudron CLI (npm i -g cloudron) and a login: cloudron login my.example.com
sshan ssh key that reaches the host, and wp on its PATH
localnothing further

cwp holds no ssh settings of its own. It passes the ssh: value in cwp.yml to ssh and rsync exactly as written. A port, an identity file or a jump host therefore belong in ~/.ssh/config, where every other tool on your machine already looks and where the two cannot disagree.

WordPress core never goes into git, so a freshly cloned project has none. cwp doctor flags that before cwp db pull runs into it; the fix is ddev wp core download.