tninja/aider.el

AI assisted programming in Emacs with Aider

概要

aider.elは、人気のターミナルベースのAIペアプログラミングツールであるAiderのユーザーインターフェースを提供するEmacsパッケージです。AI支援コーディング(Cursorに似たもの)をEmacsエディタにもたらします。

基本コンセプト

これはAiderコマンドラインツールの軽量なラッパーとして機能します。ターミナルでAiderを使用するためにEmacsを離れる必要はなく、メニュー、キーバインド、バッファ管理を使用して、Emacs内で直接Aiderセッションを実行および制御できます。

主な機能

  • セッション管理: 特定のGitリポジトリに関連付けられたAiderセッションを開始し、異なるプロジェクトに対して複数のセッションを同時に実行できます。
  • コンテキスト制御: 現在のファイル、ファイルマネージャー (dired) でマークされたファイル、またはモジュール/ディレクトリ全体など、AIのコンテキストにファイルを簡単に追加できます。
  • コーディングワークフロー:
    • コード内のTODOコメントを実装する。
    • Martin Fowlerの書籍の手法を使用してコードをリファクタリングする。
    • 関数やファイルのユニットテストを生成する。
    • 選択したコードや関数について質問する。
    • コードの差分(ステージングされたファイル、ブランチ、コミットから)を取得してレビューする。
  • プロンプトの整理: リポジトリごとに専用の「プロンプトファイル」があり、AIセッションに対して複数行のプロンプトを作成、整理、送信できます。
  • アジャイルサポート: TDD(テスト駆動開発)、リファクタリング、レガシーコードの処理のためのツールが含まれています。
  • 統合: Magit (Gitインターフェース)、Flycheck (エラーチェック)、Helm (あいまい検索) と連携します。

仕組み

  • 別途 Aider CLI をインストールする必要があります。
  • 設定は直接Aider CLIに渡されるため、ターミナル版と同じ設定やモデルオプション(Claude、GPTなど)を共有します。
  • 「transient」メニュー(C-c a などのキーバインドでトリガー)を使用して、利用可能なすべてのコマンドを表示します。
  • LiteLLMを介したローカルモデルを含む、さまざまなAIモデルをサポートしています。

要件

  • Emacs 26.1以降。
  • aider CLIがインストールされていること。
  • Emacsパッケージ: transient、magit、markdown-mode。
  • AIモデルのAPIキー(AnthropicやOpenAIなど)。

要するに、これはAIペアプログラミングをEmacs内の一級市民にし、コードレビュー、リファクタリング、構造化されたワークフローに焦点を当てた生産性向上ツールです。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト