This command aims to bring the speed and convenience of using Laravel Valet to WordPress.

Laravel Valet – the development environment for Mac minimalists – is a fast and simple alternative to using Vagrant or MAMP for local development.

Once installed, Valet is mostly a set-it-and-forget-it kind of server. You simply register a directory with one command that tells Valet this is where you keep your projects, and then any directory within it will be automatically available at directory-name.devautomatically. Almost no further configuration, restart/reloading necessary.

For Laravel projects, using the command-line installer, you can simply run laravel new my-project and then after the install completes, you can open http://my-project.dev in the browser and it works. Part of this is due to the fact that Laravel doesn’t depend on things like a database to be installed or configured like WordPress does.

Enter the valet command

Lets create a new WordPress install locally that we want to access at demo.dev.

1
$ wp valet new demo

That’s it. The install takes ~10 seconds, and the site is immediately accessible at https://demo.dev. Notice the https there? Sites are provisioned with https by default, but this can be skipped by passing --unsecure.

The new command accepts quite a few options to control many of the configuration options one might want to set for a new install.

Database options

New sites create a new MySQL database by default, but the new command also supports using SQLite for a completely portable install. Simply add --db=sqlite when running wp valet new. This is also really handy when creating quick test/demo installs as to not flood your database server with databases that will only be used once or twice.

Removing Installs

The valet command also supports completely removing a WordPress installation as well.

1
wp valet destroy demo

This will drop the database, delete all the files, as well as remove the self-signed TLS certificate which was created and trusted for you if the site was provisioned with https.

For more information about getting started and documentation:

Check it out on GitHub