Multi-stage command line deploy/mirroring and task runner for Wordpress



[ˈwərd ˈmuːv]

Wordmove is a gem that lets you automatically mirror local Wordpress installations and DB data back and forth from your local development machine to the remote server.

Wordmove has also a neat hook system which enables you to run arbitrary commands before and after push/pull actions. Local and remote commands are both supported, but remote ones will be run only if using SSH protocol. Read the dedicated wiki page for more info.


As it should be.

$ wordmove push --all -e production


Wordmove is configurable through a simple YAML file.

You can just setup a couple of base options, but if you need to solve more complicated situations and needs you have a lot of configurable options.

Always up to date documentation is here to help.


Need to build you project before push?
Need to send notifications to Slack/Ryver after finishing a deploy to production?
Need to activate debug plugins on test server after the deploy?
Need to empty cache folder after each theme update?

Relax and write some hooks

Wrote with dirty hands:

  • √ Tested through VPN, bastion server, tunnells, and quite all the things a SysAdmin could do to destroy your workday 👹
  • √ Tested with permission problems ⛔️
  • √ Tested with shared hosting, VPS, bare metal, 0.5$/month hosting 🌐
  • √ Tested with Linux and Mac 🐧 🍎
  • √ Tested with GiT 💥
  • √ Tested with connection failures 📴
  • √ Tested with LAMP, MAMP, system MySQL, brew's MySQL 🤯
  • √ Tested that as far as you know what your terminal's doing, Wordmove won't surrender. 🧠
  • √ Tested with automated tests 🤖
  • Tested with the community 💌


Backed by WP-CLI, RSync, mysql, SSH

If you know what you are doing, you can release the kraken!


The command-line powered WordPress deploy solution