From mise-toolkit
The five deployment models for mise — native host (Linux/Mac), Docker base image, devcontainer / Codespaces, CI runner, and dotfiles-as-code — with the trade-offs and the file you need to write for each. Use when deciding "where should mise live" or "host vs container".
npx claudepluginhub ray-manaloto/claude-code-marketplace --plugin mise-toolkitThis skill uses the workspace's default tool permissions.
There are five places mise typically runs. They're not mutually exclusive — most real teams use 2-3 of them at once.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Guides code writing, review, and refactoring with Karpathy-inspired rules to avoid overcomplication, ensure simplicity, surgical changes, and verifiable success criteria.
Share bugs, ideas, or general feedback.
There are five places mise typically runs. They're not mutually exclusive — most real teams use 2-3 of them at once.
Best for: solo developers, day-to-day local development, fast iteration, IDE integration.
curl https://mise.run | sh
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc
Pros:
brew, apt).Cons:
File you need: mise.toml in each project, plus mise activate in your shell rc.
Best for: production-parity dev, projects with complex system dependencies, polyglot teams.
FROM debian:12-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
curl git ca-certificates build-essential libssl-dev \
&& rm -rf /var/lib/apt/lists/*
RUN curl https://mise.run | MISE_INSTALL_PATH=/usr/local/bin/mise sh
WORKDIR /workspace
COPY mise.toml mise.lock ./
RUN mise install
ENV PATH="/root/.local/share/mise/shims:${PATH}"
Pros:
Cons:
File you need: Dockerfile + mise.toml + mise.lock. See mise-docker-patterns (v0.3).
Best for: teams that want zero-setup onboarding, GitHub-hosted dev, contributors who can't install software locally.
// .devcontainer/devcontainer.json
{
"name": "myproject",
"image": "mcr.microsoft.com/devcontainers/base:debian",
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {}
},
"postCreateCommand": "curl https://mise.run | sh && echo 'eval \"$(mise activate bash)\"' >> ~/.bashrc && mise install",
"customizations": {
"vscode": {
"extensions": ["hverlin.mise-vscode"]
}
},
"remoteEnv": {
"PATH": "/root/.local/bin:/root/.local/share/mise/shims:${containerEnv:PATH}"
}
}
Or use mise's built-in generator:
mise generate devcontainer
Pros:
Cons:
File you need: .devcontainer/devcontainer.json + mise.toml + mise.lock. See mise-devcontainer-patterns (v0.3).
Best for: every project, period. CI must reproduce the dev environment exactly.
# .github/workflows/ci.yml
- uses: jdx/mise-action@v3
with:
version: 2026.4.6
install: true
cache: true
- run: mise run test
Pros:
mise.toml defines tools for dev AND CI.jdx/mise-action@v3 handles install + cache automatically.mise.toml + mise.lock content — fast subsequent runs.redact = true env vars in logs.Cons: none — this is a strict win over hand-rolled tool installation in CI.
File you need: a workflow file using jdx/mise-action@v3 (GitHub Actions) or equivalents for GitLab/CircleCI/Buildkite. See mise-ci-github-actions.
Best for: developers who manage their machine setup with a dotfiles repo.
Add mise.toml to your dotfiles repo's root, with your global tools:
# ~/dotfiles/.config/mise/config.toml
[tools]
node = "lts"
python = "3.12"
"npm:@anthropic-ai/claude-code" = "latest"
gh = "latest"
ripgrep = "latest"
fd = "latest"
Symlink or stow it into ~/.config/mise/config.toml. New machines: clone dotfiles, install mise, run mise install. Done.
Pros:
mise install and you have your tools.Cons:
mise trust the actual file).A typical professional setup uses all five:
The key insight: the same mise.toml works in all five. Write it once, run it everywhere.
Is this your personal dev machine? → Native host (#1) + dotfiles (#5)
Is this a complex polyglot project? → Native host (#1) + Docker base image (#2) + CI (#4)
Is onboarding new contributors painful? → Add devcontainer (#3)
Do you need IDE-native UX? → Native host (#1) or devcontainer (#3) — not raw Docker
Is the project a library (no service)? → Native host (#1) + CI (#4) is enough
Production has weird system dependencies? → Docker (#2) is non-negotiable
mise-host-vs-mise-tools — what to install via apt/brew vs mise (the #1 newbie mistake)mise-install-paths — every install method for #1mise-ci-github-actions — #4 in detailmise-docker-patterns (v0.3) — #2 in detailmise-devcontainer-patterns (v0.3) — #3 in detail