Is it? On top of an asdf and direnv replacement, mise is also a task runner, an environment variable manager, has experimental backends for npm/rust/go/python etc to take over their global package installs, replaces core asdf plugins with rewrites they have to maintain, and more. If anything it actually fails to scope itself
Mise’s #1 objective is to be a really great tool manager, just like ASDF, but way faster and smarter.
However, it turns out that a tool that needs to be extremely CWD-aware also makes a great .env tool and task runner. I was also a little skeptical, but it’s actually super super useful. Especially because it’s easy to convince team members to install it for the tools, they get the rest for free with easy syntax.
You pretty much nailed it here. Env vars and tasks were kind of a happy accident—I implemented both inside of a day. (different days of course) Just because I realized I had all the building blocks to make them possible already, just needed to arrange them in a different way and they just appeared.
In the future though I see tasks as being the headline for mise over tools. That's a ways out, certainly more than a year, but the thing about tasks is they don't suffer from the drawbacks that both PATH and shims have for putting your tools in the right place. In my personal use of mise I don't actually like using `mise activate` whatsoever. The problem is just that I can't yet do everything with tasks easily enough. Tasks need to get to a point where they're so easy you won't want to bother with having tools in your shell.
Though who knows. I may be off my rocker on that one. I certainly get things wrong as much, if not more, than I get them right.
Only thing is I wished it had windows support, so my (misguided) coworkers could use it too.