mise
Mise
Mise is a polyglot tool version manager and task runner. It manages dev tools, environment variables, and tasks for projects.
Core Concepts
Configuration: mise.toml in project root (or .mise.toml, .config/mise/config.toml). Config is hierarchical - child directories override parent settings.
Tools: Defined in [tools] section. Mise installs and activates correct versions per-directory.
Environment: Defined in [env] section. Set project-specific env vars that activate when entering directory.
Tasks: Defined in [tasks] section or as standalone scripts in mise-tasks/ directory.
Quick Reference
Basic mise.toml structure:
[tools]
node = "22"
python = "3.12"
[env]
NODE_ENV = "development"
[tasks.build]
run = "npm run build"
Essential Commands
| Command | Description |
|---|---|
mise use node@22 |
Install and set tool version in mise.toml |
mise use -g node@22 |
Set global tool version |
mise install |
Install all tools from config |
mise run <task> |
Run a task |
mise x -- <cmd> |
Execute command with mise environment |
mise ls |
List installed tools |
mise doctor |
Diagnose mise setup |
Tool Backends
Tools can be installed from various backends:
- Core:
node,python,go,ruby(built-in) - npm:
npm:prettier,npm:eslint - pipx:
pipx:black,pipx:ruff - cargo:
cargo:ripgrep - github:
github:BurntSushi/ripgrep - aqua:
aqua:hashicorp/terraform
When to Consult References
For detailed information, read the appropriate reference file:
- Configuration options (tool options, env directives, settings):
references/configuration.md - Task definition (toml tasks, file tasks, arguments, dependencies):
references/tasks.md - CLI commands (all command flags and examples):
references/cli.md - Installable overview (where to look first for all installable options):
references/installable-overview.md - Core tools (built-in first-party languages):
references/core-tools.md - Backends (supported package ecosystems and backend families):
references/backends.md - Registry aliases (tool shorthands accepted by
mise use):references/registry-tools.md - Hooks and advanced features:
references/advanced.md
Common Patterns
Project with Node.js and Python
[tools]
node = "lts"
python = "3.12"
[env]
NODE_ENV = "development"
PYTHONDONTWRITEBYTECODE = "1"
[tasks.dev]
run = "npm run dev"
[tasks.test]
run = ["npm test", "pytest"]
Task with Dependencies
[tasks.build]
run = "npm run build"
sources = ["src/**/*.ts"]
outputs = ["dist/**/*.js"]
[tasks.deploy]
depends = ["build", "test"]
run = "./scripts/deploy.sh"
File Task (mise-tasks/build)
#!/usr/bin/env bash
#MISE description="Build the project"
#MISE depends=["lint"]
npm run build
Environment from .env file
[env]
_.file = ".env"
_.path = "./bin"
Shell Activation
Add to shell rc file to auto-activate mise:
# bash: ~/.bashrc
eval "$(mise activate bash)"
# zsh: ~/.zshrc
eval "$(mise activate zsh)"
# fish: ~/.config/fish/config.fish
mise activate fish | source
Without activation, use mise x -- <command> or mise run <task>.
More from aaronflorey/agent-skills
amber-lang
Write, debug, and explain Amber code, the `amber` language that compiles `.ab` files to Bash. Use this skill when the user asks to write an Amber script, convert Bash to Amber, compile Amber to Bash, debug Amber syntax or type errors, or asks about Amber 0.5.1-alpha syntax, functions, types, error handling, the standard library, or the `amber` CLI.
26go-cobra
Write, scaffold, and debug Go CLI applications with `github.com/spf13/cobra`. Use this skill whenever the user mentions Cobra, `cobra.Command`, a Go command-line app, subcommands, persistent or local flags, required flags, argument validation, shell completions, generated docs, or wants to build or refactor a cobra-based CLI.
24laravel-actions
Write, scaffold, explain, and refactor code using the `lorisleiva/laravel-actions` package. Use this skill whenever the user mentions Laravel Actions, `AsAction`, `php artisan make:action`, action classes, converting a controller, job, listener, or command into an action, dispatching an action as a job, using an action as a controller or listener, or adding validation, authorization, testing, or mocking around an action.
24num30-config
Write, debug, and explain Go configuration code using `github.com/num30/config`. Use this skill when the user mentions `num30/config`, wants config structs, file plus env plus CLI flag loading, validation, config watching, precedence rules, or asks how to integrate the num30/config package into a Go application.
22pelican-panel-plugins
Write, scaffold, explain, and debug plugins for the Pelican gaming panel. Use this skill whenever the user mentions Pelican plugins, extending Pelican, FilamentPHP resources or pages for Pelican, plugin service providers, custom permissions, plugin settings, routes, models, widgets, or asks how to add new functionality to the Pelican panel.
21go-viper
Write, debug, and explain Go configuration code with `github.com/spf13/viper`. Use this skill whenever the user mentions Viper, `viper`, config structs, reading config from files plus env vars plus flags, Cobra or `pflag` integration, unmarshaling into structs, env key replacers, config precedence, config watching, or a clean Viper bootstrap.
20