mccomaschris / stampede
A guided, safety-conscious terminal manager for the WordPress VIP CLI.
Requires
- php: ^8.2
- laravel/prompts: ^0.3.5
- symfony/process: ^7.0
Requires (Dev)
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2026-09-02 15:23:16 UTC
README
Stampede is a guided terminal command palette for the WordPress VIP CLI. It makes common VIP Platform and VIP Local tasks discoverable without requiring you to remember the exact vip command for every job.
Stampede is not a replacement for VIP-CLI. It delegates each action to your installed vip executable, uses the same authenticated session, and lets VIP-CLI retain ownership of its interactive setup prompts and command output.
What it does
- Keeps VIP Platform work and local development work in separate, focused workspaces.
- Loads applications first, then loads environments only after you choose an application.
- Discovers VIP Local environments already present on the current computer.
- Returns to the relevant action menu after a command finishes, so the next step is always close at hand.
- Runs local VIP commands in a terminal (TTY), preserving VIP-CLI's native colors and formatting.
- Executes every command as an argument list, never through a shell.
Requirements
- PHP 8.2 or newer
- Composer
- VIP-CLI installed and authenticated
- Docker/Lando and any other prerequisites required by VIP Local, when using local development environments
Install
Install the currently published Composer package:
composer global require mccomaschris/stampede
Ensure Composer's global vendor/bin directory is on your PATH, then launch Stampede:
stampede
The Composer package and PHP namespace are named stampede.
Start screen
At launch, Stampede presents two workspaces:
- Local development environments — manage VIP Local environments on this computer.
- VIP Platform environments — manage applications and environments accessible through your authenticated VIP-CLI account.
Each workspace keeps its action menu open until you explicitly switch context or return to the Stampede home screen.
VIP Platform workspace
Stampede first loads the application list. Once you select an application, it loads that application's environments and asks you to choose one. It remembers the most recently selected target and preselects it when you return to the same application.
For the selected environment, Stampede provides:
- Runtime logs: web/application or batch logs, with an optional follow mode.
- Slow-query logs.
- Cache URL purge: enter one URL per line; all URLs must share a domain.
- Production-to-non-production database sync.
- Environment-variable list, get, set, and delete actions.
- Software-version display and updates for WordPress, PHP, Node.js, and MU plugins.
- Common WP-CLI actions, plus an advanced WP-CLI command entry screen.
The production-to-non-production sync option is deliberately hidden when production is the selected target: production can be a source, never a sync destination.
Local development workspace
Stampede discovers existing VIP Local environments in VIP-CLI's local data directory (normally ~/.local/share/vip/dev-environment; it honors XDG_DATA_HOME when set). Choose an existing local environment, or choose Create a new local environment.
For a selected local environment, Stampede provides:
- Start and stop
- Status and configuration information
- Logs
- An interactive shell
- WP-CLI execution
- Database sync from a chosen VIP Platform application/environment
- Settings updates
- Destroy
- An advanced
dev-envcommand entry screen
Create and sync prompt for a VIP Platform application and environment only when that remote source is required. A production source requires an explicit confirmation before a sync.
After an action completes, Stampede returns to the selected local environment's menu. Use Choose another local environment to switch, or Back to Stampede home to change workspaces.
Advanced commands
The advanced local-development option accepts any vip dev-env command and its arguments, one per line. For example, to run an import action, enter:
import
--slug=my-site
--database=/path/to/database.sql
Arguments are passed directly to VIP-CLI; they are not interpreted by a shell. Refer to the VIP dev-env documentation for available commands and options.
Safety model
- Stampede confirms operations that target a VIP production environment.
- It separately confirms operations that can change remote data or configuration, such as cache purges, database syncs, environment-variable changes, and software updates.
- It confirms local destructive actions, including local database syncs and environment destruction.
- It does not add VIP-CLI confirmation-bypass flags.
- It does not authenticate with VIP or store credentials.
Stampede stores only the most recently selected VIP application/environment in ~/.config/stampede/state.json by default (or the equivalent path under XDG_CONFIG_HOME).
Development
Run the test suite with:
composer test
License
MIT