mise

Mise (formerly rtx) polyglot tool version manager, environment variable manager, and task runner. Covers tool version management (install, use, pin across Node/Python/Rust/Go/Java and more), mise.toml task definitions (scripts, dependencies, watch mode, incremental builds), environment variable management (.env integration, per-directory env, redaction), project-level tool pinning, backend system (asdf, npm, pipx, cargo, GitHub releases), and comparison with alternatives (asdf, nvm, pyenv, Makefiles). Use when configuring development tool versions, defining project tasks in mise.toml, managing per-project environment variables, setting up polyglot dev environments, migrating from asdf or nvm, or automating build/test/lint/deploy workflows with mise run.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mise" with this command: npx skills add oakoss/agent-skills/oakoss-agent-skills-mise

Mise

Overview

Mise is a polyglot development tool manager that handles tool versions, environment variables, and task running in a single CLI. It replaces asdf, nvm, pyenv, direnv, and Makefiles with a unified mise.toml configuration per project.

When to use: Managing multiple language runtimes per project, defining reproducible dev environments, running project tasks with dependencies, replacing scattered .nvmrc/.python-version/.tool-versions files, automating CI pipelines.

When NOT to use: Container-only workflows where all tools live in Docker images, single-language projects already well-served by their native version manager, production runtime management (mise is a dev tool).

Version Resolution Order

Mise resolves tool versions by checking these sources in priority order:

  1. MISE_<TOOL>_VERSION environment variable
  2. mise.toml in current directory
  3. mise.toml in parent directories (walks up the tree)
  4. .tool-versions file (asdf compatibility)
  5. Legacy files (.nvmrc, .python-version, .ruby-version)
  6. ~/.config/mise/config.toml (global default)

Quick Reference

PatternCommand / ConfigKey Points
Install toolsmise installReads mise.toml, installs all listed tools
Pin tool versionmise use node@22Writes to mise.toml in current directory
Pin globallymise use -g node@22Writes to ~/.config/mise/config.toml
Run a taskmise run buildRuns task defined in mise.toml
Run with argsmise run test -- --watchPasses args after -- to the task
Watch modemise watch buildRe-runs task when sources change
List tasksmise tasksShows all available tasks
Set env vars[env] section in mise.tomlPer-directory, auto-activated on cd
Load .env file_.file = ".env"Loads dotenv into environment
Extend PATH_.path = ["./bin"]Prepends directories to PATH
List installedmise lsShows all installed tool versions
Outdated toolsmise outdatedShows tools with newer versions
Upgrade toolsmise upgradeUpgrades tools to latest within constraints
Trust configmise trustTrusts mise.toml in current directory
Tool backends"npm:prettier" / "cargo:cargo-watch"Install from npm, cargo, pipx, GitHub, etc.
Task dependenciesdepends = ["lint", "test"]Prerequisite tasks run first
Incremental buildsources + outputs on taskSkips task if outputs newer than sources
Exec without activatemise exec -- node app.jsRuns command with mise-managed tools
Diagnosticsmise doctorCheck installation and config health
Prune unusedmise pruneRemove tool versions not in any config
Generate hookmise generate git-pre-commitGenerate git pre-commit hook for tasks
Env-specific config.mise.staging.tomlActivated via MISE_ENV=staging
Shims for IDEsmise settings set shims_on_path truePATH-based shims for IDE compatibility

Common Mistakes

MistakeCorrect Pattern
Using mise install node@22 without mise usemise use node@22 both installs and pins to mise.toml
Editing .tool-versions manually with miseUse mise use to update; mise.toml is preferred over .tool-versions
Forgetting mise trust on new project cloneRun mise trust to activate untrusted config files
Using depends key for task dependenciesCurrent key is depends (array), not deps
Running mise run without activating miseRun mise activate in shell profile or use mise exec
Putting secrets directly in mise.tomlUse _.file = ".env.local" and gitignore the .env file
Expecting env vars without cd-ing into projectMise activates env on directory change; use mise env to debug
Using latest version in shared projectsPin specific major versions (node = "22") for reproducibility
Defining tasks in Makefile alongside miseConsolidate all tasks in mise.toml for one tool
Missing shebang in multi-line task scriptsAdd #!/usr/bin/env bash for explicit interpreter
Not using sources/outputs for slow tasksDefine source globs for incremental skipping and watch mode
Using mise activate in non-interactive scriptsUse mise exec or eval "$(mise env)" in scripts and CI

Delegation

  • Task pattern discovery: Use Explore agent
  • Configuration review: Use Task agent
  • CI pipeline integration: Use Task agent

If the rust skill is available, delegate Rust toolchain management patterns to it. If the python-uv skill is available, delegate Python version and virtual environment patterns to it. If the github-actions skill is available, delegate CI workflow patterns to it. If the docker skill is available, delegate containerized workflow patterns to it. If the pino-logging skill is available, delegate logging configuration patterns to it. If the sentry skill is available, delegate error monitoring setup patterns to it.

References

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

playwright

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

ui-ux-polish

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

tanstack-form

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

find-skills

No summary provided by upstream source.

Repository SourceNeeds Review