aaemnnosttv/wp-cli-valet-command
A WP-CLI extension for Laravel Valet that adds wp valet commands to create, manage, link, park, and destroy WordPress sites from the command line, streamlining local WordPress development with Valet-powered URLs and database setup.
Scope note: despite the "Laravel/PHP package" framing, this is a WP-CLI package (aaemnnosttv/wp-cli-valet-command) that wraps the Laravel Valet CLI for WordPress workflows. It does not load inside a Laravel application, is not a Composer runtime dependency of any product, and is installed as a WP-CLI package (wp package install aaemnnosttv/wp-cli-valet-command). Treat it as developer-environment tooling, not application code.
Architecture fit: Sits in the local development layer only — provision/teardown of Valet sites for WordPress installs (wp valet new, valet park, isolate, which, destroy). It shells out to the valet binary rather than consuming a stable PHP API, so its correctness is bound to Valet's CLI surface and filesystem layout. Fits teams already standardized on Valet + WP-CLI; near-zero value otherwise.
Integration feasibility: Low effort. Single-package install, no app changes, no schema/config footprint. Constraints: macOS (or Valet Linux) hosts, WP-CLI present, valet on PATH for non-interactive shells. Reversible by wp package uninstall.
Technical risk: Moderate-to-low, and materially improved by v1.3.1:
Key questions:
valet as a subprocess (version-fragile) or use any stable API?Stack fit: Adopt as optional developer convenience, not a mandated standard. Appropriate for teams on macOS + Valet + WP-CLI doing multi-site WordPress work; unnecessary for teams on Docker/Lando/DDEV/Trellis, where it adds a divergent local-environment path.
Migration path:
valet link/valet park and valet isolate manually per project.wp valet new / wp valet which invocations.make dev-setup target) rather than relying on ad-hoc global installs.Compatibility: Pin the version explicitly (e.g. ^1.3.1). Because this is a global, per-machine tool, version drift is invisible and unsupported — record the expected version alongside the Valet and WP-CLI versions in onboarding docs. Do not add it to any application composer.json.
Sequencing:
^1.3.1 against the team's actual PHP and Valet versions on one machine; confirm deprecation warnings are gone.Maintenance: Single maintainer, infrequent releases (v1.3.0 → v1.3.1). Acceptable for dev-only tooling with no production blast radius. The added CI is a positive maintenance signal; the absence of a support policy is not. Budget a light quarterly check: does it still install cleanly, and does it still work against the current Valet version?
Support: Community-only — GitHub issues, no SLA, no vendor. Internal ownership should sit with the platform/developer-experience function, with a named backup. Because the codebase is small, an internal fork is a realistic contingency and should be the documented fallback rather than a scramble.
Scaling: Zero runtime scaling concern — it never runs in production or CI for shipping artifacts. The scaling dimension that matters is team size: N engineers × M machines means configuration drift. Mitigate by pinning versions and driving installation through a shared bootstrap script, not per-engineer composer global require.
Failure modes to instrument and document:
valet not on PATH in non-interactive shells (CI, scripts, IDE tasks) — silent or confusing failure.Ramp-up: Low — roughly an hour for an engineer already fluent in WP-CLI and Valet; the command surface is small and self-describing. The docs clarification in this release removes the most common first-run stumbling block. Non-Valet users should not be onboarded to this at all; for them the ramp-up cost is the cost of adopting Valet, not this package.
Recommendation: Approve as an optional, version-pinned developer convenience for Valet-based WordPress teams. v1.3.1 is a safe, non-breaking patch that improves the maintenance signal (CI added, PHP deprecations fixed) without changing the risk profile enough to justify broader standardization.
How can I help you explore Laravel packages today?