# mise

> CLI tool for managing development environments with version-controlled tools, environment variables, and tasks

Stars: 35.7k · Language: Rust · License: MIT · Categories: Dev Tools

- Repository: https://github.com/jdx/mise
- Website: https://mise.jdx.dev
- Page: https://www.trmn.sh/tools/mise

## Install

- Script: `curl https://mise.run | sh`

## Overview

mise is a development environment manager that consolidates tool management, environment variables, and task execution into a single CLI. It installs and switches between different versions of development tools like Node.js, Python, Terraform, and hundreds of others, storing configuration in a `mise.toml` file that can be committed to version control.

The tool provides direct binary installations rather than shims, meaning `which node` returns actual paths to executables. It supports per-project environment variable management, including loading from `.env` files, and allows defining custom tasks with dependencies for building, testing, and deployment workflows.

Developers working on projects with specific tool version requirements would use mise to ensure consistent environments across local development, CI/CD, and team collaboration. The configuration file approach means new team members or CI jobs automatically get the correct tool versions and environment setup when they run `mise install`.

### Installation

```bash
# via Script
curl https://mise.run | sh
```

![Demo showing mise installing and managing multiple Node.js versions](https://media.trmn.sh/cached/193cf30c428a3c1ec132f6598a9b718df7700863330f271c5774f902da5912c1.gif)

## Alternatives

- [zellij](https://www.trmn.sh/tools/zellij.md): Terminal multiplexer with floating panes, multiplayer collaboration, WebAssembly plugins, and built-in web client (Rust, 35.9k stars)
- [just](https://www.trmn.sh/tools/just.md): Command runner that saves and runs project-specific commands from a justfile with make-inspired syntax (Rust, 36.5k stars)
- [hyperfine](https://www.trmn.sh/tools/hyperfine.md): Command-line benchmarking tool that runs statistical analysis across multiple timing runs of shell commands (Rust, 29.2k stars)
- [fnm](https://www.trmn.sh/tools/fnm.md): Fast Node.js version manager built in Rust with support for .node-version and .nvmrc files (Rust, 27.3k stars)
- [difftastic](https://www.trmn.sh/tools/difftastic.md): Structural diff tool that compares files based on their syntax rather than lines (Rust, 26.1k stars)

## Guides

- [Manage Node, Python and Go versions per project with mise](https://www.trmn.sh/guides/mise-runtime-versions): Pin Node, Python and Go versions per project with mise: install, shell activation, mise use, mise.toml vs .tool-versions, and moving off asdf or nvm.

---

Canonical: https://www.trmn.sh/tools/mise
