@jdxcode/mise 2026.10.22 → 2026.10.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +145 -82
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -60,33 +60,60 @@
|
|
|
60
60
|
|
|
61
61
|
## What is mise?
|
|
62
62
|
|
|
63
|
-
mise (pronounced "meez", short for _mise-en-place_)
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
whole machine: packages, dotfiles, and services.
|
|
63
|
+
mise (pronounced "meez", short for _mise-en-place_) manages a project's dev
|
|
64
|
+
tools, environment variables, and tasks from one `mise.toml` that works across
|
|
65
|
+
your shell, editor, and CI:
|
|
67
66
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
which applies the system packages, [dotfiles](https://mise.jdx.dev/dotfiles.html),
|
|
77
|
-
repositories, and services you declare for it.
|
|
67
|
+
```toml
|
|
68
|
+
[tools]
|
|
69
|
+
node = "24"
|
|
70
|
+
python = "3.14"
|
|
71
|
+
rust = "stable"
|
|
72
|
+
"cargo:cargo-nextest" = "0.9"
|
|
73
|
+
"github:BurntSushi/ripgrep" = "15"
|
|
74
|
+
"npm:prettier" = "3"
|
|
78
75
|
|
|
79
|
-
|
|
76
|
+
[env]
|
|
77
|
+
NODE_ENV = "development"
|
|
78
|
+
_.file = ".env"
|
|
79
|
+
_.path = "./node_modules/.bin"
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
[tasks.build]
|
|
82
|
+
description = "Build the application"
|
|
83
|
+
run = "npm run build"
|
|
82
84
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
[tasks.test]
|
|
86
|
+
description = "Run the test suite"
|
|
87
|
+
depends = ["build"]
|
|
88
|
+
run = "pytest && npm test"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
- Install [dev tools](https://mise.jdx.dev/dev-tools/) such as Node.js, Python,
|
|
92
|
+
Go, Rust, and Terraform from a
|
|
93
|
+
[registry of 1,000+ tools](https://mise.jdx.dev/registry.html) or directly
|
|
94
|
+
from [backends](https://mise.jdx.dev/dev-tools/backends/) like GitHub
|
|
95
|
+
releases, Aqua, Cargo, npm, and PyPI, with separate versions per project.
|
|
96
|
+
- Load [environment variables](https://mise.jdx.dev/environments/), `.env`
|
|
97
|
+
files, `PATH` entries, virtualenvs, and
|
|
98
|
+
[secrets](https://mise.jdx.dev/environments/secrets/) automatically as you
|
|
99
|
+
enter a directory.
|
|
100
|
+
- Run [tasks](https://mise.jdx.dev/tasks/) defined in `mise.toml` or as scripts
|
|
101
|
+
in `mise-tasks/`, with dependencies, parallel execution, file watching, and
|
|
102
|
+
the project's tools and environment already configured.
|
|
103
|
+
- Set up a machine with [`mise bootstrap`](https://mise.jdx.dev/bootstrap.html)
|
|
104
|
+
and [`mise dot apply`](https://mise.jdx.dev/dotfiles.html) to apply system
|
|
105
|
+
packages, dotfiles, Git repositories, macOS defaults, and background services.
|
|
106
|
+
|
|
107
|
+
Adopt only the parts you need. Start with a single tool or task, and keep any
|
|
108
|
+
existing `.tool-versions` files as they are; mise also reads `.nvmrc`,
|
|
109
|
+
`.python-version`, and other
|
|
110
|
+
[idiomatic version files](https://mise.jdx.dev/dev-tools/versions.html#idiomatic-version-files)
|
|
111
|
+
once enabled.
|
|
85
112
|
|
|
86
113
|
[](https://mise.jdx.dev/demo.html)
|
|
87
114
|
|
|
88
|
-
|
|
89
|
-
commands
|
|
115
|
+
See the [demo transcript](https://mise.jdx.dev/demo.html#transcript) for the
|
|
116
|
+
commands shown above.
|
|
90
117
|
|
|
91
118
|
## Quickstart
|
|
92
119
|
|
|
@@ -95,36 +122,42 @@ commands with current versions.
|
|
|
95
122
|
On macOS or Linux:
|
|
96
123
|
|
|
97
124
|
```sh
|
|
98
|
-
curl https://mise.run | sh
|
|
125
|
+
curl -fsSL https://mise.run | sh
|
|
99
126
|
~/.local/bin/mise --version
|
|
100
127
|
```
|
|
101
128
|
|
|
102
|
-
On Windows, run `winget install jdx.mise`. For Homebrew, apt, Scoop, and
|
|
103
|
-
|
|
129
|
+
On Windows, run `winget install jdx.mise`. For Homebrew, apt, dnf, Scoop, and
|
|
130
|
+
other package managers, see
|
|
131
|
+
[Installing mise](https://mise.jdx.dev/installing-mise.html).
|
|
104
132
|
|
|
105
|
-
The installer
|
|
106
|
-
`PATH
|
|
133
|
+
The installer places the binary at `~/.local/bin/mise`. If `~/.local/bin` is not
|
|
134
|
+
on your `PATH` yet, run `~/.local/bin/mise` in place of `mise` until you
|
|
107
135
|
activate mise in step 4.
|
|
108
136
|
|
|
109
|
-
### 2.
|
|
137
|
+
### 2. Run a tool without changing your shell
|
|
110
138
|
|
|
111
139
|
```sh
|
|
112
140
|
mise exec node@24 -- node --version
|
|
113
141
|
# v24.x.x
|
|
114
142
|
```
|
|
115
143
|
|
|
116
|
-
`mise exec`
|
|
117
|
-
|
|
144
|
+
[`mise exec`](https://mise.jdx.dev/cli/exec.html) downloads Node.js 24 if
|
|
145
|
+
needed and runs the command after `--` with that version on `PATH`. Your shell
|
|
146
|
+
and config files stay untouched.
|
|
118
147
|
|
|
119
|
-
### 3.
|
|
148
|
+
### 3. Configure a project
|
|
149
|
+
|
|
150
|
+
Create a project directory, select Node.js 24, set an environment variable, and
|
|
151
|
+
add a task:
|
|
120
152
|
|
|
121
153
|
```sh
|
|
122
154
|
mkdir my-project && cd my-project
|
|
123
155
|
mise use node@24
|
|
156
|
+
mise set NODE_ENV=development
|
|
157
|
+
mise tasks add hello -- node -e "console.log(process.version, process.env.NODE_ENV)"
|
|
124
158
|
```
|
|
125
159
|
|
|
126
|
-
|
|
127
|
-
environment variable and a task to that file:
|
|
160
|
+
These commands install Node.js 24 and write `mise.toml`:
|
|
128
161
|
|
|
129
162
|
```toml
|
|
130
163
|
[tools]
|
|
@@ -134,93 +167,123 @@ node = "24"
|
|
|
134
167
|
NODE_ENV = "development"
|
|
135
168
|
|
|
136
169
|
[tasks.hello]
|
|
137
|
-
description = "Print the Node.js version and NODE_ENV"
|
|
138
170
|
run = 'node -e "console.log(process.version, process.env.NODE_ENV)"'
|
|
139
171
|
```
|
|
140
172
|
|
|
141
|
-
Run the task:
|
|
173
|
+
Run the task with [`mise run`](https://mise.jdx.dev/cli/run.html):
|
|
142
174
|
|
|
143
175
|
```sh
|
|
144
176
|
mise run hello
|
|
177
|
+
# [hello] $ node -e "console.log(process.version, process.env.NODE_ENV)"
|
|
178
|
+
# v24.x.x development
|
|
145
179
|
```
|
|
146
180
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
The task runs with the project's Node.js and `NODE_ENV`. Commit `mise.toml` so
|
|
153
|
-
teammates and CI get the same setup. `"24"` is a version request for the
|
|
154
|
-
Node.js 24 series, not an exact pin; to share exact versions, use a
|
|
155
|
-
[lockfile](https://mise.jdx.dev/dev-tools/mise-lock.html). Run
|
|
156
|
-
`mise use python@3.14` to add another tool to the project, or
|
|
181
|
+
Commit `mise.toml` so teammates and CI get the same setup when they run
|
|
182
|
+
`mise install` or `mise run`. `"24"` requests the latest release in the Node.js
|
|
183
|
+
24 series; run `mise lock` to record exact versions and checksums in a
|
|
184
|
+
[lockfile](https://mise.jdx.dev/dev-tools/mise-lock.html), or
|
|
157
185
|
`mise use --global node@24` to set a personal default in
|
|
158
186
|
`~/.config/mise/config.toml`.
|
|
159
187
|
|
|
160
|
-
To see what mise loaded in this directory:
|
|
161
|
-
|
|
162
|
-
```sh
|
|
163
|
-
mise config ls # config files in use here
|
|
164
|
-
mise ls --current # tool versions selected by those files
|
|
165
|
-
mise doctor # checks the installation and shell activation
|
|
166
|
-
```
|
|
167
|
-
|
|
168
188
|
### 4. Activate mise in your shell (optional)
|
|
169
189
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
190
|
+
Shell activation updates `PATH` and project environment variables whenever you
|
|
191
|
+
change directories, so you can invoke `node` directly without `mise exec`. If
|
|
192
|
+
you installed with `mise.run`, run the command for your shell once, then open a
|
|
193
|
+
new terminal:
|
|
174
194
|
|
|
175
195
|
```sh
|
|
176
196
|
# bash
|
|
177
197
|
echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc
|
|
178
|
-
```
|
|
179
198
|
|
|
180
|
-
```sh
|
|
181
199
|
# zsh
|
|
182
200
|
echo 'eval "$(~/.local/bin/mise activate zsh)"' >> "${ZDOTDIR:-$HOME}/.zshrc"
|
|
183
|
-
```
|
|
184
201
|
|
|
185
|
-
```sh
|
|
186
202
|
# fish
|
|
187
203
|
mkdir -p ~/.config/fish
|
|
188
204
|
echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish
|
|
189
205
|
```
|
|
190
206
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
|
201
|
-
|
|
|
202
|
-
|
|
|
203
|
-
|
|
|
204
|
-
|
|
|
205
|
-
|
|
|
206
|
-
|
|
|
207
|
-
|
|
|
208
|
-
|
|
|
209
|
-
|
|
|
207
|
+
If a package manager installed mise, use `mise` in place of `~/.local/bin/mise`.
|
|
208
|
+
With Homebrew, fish activates mise without this step.
|
|
209
|
+
|
|
210
|
+
For PowerShell, Nushell, Elvish, Xonsh, and IDE or CI shims, see
|
|
211
|
+
[Shell setup](https://mise.jdx.dev/shell-setup.html) and
|
|
212
|
+
[Shims](https://mise.jdx.dev/dev-tools/shims.html).
|
|
213
|
+
|
|
214
|
+
## Everyday commands
|
|
215
|
+
|
|
216
|
+
| Command | Action |
|
|
217
|
+
| --------------------------- | ----------------------------------------------------------------- |
|
|
218
|
+
| `mise use node@24` | Install a tool and record it in the current project's `mise.toml` |
|
|
219
|
+
| `mise use --global node@24` | Install a tool and set it as your global default |
|
|
220
|
+
| `mise install` | Install all tools declared in the active config files |
|
|
221
|
+
| `mise exec -- <command>` | Run a command with the project's tools and environment |
|
|
222
|
+
| `mise run <task>` | Run a project task with its dependencies, tools, and environment |
|
|
223
|
+
| `mise set KEY=value` | Set an environment variable in `mise.toml` |
|
|
224
|
+
| `mise env` | Print the resolved environment variables and `PATH` changes |
|
|
225
|
+
| `mise ls --current` | List the tool versions active in the current directory |
|
|
226
|
+
| `mise outdated` | List tools with newer releases than the installed version |
|
|
227
|
+
| `mise upgrade` | Install those newer releases |
|
|
228
|
+
| `mise lock` | Write exact tool versions and checksums to `mise.lock` |
|
|
229
|
+
| `mise config ls` | Show the config files loaded for the current directory |
|
|
230
|
+
| `mise doctor` | Check your mise installation, shell activation, and configuration |
|
|
231
|
+
|
|
232
|
+
## Set up a machine with mise bootstrap
|
|
233
|
+
|
|
234
|
+
Beyond project directories, `~/.config/mise/config.toml` can declare the state
|
|
235
|
+
of your machine:
|
|
236
|
+
|
|
237
|
+
```toml
|
|
238
|
+
[bootstrap.packages]
|
|
239
|
+
"apt:build-essential" = "latest"
|
|
240
|
+
"brew:jq" = "latest"
|
|
241
|
+
|
|
242
|
+
[bootstrap.repos]
|
|
243
|
+
"~/src/app" = { url = "https://github.com/you/app.git" }
|
|
244
|
+
|
|
245
|
+
[dotfiles]
|
|
246
|
+
"~/.zshrc" = { mode = "track" }
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Preview and apply the configuration, or bootstrap a new machine directly from a
|
|
250
|
+
Git repository:
|
|
251
|
+
|
|
252
|
+
```sh
|
|
253
|
+
mise bootstrap --dry-run
|
|
254
|
+
mise bootstrap
|
|
255
|
+
mise bootstrap --adopt you/dotfiles
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
See [Bootstrap](https://mise.jdx.dev/bootstrap.html) and
|
|
259
|
+
[Dotfiles](https://mise.jdx.dev/dotfiles.html) for supported package managers,
|
|
260
|
+
dotfile tracking and templating, services, and remote SSH targets.
|
|
261
|
+
|
|
262
|
+
## Documentation
|
|
263
|
+
|
|
264
|
+
| Topic | Guides |
|
|
265
|
+
| ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
266
|
+
| Onboarding | [Getting started](https://mise.jdx.dev/getting-started.html) · [Existing projects](https://mise.jdx.dev/walkthrough.html) · [Migrating from asdf](https://mise.jdx.dev/dev-tools/comparison-to-asdf.html) |
|
|
267
|
+
| Dev tools | [Dev tools](https://mise.jdx.dev/dev-tools/) · [Registry](https://mise.jdx.dev/registry.html) · [Backends](https://mise.jdx.dev/dev-tools/backends/) · [Lockfile](https://mise.jdx.dev/dev-tools/mise-lock.html) |
|
|
268
|
+
| Environments and tasks | [Environments](https://mise.jdx.dev/environments/) · [Secrets](https://mise.jdx.dev/environments/secrets/) · [Tasks](https://mise.jdx.dev/tasks/) · [Task configuration](https://mise.jdx.dev/tasks/task-configuration.html) |
|
|
269
|
+
| Machine setup | [Bootstrap](https://mise.jdx.dev/bootstrap.html) · [Packages](https://mise.jdx.dev/bootstrap/packages/) · [Dotfiles](https://mise.jdx.dev/dotfiles.html) · [Services](https://mise.jdx.dev/bootstrap/services.html) |
|
|
270
|
+
| Shells, editors, and CI | [Shell setup](https://mise.jdx.dev/shell-setup.html) · [Shims](https://mise.jdx.dev/dev-tools/shims.html) · [Editors and IDEs](https://mise.jdx.dev/ide-integration.html) · [Continuous integration](https://mise.jdx.dev/continuous-integration.html) |
|
|
271
|
+
| Reference and troubleshooting | [mise.toml](https://mise.jdx.dev/configuration.html) · [Settings](https://mise.jdx.dev/configuration/settings.html) · [CLI reference](https://mise.jdx.dev/cli/) · [Troubleshooting](https://mise.jdx.dev/troubleshooting.html) · [FAQ](https://mise.jdx.dev/faq.html) |
|
|
272
|
+
| Contributing | [Contributing](CONTRIBUTING.md) · [Writing docs](docs/README.md) |
|
|
210
273
|
|
|
211
274
|
## Get help
|
|
212
275
|
|
|
213
276
|
- Report bugs in [GitHub Issues](https://github.com/jdx/mise/issues). Check
|
|
214
277
|
[Troubleshooting](https://mise.jdx.dev/troubleshooting.html) first, and
|
|
215
278
|
include the command you ran, a minimal `mise.toml`, the expected and actual
|
|
216
|
-
behavior, and your `mise doctor` output after
|
|
279
|
+
behavior, and your `mise doctor` output after reviewing it for private
|
|
217
280
|
details.
|
|
218
281
|
- Ask questions and share ideas in
|
|
219
282
|
[GitHub Discussions](https://github.com/jdx/mise/discussions).
|
|
220
|
-
- Chat with
|
|
283
|
+
- Chat with the community on [Discord](https://discord.gg/mABnUDvP57).
|
|
221
284
|
|
|
222
|
-
For security reports and other
|
|
223
|
-
[Contact](https://mise.jdx.dev/contact.html). Before
|
|
285
|
+
For security reports and other inquiries, see
|
|
286
|
+
[Contact](https://mise.jdx.dev/contact.html). Before using AI to reply to an
|
|
224
287
|
Issue or Discussion, read the
|
|
225
288
|
[AI reply policy](https://mise.jdx.dev/contributing.html#community-participation).
|
|
226
289
|
|