Aider

kept

Git-native, terminal-native, does one thing well. Exactly what I want from an AI pair.

|terminal-agents|tool →

signal: r/neovim thread

The Claim

Aider is a terminal-based AI pair programming tool that works directly with your git repo. You add files to the chat, describe what you want changed, and it edits them in place with automatic git commits. It supports multiple LLM backends and emphasizes a tight feedback loop: change, commit, review, continue.

What I Tried

I used it for a week-long refactoring sprint on a TypeScript monorepo. The tasks ranged from renaming interfaces and updating imports across packages, to extracting utility functions from bloated modules, to rewriting test files to use a new assertion pattern.

The `/add` command to scope which files are in context is simple and effective. I'd add the files I knew were relevant, describe the change, and watch it produce a diff. If the diff looked right, it committed automatically with a descriptive message. If it didn't, I'd `/undo`, adjust my prompt, and try again. The whole cycle takes seconds.

I also tested it with different models. Claude Sonnet was the most reliable for my TypeScript work. GPT-4o was fine but occasionally produced diffs that didn't apply cleanly. Switching models is a flag change, which is nice.

What Surprised Me

The git integration is not a gimmick. Every change is an atomic commit. If something goes wrong, you `git reset` and you're back to clean. I never once had to manually untangle partially applied changes. After years of AI tools that dump code into your editor and leave you to sort out what changed, this felt like the right abstraction.

The diff format also caught my eye. Aider uses a search-and-replace block format that's more reliable than whole-file rewrites. It means the model only needs to specify what's changing, not regenerate 200 lines of untouched code. Fewer tokens, fewer errors, faster turnaround.

What's limited is the project-wide context. Aider knows about the files you've added to the chat, but it doesn't automatically map your project structure or infer relationships between modules. You're the one deciding what's relevant. That's fine for targeted refactors but means you're doing more thinking upfront on cross-cutting changes.

Who It's For

Terminal-first developers who want AI edits with git safety rails. If you value explicit control, small atomic changes, and the ability to undo anything instantly, aider fits. It's especially good for refactoring tasks where you know which files need to change and can describe the transformation clearly.

Verdict

Kept. Aider respects the two things I care about most: my terminal and my git history. It doesn't try to be an autonomous agent or replace my editor. It's a focused tool that does code edits well and gets out of the way. The model-agnostic approach is a bonus. I pair it with Claude Code for broader project tasks and use aider for surgical file-level changes. They complement each other well.