Builders Spotlight — Aider
The story and philosophy behind one open-source AI project: what drove it, what makes it different, and why it matters.
Aider
AI pair programming in the terminal with git integration, built by Paul Gauthier.
The problem it set out to solve
Developers wanted LLMs to help write code, but existing tools either required context-switching to web UIs or produced commits that were incomprehensible diffs—scattered changes with no narrative. You’d ask an LLM to refactor a function, and it would generate code that looked right locally but had no way to track why those changes happened or revert cleanly. The AI was in your codebase, but not in your workflow.
The key insight
Git isn’t just version control—it’s a communication protocol between you and your future self. If you make the LLM aware of git operations, it can commit incrementally with human-readable messages, reference specific commits, and let you reject or refine changes before they land. The LLM becomes a proper collaborator that speaks your version control language, not a code generator you paste around.
How it works (in plain terms)
Aider runs in your terminal and watches your working directory. You describe what you want built or changed; the LLM reads your files, makes edits, and stages commits with meaningful messages. You can see diffs before accepting them, ask the LLM to refactor its own work, and revert changes by referencing commit hashes. The loop is tight: message → edit → review → commit. The LLM has full context of your repo’s history and can reason about what already exists, avoiding redundant rewrites.
What it looks like in practice
aider src/app.py src/utils.py
# In the Aider REPL:
> Add error handling to the API endpoint with proper logging
# LLM edits files and proposes:
# git add src/app.py
# git commit -m "Add try-except with structured logging to /api/users endpoint"
> looks good
# Changes committed; you continue
> now add unit tests for the new error cases
Why it matters
- Reviewable AI work: Every change is a git commit with a message. You can blame-annotate LLM contributions, see the full history, and bisect to find when a bug appeared.
- Workflow integration: No tab-switching, no copy-paste. The LLM edits your actual files and respects
.gitignore, branches, and your existing project structure. - Iterative refinement: You can reject changes, ask the LLM to fix its own mistakes, and loop without losing context—the LLM sees its own commits and learns from feedback.
Where to go next
- GitHub: github.com/Aider-AI/aider — full docs and model recommendations
- Getting started: The README has a quick setup for local and cloud LLMs (Claude, current OpenAI models, Llama, etc.)
- Community & examples: The usage guide covers the workflows teams lean on in production