Skip to content

The cwp manual

shipped 1.0.0

cwp is Controlled WordPress — a command-line tool that moves a WordPress site between a local DDEV container and its host, and guards every write that goes upward.

It is middleware. DDEV runs the local container, WP-CLI talks to WordPress, and your host moves the files; cwp decides what may move, in which direction, and what has to be true before and after. It reimplements none of them.

What this manual is

Every page carries a status badge, and the badge is the point. A documentation page is a promise about software, and the characteristic one is not an invention — it is a sentence that was true when it was written. shipped 1.0.0 says the thing exists in the released binary; planned, deferred and not built say exactly what they say.

Pages are written against the released v1.0 surface. Where a command’s flags or arguments are listed, they are read from the CLI’s own manifest rather than typed, and where terminal output is shown, it was captured from the real binary rather than written by hand.

Where to go

  • Start here — what cwp is and is not, what it needs, how to install it, and a quickstart that ends in a working local copy of a production site.
  • Concepts — the two-layer config, the asymmetric data flow, reproducibility, the safety model, the output contract, and the two seams.
  • Commands — every command, its arguments and its flags, read from the CLI’s own manifest rather than written by hand.
  • The design documents describe how cwp is built: the five layers, the seven-step spine, the two seams, and the invariant catalogue with the test that holds each rule.

The guides and the troubleshooting pages are still being moved here from the repository’s README.md. Until a section arrives, README.md is the complete document.