Empryo vs Aider
Two terminal-native coding agents — one edits text, the other edits symbols.
Aider and Empryo both live in your terminal and work directly against your git repo. The core difference is how they touch code: Aider asks the model to return search/replace text blocks and applies them as a diff, while Empryo edits through the AST and LSP, so a rename is a real workspace rename and a signature change updates every call site. If you want a fast, lightweight pair programmer that works with almost any model, Aider is excellent. If you want structural edits that hold up under a typechecker on a large codebase, that's where Empryo is built differently.
| Feature | Empryo | Aider |
|---|---|---|
| How it edits code | AST + LSP mutations — symbol-level operations applied as atomic batches, gated by typecheck | Text search/replace diff blocks returned by the model (whole, diff, udiff formats) |
| Code understanding | The Genome — live symbol/import/call graph, re-indexed in real time, ranked by PageRank + git co-change with blast-radius tags | Repo map — tree-sitter symbol map with dependency-graph ranking, generated per request within a token budget (default ~1k tokens) |
| Language tooling | Full LSP integration: workspace rename, find references, call hierarchy, live diagnostics across 576+ auto-installed servers | No LSP integration; relies on the model plus optional linting/test commands |
| Languages parsed | 30+ languages parsed for the graph; 65+ AST operations on TypeScript/JavaScript | 100+ languages supported overall; tree-sitter repo map covers ~74 |
| Model choice | 22 providers with a per-slot task router (different model per task and per tab) | Works with almost any LLM including local models; architect/editor lets you split planning and editing across two models |
| Surfaces | Terminal TUI with embedded Neovim, a native desktop app, and headless --json mode for CI | Terminal-first, plus a watch mode that integrates with your own IDE/editor |
| Safety / undo | Git-checkpoint time machine rewinds code and conversation together; JSONL sessions survive crashes | Auto-commits each change to git with descriptive messages, so you can revert with standard git |
| Pricing & license | Free to use; bring your own model key or run local models | Free and open source (Apache-2.0); you pay only your own model API costs |
When to choose Empryo
Choose Empryo when the cost of a wrong edit is high: large or interconnected codebases where renames, moves, and signature changes have to land on every call site without breaking on whitespace. Empryo edits through the AST and LSP (576+ language servers), so workspace renames, find-references, and call hierarchy come from the same servers your editor trusts, and typecheck gates each batch. Its Genome indexes symbols, imports, and call edges into a live graph ranked by PageRank and git co-change, so the agent navigates structure with blast-radius awareness instead of fitting a text map into a token budget. Add the per-slot task router (cheap models explore, strong models write), a git-checkpoint time machine that rewinds code and conversation together, and a native desktop app alongside the TUI, and Empryo leans toward people doing serious refactoring who want precision and cost control on bigger repos.
When Aider fits better
Choose Aider when you want a battle-tested, minimal tool that gets out of the way. It is one of the most mature open-source coding agents, with a huge user base, broad model support out of the box (Claude, GPT, DeepSeek, o-series, plus local models), and clean git integration that auto-commits each change with a sensible message. Aider is lightweight to install and run, has handy extras like voice-to-code, web-page context, and a watch mode that picks up comments you write in your own editor, and its architect/editor split works well for letting one model plan and another apply. For quick edits, smaller projects, scripting against many different models, or anyone who prefers a single focused Python tool over a larger code-intelligence engine, Aider is a strong, honest pick.
The verdict
Aider and Empryo come from the same philosophy — terminal-native, git-aware, bring-your-own-model — and disagree on one thing that matters a lot at scale: whether code is text or structure. Aider's text search/replace approach is simple, portable across nearly every model, and proven by a very large user base; it's a fast, reliable pair programmer that's hard to beat for everyday edits. Empryo treats code as a graph of symbols and edits it through the AST and LSP, which costs more engineering up front but pays off on large, tightly-coupled codebases where a rename has to be a real rename. If you're optimizing for lightweight simplicity and model flexibility, Aider. If you're optimizing for structural correctness, blast-radius awareness, and refactors that survive a typecheck, Empryo.
FAQ
What's the real difference between Empryo and Aider?
Both are terminal-native AI coding agents that work against your git repo. The core difference is the editing model: Aider has the LLM return text search/replace blocks (whole/diff/udiff) and applies them as a diff, while Empryo edits through the AST and LSP using symbol-level operations gated by a typecheck. Empryo also builds a live, real-time symbol graph (the Genome) and integrates 576+ language servers; Aider builds a per-request tree-sitter repo map sized to a token budget.
Does Aider use the AST or LSP to edit code?
No. Aider edits via text-based search/replace formats and does not integrate Language Server Protocol servers. It uses tree-sitter to build its repo map for context, but the actual edits are textual diffs applied to files. Empryo, by contrast, performs AST mutations and uses LSP for workspace rename, find references, call hierarchy, and diagnostics.
Is Empryo free to use like Aider?
Yes. Both are free to use — you only pay your own model API costs, or run local models for free. Aider is Apache-2.0 licensed. Empryo runs on macOS, Linux, and Windows (via WSL) in both a terminal TUI and a native desktop app.
Which should I pick for a large codebase refactor?
For large, interconnected refactors — renames, moves, signature changes across many files — Empryo is purpose-built for it: AST/LSP edits land on every call site without breaking on whitespace, the Genome shows blast radius before a change, and typecheck gates each batch. Aider can do refactors well too, especially with a strong model in architect/editor mode, but its text-diff edits don't have the same structural guarantees on big codebases.
curl -fsSL empryo.com/install.sh | bash