mise-guide
mise — Dev Environment Manager
mise is a polyglot tool that replaces asdf/nvm/pyenv/direnv/make. It manages three things:
- Tool versions — install and pin node, python, go, ruby, java, etc.
- Environment variables — per-project env var management
- Tasks — project task runner (like make/npm scripts)
How to use this skill
Identify which domain the user needs, then read only the relevant reference file:
| User wants to... | Read |
|---|---|
| Install, switch, list, or manage tool versions | references/tools.md |
| Set, manage, or inspect environment variables | references/env.md |
| Define, run, or manage project tasks | references/tasks.md |
If the request spans multiple domains, read the relevant reference files.
Key principles
-
Always clarify scope. When the user asks to install or use a tool, confirm whether they mean project-level (
mise use <tool>) or global (mise use -g <tool>) before running commands. Project-level writes to./mise.toml; global writes to~/.config/mise/config.toml. -
Prefer
mise useovermise install.mise useboth installs and pins the version in the config file.mise installonly installs without pinning — it's mainly for pre-caching. -
Use
mise.tomlformat. This is mise's native config format and supports all features..tool-versionsis asdf-compatible but limited to tool versions only. -
Check before acting. Run
mise lsormise config lsfirst to understand the current state before making changes. -
Verify mise is available. Before running any mise command, run
which miseto check availability. If not found, install it:curl https://mise.run | shThen verify with
mise --versionbefore proceeding. -
Follow the user's language. Respond in the same language the user is using. If they write in Chinese, reply in Chinese; if in English, reply in English.