eu-studio is the operational layer around the playground:
it boots sites, verifies them, and encodes the environment fragility lessons so
agents do not rediscover them per session.
newsite: one command to a build-ready site
1
Boot
Boots the playground on the given port and directory. If the port already
serves, it reuses the running site (re-running newsite is a re-verify, not
a re-provision). Cold hydration downloads the snapshot, so the first boot
is allowed several minutes.
2
Patch the companion plugin
The snapshot can carry an older companion plugin than your local
elementor-ultra-mcp checkout. When a local checkout is present, newsite
copies the current plugin files into the site.
3
Copy and activate Elementor Pro (optional)
If a Pro plugin source is available (
EXJSX_PRO_DIR, or auto-discovered
from a sibling provisioned site), the files are copied in and Pro is
activated over REST. Without a source it continues free-only and says so.4
Bounce the worker
PHP-WASM caches plugin code in the running worker: files patched after boot
are invisible until a restart, so a site can pass every check while still
executing the old plugin. newsite kills the worker; the crash supervisor
respawns it with the patched files loaded.
5
Verify, including the version gate
It then checks the seam (
site/capabilities), the static-404 guard, and
that the running plugin version matches the patched source on disk. A
mismatch means the bounce failed and the site is executing stale code; the
warning tells you to bounce again:status: one-line health
The target resolution contract
Everyeu-studio command resolves its target site the same way, in priority
order:
- Flags:
--url,--user,--app-password - Environment:
WP_URL,WP_USER,WP_APP_PASSWORD - Baked defaults: the local playground snapshot’s credentials on the default port
exjsx deploy and the MCP server use (see Install).