aidermacs  by MatthewZMD

AI pair programming in Emacs, powered by Aider

Created 11 months ago
861 stars

Top 41.7% on SourcePulse

GitHubView on GitHub
Project Summary

Aidermacs integrates Aider, an open-source AI pair programming tool, into Emacs, offering capabilities similar to Cursor for Emacs users. It targets developers who prefer Emacs workflows and want AI assistance for coding tasks like code generation, explanation, and refactoring.

How It Works

Aidermacs leverages Emacs' transient menu system for a Magit-like user experience. It allows users to select files for the AI to read or edit, manage sessions, and interact with AI models through various modes (Code, Chat, Architect). A key feature is the experimental "Architect Mode," which uses separate AI models for reasoning and code generation, claiming state-of-the-art results on code editing benchmarks.

Quick Start & Requirements

  • Install: Via Melpa or Non-GNU Elpa, or manual clone.
  • Requirements: Emacs ≥ 26.1, Aider, Transient.
  • Configuration: Requires setting API keys (e.g., ANTHROPIC_API_KEY, OPENROUTER_API_KEY) and optionally configuring models and modes in init.el.
  • Docs: Aider Documentation

Highlighted Details

  • Supports multiple AI backends (OpenAI, Anthropic, DeepSeek, Gemini, OpenRouter) with dynamic model selection.
  • Architect Mode uses separate models for reasoning and code generation.
  • Integrates with Emacs' Ediff for reviewing AI-generated changes.
  • Supports remote file editing via Emacs Tramp.
  • Offers file watching for AI coding instructions in comments.

Maintenance & Community

  • Community-driven development with contributions encouraged via GitHub Issues and pull requests.
  • Active community feedback cited from Reddit.

Licensing & Compatibility

  • The README does not explicitly state a license for Aidermacs itself. Aider is Apache 2.0 licensed. Compatibility for commercial use depends on the underlying AI models and Aider's license.

Limitations & Caveats

  • Architect Mode is experimental.
  • File watching currently only works in vterm mode.
  • The README notes that aidermacs-default-model, aidermacs-architect-model, etc., are ignored if a .aider.conf.yml file is used, requiring all configuration to be in the YAML file.
Health Check
Last Commit

1 month ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
3
Star History
22 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.