Emacs向けClaude Code IDEの統合
(github.com/manzaltu)- Claude Code IDE for Emacsは、Emacs内でClaude Code CLIをネイティブに統合し、強力なAIコーディングアシスタント環境を提供する
- **Model Context Protocol(MCP)**ベースの双方向ブリッジにより、ClaudeはEmacsのLSP、プロジェクト管理、Elisp関数などの多様な機能を活用できる
- 自動プロジェクト検出、マルチセッション、診断(エラー/警告)連携、高度なdiff、tab-bar、選択/バッファ追跡など、Emacs向け最適化機能を提供する
- Emacsコマンドと拡張性を基盤に、MCPサーバー経由で直接コマンドを公開し、カスタムワークフロー連携を実現可能
- ClaudeとEmacs全体のエコシステム間で深く統合し、クラウドベースのAI支援開発環境を構築する
概要
Claude Code IDE for Emacsは、Claude Code CLIとの連携によりEmacs環境内でClaude AIの機能を最大限活用するオープンソースプロジェクトである。従来の単純なターミナルラッパーと異なり、本パッケージは双方向通信が可能なMCP(Model Context Protocol)ベースのブリッジを提供し、ClaudeがEmacs内部機能を実際に利用できるよう設計されている。LSP、プロジェクト管理、Elisp関数などEmacsの強力なエコシステムと接続し、Emacsユーザー向けの生産的でインテリジェントなAI開発支援環境を実現する。
主な機能
-
自動プロジェクト検出とセッション管理
- Emacs標準のproject.elを活用し、プロジェクトを自動認識してセッションを分離
- プロジェクトごとに独立したClaude Codeインスタンスとバッファを提供
-
ターミナル統合とカラーサポート
- vtermまたはeatを介したカラーターミナルサポート
- Emacs内でClaudeと対話可能
-
MCPプロトコルによるIDE統合
- コード閲覧、シンボル参照、AST解析など、さまざまなEmacsコマンドをMCPサーバーとして公開
- ClaudeがEmacsコマンドとユーザー定義関数を実行可能
-
拡張性の高いMCP Toolsサーバー
- カスタマイズされたMCP toolの追加/定義が可能(例:プロジェクト全体の検索、グローバルリファクタリングなど)
-
コード診断とdiff
- Flycheck、Flymake連携によるコードエラー/警告の診断情報提供
- ediffを用いた高度なdiffビューと診断情報アクセスのサポート
-
状態/コマンド切り替え管理
- tab-bar、選択/バッファ追跡などによりClaudeがユーザーの現在コンテキストを理解可能
Emacsツール統合
Claude Code IDEはMCP toolシステムとしてEmacsの様々なコマンドと情報をClaudeに直接公開する
-
LSP統合(xref)
- Go-to-definition、プロジェクト全体のシンボル/参照探索など、LSPベースのインテリジェントな探索をサポート
-
Tree-sitterサポート
- 構文木解析とAST(抽象構文木)ベースのコード構造理解を提供
-
Imenu、Project統合
- シンボル一覧、プロジェクトファイルおよび構造情報を自動提供
-
ユーザー定義Elisp関数
- MCP toolとして直接公開し、独自ワークフロー/ドメイン特化機能を活用可能
この統合により、ClaudeはEmacsエコシステムの文脈情報を活用し、コードレベルの精密なAI支援を提供できる
使い方
基本コマンド
M-x claude-code-ide-menu:すべてのコマンドを視覚的に表示するトランジェントメニューを呼び出す- プロジェクト内でClaude Codeを有効化、プロンプト送信、前回の会話を引き継ぎ、各種ステータス/セッション管理を提供
- 複数のプロジェクトを同時に管理でき、各プロジェクトごとの固有Claudeセッションを運用
ウィンドウとセッション管理
- 新規セッションが既に実行中の場合は、ウィンドウのトグル/表示機能のみを実行
- 標準Emacsコマンド(C-x 0)でウィンドウを閉じてもClaude自体は終了しない
設定
- Claude Code CLI、ターミナルバックエンド、診断バックエンド、ウィンドウ位置/サイズ、デバッグオプションなどの詳細なカスタマイズをサポート
- フラグ追加、システムプロンプト指定、バッファ命名関数など高度なオプションを提供
- MCPサーバーの有効化および利用ツール/ポート指定が可能
ターミナルバックエンド設定
- デフォルトはvtermで、必要に応じてeatバックエンドへ切り替え可能
- eatは純粋なElispベースのターミナルで、vtermのビルド問題が発生した場合に有用
- 専用キーバインドを提供(M-RET:プロンプトで改行、C-<escape>:終了/キャンセルなど)
診断/デバッグオプション
- Flycheck、Flymakeを自動検出/連携、または強制指定可能
- Claudeターミナルのリフロー(再整列)バグ(#1422)を回避するための一時的なオプションを内蔵
- EmacsおよびCLIレベルでの詳細なデバッグログをサポート(WebSocket、JSON-RPCメッセージなどを確認)
高度: 複数のworktreeとセッション運用
- git worktreeを活用し、同一プロジェクト内でブランチごとに複数の独立セッションを実行可能
- 作業グループごとに固有のバッファとコンテキストを維持し、並列開発ワークフローをサポート
Emacs MCPツールの詳細
組み込みMCPツールの例
- xref-find-references: プロジェクト内の特定シンボル参照を全件探索
- xref-find-apropos: パターンベースのシンボル/コード全体検索
- treesit-info: tree-sitterベースのAST解析データ提供
- imenu-list-symbols: ファイル内のすべての関数・変数一覧を出力
- project-info: 現在のプロジェクトメタ情報/ファイル情報を提供
ユーザー定義ツールの追加
- ユーザーは自身のEmacs関数をMCP tool形式に従って追加可能
- 例えば、ripgrepを用いたコード検索ツール、特定ドメイン専用コマンドを定義し、Claudeから直接呼び出すことができる
ライセンスと関連プロジェクト
- GNU GPL v3.0以上で提供
- 関連プロジェクトとして、VS Code、Neovim(claudecode.nvim)統合プラグインなどが紹介されている
重要性と利点
Claude Code IDE for Emacsは従来のLLM/AI統合ツールとは異なり、Emacs内の固有の作業コンテキストとエコシステム情報を積極的に活用できる強力なAI IDE環境を提供する。
比較的初期段階であるにもかかわらず、様々な内蔵機能、高いカスタマイズ可能性、マルチプロジェクト対応を備えており、Emacsユーザーとオープンソース開発者にとって非常に強力な選択肢となる
1件のコメント
Hacker Newsのコメント
notebookllmのように、研究と記録をローカルで直接管理できる方式が強く必要になる。