I write a lot of code behind closed doors working for clients, but sometimes the things I write can be useful for general consumption. This is a small collection of tools released under the GPLv3 license. There’s a variety of tools here, really no rhyme or reason to the types of tools.

Check them out and let me know what you think!

Stable Projects

These are projects that are stable and ready for general use; they all have a few stars on GitHub. Like anything they aren’t perfect, so feel free to suggest ideas for enhancements or pull requests on GitHub!

This is a simple BASH script to automate the process described by the Expression Enginedocumentation. It’s so annoying to have to check this page every single time, and enter half a dozen commands or better… This script makes all the pain go away!!

If you’re running Magento and using a full page cache like Lesti FPC, once you have the FPC configured and working, you might consider warming the cache so all the pages load quick for your customers the first time they hit them.

wfpc relies on a sitemap.xml file; you can read how to generate one for your Magento site here. Once you have a sitemap generated (and an FPC configured), you’re good to hit the site with the cache warmer.

An API client for Postmates on demand logistics. You can find the Postmates documentation here.

The Postmates API is RESTful and the Postmates client library extends \Guzzlehttp\Client. You may easily incorporate the Postmates client into your project using composer.

Beta Projects

These projects are works in progress. I think they’re all great, but just haven’t had the time to make them generally useful yet. If you like any of them, feel free to contact me about contributing, it would be great to see these get polished up and being used in the wild!

Similar to Capistrano and Fabric, arete is a multi-host command executor written in BASH. arete supports ‘arete-files’, similar to fabfiles from Fabric, to define tasks to run on remote systems. You can define groups of systems, similar to roles in Fabric and pass the groups to arete_run just the same as a single host. arete supports synchronous and asynchronous execution of tasks. arete will also automatically create ~/.ssh/known_hosts entries. It provides and API that allows you to easily upload or gather files from remote systems.

wpConfigure brings support for multiple environments, like development, staging and production to WordPress. It also packs numerous features like inheritance, backreferences and caching. wpConfigure is a drop-in replacement for your current wp-config.php file and in most cases it can generate a new wp-config.php for you. wpConfigure also integrates seamlessly with your version control system by supporting a wp-config-local.php file for development that you can mark as ignored by your VCS. wpConfigure can even be used to configure your plugins and themes across multiple environments.

Seamlessly run WP-CLI commands on a remote server via the WordPress API. With the companion API commands for WP-CLI, the wp-cli-api plugin let’s you run WP-CLI commands on remote WordPress servers. wp-cli-api allows you to define ACL rules on the server to control access to the commands that can be run through wp-cli-api. wp-cli-api is integrated with wpConfigure, so you have the choice of defining remote servers with WP-CLI in config.yml, or you can use the multi-environment wp-config.php files with wpConfigure.