📈 GH Trending Explorer 🎲 Surprise me

← all repos

jdx / mise

git clone https://github.com/jdx/mise.git v2026.10.17 · 2d ago

dev tools, env vars, task runner

+37
stars, 24h · #1,044
+~184
stars, 7 days · #1,211
+~790
stars, 30 days · #1,070
35k
★ total · +1% this week
1.5k
forks · 9 open issues

Star history (as recorded here)

2026-10-20 · 35,210 ★ 2026-10-23 · 35,289 ★
LanguageRust
LicenseMIT
Created2023-01-09 (3y ago)
Last pushtoday
Watchers51
OwnerUser

Links

README excerpt
mise-en-place
 Dev tools, env vars, and tasks in one CLI 
 Getting started •
 Docs •
 Dev tools •
 Environments •
 Tasks •
 Bootstrap 
 Sponsored by 
 View all sponsors 
## What is mise?
mise (pronounced "meez", short for _mise-en-place_) installs a project's tools,
sets its environment variables, and runs its tasks from one `mise.toml` that
works in your shell, editor, and CI. With `mise bootstrap`, it can also set up a
whole machine: packages, dotfiles, and services.
- Install tools such as Node.js, Python, and
 Terraform from a registry of 1,000+,
 with a different version in each project.
- Set environment variables and load
 `.env` files for each project.
- Run tasks, such as build and test, with the
 project's tools and environment variables.
- Set up a machine with `mise bootstrap`,
 which applies the system packages, dotfiles,
 repositories, and services you declare for it.
Use only the parts you need. You can start with one tool or one task.
## Demo
Watch mise run a tool once with `mise exec`, set global defaults, and switch
Node.js versions as you move into and out of a project.
The demo transcript lists the
commands with current versions.
## Quickstart
### 1. Install mise
On macOS or Linux:
 [code] 
On Windows, run `winget install jdx.mise`. For Homebrew, apt, Scoop, and other
methods, see Installing mise.
The installer puts mise in `~/.local/bin`. If that directory is not on your
`PATH`, type `~/.local/bin/mise` wherever the steps below say `mise`, until you
activate mise in step 4.
### 2. Try a tool
 [code] 
`mise exec` installs Node.js 24 if needed and runs one command with it. It does
not change your shell or any config file, and it works without activation.
### 3. Set up a project
 [code] 
`mise use` installs Node.js 24 and writes it to a new `mise.toml`. Add an
environment variable and a task to that file:
 [code] 
Run the task:
 [code] 
 [code] 
The task runs with the project's Node.js and `NODE_ENV`. Commit `mise.toml` so
teammates and CI get the same setup. `"24"` is a version request for the
Node.js 24 series, not an exact pin; to share exact versions, use a
lockfile. Run
`mise use python@3.14` to add another tool to the project, or
`mise use --global node@24` to set a personal default in
`~/.config/mise/config.toml`.
To see what mise loaded in this directory:
 [code] 
### 4. Activate mise in your shell (optional)
Activation puts a project's tools on your `PATH` and sets its environment
variables when you enter the project, so you can run `node` without
`mise exec`. If you installed with `mise.run`, run the commands for your
shell once:
 [code] 
 [code] 
 [code] 
Open a new shell. In `my-project`, `node --version` now prints `v24.x.x`. For
PowerShell, Nushell, and other shells, or for mise installed another way, see
Shell setup.
## Where to go next
| To | Read |
| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------