CLIツール
jdx/mise avatar
jdx/mise

mise は開発ツール、環境変数、タスクを1つのファイルにまとめる

開発ツール、環境変数、タスクランナー。 misse は、各コマンドを実行する前に開発環境を準備します。

スター 33,916フォーク 1,431RustMIT

ひと目でわかる

これは何?
mise はツールのバージョン管理、ディレクトリごとの環境変数読み込み、タスク定義を1つのTOMLファイルに集約する。
誰に向いている?
README は mise を、シェルやチェックアウト、CIジョブでプロジェクトの初期状態を揃えるためのツールとして説明している。MITライセンスはソフトウェアの利用と変更を広く許諾するが、README はセキュリティポリシーや、GitHub Discussions 以外の正式なサポート手順については述べていない。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に Rust です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

mise は各コマンドの実行前に環境を準備する

README は、mise が各コマンドの実行前に開発環境を準備するツールだと説明している。プロジェクトのツール、環境変数、タスクはすべて1つの mise.toml ファイルに置かれ、新しいシェル、チェックアウト、CIジョブが同じ設定から始まることを意図している。リポジトリのメタデータはプロジェクトを「dev tools, env vars, task runner」と説明し、言語は Rust としている。README は node、python、cmake、terraform、および「hundreds more」をインストール可能なツールの例として挙げているが、完全なレジストリは列挙していない。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。

`mise install`は`mise.toml`などで宣言したツールを揃え、`mise exec -- <command>`はその環境で単一コマンドを実行します。ターミナル全体を変更せず、CIや個別タスクに同じバージョンを渡せる点がこの設計の判断材料です。 実行日時、版、環境、入力識別子、出力要約、警告を記録し、再現不能な結果は成功例として扱いません。 README は、mise が各コマンドの実行前に開発環境を準備するツールだと説明している。プロジェクトのツール、環境変数、タスクはすべて1つの mise.toml ファイルに置かれ、新しいシェル、チェックアウト、CIジョブが同じ設定から始まることを意図している。リポジトリのメタデータはプロジェクトを「dev tools, env vars, task runner」と説明し、言語は Rust としている。README は node、python、cmake、terraform、および「hundreds more」をインストール可能なツールの例として挙げているが、完全なレジストリは列挙していない。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。

`mise install`は`mise.toml`などで宣言したツールを揃え、`mise exec -- <command>`はその環境で単一コマンドを実行します。ターミナル全体を変更せず、CIや個別タスクに同じバージョンを渡せる点がこの設計の判断材料です。 実行日時、版、環境、入力識別子、出力要約、警告を記録し、再現不能な結果は成功例として扱いません。

mise のインストールとシェルへの組み込み

クイックスタートは、`curl https://mise.run | sh` で mise をインストールし、`~/.local/bin/mise --version` でバージョンを確認する。README によると、このインストール先は curl スクリプトがデフォルトで使う場所である。シェルに組み込むには、bash、zsh、fish、pwsh 向けの行が示されている。例えば bash ユーザーは `eval "$(~/.local/bin/mise activate bash)"` を .bashrc に追加する。README のバージョン出力例は macos-arm64 だが、対応プラットフォームの一覧は示されていない。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。

タスクはTOMLの`[tasks]`ブロックで定義でき、依存タスクや環境変数をプロジェクト単位で管理します。asdfの設定がすでにある場合は、`mise`が読むファイルとディレクトリ位置を確認し、どの宣言が選ばれたかを`mise`の実行結果で照合する必要があります。 クイックスタートは、`curl https://mise.run | sh` で mise をインストールし、`~/.local/bin/mise --version` でバージョンを確認する。README によると、このインストール先は curl スクリプトがデフォルトで使う場所である。シェルに組み込むには、bash、zsh、fish、pwsh 向けの行が示されている。例えば bash ユーザーは `eval "$(~/.local/bin/mise activate bash)"` を .bashrc に追加する。README のバージョン出力例は macos-arm64 だが、対応プラットフォームの一覧は示されていない。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。

タスクはTOMLの`[tasks]`ブロックで定義でき、依存タスクや環境変数をプロジェクト単位で管理します。asdfの設定がすでにある場合は、`mise`が読むファイルとディレクトリ位置を確認し、どの宣言が選ばれたかを`mise`の実行結果で照合する必要があります。

特定のツールバージョンでコマンドを実行する

デモでは、`mise exec node@26 -- node -v` が node 26 をインストールまたは使用してコマンドを実行する。もう1つの例 `mise use --global node@26 go@1` は、node と go のグローバルなデフォルトを設定する。README は `which node` が shim ではなく node の実パスを返すと述べている。デモのトランスクリプトには jq、terraform、go などのツールも含まれる。README はバージョン解決アルゴリズムや、インストール済みバージョンの選択方法については説明していない。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。

導入確認ではテスト用ディレクトリに`mise.toml`を置き、ツールのバージョン表示、タスクの標準出力、ディレクトリ外へ移動した後のPATHを分けて確認してください。特にterraformの例は、実行ファイルが本当に固定版になっているかを`terraform version`で検証できます。 デモでは、`mise exec node@26 -- node -v` が node 26 をインストールまたは使用してコマンドを実行する。もう1つの例 `mise use --global node@26 go@1` は、node と go のグローバルなデフォルトを設定する。README は `which node` が shim ではなく node の実パスを返すと述べている。デモのトランスクリプトには jq、terraform、go などのツールも含まれる。README はバージョン解決アルゴリズムや、インストール済みバージョンの選択方法については説明していない。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。

導入確認ではテスト用ディレクトリに`mise.toml`を置き、ツールのバージョン表示、タスクの標準出力、ディレクトリ外へ移動した後のPATHを分けて確認してください。特にterraformの例は、実行ファイルが本当に固定版になっているかを`terraform version`で検証できます。

プロジェクトディレクトリごとに環境変数を読み込む

mise.toml の `[env]` ブロックで変数を定義する。README は `SOME_VAR = "foo"` を示し、`mise set SOME_VAR=bar` で値を変更すると `echo $SOME_VAR` が `bar` を出力する。また mise は `.env` ファイルを読み込むことができ、environments ドキュメントへのリンクがある。`.env` ファイルの値と `[env]` ブロックの値の優先順位は README には書かれておらず、リンク先のドキュメントで確認する必要がある。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。 mise.toml の `[env]` ブロックで変数を定義する。README は `SOME_VAR = "foo"` を示し、`mise set SOME_VAR=bar` で値を変更すると `echo $SOME_VAR` が `bar` を出力する。また mise は `.env` ファイルを読み込むことができ、environments ドキュメントへのリンクがある。`.env` ファイルの値と `[env]` ブロックの値の優先順位は README には書かれておらず、リンク先のドキュメントで確認する必要がある。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。 mise.toml の `[env]` ブロックで変数を定義する。README は `SOME_VAR = "foo"` を示し、`mise set SOME_VAR=bar` で値を変更すると `echo $SOME_VAR` が `bar` を出力する。また mise は `.env` ファイルを読み込むことができ、environments ドキュメントへのリンクがある。`.env` ファイルの値と `[env]` ブロックの値の優先順位は README には書かれておらず、リンク先のドキュメントで確認する必要がある。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。 mise.toml の `[env]` ブロックで変数を定義する。README は `SOME_VAR = "foo"` を示し、`mise set SOME_VAR=bar` で値を変更すると `echo $SOME_VAR` が `bar` を出力する。また mise は `.env` ファイルを読み込むことができ、environments ドキュメントへのリンクがある。`.env` ファイルの値と `[env]` ブロックの値の優先順位は README には書かれておらず、リンク先のドキュメントで確認する必要がある。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。

TOMLブロックとしてタスクを定義する

タスクは mise.toml の `description` と `run` 文字列で定義される。README の最初のタスク例は `[tasks.build]` で、`mise run build` を実行すると `building...` と出力される。タスクは `depends` フィールドで依存関係を宣言でき、terraform の例では deploy タスクが `depends = ["validate", "plan"]` を使っている。README はタスクの出力処理、並行実行、失敗時の挙動については説明していない。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。 タスクは mise.toml の `description` と `run` 文字列で定義される。README の最初のタスク例は `[tasks.build]` で、`mise run build` を実行すると `building...` と出力される。タスクは `depends` フィールドで依存関係を宣言でき、terraform の例では deploy タスクが `depends = ["validate", "plan"]` を使っている。README はタスクの出力処理、並行実行、失敗時の挙動については説明していない。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。 タスクは mise.toml の `description` と `run` 文字列で定義される。README の最初のタスク例は `[tasks.build]` で、`mise run build` を実行すると `building...` と出力される。タスクは `depends` フィールドで依存関係を宣言でき、terraform の例では deploy タスクが `depends = ["validate", "plan"]` を使っている。README はタスクの出力処理、並行実行、失敗時の挙動については説明していない。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。 タスクは mise.toml の `description` と `run` 文字列で定義される。README の最初のタスク例は `[tasks.build]` で、`mise run build` を実行すると `building...` と出力される。タスクは `depends` フィールドで依存関係を宣言でき、terraform の例では deploy タスクが `depends = ["validate", "plan"]` を使っている。README はタスクの出力処理、並行実行、失敗時の挙動については説明していない。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。

terraform プロジェクトの全体例

README の全体例は、`[tools]` に terraform と aws-cli を置き、`[env]` に TF_WORKSPACE、AWS_REGION、AWS_PROFILE を設定し、plan、validate、deploy の3つのタスクを定義している。deploy タスクは validate と plan に依存し、実行コマンドは `terraform apply -auto-approve` である。README は、mise.toml で指定されたツールをインストールするために `mise install` を実行し、その後 `mise run deploy` を実行すると説明している。加えて例については mise cookbook へのリンクがある。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。 README の全体例は、`[tools]` に terraform と aws-cli を置き、`[env]` に TF_WORKSPACE、AWS_REGION、AWS_PROFILE を設定し、plan、validate、deploy の3つのタスクを定義している。deploy タスクは validate と plan に依存し、実行コマンドは `terraform apply -auto-approve` である。README は、mise.toml で指定されたツールをインストールするために `mise install` を実行し、その後 `mise run deploy` を実行すると説明している。加えて例については mise cookbook へのリンクがある。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。 README の全体例は、`[tools]` に terraform と aws-cli を置き、`[env]` に TF_WORKSPACE、AWS_REGION、AWS_PROFILE を設定し、plan、validate、deploy の3つのタスクを定義している。deploy タスクは validate と plan に依存し、実行コマンドは `terraform apply -auto-approve` である。README は、mise.toml で指定されたツールをインストールするために `mise install` を実行し、その後 `mise run deploy` を実行すると説明している。加えて例については mise cookbook へのリンクがある。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。 README の全体例は、`[tools]` に terraform と aws-cli を置き、`[env]` に TF_WORKSPACE、AWS_REGION、AWS_PROFILE を設定し、plan、validate、deploy の3つのタスクを定義している。deploy タスクは validate と plan に依存し、実行コマンドは `terraform apply -auto-approve` である。README は、mise.toml で指定されたツールをインストールするために `mise install` を実行し、その後 `mise run deploy` を実行すると説明している。加えて例については mise cookbook へのリンクがある。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。

プロジェクト運営、サポート、ライセンス

README によると、Issue の投稿量が多くなり GitHub Issues での管理が持続不可能になったため、プロジェクトは GitHub Discussions を使い、announcements、ideas、troubleshooting and bug reports のカテゴリを設けている。リポジトリのメタデータには 31,539 スター、1,304 フォーク、41 のオープンイシューが示されている。README はスポンサーとして entire.io と 37signals を挙げ、Namespace が CI サービスを提供していると述べている。MITライセンスはソフトウェアの使用、複製、変更、統合、公開、配布、再許諾、販売を許可し、ソフトウェアを「現状のまま」提供し、保証や責任を負わない。ライセンスはサポートポリシーを定めておらず、README もセキュリティポリシーには触れていない。

`mise install`と`mise exec`をテスト用プロジェクトで実行し、`mise.toml`のツール固定、タスク実行、既存のasdf設定との優先順位を確認してください。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。 README によると、Issue の投稿量が多くなり GitHub Issues での管理が持続不可能になったため、プロジェクトは GitHub Discussions を使い、announcements、ideas、troubleshooting and bug reports のカテゴリを設けている。リポジトリのメタデータには 31,539 スター、1,304 フォーク、41 のオープンイシューが示されている。README はスポンサーとして entire.io と 37signals を挙げ、Namespace が CI サービスを提供していると述べている。MITライセンスはソフトウェアの使用、複製、変更、統合、公開、配布、再許諾、販売を許可し、ソフトウェアを「現状のまま」提供し、保証や責任を負わない。ライセンスはサポートポリシーを定めておらず、README もセキュリティポリシーには触れていない。

`mise install`と`mise exec`をテスト用プロジェクトで実行し、`mise.toml`のツール固定、タスク実行、既存のasdf設定との優先順位を確認してください。 jdxのこの判断は、対象を小さく切り出して確認できることが前提です。入力値、実行日時、使用した設定、返されたデータ、終了コードを一組で保存します。期待と違う場合は、対象ファイルの内容、依存パッケージの版、環境変数、ネットワーク応答を順に照合します。READMEに記載されていない保証を補わず、確認できた事実だけを採用条件へ反映します。jdxでは節ごとの機能を混ぜず、取得、変換、保存、表示のどこで差が出たかを分けて記録することが重要です。

編集部の結論

README は mise を、シェルやチェックアウト、CIジョブでプロジェクトの初期状態を揃えるためのツールとして説明している。MITライセンスはソフトウェアの利用と変更を広く許諾するが、README はセキュリティポリシーや、GitHub Discussions 以外の正式なサポート手順については述べていない。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート