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