Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ members = [
name = "mise"
version = "2026.4.23"
edition = "2024"
description = "The front-end to your dev env"
description = "Dev tools, env vars, and tasks in one CLI"
authors = ["Jeff Dickey (@jdx)"]
homepage = "https://mise.en.dev"
documentation = "https://mise.en.dev"
Expand Down
12 changes: 8 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<a href="https://discord.gg/mABnUDvP57"><img alt="Discord" src="https://img.shields.io/discord/1066429325269794907?style=for-the-badge&color=8B2252"></a>
</p>

<p><b>The front-end to your dev env</b></p>
<p><b>Dev tools, env vars, and tasks in one CLI</b></p>

<p align="center">
<a href="https://mise.en.dev/getting-started.html">Getting Started</a> •
Expand All @@ -34,9 +34,13 @@

## What is it?

- Like [asdf](https://asdf-vm.com) (or [nvm](https://github.com/nvm-sh/nvm) or [pyenv](https://github.com/pyenv/pyenv) but for any language) it manages [dev tools](https://mise.en.dev/dev-tools/) like node, python, cmake, terraform, and [hundreds more](https://mise.en.dev/registry.html).
- Like [direnv](https://github.com/direnv/direnv) it manages [environment variables](https://mise.en.dev/environments/) for different project directories.
- Like [make](https://www.gnu.org/software/make/manual/make.html) it manages [tasks](https://mise.en.dev/tasks/) used to build and test projects.
`mise` prepares your development environment before each command runs. It keeps
project tools, environment variables, and tasks in one `mise.toml` file so new
shells, checkouts, and CI jobs all start from the same setup.

- Install and switch between [dev tools](https://mise.en.dev/dev-tools/) like node, python, cmake, terraform, and [hundreds more](https://mise.en.dev/registry.html).
- Load [environment variables](https://mise.en.dev/environments/) per project directory, including values from `.env` files and other sources.
- Define and run [tasks](https://mise.en.dev/tasks/) for building, testing, linting, and deploying projects.

## Demo

Expand Down
2 changes: 1 addition & 1 deletion communique.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
context = "mise is a polyglot runtime manager (like asdf, nvm, pyenv, etc), environment manager, and task runner."
context = "mise prepares project dev environments by managing tools, environment variables, and tasks in one CLI."

[defaults]
emoji = false
2 changes: 1 addition & 1 deletion default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ rustPlatform.buildRustPackage {
'';

meta = with lib; {
description = "The front-end to your dev env";
description = "Dev tools, env vars, and tasks in one CLI";
homepage = "https://github.com/jdx/mise";
license = licenses.mit;
mainProgram = "mise";
Expand Down
11 changes: 5 additions & 6 deletions docs/dev-tools/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Dev Tools

> _Like [asdf](https://asdf-vm.com) (or [nvm](https://github.com/nvm-sh/nvm)
> or [pyenv](https://github.com/pyenv/pyenv) but for any language), it manages dev tools like node,
> python, cmake, terraform, and [hundreds more](/registry.html)._
> _Install and switch between dev tools like node, python, cmake, terraform,
> and [hundreds more](/registry.html), all from the same project config._

`mise` is a tool that manages installations of programming language runtimes and other tools for local development. For example, it can be used to manage multiple versions of Node.js, Python, Ruby, Go, etc. on the same machine.

Expand All @@ -27,9 +26,9 @@ including values produced by env directives like `_.source`, `_.file`, or env mo
before tool version templates are rendered.

::: info
mise is inspired by [asdf](https://asdf-vm.com) and can leverage asdf's
vast [plugin ecosystem](https://github.com/mise-plugins/registry)
under the hood. However, [it is _much_ faster than asdf and has a more friendly user experience](./comparison-to-asdf).
mise is compatible with asdf `.tool-versions` files and can still use asdf
plugins when needed. If you're migrating from asdf, see the
[comparison guide](./comparison-to-asdf).
:::

## How it works
Expand Down
5 changes: 2 additions & 3 deletions docs/environments/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Environments

> Like [direnv](https://github.com/direnv/direnv) it
> manages _environment variables_ for
> different project directories.
> Load the right _environment variables_ automatically for each project
> directory.

Use mise to specify environment variables used for different projects.

Expand Down
16 changes: 8 additions & 8 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Home

hero:
name: mise-en-place
tagline: The front-end to your dev env
tagline: Dev tools, env vars, and tasks in one CLI
---

<section class="landing-page" aria-label="mise overview">
Expand All @@ -18,9 +18,9 @@ hero:
before the work.
</p>
<p>
mise does the same for your dev env. It activates the right language
versions, loads the right env vars, and wires up the right tasks for
the commands you run.
mise does the same for your dev env. It installs and activates the
right tools, loads the right env vars, and wires up the right tasks
for the commands you run.
</p>
</div>
<div class="landing-definition">
Expand All @@ -33,29 +33,29 @@ hero:
<div class="landing-section landing-menu">
<div class="landing-section-heading">
<p class="landing-kicker">The Menu</p>
<h2>Three dishes, one kitchen.</h2>
<h2>One CLI for the whole project setup.</h2>
<a href="/getting-started" class="landing-small-button">All docs</a>
</div>
<div class="landing-feature-grid">
<a href="/dev-tools/" class="landing-feature-card">
<span class="card-number">— 01</span>
<span class="card-icon">🔪</span>
<h3>Dev Tools</h3>
<p>A polyglot tool version manager. Replaces asdf, nvm, pyenv, rbenv, and more — one tool for every language.</p>
<p>Install project tools, pin versions, and switch automatically as you move between directories.</p>
<span class="card-link">read more →</span>
</a>
<a href="/environments/" class="landing-feature-card">
<span class="card-number">— 02</span>
<span class="card-icon">🫕</span>
<h3>Environments</h3>
<p>Switch sets of environment variables per project directory. A smarter, simpler replacement for direnv.</p>
<p>Load project-specific environment variables from <code>mise.toml</code>, <code>.env</code> files, shell commands, and more.</p>
<span class="card-link">read more →</span>
</a>
<a href="/tasks/" class="landing-feature-card">
<span class="card-number">— 03</span>
<span class="card-icon">🍳</span>
<h3>Tasks</h3>
<p>A powerful task runner that replaces make and npm scripts. Define, compose, and run with ease.</p>
<p>Define build, test, lint, and deploy commands next to the tools and env vars they need.</p>
<span class="card-link">read more →</span>
</a>
</div>
Expand Down
12 changes: 4 additions & 8 deletions docs/mise.usage.kdl
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
name "mise"
bin "mise"
about "The front-end to your dev env"
long_about r"mise is a tool for managing runtime versions. https://github.com/jdx/mise
about "Dev tools, env vars, and tasks in one CLI"
long_about r"mise prepares your development environment before each command runs. https://github.com/jdx/mise

It's a replacement for tools like nvm, nodenv, rbenv, rvm, chruby, pyenv, etc.
that works for any language. It's also great for managing linters/tools like
jq and shellcheck.

It is inspired by asdf and uses asdf's plugin ecosystem under the hood:
https://asdf-vm.com/"
It installs and switches between project tools, loads environment variables,
and runs tasks from the same configuration."
usage "Usage: mise [OPTIONS] <COMMAND>"
flag "-C --cd" help="Change directory before running command" global=true {
arg "<DIR>"
Expand Down
2 changes: 1 addition & 1 deletion docs/public/site.webmanifest
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "mise-en-place",
"short_name": "mise",
"description": "The front-end to your dev env",
"description": "Dev tools, env vars, and tasks in one CLI",
"icons": [
{
"src": "/logo.svg",
Expand Down
4 changes: 2 additions & 2 deletions docs/tasks/index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Tasks

> Like [make](https://www.gnu.org/software/make/manual/make.html) it manages _tasks_ used
> to build and test projects.
> Define and run project _tasks_ for building, testing, linting, deploying, and
> everyday development workflows.

You can define tasks in `mise.toml` files or as standalone shell scripts. These are useful for
things like running linters, tests, builders, servers, and other tasks that are specific to a
Expand Down
8 changes: 4 additions & 4 deletions llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
## What is mise?

mise (pronounced "meez") is a development environment setup tool that manages:
1. **Dev Tools**: Version management for programming languages and tools (like asdf, nvm, pyenv, rbenv)
2. **Environments**: Environment variable management (can replace direnv)
3. **Tasks**: Task runner for project automation (can replace make, npm scripts)
1. **Dev Tools**: Installing, pinning, and switching programming languages and tools
2. **Environments**: Loading project-specific environment variables
3. **Tasks**: Running project automation for build, test, lint, deploy, and everyday workflows

mise supports hundreds of development tools and can automatically switch between different versions based on your project directory.

Expand Down Expand Up @@ -1032,4 +1032,4 @@ pub trait Backend: Debug + Send + Sync {

This architecture provides a flexible, extensible foundation for managing development environments while maintaining compatibility with existing tools and workflows.

This covers the essential information about mise for LLMs to help users effectively use the tool for development environment management and contribute to its development.
This covers the essential information about mise for LLMs to help users effectively use the tool for development environment management and contribute to its development.
4 changes: 2 additions & 2 deletions man/man1/mise.1
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
.TH MISE 1
.SH NAME
mise \- The front\-end to your dev env
mise \- Dev tools, env vars, and tasks in one CLI
.SH SYNOPSIS
\fBmise\fR [OPTIONS] [<TASK>] [<TASK_ARGS>] ... [<TASK_ARGS_LAST>] ... [COMMAND]
.SH DESCRIPTION
mise manages dev tools, env vars, and runs tasks. https://github.com/jdx/mise
mise prepares your development environment before each command runs. https://github.com/jdx/mise
.PP
.SH OPTIONS
.TP
Expand Down
4 changes: 2 additions & 2 deletions mise.usage.kdl
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
min_usage_version "2.11"
name mise
bin mise
about "The front-end to your dev env"
long_about "mise manages dev tools, env vars, and runs tasks. https://github.com/jdx/mise"
about "Dev tools, env vars, and tasks in one CLI"
long_about "mise prepares your development environment before each command runs. https://github.com/jdx/mise"
default_subcommand run
usage "Usage: mise [OPTIONS] [TASK] [COMMAND]"
flag "-c --continue-on-error" help="Continue running tasks even if one fails" hide=#true
Expand Down
8 changes: 4 additions & 4 deletions packaging/copr/build-copr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ cat >"SPECS/${PACKAGE_NAME}.spec" <<'EOF'
Name: __PACKAGE_NAME__
Version: __VERSION__
Release: 1%{?dist}
Summary: The front-end to your dev env
Summary: Dev tools, env vars, and tasks in one CLI

License: MIT
URL: https://mise.en.dev
Expand All @@ -192,9 +192,9 @@ BuildRequires: git
BuildRequires: openssl-devel

%description
mise is a development environment setup tool that manages runtime versions,
environment variables, and tasks. It's a replacement for tools like nvm, rbenv,
pyenv, etc. and works with any language.
mise prepares your development environment before each command runs. It installs
and switches between project tools, loads environment variables, and runs tasks
from the same configuration.

%prep
%autosetup -n %{name}-%{version}
Expand Down
4 changes: 2 additions & 2 deletions packaging/rpm/mise.spec
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Summary: The front-end to your dev env
Summary: Dev tools, env vars, and tasks in one CLI
Name: mise
Version: 2026.4.23
Release: 1
Expand All @@ -9,7 +9,7 @@ Packager: @jdx
BuildRoot: /root/mise

%description
mise is a polyglot runtime manager
mise prepares your development environment before each command runs.

%install
mkdir -p %{buildroot}/usr/bin/
Expand Down
4 changes: 2 additions & 2 deletions scripts/build-deb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ fpm -s dir -t deb \
--license MIT \
--version "${MISE_VERSION#v*}" \
--architecture amd64 \
--description "The front-end to your dev env" \
--description "Dev tools, env vars, and tasks in one CLI" \
--url "https://github.com/jdx/mise" \
--maintainer "Jeff Dickey @jdx" \
mise/bin/mise=/usr/bin/mise \
Expand All @@ -27,7 +27,7 @@ fpm -s dir -t deb \
--license MIT \
--version "${MISE_VERSION#v*}" \
--architecture arm64 \
--description "The front-end to your dev env" \
--description "Dev tools, env vars, and tasks in one CLI" \
--url "https://github.com/jdx/mise" \
--maintainer "Jeff Dickey @jdx" \
mise/bin/mise=/usr/bin/mise \
Expand Down
4 changes: 2 additions & 2 deletions scripts/build-rpm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ fpm -s dir -t rpm \
--license MIT \
--version "${MISE_VERSION#v*}" \
--architecture x86_64 \
--description "The front-end to your dev env" \
--description "Dev tools, env vars, and tasks in one CLI" \
--url "https://github.com/jdx/mise" \
--maintainer "Jeff Dickey @jdx" \
mise/bin/mise=/usr/bin/mise \
Expand All @@ -27,7 +27,7 @@ fpm -s dir -t rpm \
--license MIT \
--version "${MISE_VERSION#v*}" \
--architecture aarch64 \
--description "The front-end to your dev env" \
--description "Dev tools, env vars, and tasks in one CLI" \
--url "https://github.com/jdx/mise" \
--maintainer "Jeff Dickey @jdx" \
mise/bin/mise=/usr/bin/mise \
Expand Down
4 changes: 2 additions & 2 deletions scripts/release-npm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ for platform in "${platforms[@]}"; do
{
"name": "$NPM_PREFIX-$os-$arch",
"version": "$MISE_VERSION",
"description": "polyglot runtime manager",
"description": "Dev tools, env vars, and tasks in one CLI",
"bin": {
"mise": "bin/mise"
},
Expand Down Expand Up @@ -140,7 +140,7 @@ EOF
cat <<EOF >"$RELEASE_DIR/npm/package.json"
{
"name": "$NPM_PREFIX",
"description": "polyglot runtime manager",
"description": "Dev tools, env vars, and tasks in one CLI",
"version": "$MISE_VERSION",
"repository": {
"type": "git",
Expand Down
10 changes: 5 additions & 5 deletions snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
name: mise
title: mise-en-place
version: "2026.4.23"
summary: The front-end to your dev env
summary: Dev tools, env vars, and tasks in one CLI
description: |
mise-en-place is a command line tool to manage your development environment.
mise-en-place prepares your development environment before each command runs.

- Like asdf (or nvm or pyenv but for any language) it manages [dev tools](https://mise.en.dev/dev-tools/) like node, python, cmake, terraform, and [hundreds more](https://mise.en.dev/registry.html).
- Like direnv it manages [environment variables](https://mise.en.dev/environments/) for different project directories.
- Like make it manages [tasks](https://mise.en.dev/tasks/) used to build and test projects.
- Install and switch between [dev tools](https://mise.en.dev/dev-tools/) like node, python, cmake, terraform, and [hundreds more](https://mise.en.dev/registry.html).
- Load [environment variables](https://mise.en.dev/environments/) for each project directory.
- Define and run [tasks](https://mise.en.dev/tasks/) used to build, test, lint, and deploy projects.

See the [documentation](https://mise.en.dev/getting-started.html) to learn more.

Expand Down
3 changes: 1 addition & 2 deletions src/cli/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -744,8 +744,7 @@ impl Cli {
}
}

const LONG_ABOUT: &str =
"mise manages dev tools, env vars, and runs tasks. https://github.com/jdx/mise";
const LONG_ABOUT: &str = "mise prepares your development environment before each command runs. https://github.com/jdx/mise";

const LONG_TASK_ABOUT: &str = r#"Task to run.

Expand Down
Loading