| name | wp-env-cli |
| description | Use when running WordPress CLI commands, managing wp-env environments, debugging WordPress sites, or working with databases in local development. Triggers include wp-cli, wp-env, database queries, plugin activation, user management, cache clearing, or WordPress debugging. |
wp-env CLI Management
Overview
wp-env wraps Docker to provide WordPress development environments. All wp-cli commands run through wp-env run cli wp <command>. This skill covers common operations and troubleshooting.
Quick Reference
| Task | Command |
|---|
| Run wp-cli command | wp-env run cli wp <command> |
| Run in test env | wp-env run tests-cli wp <command> |
| Open shell | wp-env run cli bash |
| View logs | wp-env logs |
| Reset database | wp-env clean all && wp-env start |
| Start with debug | wp-env start --xdebug=debug |
Running WP-CLI Commands
Basic syntax:
wp-env run cli wp <command>
Common operations:
wp-env run cli wp user list
wp-env run cli wp user create dev dev@example.com --role=administrator
wp-env run cli wp plugin list
wp-env run cli wp plugin activate woocommerce
wp-env run cli wp plugin deactivate --all
wp-env run cli wp db query "SELECT * FROM wp_options WHERE option_name='siteurl'"
wp-env run cli wp db export /var/www/html/backup.sql
wp-env run cli wp db import /var/www/html/backup.sql
wp-env run cli wp option get siteurl
wp-env run cli wp option update blogname "Dev Site"
wp-env run cli wp cache flush
wp-env run cli wp transient delete --all
wp-env run cli wp wc product list --user=1
wp-env run cli wp wc order list --user=1
Working Directory Context
For commands in plugin directories, use --env-cwd:
wp-env run cli --env-cwd=wp-content/plugins/woocommerce composer install
wp-env run cli --env-cwd=wp-content/plugins/my-plugin npm run build
Environment Management
wp-env start
wp-env start --update
wp-env stop
wp-env clean development
wp-env clean tests
wp-env clean all
wp-env destroy
wp-env start --xdebug=debug
wp-env start --xdebug=profile,trace
wp-env logs
wp-env logs tests
Database Access
- Host: 127.0.0.1 (not localhost)
- Port: Check with
docker ps for mysql container port
- User: root
- Password: password
Direct MySQL access:
wp-env run cli mysql -u root -ppassword wordpress
Common Gotchas
- Always use
wp-env run cli - Running wp directly won't work
- Paths are container paths -
/var/www/html/ is the WordPress root inside container
- Symlinked plugins - Changes in ~/Repos reflect immediately (no copy needed)
- Database names - Development:
wordpress, Tests: tests-wordpress
- Shell escaping - Complex queries may need extra escaping:
wp-env run cli wp db query "SELECT * FROM wp_options"