Are You Using mise-en-place Yet?
- Bjorn Olsen

- 6 days ago
- 2 min read
If you're developing with Python, Terraform, AWS, Azure, or really anything - managing your tools and environments can quickly become a mess.

Our data engineers recently discovered a powerful utility called mise, short for mise-en-place, a polyglot tool version manager. It's now become a go-to part of our development workflow.
Why Use mise?
When you're working across multiple repositories and environments, maintaining consistent tool versions is a challenge. One developer might use Python 3.8, another 3.10. One repo needs Terraform 1.5.7, another needs a newer or older version. Add in CLI tools like aws, jq, go, trivy, java, and it gets complicated - fast.
Sure, you might already be using pyenv for Python or tfenv for Terraform, but what about everything else?
Even for niche or obscure Pokemon (I mean tools) the mise registry likely has you covered.
cocogitto, ginkgo or mongosh anyone?
How To Use It
Install mise. Add a simple mise.toml file to your repo with a [tools] section that declares all the tools and versions you need:
[tools]awscli = "latest"python = "3.14.0"terraform = "1.5.7"rclone = "latest"Then run:
mise installBoom - everything is installed, all at once.

Works in CI Too
There’s a dedicated GitHub Action to make using mise seamless in your CI workflows: 👉 jdx/mise-action
Drop it into your workflow YAML file like this:
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: jdx/mise-action@v2As long as your repo has a mise.toml file, this will automatically install all required tools before the rest of your job runs.
You don’t need CI workflows cluttered with install steps for every tool - mise handles all of that upfront.
When you add a tool or change a version in mise.toml, you don’t risk forgetting to update your CI workflows to match.
Manage Environments with Ease
Need to set environment variables like AWS_PROFILE?
Drop them into a local override file like mise.local.toml.
This is handy when:
Working in different AWS accounts
Letting developers use their own profiles or settings
If mise is active, your terminal will automatically set those variables - before your next command even runs. No additional setup required.
Set a Global Tool Baseline
You can use mise to manage a global baseline of your favourite tools on your system. Quickly switch, upgrade, or downgrade versions as needed.
More Power Under the Hood
mise also supports Tasks, Plugins, and more - though we haven’t explored those features yet.
TL;DR
If you’re juggling multiple tools, repos or environments, mise brings simplicity and consistency.
Install mise, add a mise.toml, and move on with your life.




Comments