Does it make sense to use a different development stack or set of tools depending on the type of project you’re using even if it’s built on WordPress?

To give a little more context, I’ve written both about using tools like CodeKit (that bundles a variety of tools together to help streamline development).

Let Tools Dictate Your Project: CodeKit

And I’ve also talked about using things like CircleCI which are used in more enterprise-grade environments (but work just fine for smaller projects, too).

Let Tools Dictate Your Project: CircleCI

So when it comes to working on something alone or with a team, what’s the best thing to do?

Let Tools Dictate Our Projects

Ultimately, this is mostly a question of how to best handle projects when you’re working as a freelancer or with a team.

Generally speaking, I tend to be a fan – or used to be a fan – of having a consistent stack of tools that are used and applied for every project.

For example, perhaps a project will include the following:

On the other hand, another set of tools might look like:

  • PHPCS with the WordPress Coding Standards or with PSR
  • CodeKit (for all that it includes)
  • An alternative deployment tool (via S/FTP or other similar tools)
  • And more.

Naturally, we’ll be using something like source control regardless of the rest of tools that we have available. But a point worth considering is how we use source control when deploying code.

For example, perhaps there’s a little bit of each above that are worth using:

  • PHPCS with the WordPress Coding Standards or with PSR
  • PHPMD
  • CodeKit
  • CircleCI
  • And more.

The idea is that there’s no single “golden set of tools” that can be used, but there’s a set of tools that help streamline development that allow us to focus strictly on what it is on solving a problem for our customers all the while making things easier for ourselves.

What’s The Point?

I know: This whole thing reads like I’m just dancing around an idea that’s less developed than working towards a certain.

But I’m not.

Instead, here’s where I’m coming from: Right now, my team and I have a few projects happening, and one of them is using one set of tools while the other is using completely other sets of tools.

As I’m working, I’m finding that there are certain aspects of each I like. And though I’m not sold on having a wide variety of tools that we should use without reason, I’m also not certain that having a standard set of tools makes sense regardless of a project.

So should we let tools dictate our projects? Perhaps we let the project dictate the tools that we use rather than retrofitting a project with a pre-defined set of tools.