TL;DR — Quick Summary
mise manages dev tool versions and environments. Node, Python, Ruby, Go, Java — one tool replaces nvm, pyenv, rbenv. Plus tasks, env vars, and project-scoped configs.
mise manages everything. Node, Python, Ruby, Go — one tool, project-scoped versions.
Installation
# Quick install
curl https://mise.run | sh
# macOS
brew install mise
# Activate (add to ~/.bashrc or ~/.zshrc)
eval "$(mise activate bash)"
Usage
# Install a tool version
mise install node@20
mise install python@3.12
# Set global default
mise use --global node@20
# Set project-local version (creates .mise.toml)
mise use node@20 python@3.12
# List installed versions
mise ls
# Run a task
mise run build
Configuration (.mise.toml)
[tools]
node = "20"
python = "3.12"
[env]
DATABASE_URL = "postgresql://localhost/mydb"
[tasks.build]
run = "npm run build"
[tasks.test]
run = "npm test"
Summary
- mise manages dev tool versions (Node, Python, Ruby, Go, Java, 100+)
- Project-scoped configs with .mise.toml
- Task runner and environment variable management
- Compatible with asdf .tool-versions files
- Written in Rust — fast, single binary