The cwp manual
shipped 1.0.0cwp 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 matters. A documentation page
is a promise about software. The characteristic one is not an invention: it is
a sentence that was true on the day somebody wrote it. shipped 1.0.0 says the
thing exists in the released binary; planned, deferred and not built say
exactly what they say.
The pages describe the released v1.0 surface. Where a page lists a command’s flags or arguments, they come from the CLI’s own manifest rather than from typing. Where a page shows terminal output, the real binary produced it.
Where to go
- What do I do when … — the commands filed by situation rather than by name: page-builder work, production content you need locally, tags to clean up, your state onto an environment. It also says what cwp deliberately leaves alone.
- 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 cwp as it is: the five layers, the seven-step spine, the two seams and the invariant catalogue with the test that holds each rule.
README.md keeps only what a reader needs before deciding to click through:
what cwp is, how to install it, a quickstart and the safety model. Everything
else is here.