Mise: Dev tools, env vars, task runner

Mise, a Rust-based tool for managing language runtimes, environment variables and tasks, is attracting developers as a faster, simpler alternative to tools like asdf, nvm, pyenv and traditional Makefiles. Commenters highlight its strengths in unifying multi-language toolchains (Python, Node, Go, Ruby, Java, etc.), per-project environments, and task running with autocompletion, while noting rough edges in documentation and IDE integration. The thread also surfaces broader frustration with the fragmented Python packaging and environment ecosystem, and contrasts Mise’s “precompiled binaries and pragmatism” approach with more declarative but complex solutions like Nix, devenv and Devbox.

Overview & Use Cases

  • Many commenters use Mise to unify language runtimes and dev tools (Node, Python, Ruby, Go, Java, Rust, etc.) and to replace multiple tools like asdf, pyenv, nvm, rvm.
  • Common uses: project-local toolchains, automatic virtualenv activation, environment variables per project, and as a general task runner.

Compared to asdf, nvm and other managers

  • Several users treat Mise as a “better asdf”: compatible with .tool-versions, faster, path-based instead of shims, and perceived better security.
  • nvm is widely criticized as slow and brittle; benchmarks show Mise’s shell integration running orders of magnitude faster.
  • Some prefer single-language tools (e.g., fnm for Node) if they only use one ecosystem, but multi-language users favor Mise.

Task Runner vs Make/Just/Other Tools

  • People use Mise tasks to replace Makefiles in Python/JS projects and unify backend/frontend workflows.
  • Compared to just:
    • Mise tasks are more verbose but considered easier to read for newcomers.
    • Extra features: parallelism, file watching, argument parsing, custom completions, and script/file-based tasks.
  • Some still prefer Make for its power and familiarity, or poe/poetry/npm scripts for Python/JS.

Python Ecosystem & Tooling Sprawl

  • Thread extensively debates Python packaging and environment tools (pipenv, poetry, uv, pyenv, direnv, etc.), with frustration over fragmentation and churn.
  • Some praise Mise’s integration with uv and virtualenv handling; others worry about abstraction leaks and subtle bootstrapping failures in multi-language tools.

Nix, Devbox, devenv Comparisons

  • Advocates of Nix (and derivatives like Devbox, devenv) argue it already solves reproducible dev environments and task running.
  • Counterpoints: Nix UX and docs are described as “terrible” or hard to learn; Mise is seen as easier, quicker to onboard, and not tied to Nix’s “split-brain” model.
  • Some see Mise as a pragmatic “90% solution” built on precompiled binaries; others argue that relying on vendor binaries is incomplete or risky.

DX, Integrations, and Limitations

  • Positive notes: fast shell startup, simple mental model, helpful shebang trick, GitHub Actions support, JetBrains plugin.
  • Pain points: JetBrains integration can be finicky; docs are improving but some users still find gaps; Windows/WSL support is noted as “minimal”.
  • Release cadence is very frequent; maintainers of downstream packages find it burdensome, though others appreciate rapid bug fixes.