Intégration de Claude Code IDE pour Emacs
(github.com/manzaltu)- Claude Code IDE for Emacs intègre nativement Claude Code CLI dans Emacs pour proposer un environnement d’assistance au codage par IA puissant.
- Grâce à un pont bidirectionnel basé sur le Model Context Protocol (MCP), Claude peut utiliser diverses fonctionnalités d’Emacs, notamment le LSP, la gestion de projets et les fonctions Elisp.
- Il propose des fonctions optimisées pour Emacs, comme la détection automatique de projet, les sessions multiples, l’intégration du diagnostic (erreurs/avertissements), les diff avancés, le
tab-barainsi que le suivi de la sélection et des buffers. - S’appuyant sur les commandes et l’extensibilité d’Emacs, il permet d’exposer directement des commandes via un serveur MCP et d’intégrer des workflows personnalisés.
- Une connexion approfondie entre Claude et l’ensemble de l’écosystème Emacs permet de bâtir un environnement de développement assisté par IA, en mode cloud.
Vue d’ensemble
Claude Code IDE for Emacs est un projet open source qui optimise les fonctionnalités de Claude AI dans l’environnement Emacs via l’intégration avec Claude Code CLI. Contrairement aux simples wrappers de terminal, ce package fournit un bridge basé sur MCP (Model Context Protocol) avec communication bidirectionnelle, conçu pour que Claude puisse réellement exploiter les fonctionnalités internes d’Emacs. En se connectant à l’écosystème riche d’Emacs (LSP, gestion de projets, fonctions Elisp), il met en place un environnement de support au développement IA productif et intelligent propre aux utilisateurs d’Emacs.
Principales fonctionnalités
-
Détection automatique de projet et gestion des sessions
- Utilise le
project.elintégré à Emacs pour reconnaître automatiquement les projets et séparer les sessions. - Fournit une instance Claude Code indépendante et des buffers par projet.
- Utilise le
-
Intégration du terminal et support couleur
- Support d’un terminal couleur via
vtermoueat. - Discussion avec Claude directement dans Emacs.
- Support d’un terminal couleur via
-
Intégration IDE via le protocole MCP
- Expose diverses commandes Emacs (navigation de code, recherche de symboles, analyse AST, etc.) via un serveur MCP.
- Permet à Claude d’exécuter des commandes Emacs et des fonctions personnalisées.
-
Serveur MCP Tools hautement extensible
- Ajout et définition de tools MCP personnalisées possibles (par exemple : recherche globale dans le projet, refactoring global, etc.).
-
Diagnostic de code et diff
- Fournit les informations d’erreur/avertissement via l’intégration Flycheck/Flymake.
- Prend en charge des vues de diff avancées et l’accès aux diagnostics via
ediff.
-
Gestion du changement d’état/commandes
- Grâce à
tab-baret au suivi de la sélection/buffer, Claude peut comprendre le contexte courant de l’utilisateur.
- Grâce à
Intégration des outils Emacs
Claude Code IDE expose directement à Claude, via le système de MCP tool, diverses commandes et informations d’Emacs.
-
Intégration LSP (xref)
- Prise en charge de la navigation intelligente basée sur le LSP : go-to-definition, recherche de symboles et de références à l’échelle du projet.
-
Support Tree-sitter
- Fournit une compréhension de la structure de code via l’analyse de l’arbre syntaxique avec AST (Abstract Syntax Tree).
-
Intégration Imenu, Project
- Fournit automatiquement la liste des symboles, les fichiers du projet et les informations de structure.
-
Fonctions Elisp personnalisées
- Exposition directe en tant que MCP tool pour exploiter des flux de travail spécifiques ou des fonctionnalités métier.
Cette intégration permet à Claude d’offrir un support IA précis au niveau du code en s’appuyant sur les informations contextuelles de l’écosystème Emacs.
Utilisation
Commandes de base
M-x claude-code-ide-menu: ouvre le menu transient qui expose visuellement toutes les commandes.- Active Claude Code dans un projet, envoie des prompts, reprend les conversations précédentes et gère divers états/sessions.
- Permet de gérer plusieurs projets simultanément avec des sessions Claude dédiées à chaque projet.
Gestion des fenêtres et sessions
- Si une nouvelle session est déjà en cours d’exécution, l’action se limite à basculer/afficher la fenêtre.
- Même après avoir fermé la fenêtre avec la commande standard d’Emacs (
C-x 0), le processus Claude lui-même ne s’arrête pas.
Paramètres
- Supporte une personnalisation détaillée : Claude Code CLI, backend terminal, backend de diagnostic, position/taille de fenêtre, options de debug, etc.
- Offre des options avancées, comme l’ajout de flags, la définition du system prompt, la fonction de nommage des buffers.
- Active un serveur MCP et permet de spécifier les outils/ports utilisés.
Configuration du terminal backend
- La valeur par défaut est
vterm, avec possibilité de basculer vers le backendeatsi nécessaire. eatest un terminal purement basé sur Elisp, utile en cas de problème de build devterm.- Propose des raccourcis clavier dédiés (
M-RET: retour à la ligne dans le prompt,C-<escape>: quitter/annuler, etc.).
Options de diagnostic et débogage
- Détection et intégration automatiques, ou définition forcée, de Flycheck/Flymake.
- Option temporaire intégrée pour contourner le bug de reflow du terminal Claude (#1422).
- Prise en charge de journaux de débogage détaillés côté Emacs et côté CLI (visualisation des messages WebSocket, JSON-RPC, etc.).
Avancé : plusieurs Worktree, gestion des sessions
- Utilisation de
git worktreepour exécuter plusieurs sessions indépendantes par branche au sein d’un même projet. - Conservation d’un buffer et d’un contexte propres à chaque groupe de travail pour supporter des workflows de développement parallèles.
Détails des MCP Tools Emacs
Exemples de MCP Tools intégrés
xref-find-references: recherche complète des références d’un symbole donné dans le projet.xref-find-apropos: recherche de symboles/code par motif dans l’ensemble du code.treesit-info: fournit des données d’analyse AST basées sur tree-sitter.imenu-list-symbols: affiche la liste de toutes les fonctions et variables d’un fichier.project-info: fournit les métadonnées et informations de fichiers du projet courant.
Ajout d’outils personnalisés
- Les utilisateurs peuvent ajouter leurs propres fonctions Emacs au format MCP tool.
- Par exemple, il est possible de définir un outil de recherche de code basé sur
ripgrepou des commandes spécifiques à un domaine, puis de les appeler directement depuis Claude.
Licence et projets associés
- Distribué sous GNU GPL v3.0 ou version ultérieure.
- Présente aussi des projets associés comme les plugins d’intégration pour VS Code et Neovim (
claudecode.nvim), entre autres.
Importance et avantages
Claude Code IDE for Emacs offre un environnement IDE IA puissant qui, contrairement aux autres outils d’intégration LLM/IA, exploite activement le contexte de travail propre à Emacs et les informations de son écosystème. Bien qu’il en soit encore aux premières étapes, il constitue un choix particulièrement solide pour les utilisateurs d’Emacs et les développeurs open source, grâce à ses nombreuses fonctions intégrées, à son haut niveau de personnalisation et à sa prise en charge multi-projets.
1 commentaires
Avis de Hacker News
notebookllmpour gérer localement recherches et notes devient alors indispensable.