Buildkit is a collection of ~20 tools for developing and testing CiviCRM. These tools are referenced in the CiviCRM developer documentation.
Many of these tools are commonly used by web developers, so you may have already installed a few. Even so, it's generally easier to download the full collection -- installing each individually takes a lot of work.
This is the same collection of tools which manages the test/demo/release infrastructure for civicrm.org.
- Full Download: Ubuntu - Download buildkit and all system dependencies (mysql, etc). This is ideal when setting up a new, clean Ubuntu host.
- Full Download: Vagrantbox - Download a prepared virtual-machine with all system dependencies (mysql, etc). This is ideal if you work on Windows or OS X.
- Manual Download - Just download buildkit. This is ideal if you have already installed the system dependencies by some other means (CentOS, MAMP, etc).
After you've downloaded buildkit the first time, you should periodically update the tools.
- PATH: Configure CLI support
- Civibuild: Create a full dev/demo build
- Daily Coding: First Pull-Request, Housekeeping, etc
- Experimental: Multiple demo/training sites
- CiviCRM
- civix - Generate skeletal code for CiviCRM extensions.
- civistrings - Scan code for translatable strings (*.pot).
- cividist - Generate tarballs from a series of git branches/tags
- cv - Execute custom PHP in Civi
- Dependency management
- Source code management
- Source code quality
- civilint - Check the syntax of uncommitted files using phpcs, jshint, etc.
- jshint - Check the syntax of Javascript files.
- phpcs - Check the syntax of PHP files.
- coder 2.x (Civi) - Configure phpcs for Civi code style. Derived from coder 2.x. (The Civi coding standard derives from the Drupal coding standard with variations for class/function/variable naming.)
- Site management
- amp - Abstracted interface for local httpd/sql service (Apache/nginx/MySQL).
- civibuild - Build a complete source tree (with CMS+Civi+addons), provision httpd/sql, etc.
- civihydra - Create a series test sites for several CMSs. (Extends
civibuild
.) - drush - Administer a Drupal site.
- joomla (joomla-console) - Administer a Joomla site.
- wp (wp-cli) - Administer a WordPress site.
- Testing
- civicrm-upgrade-test - Scripts and data files for testing upgrades.
- karma (w/jasmine) - Unit testing for Javascript.
- paratest - Parallelized version of PHPUnit.
- phpunit - Unit testing for PHP (with Selenium and DB add-ons).