【朗報】Atuinが高機能すぎて嫌になったエンジニア、たった400行のSQLite製シェル履歴ツール「Stinkpot」を作ってしまう
投稿日時: 2026/07/24 21:44
■ 概要・編集部サマリー
【背景・CLI】シェル履歴をSQLiteで同期管理する人気ツール「Atuin」が肥大化・高機能化(Daemon化・Daemon通信・クラウド同期・テレメトリ)したことに不満を持った開発者が、C言語とSQLiteのみで書いた極小の400行ツール「Stinkpot」を公開。 【焦点・ミニマリズム】Daemonレス、ネットワーク通信ゼロ、SQLiteファイルへダイレクト書き込み・検索するだけの圧倒的シンプルさと堅牢さ。 【評価・議論】CLIツールの肥大化に対するアンチテーゼと、自作工具の爽快感。
1. 機能無駄を削ぎ落とした「400行のCコード」の美学
RustやGoで書かれたモダンなシェル履歴ツール(Atuin等)が、ネットワーク同期や暗号化、重厚なTUIによって肥大化している点に疑問が呈された。
純粋なC言語とSQLite単一ファイルのみで記述され、ミリ秒単位で起動・動作する極小のシェルヒストリー拡張が作成された。
2. SQLite組み込みによる爆速FZF検索フック
Bash/ZshのPROMPT_COMMANDフックからコマンドを実行端末・ディレクトリ・時刻とともにSQLiteテーブルへ高速保存する。
fzf等の曖昧検索ツールと組み合わせることで、不要なデーモンプロセスを常駐させずに快適なターミナル操作を叶えてくれる。
3. Unix哲学に立ち返るCLI開発
「小さく、シンプルで、自分の思い通りに動く」というプログラミングの原点を感じさせる秀逸な個人開発ツールだ。
ターミナル愛好家に心からオススメできる。
海外掲示板の反応・まとめ
■ 400行のシェル履歴ツール『Stinkpot』の紹介。肥大化したAtuinへのアンチテーゼとシンプルさが絶賛されています。
『Atuinがバックグラウンドでデーモン走らせたりクラウド暗号化同期とかやり始めて重くなったから嫌だ!』ってC言語400行でSQLiteに直接書くツール『Stinkpot』作ったニキ最高w
>>2 わかる。端末の過去コマンド検索したいだけなのに、ソケット通信でデーモンとやり取りするの完全にオーバーキルなんだよな。シンプルイズベスト。
>>3 でも会社PCと自宅PCとサーバーのシェル履歴が自動で暗号化同期されるAtuinの機能は手放せんから、ユースケースの違いだな。
>>4 fzfと組み合わせて履歴検索するなら、SQLite直書きのStinkpotみたいな極小ツールの方が動作予測しやすくてバグらんのよな。
>>5 SQLiteのWALモード使えば複数ターミナル同時起動しても書き込みロック競合起きないし、C言語400行の設計は理にかなってるわ。
AtuinはRust製で高機能だけど機能追加しすぎて肥大化した。Stinkpotの『もうこれ以上機能追加しない』っていう割り切ったミニマリズムに好感持てるわ。