The Problem

We often find ourselves doing the same old task over and over again, it gets tedious and in the real world costs money.

At an agency like Tann Westlake we want to ensure we spend most of our time developing the products and less time configuring our CMS installations, databases and code repositories.

To overcome this we started researching the possibility of automating basic, repetitive tasks that take time unnecessarily. The aim was to increase development productivity throughout the team of developers.

An example of this is an installation of WordPress, configured with an in-house boilerplate, all of the required plugins and assets that we use and a database configured for such.

This task could take 30 minutes or more and is required for a number of client projects, we find ourselves going through this process multiple times per week; this is wasted time.

So how did we fix this?

Essentially each task is the same every time and can be done via the terminal, so we created a maintainable bash script which runs through each process, asks for any specific information such as names and locations and runs the tasks for us, it makes the process dead simple.

What we’ve produced provides an easy to use interface which in the future would benefit any new members of the team. They wouldn’t be required to know how to do each step, because we’ve already abstracted away from that.

Of course relying on a strict set of instructions introduces complications when things aren’t standard, but due to it being ours we have the freedom to maintain and modify the script so that it can work in as many situations as we require.

If you haven’t started introducing tools like this to aid your development, then you certainly should. It’s clear to see the benefits that they bring! And the time to write the scripts is no where near the time you’re wasting every time you have to go through all of those tedious tasks, let’s face it. After a while it gets boring!

What is a bash script?

This is a script written using the language which both Mac and Linux terminals understand, it comes from the Unix OS which by todays standards is a prehistoric OS. I won’t go into it too much but here’s a basic example which automates something incredibly simple.

Say you want to download WordPress and place it in a file with a name which you can specify:

Interesting to you?

If you’re a developer and interested in checking out what we’ve done, head on over to: our Github page.

If you’re not a developer but work with or manage developers, share this post with them. It may well increase their productivity

We will continue to develop new tools for in-house use to boost our productivity levels so be sure to watch our progress!

Where next?