Tool Management

As someone who works with multiple tools, I wanted to have a better way to manage them. More specifically, I wanted to have two things:

  1. A clear workflow for installing and updating tools.
  2. A single place to manage all my tools and their versions.
  3. A way to easily check if I have all the necessary tools installed and if they are up to date.

I’m still working on this, but recently I’ve been using a combination of brew and mise-en-place that seems to be working the way I want it to.

Workflow

I use brew to install and update tools that usually don’t affect the build process of my projects. For example, to install jq, gh, duckdb and other tools that I use in my day-to-day work, but that are not strictly necessary for my projects to run.

TIP

I use Brewfiles on my repositories, so I can easily use brew bundle to check and install the tools that are required for my projects.

I then use mise to manage the tools that are required for my projects, like node and python, as well as their respective package manager (if any) like bun and uv, respectively.