gitmyhub

mise

Rust ★ 31k updated 13h ago

dev tools, env vars, task runner

Mise is a command-line tool that automatically switches to the correct version of Node, Python, or any dev tool when you enter a project folder, and also manages environment variables and project tasks in one config file.

RustShellTOMLsetup: easycomplexity 2/5

Mise (short for "mise-en-place," the chef's term for having everything ready before cooking) is a command-line tool that solves a common developer headache: keeping the right versions of programming tools and settings consistent across projects. When you work on multiple projects, each might need a different version of Node.js, Python, or other tools, and manually switching between them is tedious and error-prone.

Mise handles three things in one tool. First, it installs and switches between dev tools — you can specify that one project needs Node version 26 and another needs Python 3, and mise automatically activates the right version when you enter each project's folder. Second, it manages environment variables (settings and secrets that programs read at startup) per project, so you never accidentally use the wrong database or API key. Third, it works as a task runner, letting you define commands like "build," "test," or "deploy" in a simple configuration file, then run them with a single command.

Everything is stored in a single mise.toml file per project. New team members or CI/CD pipelines (automated build systems) just run mise install and they get the exact same setup. Mise is built in Rust, which makes it fast, and it works on any shell environment.

Where it fits