@jdxcode/mise 2026.10.22 → 2026.10.23

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.
Files changed (2) hide show
  1. package/README.md +145 -82
  2. 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_) installs a project's tools,
64
- sets its environment variables, and runs its tasks from one `mise.toml` that
65
- works in your shell, editor, and CI. With `mise bootstrap`, it can also set up a
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
- - Install [tools](https://mise.jdx.dev/dev-tools/) such as Node.js, Python, and
69
- Terraform from a [registry of 1,000+](https://mise.jdx.dev/registry.html),
70
- with a different version in each project.
71
- - Set [environment variables](https://mise.jdx.dev/environments/) and load
72
- `.env` files for each project.
73
- - Run [tasks](https://mise.jdx.dev/tasks/), such as build and test, with the
74
- project's tools and environment variables.
75
- - Set up a machine with [`mise bootstrap`](https://mise.jdx.dev/bootstrap.html),
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
- Use only the parts you need. You can start with one tool or one task.
76
+ [env]
77
+ NODE_ENV = "development"
78
+ _.file = ".env"
79
+ _.path = "./node_modules/.bin"
80
80
 
81
- ## Demo
81
+ [tasks.build]
82
+ description = "Build the application"
83
+ run = "npm run build"
82
84
 
83
- Watch mise run a tool once with `mise exec`, set global defaults, and switch
84
- Node.js versions as you move into and out of a project.
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
  [![Demo of mise managing tools](./docs/tapes/demo.gif)](https://mise.jdx.dev/demo.html)
87
114
 
88
- The [demo transcript](https://mise.jdx.dev/demo.html#transcript) lists the
89
- commands with current versions.
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 other
103
- methods, see [Installing mise](https://mise.jdx.dev/installing-mise.html).
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 puts mise in `~/.local/bin`. If that directory is not on your
106
- `PATH`, type `~/.local/bin/mise` wherever the steps below say `mise`, until you
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. Try a tool
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` installs Node.js 24 if needed and runs one command with it. It does
117
- not change your shell or any config file, and it works without activation.
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. Set up a project
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
- `mise use` installs Node.js 24 and writes it to a new `mise.toml`. Add an
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
- ```text
148
- [hello] $ node -e "console.log(process.version, process.env.NODE_ENV)"
149
- v24.x.x development
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
- Activation puts a project's tools on your `PATH` and sets its environment
171
- variables when you enter the project, so you can run `node` without
172
- `mise exec`. If you installed with `mise.run`, run the commands for your
173
- shell once:
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
- Open a new shell. In `my-project`, `node --version` now prints `v24.x.x`. For
192
- PowerShell, Nushell, and other shells, or for mise installed another way, see
193
- [Shell setup](https://mise.jdx.dev/shell-setup.html).
194
-
195
- ## Where to go next
196
-
197
- | To | Read |
198
- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
199
- | Follow the full tutorial | [Getting started](https://mise.jdx.dev/getting-started.html) |
200
- | Add mise to a project you already work on | [Existing projects](https://mise.jdx.dev/walkthrough.html) |
201
- | Join a project that already has a `mise.toml` | Review its config, then run `mise install` and `mise tasks ls` ([details](https://mise.jdx.dev/walkthrough.html#share-the-setup)) |
202
- | Set up another shell or completions | [Shell setup](https://mise.jdx.dev/shell-setup.html) |
203
- | Find a tool | [Registry](https://mise.jdx.dev/registry.html) |
204
- | Use mise in an editor or CI | [Editors and IDEs](https://mise.jdx.dev/ide-integration.html) · [Continuous integration](https://mise.jdx.dev/continuous-integration.html) |
205
- | Learn the main features | [Dev tools](https://mise.jdx.dev/dev-tools/) · [Environments](https://mise.jdx.dev/environments/) · [Tasks](https://mise.jdx.dev/tasks/) |
206
- | Set up a new machine | [Bootstrap](https://mise.jdx.dev/bootstrap.html) · [Dotfiles](https://mise.jdx.dev/dotfiles.html) |
207
- | Look up a command, setting, or config key | [CLI reference](https://mise.jdx.dev/cli/) · [Settings](https://mise.jdx.dev/configuration/settings.html) · [mise.toml](https://mise.jdx.dev/configuration.html) |
208
- | Fix a problem | [Troubleshooting](https://mise.jdx.dev/troubleshooting.html) · [FAQ](https://mise.jdx.dev/faq.html) |
209
- | Contribute to mise or its docs | [Contributing](CONTRIBUTING.md) · [Writing docs](docs/README.md) |
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 you review it for private
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 other users on [Discord](https://discord.gg/mABnUDvP57).
283
+ - Chat with the community on [Discord](https://discord.gg/mABnUDvP57).
221
284
 
222
- For security reports and other contacts, see
223
- [Contact](https://mise.jdx.dev/contact.html). Before you use AI to reply to an
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
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jdxcode/mise",
3
3
  "description": "Dev tools, env vars, and tasks in one CLI",
4
- "version": "2026.10.22",
4
+ "version": "2026.10.23",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/jdx/mise"