Like most developers, I hop from one project to another daily. I switch from Ruby to TypeScript, Terraform or Python. Everything goes fine until I have to run something.
What does this tool use, already? Is it Yarn? Make? Or framework-native commands? How do I launch a console? Update snapshots when I run the tests? Lint or format the code? I usually roam through the readme, or the Makefile, or whatever makes senses to get to the command I was looking for.
What if I had just one command to remember per action? One command that would be valid for every single project I am working with?
Mise allows you to define tasks globally, or locally in your mise.local.toml.
I have defined a set of basic mise tasks that cover most of my needs in most projects. In my global config, they default to my most common setup/language. For instance, mise run server will alias to bin/rails server, mise run test will alias to bundle exec rspec. This will be fine for most of my rails projects.
But some projects I work on use Minitest. So I will create a mise.local.toml in the root directory of that project and change the command to bundle exec test.
The front-end application server will also be configured locally to run yarn dev or whatever makes sense to that project.
The same goes for linting, formatting, building, or any other task.
The mise.local.toml file is globally git-ignored, so it is just my own sauce, and I am not bothering any of my co-workers with my private commands.
