Go to file
Tom Mrazauskas 637c9c997b
feat(registry): use npm backend for yarn (#5745)
Please consider including the npm backend for yarn.

The `mise-yarn` plugin does not work on Windows
(https://github.com/mise-plugins/mise-yarn/issues/12). I just discovered
that the binary installed from npm works on Windows (at least in CI).

The package on npm has no readme and strange name. But this is the same
bundled binary. See `corepack`s config:

- the `mise-yarn` plugin loads yarn binary from
https://repo.yarnpkg.com,
0b492c9c97/config.json (L137)
- few lines below `@yarnpkg/cli-dist` package is included as an
alternative,
0b492c9c97/config.json (L152)

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-07-31 07:21:52 -05:00
.cargo chore: Merge vfox.rs into jdx/mise monorepo (#5590) 2025-07-12 06:54:20 -05:00
.claude feat: tool-stubs (#5795) 2025-07-27 12:03:35 -05:00
.config various CLI improvements (#1190) 2023-12-14 22:51:17 -06:00
.cursor/rules feat(shim): prevent mise-specific flags from interfering with shim execution (#5616) 2025-07-13 20:47:54 -05:00
.devcontainer chore: added `mise` shim for devcontainer (#5768) 2025-07-24 05:07:44 +00:00
.github chore(deps): update jdx/mise-action digest to c37c932 (#5784) 2025-07-27 14:58:35 -05:00
.idea Revert "docs: set prose-wrap with prettier (#4038)" 2025-01-10 09:20:56 -06:00
aqua-registry@a41c797702 chore: release 2025.7.32 (#5837) 2025-07-31 00:49:02 +00:00
cloudflare/workers fix: mise.run cloudflare worker publish (#5704) 2025-07-18 06:56:29 -07:00
completions chore: release 2025.7.32 (#5837) 2025-07-31 00:49:02 +00:00
crates/vfox feat: custom backends through plugins (#5579) 2025-07-13 15:04:06 -05:00
docs feat(tool-stubs): improve binary path detection in tool stub generator (#5847) 2025-07-30 23:47:11 +00:00
e2e fix(tool-stubs): allow -v flag to be passed through to tool stubs (#5848) 2025-07-30 19:27:18 -05:00
e2e-win fix(cli): stable path env for exec on windows (#5790) 2025-07-27 15:48:59 -05:00
man/man1 feat: tool-stubs (#5795) 2025-07-27 12:03:35 -05:00
packaging chore: release 2025.7.32 (#5837) 2025-07-31 00:49:02 +00:00
schema feat: Add sops.strict setting for non-strict decryption mode (#5378) 2025-07-29 06:47:16 -05:00
scripts feat: tool-stubs (#5795) 2025-07-27 12:03:35 -05:00
share/fish/vendor_conf.d rtx -> mise 2024-01-02 16:29:35 -06:00
src fix(go): implement heuristic-based go module find logic (#5851) 2025-07-31 07:01:30 -05:00
test feat: custom backends through plugins (#5579) 2025-07-13 15:04:06 -05:00
xtasks feat(tool-stubs): add auto-platform detection from URLs (#5836) 2025-07-29 22:57:56 +00:00
.cliffignore chore: reset CHANGELOG 2024-11-23 10:44:56 -06:00
.dockerignore docker: build source from repo (#1122) 2023-12-07 23:28:46 -06:00
.editorconfig chore: improve shfmt linter (#5181) 2025-05-25 16:19:11 +00:00
.eslintrc.cjs fix: Improve fig spec with better generators (#3762) 2025-01-10 23:17:05 +00:00
.gitattributes chore: added back in files from git rebase 2024-11-23 10:31:59 -06:00
.gitignore docs: add comprehensive CLAUDE.md for Claude Code guidance (#5718) 2025-07-20 19:33:21 +00:00
.gitmodules feat: custom backends through plugins (#5579) 2025-07-13 15:04:06 -05:00
.markdown-link-check.json refactor: simplified stdout/stderr mocking in tests (#1163) 2023-12-13 21:22:43 +00:00
.markdownlint.json docs: removed some markdownlint rules (#5615) 2025-07-13 22:29:58 +00:00
.markdownlintignore fix: race condition with uv_venv (#5262) 2025-06-02 14:06:06 +00:00
.pre-commit-config.yaml docs: flatten tools in sidebar 2024-11-26 08:11:07 -06:00
.prettierignore chore(bun.lock): migrate bun lockfiles to text-based (#4319) 2025-02-07 05:27:40 -06:00
.prettierrc.toml fix: Improve fig spec with better generators (#3762) 2025-01-10 23:17:05 +00:00
.release-skip-e2e chore: release 2025.7.26 (#5776) 2025-07-24 02:49:33 -05:00
.shellcheckrc test: added perf test (#5179) 2025-05-25 16:21:44 -05:00
.yamllint.yml ci: added super-linter (#1096) 2023-12-06 15:24:20 -06:00
CHANGELOG.md chore: release 2025.7.32 (#5837) 2025-07-31 00:49:02 +00:00
CLAUDE.md docs: add comprehensive CLAUDE.md for Claude Code guidance (#5718) 2025-07-20 19:33:21 +00:00
CONTRIBUTING.md chore: added back in files from git rebase 2024-11-23 10:31:59 -06:00
Cargo.lock chore: release 2025.7.32 (#5837) 2025-07-31 00:49:02 +00:00
Cargo.toml chore: release 2025.7.32 (#5837) 2025-07-31 00:49:02 +00:00
Cross.toml chore: format toml with taplo (#3625) 2024-12-17 00:11:27 +00:00
Dockerfile rtx -> mise 2024-01-02 16:29:35 -06:00
LICENSE docs: Update LICENSE 2024-12-31 12:12:14 -06:00
README.md chore: release 2025.7.32 (#5837) 2025-07-31 00:49:02 +00:00
SECURITY.md Revert "docs: set prose-wrap with prettier (#4038)" 2025-01-10 09:20:56 -06:00
age.pub chore: age encrypt minisign key 2024-12-23 05:38:27 -08:00
build.rs fix: mise settings add idiomatic_version_file_enable_tools stores duplicates in config (#5162) 2025-05-23 12:20:15 +00:00
bun.lock chore(bun.lock): migrate bun lockfiles to text-based (#4319) 2025-02-07 05:27:40 -06:00
cliff.toml chore: added reverts to git-cliff (#5577) 2025-07-12 00:02:28 +00:00
default.nix chore: release 2025.7.32 (#5837) 2025-07-31 00:49:02 +00:00
deny.toml chore: updated deps (#5403) 2025-06-23 02:53:22 +00:00
flake.lock fix: Update flake to fix nix build (#4686) 2025-03-21 16:23:06 -05:00
flake.nix chore: remove coverage (#3278) 2024-11-29 06:11:33 +00:00
hk.pkl feat: consolidate lockfile assets and add URL tracking (#5629) 2025-07-18 15:13:32 +00:00
llms.txt docs: create comprehensive architecture documentation suite and enhance development guides (#5572) 2025-07-11 09:23:01 -05:00
minisign.key.age chore: age encrypt minisign key 2024-12-23 05:38:27 -08:00
minisign.pub feat: `mise g bootstrap` (#3792) 2024-12-22 19:43:34 +00:00
mise.code-workspace docs: create comprehensive architecture documentation suite and enhance development guides (#5572) 2025-07-11 09:23:01 -05:00
mise.lock fix(tool-stubs): use 'checksum' field instead of 'blake3' in generated stubs (#5834) 2025-07-29 22:03:28 +00:00
mise.toml feat: Add sops.strict setting for non-strict decryption mode (#5378) 2025-07-29 06:47:16 -05:00
mise.usage.kdl feat(tool-stubs): improve binary path detection in tool stub generator (#5847) 2025-07-30 23:47:11 +00:00
package.json fix: Improve fig spec with better generators (#3762) 2025-01-10 23:17:05 +00:00
pitchfork.toml chore: pitchfork 2024-12-14 16:43:52 +00:00
registry.toml feat(registry): use npm backend for yarn (#5745) 2025-07-31 07:21:52 -05:00
settings.toml feat: Add sops.strict setting for non-strict decryption mode (#5378) 2025-07-29 06:47:16 -05:00
tasks.md docs: add descriptions for all the tasks (#5764) 2025-07-24 04:00:48 +00:00
tasks.toml docs: add descriptions for all the tasks (#5764) 2025-07-24 04:00:48 +00:00
tsconfig.json feat: Add Fig completions (#2986) 2024-11-11 07:12:04 -06:00
zipsign.pub zipsign (#985) 2023-11-09 17:25:38 +00:00

README.md

mise-logo
mise-en-place

Crates.io GitHub GitHub Workflow Status Discord

The front-end to your dev env.

What is it?

Demo

The following demo shows how to install and use mise to manage multiple versions of node on the same system. Note that calling which node gives us a real path to node, not a shim.

It also shows that you can use mise to install and many other tools such as jq, terraform, or go.

demo

See demo transcript.

Quickstart

Install mise

See Getting started for more options.

$ curl https://mise.run | sh
$ ~/.local/bin/mise --version
2025.7.32 macos-arm64 (a1b2d3e 2025-07-31)

Hook mise into your shell (pick the right one for your shell):

# note this assumes mise is located at ~/.local/bin/mise
# which is what https://mise.run does by default
echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc
echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc
echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish
echo '~/.local/bin/mise activate pwsh | Out-String | Invoke-Expression' >> ~/.config/powershell/Microsoft.PowerShell_profile.ps1

Execute commands with specific tools

$ mise exec node@22 -- node -v
mise node@22.x.x ✓ installed
v22.x.x

Install tools

$ mise use --global node@22 go@1
$ node -v
v22.x.x
$ go version
go version go1.x.x macos/arm64

See dev tools for more examples.

Manage environment variables

# mise.toml
[env]
SOME_VAR = "foo"
$ mise set SOME_VAR=bar
$ echo $SOME_VAR
bar

Note that mise can also load .env files.

Run tasks

# mise.toml
[tasks.build]
description = "build the project"
run = "echo building..."
$ mise run build
building...

See tasks for more information.

Example mise project

Here is a combined example to give you an idea of how you can use mise to manage your a project's tools, environment, and tasks.

# mise.toml
[tools]
terraform = "1"
aws-cli = "2"

[env]
TF_WORKSPACE = "development"
AWS_REGION = "us-west-2"
AWS_PROFILE = "dev"

[tasks.plan]
description = "Run terraform plan with configured workspace"
run = """
terraform init
terraform workspace select $TF_WORKSPACE
terraform plan
"""

[tasks.validate]
description = "Validate AWS credentials and terraform config"
run = """
aws sts get-caller-identity
terraform validate
"""

[tasks.deploy]
description = "Deploy infrastructure after validation"
depends = ["validate", "plan"]
run = "terraform apply -auto-approve"

Run it with:

mise install # install tools specified in mise.toml
mise run deploy

Find more examples in the mise cookbook.

Full Documentation

See mise.jdx.dev

Special Thanks

We're grateful for Cloudflare's support us through Project Alexandria.

Contributors

Contributors