@wp-operations/wp-app
v0.3.0
Published
The wp-now revival. Zero-config local WordPress dev server on @php-wasm/node.
Maintainers
Readme
@wp-operations/wp-app
The wp-now revival. A zero-config local WordPress dev server on @php-wasm/node: no Docker, no MySQL, no XAMPP. Point it at a theme, a plugin, or a full core checkout and it starts.
When wp-now was deprecated in favor of the blueprint-centric Playground CLI, the simple wp-now start workflow went with it. wp-app brings it back — same one-command experience, running on the current php-wasm engine (PHP 7.4 – 8.5).
Install
npm install -g @wp-operations/wp-appRequires Node.js >= 20.10.
Usage
wp-app start # auto-detects project type from cwd
wp-app start --path=my-theme # explicit path
wp-app start --php=8.3 --wp=6.8 # pin PHP / WordPress versions
wp-app start --wp=classicpress # run ClassicPress instead (lightweight, no Gutenberg)
wp-app start --port=8881 --reset # fresh site (wipes the managed WordPress + database)
wp-app dev # start + restart on file changes
wp-app build # composer install + npm build script, when present
wp-app php -- -r 'echo PHP_VERSION;' # PHP CLI via php-wasm
wp-app php -- script.php # run a PHP fileLogin: admin / password.
How data is stored
- Core downloads are cached once in
~/.wp-app/cache/ - Each project gets a full persistent WordPress site in
~/.wp-app/sites/<project>-<hash>/— files and SQLite database survive restarts;--resetdeletes exactly this directory and never your project - Your project directory is mounted into that site (as a theme, plugin, or wp-content overlay) — edits are live without restarts
- Set the
WP_APP_HOMEenvironment variable to relocate all of the above (CI, portable drives, or the.localrepo convention via@wp-operations/wp-ide)
Modes
Auto-detected from the project directory, or forced with --mode:
| Mode | Detected when | What runs |
|------|--------------|-----------|
| theme | style.css with a Theme Name header | Managed WP + your directory mounted as a theme, auto-activated |
| plugin | PHP file with a Plugin Name header | Managed WP + your directory mounted as a plugin, auto-activated |
| wp-content | plugins/ + themes/ dirs | Managed WP + your entries overlaid on wp-content |
| wordpress | Full core checkout | Your core served directly, SQLite-backed |
| wordpress-develop | Core dev checkout | The build/ directory |
| index | An index.php | Plain PHP server, no WordPress |
| playground | None of the above (e.g. empty dir) | Fresh managed install |
ClassicPress
--wp=classicpress fetches the latest ClassicPress release; --wp=classicpress-2.4.1 pins a version. Everything else (modes, SQLite, mounts) works identically.
Part of wp-operations
wp-app is the foundation of wp-operations — an open-source operations toolchain for classic WordPress development: PSR-4 vendor packages as plugins, an AI skills library with security guidelines, monorepo tooling (@wp-operations/wp-ide), and a unified operations CLI (@wp-operations/wp-ops).
Credits & License
GPL-2.0-or-later. Continues the workflow of @wp-now/wp-now by the WordPress contributors, rebuilt on @php-wasm/*.
