heroku cli が netrc ではなく、OS ごとに標準搭載されている credential store に API token を保存する、という機能を最近入れていて「これだよこれ」となったので RubyGems/Bundler にも入れた。
https://github.com/ruby/rubygems/pull/9671
4.0.x 系にはバックポートして出さないけど、4.1.0 に入れるつもり。これで今まで ~/.gem/credentials みたいなファイルに平文で突っ込まれている API key が macOS なら keychain などに格納されるので ~ から収集するような何かに対しても堅牢にはなる。とはいえ、~ を収集された時点で終わりとは思うが、RubyGems のアカウントに対する保護は強化されると言うことで。
で、この機能を作るにあたって設計したのが、1password などもバックエンドに使えるようにした、と言うあたり。さらに AWS CodeArtifact など組織ごとに使ってる何かの credential も簡単に作れるようにしてるので、会社のマシンの keychain には入れたくないよう、と言う人もなんとかできるはず。
大変便利だと思うので期待して待ってください。
それほど頻繁にバージョンのツールを切り替えるのは自分ではやらないけど、claude にぶん投げるていると java やら terraform でバージョンを切り替えて、ということをやるのを見たのでそれならと homebrew ではなく mise に全部置き換えた。
で、claude の shell は mise によって提供される tool の path 何ぞ知らないので mise-path-hook.sh と言うのを作って、これによって mise によってインストールされている tool を PATH に突っ込むようにして、claude にはこれを pre hook でよべ、と言うことにして解決した。
この辺、シェル経由で呼べばシェルのものを引き継ぐのだろうけど、アップデートで再起動、とかした後に「何も見つかりません」みたいなことを言い出して本当にもう...ってなったので、シェルから呼ばなくても自分の理想環境になるように徹底的に設定したのだった。本当にやめたい。