Vagrant gives you the tools to build unique development environments for each project once and then easily tear them down and rebuild them only when they’re needed so you can save time and frustration.

Drush Vagrant Integration provides Drush commands to accomplish common Vagrant tasks, and provides a powerful templating framework ('blueprints'). It also has tools to implement Drush aliases for Vagrant projects and VMs, thus allowing simpler remote control of Vagrant projects.

Drush Vagrant is intended to simplify building collaborative, distributed development and testing environments, that encourage the use of Drupal best-practices. Projects can easily be cloned and shared via Git, or even bundled into blueprints that others can use as templates for their own development environments.

By itself, Drush-vagrant will only provide a 'default' blueprint. You'll probably be interested in checking out these blueprints:

While principally developed as a Drupal development tool, Drush Vagrant itself is not Drupal-specific. It provides generally useful wrappers around Vagrant, and can thus assist in building and testing non-Drupal projects, such as Puppet modules.

Drush Vagrant Integration commands vagrant Run a command on your Vagrant projects or VMs. vagrant-alias-config Convert the output of `vagrant ssh-config` into a Drush remote alias. vagrant-aliases Generate aliases for a project and its VMs. vagrant-blueprints List all blueprints. vagrant-build Build a new Drush Vagrant project. vagrant-delete Delete a Vagrant project. vagrant-list List current Vagrant projects, VMs and statuses. vagrant-shell Log into a Drush Vagrant VM via SSH. vagrant-user Initialize or update user-specific settings for Drush Vagrant.

Windows is not currently supported. While this is a goal of the project, none of the developers work on Windows machines regularly. If you'd like to see Windows supported, please file issues documenting the problems you're seeing.