Use when managing development tool versions with Mise. Covers installing tools, version pinning, and replacing language-specific version managers.
Manages development tool versions with Mise, replacing language-specific managers. Use when installing tools, pinning versions in mise.toml, or migrating from nvm/pyenv/asdf.
/plugin marketplace add TheBushidoCollective/han/plugin install jutsu-mise@hanThis skill is limited to using the following tools:
Managing development tool versions across projects with Mise as a unified version manager.
# Install specific version
mise install node@20.10.0
mise install python@3.12.0
mise install rust@1.75.0
# Install latest version
mise install node@latest
mise install python@latest
# Install from .tool-versions or mise.toml
mise install
# Set global version
mise use --global node@20
# Set project version
mise use node@20.10.0
mise use python@3.12 rust@1.75
# Use latest
mise use node@latest
# mise.toml
[tools]
node = "20.10.0"
python = "3.12.0"
rust = "1.75.0"
terraform = "1.6.0"
[tools]
# Latest patch version
node = "20.10"
# Latest minor version
node = "20"
# Latest version
node = "latest"
# Prefix notation
terraform = "1.6" # Latest 1.6.x
[tools]
# Use multiple versions
node = ["20.10.0", "18.19.0"]
python = ["3.12", "3.11", "3.10"]
# Switch between versions
mise shell node@18.19.0
[tools]
node = { version = "20.10.0", postinstall = "corepack enable" }
[tools]
python = "3.12"
[env]
_.python.venv = { path = ".venv", create = true }
[tools]
# From specific registry
"cargo:eza" = "latest"
"npm:typescript" = "5.3"
# From git repository
my-tool = "git:https://github.com/org/tool.git"
[tools]
# Languages
bun = "1.0"
deno = "1.38"
elixir = "1.15"
erlang = "26.1"
go = "1.21"
java = "21"
node = "20.10"
python = "3.12"
ruby = "3.3"
rust = "1.75"
zig = "0.11"
# Infrastructure
terraform = "1.6"
kubectl = "1.28"
awscli = "2.13"
[tools]
"npm:pnpm" = "8.10"
"npm:yarn" = "4.0"
"cargo:cargo-binstall" = "latest"
"go:github.com/golangci/golangci-lint/cmd/golangci-lint" = "latest"
# Production: Pin exact versions
[tools]
node = "20.10.0"
terraform = "1.6.4"
# Development: Use minor version ranges
[tools]
node = "20" # Any 20.x
python = "3.12" # Any 3.12.x
# Experimental projects
[tools]
rust = "latest"
bun = "latest"
# Set alias for current directory
mise alias set node lts 20.10.0
# Set global alias
mise alias set --global python3 python@3.12
[tools]
node = "lts"
python = "3.12"
# List installed tools
mise list
# Check current versions
mise current
# Verify tool installation
mise doctor
# Show tool details
mise ls-remote node
# List available versions
mise ls-remote python
# Check latest version
mise latest node
# Mise reads .tool-versions files
cat .tool-versions
# nodejs 20.10.0
# python 3.12.0
# Migrate to mise.toml
mise use node@20.10.0 python@3.12.0
# Read from .nvmrc
cat .nvmrc
# 20.10.0
mise use node@$(cat .nvmrc)
# Read from .python-version
mise use python@$(cat .python-version)
# Good: Explicit production versions
[tools]
node = "20.10.0"
terraform = "1.6.4"
postgres = "16.1"
# mise.toml - All project dependencies in one place
[tools]
node = "20.10.0"
python = "3.12.0"
terraform = "1.6.4"
kubectl = "1.28.0"
[env]
PROJECT_NAME = "my-app"
[tools]
# Enable corepack for package managers
node = { version = "20.10.0", postinstall = "corepack enable" }
# Create Python virtual environment
python = { version = "3.12", venv = ".venv" }
# In CI/CD pipelines
mise install --check
mise doctor
# Verify specific tools
mise current node
mise current python
# Root mise.toml - shared tools
[tools]
node = "20.10.0"
terraform = "1.6.4"
# packages/api/mise.toml - additional tools
[tools]
"npm:typescript" = "5.3"
"npm:prisma" = "5.7"
# packages/web/mise.toml
[tools]
"npm:next" = "14.0"
# mise.toml - production tools
[tools]
node = "20.10.0"
postgres = "16.1"
# mise.local.toml - development tools (gitignored)
[tools]
"npm:nodemon" = "latest"
"cargo:cargo-watch" = "latest"
# Check for updates
mise outdated
# Update to latest patch version
mise upgrade node
# Update all tools
mise upgrade
# Update with constraints
mise use node@20 # Updates to latest 20.x
# Bad: Using multiple version managers
nvm use 20
mise use node@20 # Conflicts
# Good: Use only Mise
mise use node@20
# Bad: Hardcoded paths
/Users/me/.local/share/mise/installs/node/20.10.0/bin/node
# Good: Use mise shims or mise exec
mise exec -- node
mise x -- node
# Bad: No version specified
[tools]
node = "latest" # Can break on updates
# Good: Specify constraints
[tools]
node = "20.10.0" # Explicit
# OR
node = "20" # Controlled range
# Bad: Missing required tools
[tools]
terraform = "1.6"
# Missing: kubectl, helm for deployment
# Good: Include all dependencies
[tools]
terraform = "1.6.4"
kubectl = "1.28.0"
helm = "3.13.0"
[tools]
# Install based on platform
node = "20.10.0"
python = "3.12"
# Platform-specific tools
[tools."cargo:watchexec-cli"]
platforms = ["linux", "darwin"]
version = "latest"
[tools]
node = {
version = "20.10.0",
postinstall = '''
corepack enable
npm install -g npm@latest
'''
}
# Use specific backend for tools
[tools]
# Use core backend (faster)
node = "core:20.10.0"
# Use asdf plugin
ruby = "asdf:3.3.0"
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.