This week's tip of the week is mise
If you jump between repos a lot, you probably know this dance:
“Which Node version does this use again?”
“Was this project on Python 3.11 or 3.12?”
“Where did we document the env vars?”
“Is the setup command in the README, package.json, Makefile, or someone’s brain?”
mise helps clean that up by managing project-specific runtimes, environment variables, and tasks from one config file.
Think of it like parts of asdf, pyenv, rbenv, nvm, and task runners like Make or npm scripts living under one roof, without turning your dev setup into a scavenger hunt.
Install it using the mise install docs. There are options for Homebrew, curl, package managers, and shell setup. Pick whatever install method from the buffet you prefer.
Once it’s set up, add a mise.toml to your project. Here’s a small mise.toml example:
[tools]
node = "22"
python = "3.12"
[env]
NODE_ENV = "development"
API_URL = "http://localhost:3000"
[tasks.install]
description = "Install project dependencies"
run = "npm install && pip install -r requirements.txt"
[tasks.dev]
description = "Start the app and API"
run = "npm run dev & python manage.py runserver"
[tasks.test]
description = "Run tests"
run = "npm test"Now when someone opens the repo, they can run:
mise install # install runtimes, e.f. Node 22, Python 3.12
mise run install # install task
mise run devFor a simple Node app, I’d probably keep using npm run dev. No need to add another layer just for the vibes. The win with mise is that the right Node version, Python version, and env vars are already loaded before that command runs.
The task runner side is more useful when a repo crosses ecosystems, or when you want consistent commands across projects. One repo might use npm run dev, another pnpm dev, another cargo run, but your muscle memory can stay mise run dev.
One honest caveat: mise configs can run commands, so treat a new mise.toml like you would a shell script from a repo you just cloned. Read it before trusting it.
Even if you are happy with asdf, direnv, nvm, or a pile of npm scripts, mise is worth a look if your projects keep needing “just one more setup step.”
That's it! Short and sweet. Until the next one!

