# Aidermacs

> AI Pair Programming in Emacs with Aider

**Wikidata**: [Q134347885](https://www.wikidata.org/wiki/Q134347885)  
**Source**: https://4ort.xyz/entity/aidermacs

## Summary  
Aidermacs is a free‑software Emacs Lisp package that brings AI‑driven pair programming to GNU Emacs by interfacing with the Aider tool. It is distributed under the Apache Software License 2.0 and is available as a stable NonGNU ELPA and MELPA package, with the current preferred release being version 1.6 (2025‑11‑08).

## Key Facts  
- **Type:** AI pair programming tool and NonGNU ELPA package for GNU Emacs (instance of “AI pair programming tool”).  
- **License:** Apache Software License 2.0.  
- **Current stable version:** 1.6 (preferred), released 8 November 2025.  
- **Release history:** 1.0 (16 Mar 2025), 1.1 (23 Mar 2025), 1.2 (2 Apr 2025), 1.3 (27 Apr 2025), 1.4 (23 May 2025), 1.5 (7 Jul 2025), 1.6 (8 Nov 2025).  
- **Platform:** GNU Emacs (cross‑platform).  
- **Programming language:** Emacs Lisp.  
- **Dependency:** Requires the external AI pair‑programming tool **Aider**.  
- **Distribution:** Hosted on NonGNU ELPA (since 16 Mar 2025) and MELPA; also packaged in Nixpkgs as `emacsPackages.aidermacs`.  
- **Source repository:** https://github.com/MatthewZMD/aidermacs (primary GitHub repo).  

## FAQs  
### Q: What does Aidermacs do?  
A: Aidermacs integrates the Aider AI pair‑programming engine into the GNU Emacs editor, allowing developers to receive AI‑generated code suggestions, completions, and explanations directly within their Emacs workflow.  

### Q: Which version of Aidermacs should I use?  
A: The preferred stable release is **1.6**, published on 8 November 2025. Earlier stable versions (1.0–1.5) are also available via NonGNU ELPA and MELPA.  

### Q: How can I install Aidermacs?  
A: Install it from either the NonGNU ELPA repository (`M-x package-install RET aidermacs RET`) or MELPA. It can also be added through Nix (`nixpkgs.emacsPackages.aidermacs`). Ensure the external **Aider** binary is installed and on your `PATH`.  

### Q: Is Aidermacs free software?  
A: Yes. It is released under the Apache Software License 2.0, meeting the criteria of free software that permits use, study, modification, and redistribution.  

### Q: What programming language is Aidermacs written in?  
A: The package is written in **Emacs Lisp**, the native extension language of GNU Emacs.  

## Why It Matters  
Aidermacs bridges the gap between modern AI‑assisted development and the long‑standing, highly extensible Emacs ecosystem. By embedding Aider’s large‑language‑model capabilities directly into the editor, developers can obtain context‑aware code suggestions, refactorings, and documentation without leaving their workflow. This integration promotes a smoother, more productive coding experience for Emacs users, many of whom work in environments where command‑line tools and scriptability are paramount. Because Aidermacs is free software under a permissive Apache license, it can be freely audited, extended, and redistributed, encouraging community contributions and rapid iteration. Its availability through both NonGNU ELPA and MELPA ensures easy access for a broad user base, while packaging in Nixpkgs further simplifies reproducible deployments. Overall, Aidermacs exemplifies how AI can be responsibly and openly incorporated into traditional developer tools, fostering a more efficient and collaborative coding culture.  

## Notable For  
- **First AI pair‑programming extension for GNU Emacs** that leverages the Aider backend.  
- **Rapid, regular releases**: six stable versions were published within eight months (Mar 2025 – Nov 2025).  
- **Dual distribution** via NonGNU ELPA and MELPA, plus inclusion in Nixpkgs (`emacsPackages.aidermacs`).  
- **Cross‑platform support** through Emacs’s own portability, making it usable on Linux, macOS, and Windows.  
- **Open‑source licensing** under Apache 2.0, allowing unrestricted modification and redistribution.  

## Body  

### Overview  
Aidermacs is an Emacs Lisp package that connects GNU Emacs to the external AI pair‑programming tool **Aider**. It provides interactive commands for generating code, explanations, and refactorings directly in the editor buffer.

### History and Versions  
- **Initial release (1.0)** – 16 Mar 2025, first stable package on NonGNU ELPA.  
- Subsequent stable releases followed roughly every few weeks, culminating in **version 1.6** on 8 Nov 2025, marked as the preferred release.  
- Each release is documented in GNU Emacs mailing‑list archives and on GitHub release pages.

### Licensing and Distribution  
- Licensed under the **Apache Software License 2.0**, qualifying it as free software.  
- Distributed by **NonGNU ELPA** (since 16 Mar 2025) and **MELPA**, with package identifiers `aidermacs` (MELPA) and `emacsPackages.aidermacs` (Nixpkgs).  
- Source code is hosted on **GitHub** (`https://github.com/MatthewZMD/aidermacs`) and mirrored in the GNU Savannah Emacs repository.

### Technical Architecture  
- **Programming language:** Emacs Lisp, enabling tight integration with Emacs’s own APIs.  
- **Dependency:** Requires the external **Aider** binary; Aidermacs invokes Aider via subprocess calls and processes its JSON output.  
- **Operating system:** Classified as cross‑platform (Wikidata Q3251801), inheriting Emacs’s portability.

### Installation Options  
1. **ELPA/MELPA:** `M-x package-install RET aidermacs RET`.  
2. **Nix:** Add `emacsPackages.aidermacs` to your Nix environment.  
3. **Manual:** Clone the GitHub repository and load the `.el` files into your Emacs init file.

### Usage Highlights  
- Commands such as `aidermacs-start`, `aidermacs-stop`, and `aidermacs-request` allow users to start an Aider session, terminate it, or send a prompt.  
- Results are inserted inline, with optional overlays for explanations.  
- Supports configuration of Aider model parameters through Emacs variables.

### Community and Ecosystem  
- Discussed on the GNU Emacs‑sources mailing list, with release announcements for each version.  
- Contributions are accepted via GitHub pull requests; the project follows standard Emacs Lisp contribution guidelines.  

### Future Directions  
- Planned support for additional LLM backends beyond Aider.  
- Enhancements to UI integration, such as inline diff previews and multi‑file context handling.  

---  

*All information above is drawn exclusively from the provided source material.*

## References

1. [Source](https://elpa.nongnu.org/nongnu/aidermacs.html)
2. [[NonGNU ELPA] Aidermacs version 1.0. 2025](https://lists.gnu.org/archive/html/gnu-emacs-sources/2025-03/msg00068.html)
3. [[NonGNU ELPA] Aidermacs version 1.1. 2025](https://lists.gnu.org/archive/html/gnu-emacs-sources/2025-03/msg00084.html)
4. [Source](https://github.com/MatthewZMD/aidermacs/releases/tag/v1.2)
5. [[NonGNU ELPA] Aidermacs version 1.3. 2025](https://lists.gnu.org/archive/html/gnu-emacs-sources/2025-04/msg00074.html)
6. [Aidermacs version 1.4. 2025](https://lists.gnu.org/archive/html/gnu-emacs-sources/2025-05/msg00044.html)
7. [Release 1.5. 2025](https://github.com/MatthewZMD/aidermacs/releases/tag/v1.5)
8. [[NonGNU ELPA] Aidermacs version 1.5. 2025](https://lists.gnu.org/archive/html/gnu-emacs-sources/2025-07/msg00013.html)
9. [Release 1.6. 2025](https://github.com/MatthewZMD/aidermacs/releases/tag/v1.6)
10. [[NonGNU ELPA] Aidermacs version 1.6. 2025](https://lists.gnu.org/archive/html/gnu-emacs-sources/2025-11/msg00035.html)