Skip to content

What cwp can do

shipped 2.0.0

An 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.

ActionWhat it doesEnvironment
cwp configureWalk the declaration with evidence from the site: a proposal per section, a yes per write, a reason beside each lineoptional
cwp edge pullRead the zone’s settings into edge/.ymloptional
cwp launchRun the launch checks against an environment, and set its stage to live when every one passesrequired
cwp pullRead an environment’s state down into the committed treeoptional

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.

ActionWhat it doesEnvironment
cwp adoptDeclare that this project manages an environment, and give its content identityrequired
cwp deployConverge an environment to the tree, then run the remote post-steps and post-deploy hookoptional
cwp edge captchaProvision the edge’s captcha widget and write its keys into the builder (F-137)optional
cwp edge pushWrite edge/.yml to the zone (an upward write against a remote)optional
cwp perimeterConverge who comes through which door of a site to what cwp.yml declaresoptional
cwp pushConverge an environment to the committed treeoptional

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.

ActionWhat it doesEnvironment
cwp db pullBring an environment’s database down (uploads are not included)optional
cwp fetchFetch third-party themes and plugins down from an environmentoptional
cwp media pullBring an environment’s media files down, and no databaseoptional

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.

ActionWhat it doesEnvironment
cwp abilitiesList the abilities registered on a site, and what each one declaresoptional
cwp abilityCall one ability by name (guarded per its own readonly/destructive annotation)optional
cwp agent installLeave an agent on an environment until it is removedrequired
cwp agent removeTake the resident agent off an environmentrequired
cwp bricks auditReport design-system rot: orphan references, unused classes, variables and coloursoptional
cwp bricks post-types disableStop the Bricks builder opening for a post typeoptional
cwp bricks post-types enableOpen the Bricks builder for a post typeoptional
cwp bricks post-types listList the builder-enabled post types (read-only)optional
cwp config getPrint one key’s effective value, or list every key—
cwp config setSet one key, in whichever layer it belongs to—
cwp content listList the posts, terms and menus in scope on a site, and whether cwp manages themoptional
cwp content openOpen one page in a browser: the page a status row namesoptional
cwp coverageMeasure what the site holds and the committed tree does notoptional
cwp db exportExport the local database to a file (uploads are not included)—
cwp db importImport a SQL dump over the local database (uploads are not included)—
cwp db listList this project’s snapshots, newest first (uploads are not included)—
cwp db restoreRestore the local database from a snapshot (uploads are not included)—
cwp db rmRemove one snapshot (uploads are not included)—
cwp db snapshotSnapshot the local database (uploads are not included)—
cwp doctorRun read-only environment diagnosticsoptional
cwp edge statusCompare edge/.yml with what the zone holds, and write nothingoptional
cwp initScaffold a cwp project (interactive, safe to re-run)optional
cwp logWhat happened to an environment: pulls, pushes, refusals, and how to get backrequired
cwp mcpGenerate the MCP client config for an environment, minting an application passwordoptional
cwp openOpen the site in a browser: the local DDEV URL, or an environment’soptional
cwp projectsList the projects registered on this machine (no remote calls)—
cwp projects pathPrint one project’s directory to stdout, for cd "$(cwp projects path <n>)"—
cwp projects rmDrop one entry from the registry (the directory is not touched)—
cwp scrubRemove production personal data from the local copy—
cwp serveServe every command as an MCP tool over stdio; a write answers with its plan, and cwp_apply runs it only in build—
cwp shellOpen an interactive shell in the local container or on an environmentoptional
cwp statusShow project, environments, DDEV state, last pull, snapshots and driftoptional
cwp tailTail the local container’s log, or an environment’soptional
cwp wpRun 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.