Skip to content

Commands

shipped 1.0.0

Every command, its arguments and its flags, read from the CLI’s own manifest rather than written here. A flag on one of these pages is a flag the binary has, because the two come from the same file.

CommandWhat it does
cwp pullPull the database and uploads down from an environment
cwp fetchFetch third-party themes and plugins down from an environment
cwp dbLocal database snapshots, import and export
cwp scrubRemove production personal data from the local copy
cwp pushPush the tracked paths up to an environment
cwp deployPush the tracked paths, then run the remote post-steps and post-deploy hook
cwp pluginsRecord and reproduce the installed plugins and themes (plugins.yml)
cwp contentMove individual pages and posts between an environment and the committed tree
cwp abilitiesList the abilities registered on a site, and what each one declares
cwp abilityCall one ability by name (guarded per its own readonly/destructive annotation)
cwp wpRun WP-CLI locally or on an environment (everything after -- is forwarded verbatim)
cwp shellOpen an interactive shell in the local container or on an environment
cwp logsTail the local container’s log, or an environment’s
cwp openOpen the site in a browser — the local DDEV URL, or an environment’s
cwp projectsList the projects registered on this machine (no remote calls)
cwp configRead and write project (.cwp.yml) or machine configuration
cwp bricksBricks 2.4 operations: the design system, MCP wiring and builder post types
cwp mcpGenerate the MCP client config for an environment, minting an application password
cwp initScaffold a cwp project (interactive, safe to re-run)
cwp statusShow project, environments, DDEV state, last pull, snapshots and drift
cwp doctorRun read-only environment diagnostics

21 top-level commands, 44 pages in all, read from the manifest of cwp 1.0.0.

Three things that hold for the whole surface

Human output goes to stderr, machine output to stdout. --json prints one envelope on stdout and nothing else, so a shell pipeline and a person reading the terminal never contend for the same stream.

--json, --verbose and --dry-run are shared by every command that acts. Three commands have no --jsoncwp wp, cwp shell and cwp logs — because they hand the terminal to another program and an envelope wrapped around its output would corrupt the very thing you asked for. Commands that change nothing accept --dry-run and ignore it.

Every command runs inside a project except cwp projects, which answers a question you ask from anywhere.