What cwp can do
shipped 2.0.0An inventory of the actions rather than of the command tree. Where the command reference follows what you may type, this follows what happens, and groups it by the one thing worth deciding on first: which way it moves.
Read from the CLI’s own manifest, so an action listed here is one the binary has. There are 47 of them.
Reads an environment into the tree
Downward. These write files in your repository and, with one exception, nothing on the site.
| Action | What it does | Environment |
|---|---|---|
cwp configure | Walk the declaration with evidence from the site: a proposal per section, a yes per write, a reason beside each line | optional |
cwp edge pull | Read the zone’s settings into edge/ | optional |
cwp launch | Run the launch checks against an environment, and set its stage to live when every one passes | required |
cwp pull | Read an environment’s state down into the committed tree | optional |
Writes the tree to an environment
Upward. Every one of them goes through the guard ladder. A protected environment refuses; cwp takes a restore point and asks you before anything lands.
| Action | What it does | Environment |
|---|---|---|
cwp adopt | Declare that this project manages an environment, and give its content identity | required |
cwp deploy | Converge an environment to the tree, then run the remote post-steps and post-deploy hook | optional |
cwp edge captcha | Provision the edge’s captcha widget and write its keys into the builder (F-137) | optional |
cwp edge push | Write edge/ | optional |
cwp perimeter | Converge who comes through which door of a site to what cwp.yml declares | optional |
cwp push | Converge an environment to the committed tree | optional |
Moves things without the tree in between
The bulk payloads. A database and an uploads directory are too large to commit, so they travel directly and the tree records that they did.
| Action | What it does | Environment |
|---|---|---|
cwp db pull | Bring an environment’s database down (uploads are not included) | optional |
cwp fetch | Fetch third-party themes and plugins down from an environment | optional |
cwp media pull | Bring an environment’s media files down, and no database | optional |
Neither direction
The tree is not involved. Most of these only read: a diagnosis, a listing, a shell. A few change the site you are standing in or one setting on a remote. Each page says which, and every upward one is still guarded.
| Action | What it does | Environment |
|---|---|---|
cwp abilities | List the abilities registered on a site, and what each one declares | optional |
cwp ability | Call one ability by name (guarded per its own readonly/destructive annotation) | optional |
cwp agent install | Leave an agent on an environment until it is removed | required |
cwp agent remove | Take the resident agent off an environment | required |
cwp bricks audit | Report design-system rot: orphan references, unused classes, variables and colours | optional |
cwp bricks post-types disable | Stop the Bricks builder opening for a post type | optional |
cwp bricks post-types enable | Open the Bricks builder for a post type | optional |
cwp bricks post-types list | List the builder-enabled post types (read-only) | optional |
cwp config get | Print one key’s effective value, or list every key | — |
cwp config set | Set one key, in whichever layer it belongs to | — |
cwp content list | List the posts, terms and menus in scope on a site, and whether cwp manages them | optional |
cwp content open | Open one page in a browser: the page a status row names | optional |
cwp coverage | Measure what the site holds and the committed tree does not | optional |
cwp db export | Export the local database to a file (uploads are not included) | — |
cwp db import | Import a SQL dump over the local database (uploads are not included) | — |
cwp db list | List this project’s snapshots, newest first (uploads are not included) | — |
cwp db restore | Restore the local database from a snapshot (uploads are not included) | — |
cwp db rm | Remove one snapshot (uploads are not included) | — |
cwp db snapshot | Snapshot the local database (uploads are not included) | — |
cwp doctor | Run read-only environment diagnostics | optional |
cwp edge status | Compare edge/ | optional |
cwp init | Scaffold a cwp project (interactive, safe to re-run) | optional |
cwp log | What happened to an environment: pulls, pushes, refusals, and how to get back | required |
cwp mcp | Generate the MCP client config for an environment, minting an application password | optional |
cwp open | Open the site in a browser: the local DDEV URL, or an environment’s | optional |
cwp projects | List the projects registered on this machine (no remote calls) | — |
cwp projects path | Print one project’s directory to stdout, for cd "$(cwp projects path <n>)" | — |
cwp projects rm | Drop one entry from the registry (the directory is not touched) | — |
cwp scrub | Remove production personal data from the local copy | — |
cwp serve | Serve every command as an MCP tool over stdio; a write answers with its plan, and cwp_apply runs it only in build | — |
cwp shell | Open an interactive shell in the local container or on an environment | optional |
cwp status | Show project, environments, DDEV state, last pull, snapshots and drift | optional |
cwp tail | Tail the local container’s log, or an environment’s | optional |
cwp wp | Run WP-CLI locally or on an environment (everything after -- is forwarded verbatim) | optional |
Reading the environment column
required: the action is about a relationship with one environment, and there is no local default to fall back to.
optional: omitting it means the environment default_environment names
in cwp.yml. cwp init writes local, so a fresh project’s
unnamed commands act on the site you are standing in.
A dash in the column: the action has no environment to act on.