Aidermacs: AI Pair Programming in Emacs
Aidermacs brings AI-powered development to Emacs by integrating Aider, one of the most powerful open-source AI pair programming tools. If you're missing Cursor but prefer living in Emacs, Aidermacs provides similar AI capabilities while staying true to Emacs workflows.

Key Features
- Intelligent model selection with multiple backends
- Built-in Ediff integration for AI-generated changes
- Enhanced file management from Emacs
- Great customizability and flexible ways to add content
Community Speaks
Here's what the community is saying about Aidermacs:
"Are you using aidermacs? For me superior to cursor." - u/berenddeboer
"This is amazing... every time I upgrade my packages I see your new commits. I feel this the authentic aider for emacs" - u/wchmbo
"Between Aidermacs and Gptel it's wild how bleeding edge Emacs is with this stuff. My workplace is exploring MCP registries and even clients that are all the rage (E.g Cursor) lag behind what I can do with mcp.el and gptel for tool use." - u/no_good_names_avail
"This looks amazing... I have been using ellama with local llms, looks like that will work here too. Great stuff!!" - u/lugpocalypse
"Honestly huge fan of this. Thank you for the updates!" - u/ieoa
Quick Start
- Requirements
- Emacs ≥ 26.1
- Aider or its community fork Aider Community Experimentation.
- Transient
- Download Aidermacs through Melpa or Non-GNU Elpa, or clone manually
- Modify this sample config and place it in your Emacs
init.el:
(use-package aidermacs
:bind (("C-c a" . aidermacs-transient-menu))
:config
; Set API_KEY in .bashrc, that will automatically picked up by aider or in elisp
(setenv "ANTHROPIC_API_KEY" "sk-...")
; defun my-get-openrouter-api-key yourself elsewhere for security reasons
(setenv "OPENROUTER_API_KEY" (my-get-openrouter-api-key))
:custom
; See the Configuration section below
(aidermacs-default-chat-mode 'architect)
(aidermacs-default-model "sonnet"))
- Open a project and run
M-x aidermacs-transient-menuorSPC a a(or your chosen binding). - Add files and start coding with AI!
Spacemacs
For Spacemacs users:
- Add
aidermacsto yourdotspacemacs-additional-packageslist in your.spacemacsfile:
dotspacemacs-additional-packages '(
(aidermacs :variables
aidermacs-default-chat-mode 'architect
aidermacs-default-model "sonnet")
)
- Add the keybinding to your
dotspacemacs/user-configfunction in.spacemacs:
(defun dotspacemacs/user-config ()
;; Set leader key for Aide