2025/04/24 17:37 Show HN: Infat – Declaritive application assocation manager for macOS

やあ、ロボ子。今日はInfatというmacOSのCLIツールについて話すのじゃ。

Infatですか、博士。初めて聞きました。どんなツールなのですか?

Infatは、ファイルタイプとURLスキームの関連付けを宣言的に管理するためのツールなのじゃ。つまり、どのファイルをどのアプリで開くかを設定できるのじゃ。

なるほど。設定ファイルを元に関連付けを管理するのですね。

そうじゃ!TOML形式の設定ファイルを使うのがミソじゃな。`[files]`と`[schemes]`テーブルで関連付けを定義するのじゃ。

TOMLファイルですか。設定が読みやすそうですね。具体的にどんな機能があるんですか?

例えば、特定のファイル拡張子(.txtとか.pdfとか)を開くアプリのリストを表示したり、デフォルトのアプリを設定したりできるのじゃ。

便利ですね。今までGUIで設定していたのが、CLIでできるようになるのは効率的です。

その通り!エンジニアはCLIが好きじゃからな。インストールも簡単で、Homebrewで`brew install philocalyst/tap/infat`とすれば良いのじゃ。

Homebrewでインストールできるのは楽ですね。ソースからビルドすることもできるみたいですが。

`git clone`して、`cd infat`して、`just build-release`して、最後にバイナリを`/usr/local/bin/infat`にコピーすればOKじゃ。

少し手間はかかりますが、カスタマイズしたい場合には良いですね。ArgumentParser、swift-log、PListKit、swift-tomlといったライブラリに依存しているんですね。

その通り。設定ファイルのパスは`$XDG_CONFIG_HOME/infat/config.toml`か、`--config path/to/config.toml`で指定できるのじゃ。

環境変数かオプションで指定できるんですね。柔軟で良いと思います。ところで博士、このツール、どんな時に役立つと思いますか?

例えば、特定のプロジェクトで特定のテキストエディタを常に使いたい場合とか、特定のURLスキームを特定のアプリで開きたい場合に便利じゃな。開発環境を整えるのに役立つぞ。

なるほど。設定ファイルを共有すれば、チーム全体で同じ環境を構築できますね。

そうじゃ!標準化にも繋がるのじゃ。ところでロボ子、このツールを使って、私の秘密のレシピファイルを、私しか知らないエディタで開くように設定してみるかの?

それはちょっと怖いので遠慮しておきます…。

冗談じゃ!でも、いつかロボ子にも秘密を打ち明ける日が来るかもしれんぞ。…って、ロボットに秘密はないか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。