Tools

The following are the tools we use at SAU/CAL. This list will grow and change over time and is not meant to be comprehensive. Generally, we encourage or require these tools to be used in favor of other ones. Rules governing tools to be used and packaged with a client site will be much stricter than those used on internal projects.

Code Checkers

You can install PHP_CodeSniffer and the above mentioned standards on your MacOS / OSX with this script. This script has not been tested in Windows, but if you’re a Windows user, feel free to do a PR with compatibility fixes.

Local Development Environments

At SAU/CAL, we use Vagrant to build and interact with virtual environments that match production as closely as possible. There are many different Vagrant setups and configurations available. The following setups are the only ones we support internally.

Varying Vagrant Vagrants - Our standard Vagrant setup for client sites and local development.

Note: We have a fork of VVV (available here) which includes support for syncing database and www directories with symlinks (useful only if you use Dropbox or similar). If you’re not using several computers to work, then you can ignore this fork, and use the official VVV version. If you want to give it a go, check our more detailed documentation here

Task Runners

Gulp - Gulp is a task runner built on Node wthat lets you automate tasks like Sass preprocessing and JS minification.

We have a Gulp Project Boilerplate that we use on several projects. Documentation available in the repo.

Package/Dependency Managers

Composer - We use Composer for managing PHP dependencies. Usually everything we need is bundled with WordPress. Sometimes we need external libraries like “Patchwork”. Composer is a great way to manage those external libraries but is not necessary on most projects

Version Control

Git - We use Git for version control. It is critical that you are comfortable with Git: read the book! We encourage people to learn to use the command line for interacting with Git. GUI’s are permitted but none of them will be supported internally. For more information on Git:

SVN - We use SVN, but only in the context of uploading plugins to the public repository. Again, we encourage people to use the command line as we do not support GUI’s internally.

Command Line

WP-CLI - A command line interface for WordPress. This is an extremely powerful tool that allows us to do imports, exports, run custom scripts, and more via the command line. Often this is the only way we can affect a large database (WordPress.com VIP or WPEngine). This tool is installed by default on VVV and VIP Quickstart.