ちなみに

火曜日の空は僕を押しつぶした。

miseからprotoに移行した

moonrepo.dev

各種言語(とか)のバージョン管理に mise を使っていたけど、proto に移行した。

mise はバージョン管理だけでなく、 direnv のような環境管理や、make のようなタスク実行もサポートしていて、少し過剰に感じていた。(し、使ってなかった) 1つのツールが複数の役割を担うのは、「一つのことをうまくやれ」というUNIX哲学に反している気がした。

protoはいまのところバージョン管理だけをやっているのと、WASMベースでプラグインを定義できるのがモダンで、保守性やセキュリティ面でも好印象だった。 OSSで開発されているが実質的に企業としての moonrepo が管理しているので将来はどうなるかは分からない。

インストールはシェルスクリプトを読み込むやつ だけれど、最近はLLMと一緒にレビューしてから実行できるのでちょっと安心。 自分より頭のいい人にうまく隠されると見破れる自信がない。 非公式のFormula はあるみたいなので Homebrew で入れる選択肢も一応ある。

.zshenv に以下のように環境変数を設定すると、XDG_DATA_HOME 以下にインストールできます。

# proto https://github.com/moonrepo/proto
export PROTO_HOME="$XDG_DATA_HOME/proto";
export PATH="$PROTO_HOME/shims:$PROTO_HOME/bin:$PATH";

補完系も生成して配置しておいた。

$ proto completions --shell zsh > ~/.config/zsh/completion/_proto

使い方はよくある感じなので ドキュメント を眺めるとすぐに分かると思います。

しばらく使ってみて様子をみようと思います。 他にも軽量なバージョン管理ツールを知っている人がいたらぜひ教えてください。