AIエージェントに実装を任せるようになったのでツールを整理した
はじめに
Claude Codeをはじめソフトウェア開発向けAIエージェントの発達により、開発の作業のかなりの部分を手動で実施することがなくなったという話を聞くようになった。
ご多分に漏れず自分もコードのタイピングなどをする機会がめっきり減ったので開発ツールを見直すことにした。
結果として、VSCodeのようなリッチなIDEは基本的に不要と判断し、必要な作業を行うためにいくつかCLIツールを導入することになったので、その詳細を書いておく。
導入したツール
superfile
IDEの画面左ファイルエクスプローラの代替として導入。後述するlazygitとキーバインドが近いのがポイント高い。
fzf
ファイル名をfuzzy searchするのに使う。
https://github.com/junegunn/fzf
ripgrep
指定した文字列にマッチする内容を持つファイルを検索する。
https://github.com/burntsushi/ripgrep
lazygit
git操作を楽にするTUIツール。VSCodeを使ったりgitコマンドを直接打つよりも全然楽で素晴らしい。
https://github.com/jesseduffield/lazygit
git-delta
diffの見た目がいい感じになるツール。lazygit内限られたスペースに表示される差分ビューワ内での描画に使うのが主だが、かなり読みやすい。
https://github.com/dandavison/delta
helix
早くてモダンなエディタ。Vimのようなターミナルエディタへの憧れが昔からあったが、次のようなハードルがありこれまで使うに至らなかったところ、全て解消してくれたのがHelix。
- キーバインドが直感的でない
- Vimなんかはモニタのピクセル数がずっと少ない時代からあり、後々 (当たり前だが) 当初はなかった要求を満たすためを後方互換性を意識して継ぎ足していった経緯からキーバインドがしっくりこない印象がある。
- helixは過去のしがらみなしにキーバインドが設計されている印象で、非常にこう、"スッ" と頭に入ってくる。気持ちいい。
- セットアップが大変
- NeoVimなどはアプリケーション開発に必要な機能を足す手間がかかる。
- helixはLSPやfuzzy finderなどあらかた必要なものを揃えていてくれているのですぐ使えて楽。
その他
LinterやFormatterなどCLIで実行可能なものは全てNPMコマンドを用意するなどして簡単に実行出来るようにした。
代替のCLIツールは不要と判断したIDEの機能
上記のツールはかつて使っていたVSCodeの機能全てを代替するものではない。ひとまずもう使わなくて良いと判断した機能と、判断の理由をまとめる。
E2Eテストのレコーダー
ブラウザを操作したらPlaywrightのテストコードが生成されるという挙動を実現するためのプラグインを使っていたが、自ら書くのとあまり効率が変わらないので不要と判断。
まだVSCodeに頼らざるを得ない機能
VSCodeのようなリッチなIDEは不要と冒頭で言ってしまったが、実はまだたまに使う機会がある。次の機能を代替するものが見つかっていないため。
デバッガ
helixのデバッガはまだexperimentalで普段使っている言語にも対応してないので、まだVSCodeのデバッガが現役。
コンフリクト解消
gitのコンフリクト解消はGUIでやるのが良いとずっと思っている (異論は認める)。VSCodeのコンフリクト解消ビューほど良いインターフェースに未だ出会えていない。