Go to file
jdx aae70b9eeb
docs: Update index.md (#4750)
2025-03-30 01:50:13 +00:00
.cargo feat!: bump usage to 2.x (#4049) 2025-01-10 22:24:08 +00:00
.config various CLI improvements (#1190) 2023-12-14 22:51:17 -06:00
.devcontainer fish command_not_found handler fix (#1665) 2024-02-13 08:18:42 -06:00
.github chore: enable workflow_dispatch for docs task 2025-03-24 06:45:29 -05:00
.idea Revert "docs: set prose-wrap with prettier (#4038)" 2025-01-10 09:20:56 -06:00
aqua-registry@8c9f102b42 chore: release 2025.3.11 (#4728) 2025-03-28 15:29:02 -05:00
completions chore: release 2025.3.11 (#4728) 2025-03-28 15:29:02 -05:00
docs docs: Update index.md (#4750) 2025-03-30 01:50:13 +00:00
e2e feat: Set usage arguments and flag as environment variables before running the command (#4700) 2025-03-24 17:52:46 -04:00
e2e-win feat(shim): Windows shim add hardlink & symlink mode (#4409) 2025-02-24 18:43:39 -06:00
man/man1 docs: Add a section on how to use environment variables (#4435) 2025-02-17 13:01:10 -06:00
packaging chore: release 2025.3.11 (#4728) 2025-03-28 15:29:02 -05:00
schema docs(settings): clarify the usage of disable_default_registry (#4589) 2025-03-07 14:29:09 -06:00
scripts Revert "chore: make awscli compatible with R2" 2025-03-26 17:00:37 -04:00
share/fish/vendor_conf.d rtx -> mise 2024-01-02 16:29:35 -06:00
src feat: Set usage arguments and flag as environment variables before running the command (#4700) 2025-03-24 17:52:46 -04:00
test chore: format toml with taplo (#3625) 2024-12-17 00:11:27 +00:00
xtasks chore: make awscli compatible with R2 2025-03-24 06:44:30 -05: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: added back in files from git rebase 2024-11-23 10:31:59 -06: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 chore: remove reference to aur in release script 2025-02-20 08:00:49 -06:00
.gitmodules chore: add aqua-registry as submodule (#3204) 2024-11-25 18:48:00 +00:00
.markdown-link-check.json refactor: simplified stdout/stderr mocking in tests (#1163) 2023-12-13 21:22:43 +00:00
.markdownlint.json chore: migrate docs repo into this repo (#2237) 2024-06-01 22:57:56 +00:00
.markdownlintignore fix: improve arg parsing for mise watch (#3478) 2024-12-11 19:59:53 +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
.shellcheckrc fix global config with asdf_compat (#1534) 2024-01-26 19:35:14 +00:00
.yamllint.yml ci: added super-linter (#1096) 2023-12-06 15:24:20 -06:00
CHANGELOG.md chore: release 2025.3.11 (#4728) 2025-03-28 15:29:02 -05:00
CONTRIBUTING.md chore: added back in files from git rebase 2024-11-23 10:31:59 -06:00
Cargo.lock chore: release 2025.3.11 (#4728) 2025-03-28 15:29:02 -05:00
Cargo.toml chore: release 2025.3.11 (#4728) 2025-03-28 15:29:02 -05: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 docs: update demo (#4350) 2025-03-29 13:54:54 -05: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 chore: edition 2024 (#4541) 2025-03-02 13:54:08 +00:00
bun.lock chore(bun.lock): migrate bun lockfiles to text-based (#4319) 2025-02-07 05:27:40 -06:00
cliff.toml hide git-cliff other changes 2025-01-01 10:44:21 +00:00
default.nix chore: release 2025.3.11 (#4728) 2025-03-28 15:29:02 -05:00
deny.toml refactor: migrate humantime to jiff (#4616) 2025-03-12 19:03:04 -04: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
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 chore: added vscode workspace 2025-01-25 09:21:16 -06:00
mise.lock feat: add git remote task provider (#4233) 2025-02-08 07:09:51 -06:00
mise.toml chore: updated deps (#4290) 2025-02-02 15:26:56 +00:00
mise.usage.kdl feat: Add flag to fmt command to read from stdin (#4594) 2025-03-12 19:05:04 -04: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 refactor(registry): use aqua for ksops (#4746) 2025-03-29 06:39:30 -05:00
settings.toml docs(settings): clarify the usage of disable_default_registry (#4589) 2025-03-07 14:29:09 -06:00
tasks.md docs: update demo (#4350) 2025-03-29 13:54:54 -05:00
tasks.toml docs: update demo (#4350) 2025-03-29 13:54:54 -05: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 transcript.

Quickstart

Install mise

See Getting started for more options.

$ curl https://mise.run | sh
$ ~/.local/bin/mise --version
2025.3.11 macos-arm64 (a1b2d3e 2025-03-28)

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 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

Contributors

Contributors