Controller code is tangled with duplicate logic
The refactor is done in a single aider session with a clean git history — reviewable commit by commit — and no test regressions.
Open-source AI pair programmer in your terminal
A terminal-only, open-source pair programmer with no GUI of its own — you point it at files from the command line, and every change lands as its own Git commit.
Aider is a free, open-source command-line tool that turns your terminal into an AI coding session. Point it at one or more files, describe what you want in plain English, and it edits those files and immediately commits the changes to Git with a descriptive message — so every AI change is a clean, reversible commit. It supports 100+ languages and works with Claude, GPT, Gemini, DeepSeek, or a local model. → Requires comfort with the terminal and your own paid LLM API key.
Aider is an open-source AI pair programmer in your terminal. Below: what it's best at, and what to watch for.
Reversible, auditable changes: every AI edit is its own clean git commit, so you can always roll back one step.
It auto-commits every change to Git immediately, with no confirmation prompt — and there's no GUI here, just the terminal.
Aider itself has no price tag or usage cap — free and MIT-licensed forever. You only ever pay your model provider, and that drops to zero on a local model.
Aider can launch your preferred text editor when you invoke the /editor command.
You will set an environment variable so aider opens VS Code (or another editor) in blocking mode.
export AIDER_EDITOR="code --wait" to the file.source ~/.bashrc or open a new terminal) to apply the change.aider --editor test.txt in any git‑tracked directory, creating a temporary file named test.txt.A Python virtual environment isolates Aider’s dependencies, preventing conflicts with other projects.
Install Aider in an isolated environment ready for use from the terminal
Aider runs inside a Git repository, takes natural‑language prompts and edits files while automatically committing each change.
Make a code change by describing it in plain English and have Aider create a descriptive commit
process_data to clean_data and update all calls” at the Aider promptOpenRouter is a gateway that provides access to many LLM providers via a single API key.
You will configure aide to use an OpenRouter model for code edits.
export OPENROUTER_API_KEY= (replace with the actual value).cd /path/to/project).aider --model openrouter/anthropic/claude-3.7-sonnet to start aider with that model.Aider can perform multi‑step refactors, creating separate commits for each logical change.
Extract duplicated controller code into a new service class, update tests, and generate reversible AI‑driven commits
Aider can enumerate models it can reach and let you assign short aliases for convenience.
You will list all OpenRouter models and define an alias called sonnet that points to Claude 3.7 Sonnet.
aider --list-models openrouter/ to display the catalog of available OpenRouter models..aider.model.settings.yml in your home directory (or project root).
- name: sonnet
model: openrouter/anthropic/claude-3.7-sonnet
``aider --model sonnet.sonnet, applies the requested edit, and makes a commit, confirming that the alias resolves to the correct provider model.Aider can run your project's linters and test suites after each edit, automatically fixing detected issues.
You will configure aider to invoke linting and testing on every AI‑generated change.
.aider.yml in the repository root.
lint: true
run_tests: true
``aider --model openrouter/anthropic/claude-3.7-sonnet.Controller code is tangled with duplicate logic
The refactor is done in a single aider session with a clean git history — reviewable commit by commit — and no test regressions.
Need a quick summary of every numeric column
Quickly spot data distribution issues without manually inspecting every column.
My CSV has many blank columns
It eliminates manual column cleanup, delivering a concise output with only meaningful data.
Column parsing code is duplicated across scripts
Centralizing parsing logic simplifies maintenance and enables reuse across scripts.
Unsure if my mean calculation is correct
Ensures correctness early and catches regressions automatically.
README code samples are broken after an API change
Documentation drift is fixed in minutes; the next person to follow the README gets working code, not a confusing deprecation error.
Raw FHIR bundles need hand review
A stack of raw FHIR bundles that previously required manual review is turned into one analysis-ready table in a single session, with full field-level traceability back to the source export.
Need to launch AI pair‑programming from the command line
You can launch Aider directly from the terminal to begin editing files with AI
Only have an English sentence describing what you want
Aider translates a single English sentence into working Python code
Want to tweak code through conversation and never lose changes
You can refine code conversationally while each change is safely versioned
Need to roll back the latest AI edit
You can instantly roll back any unwanted change without losing prior work
Lint or test failures appear
When a lint or test error appears, Aider reads the output and suggests a corrective change automatically
Manually checking the diff and test outcome confirms that each change is safe to continue with
Not sure the mean calculation is correct
Introducing a focused unit test forces Aider to run the full check cycle, catching errors early
The public leaderboard lets you pick a model that balances accuracy and expense for your workload
Aider automatically shows how many tokens and dollars each request consumes, helping you stay within budget
Edit several source files at once
You can start Aider with multiple source files so it can modify them all in one interactive session
One huge script you can’t reuse
You can ask Aider to move functions or logic from a monolithic script into new module files while updating imports
Can’t convey what’s on screen
You can give Aider a screenshot so it sees the exact visual reference instead of you describing it
Want to feed a webpage into an AI code helper
Aider can read a web page you supply, letting the model work from the actual page content
Aider is an open-source AI pair programmer that runs in your terminal. Instead of a chat box in a browser, you start a session inside your project folder and describe the change you want in plain English; Aider edits the actual files for you and commits each change to Git. It is built for working on real code you own: writing scripts, refactoring across files, adding tests, and fixing bugs. It is not a point-and-click app builder and is less suited to pure writing tasks like reports. The big idea is that you stay in your normal local workflow and keep full control of the code through Git.
Yes. Aider accepts images and web pages as context, so you can hand it a screenshot of a chart or a documentation page and ask it to implement or match what is shown, rather than describing it in words. It also supports voice-to-code, letting you dictate a request instead of typing, which is handy for longer instructions. For documentation you can use the '/read' command to import reference files, or '/paste' to insert clipboard contents including images. Aider supports more than 100 programming languages, including Python, JavaScript, Rust, Go, C++, PHP, HTML and CSS, so the same workflow carries across whatever stack your project uses.
Aider runs locally on your own machine and edits files in your local Git repository, so the tool itself is not a cloud service. However, your code is not fully private by default, because Aider sends the relevant parts of your files to whichever LLM provider you choose, such as Anthropic or OpenAI, in order to generate edits. If you need everything to stay on your own hardware, run Aider against a local model through Ollama so no source code leaves your machine. Aider collects anonymous usage analytics to improve the tool, but it is opt-in: a random subset of users are asked to confirm first, and it never includes your code, chat messages, or keys. You can disable it with the --no-analytics flag.
Aider is terminal-only with no graphical interface, so you need basic command-line confidence to get started, and Windows users often want WSL2 for the smoothest experience. Because you pay LLM API costs directly, a heavy session on a frontier model can add up, so it pays to pick an economical model for routine work. Results also depend heavily on model quality: Aider may not work well with weaker models, which can struggle to format code edits correctly. It is a code editor, so it is less useful for pure writing tasks like lab reports or literature reviews. Finally, its safety net relies on Git, so you should work inside a repository to get clean, reversible commits.
Both are terminal-based AI coding tools that edit files in your project and lean on your Git history, so the workflow feels similar. The key difference is openness and model choice: Aider is fully open-source under Apache 2.0 and is model-agnostic, letting you bring your own key for Claude, GPT, Gemini, DeepSeek, or a free local model via Ollama, with no vendor lock-in. Claude Code is Anthropic's own tool, tightly tuned to Claude models and billed through Anthropic. Choose Aider when you want maximum control, the freedom to switch models for cost or capability, and a transparent open-source tool; choose Claude Code if you specifically want Anthropic's integrated, Claude-optimised experience.
Aider itself is completely free and open-source under the Apache 2.0 license, so there is no subscription. What you pay for is the large language model it talks to, because you bring your own API key and are billed per token by that provider at the model's standard per-token rates. You can also run Aider against local models via Ollama for zero token cost. Aider shows the running token count and dollar cost of each change in the terminal so you can watch spend live.
If you already have Python 3.8 to 3.13 installed, the recommended path is to run 'python -m pip install aider-install' and then 'aider-install', which sets Aider up in its own isolated environment for you. There are also one-line installers: on Mac and Linux, 'curl -LsSf https://aider.chat/install.sh | sh', and on Windows, 'powershell -ExecutionPolicy ByPass -c "irm https://aider.chat/install.ps1 | iex"'. uv and pipx are supported alternatives. After installing, you run the 'aider' command from inside your project directory. On Windows many users find WSL2 gives the smoothest experience.
Yes. Aider is free software but it needs an LLM to do the actual coding, so you supply an API key from a model provider (or run a local model). It works with most major LLMs, including Anthropic Claude, OpenAI, Google Gemini, DeepSeek, xAI, Azure, Cohere, and OpenAI-compatible endpoints. The docs highlight strong performers like Gemini 2.5 Pro, DeepSeek R1/V3, Claude 3.7 Sonnet, and OpenAI o3, o4-mini and GPT-4.1. You can switch models at launch with the --model flag (for example 'aider --model sonnet'), and Aider can also run against free local models through Ollama when you want no token cost.
Open a terminal in your project folder and run 'aider', optionally naming files you want it to edit, for example 'aider --model sonnet analysis.py'. Aider drops you into a chat prompt. Type your request in plain English, such as 'Read data.csv and print the mean and standard deviation for every numeric column.' Aider writes or edits the file, shows you the diff, and commits the change to Git with a sensible message. You keep the session open and refine conversationally with follow-up requests. If Aider is not already in a Git repository, it offers to create one, since its safety features depend on Git.
Every time Aider edits a file, it automatically commits those changes to Git with a descriptive, Conventional Commits style message marked to show the AI was involved. That means every AI edit is its own clean, reversible commit and you always have an audit trail of exactly what changed. If a change is wrong, type '/undo' to cleanly revert that last AI commit, and '/diff' to see all file changes since your last message. Aider works best inside a Git repo and will offer to create one. You can change this behaviour with flags like --no-auto-commits or even --no-git, though disabling Git is not recommended because you lose the easy rollback.
Launch Aider with several files at once, for example 'aider --model sonnet analysis.py helpers.py', and ask for a change that spans them; Aider edits all of them in one session and commits each coherent step to Git. You do not have to load every file by hand: Aider builds a map of your codebase so the model can reason about how files relate, including callers and definitions it is not directly editing. During a session you can add or remove files with the '/add' and '/drop' commands. A good practice is to keep only the files that actually need editing in the chat, so the model is not overwhelmed by irrelevant code.
Yes. Aider can automatically lint and test code after each change rather than leaving you to discover breakage later. When a lint or test surfaces an error, Aider reads the output and proposes a fix, then commits the corrected version, so both the failing and fixed states are captured in your Git history. You can also drive this manually in-chat: '/test' runs your test command and shares the result, and '/run' executes an arbitrary command and feeds its output back to the model. The lint and test steps run locally on your machine, so they add nothing beyond the model calls Aider already makes. This edit, lint, test, commit loop keeps each change verified rather than just plausible-looking.
Aider publishes a public model leaderboard based on its polyglot benchmark, which tests LLMs on 225 challenging Exercism exercises across C++, Go, Java, JavaScript, Python and Rust. The leaderboard reports each model's success rate alongside its cost, so you can deliberately trade accuracy against price. Use a frontier model for hard, multi-file work and a cheaper model for routine edits. To keep spend down, add only the files that need editing, group related requests into one clear message, and watch the live token and dollar counts Aider prints (use '/tokens' for the running total). For zero token cost on routine edits, run a free local model via Ollama.
Need to give an image or voice note as context for code
You can give Aider images, web pages, or voice to provide context for coding tasks
Understand where your source code is processed when using Aider
Want a live code‑writing partner in your terminal
Use Aider to write or edit code through natural language chat
Want separate Git commits for each AI edit
You get clean, reversible commits for every AI change
Need to edit several code files at once
Edit and commit changes across several code files in one session
Changes in code trigger automatic linting, testing, and commits
Get continuous verification of code changes without manual testing
The same set on /recipes, filtered by tool and role.
The practical follow-along once you know what Aider is. Fresh, dedicated Aider tutorials are scarce, so this is among the most current full walkthroughs.
Watch first for the mental model: why a terminal coding agent differs from an editor like Cursor.
Aider is an open-source AI pair programmer that runs in your terminal. Instead of a chat box in a browser, you start a session inside your project folder and describe the change you want in plain English; Aider edits the actual files for you and commits each change to Git. It is built for working on real code you own: writing scripts, refactoring across files, adding tests, and fixing bugs. It is not a point-and-click app builder and is less suited to pure writing tasks like reports. The big idea is that you stay in your normal local workflow and keep full control of the code through Git.
Yes. Aider accepts images and web pages as context, so you can hand it a screenshot of a chart or a documentation page and ask it to implement or match what is shown, rather than describing it in words. It also supports voice-to-code, letting you dictate a request instead of typing, which is handy for longer instructions. For documentation you can use the '/read' command to import reference files, or '/paste' to insert clipboard contents including images. Aider supports more than 100 programming languages, including Python, JavaScript, Rust, Go, C++, PHP, HTML and CSS, so the same workflow carries across whatever stack your project uses.
Aider runs locally on your own machine and edits files in your local Git repository, so the tool itself is not a cloud service. However, your code is not fully private by default, because Aider sends the relevant parts of your files to whichever LLM provider you choose, such as Anthropic or OpenAI, in order to generate edits. If you need everything to stay on your own hardware, run Aider against a local model through Ollama so no source code leaves your machine. Aider collects anonymous usage analytics to improve the tool, but it is opt-in: a random subset of users are asked to confirm first, and it never includes your code, chat messages, or keys. You can disable it with the --no-analytics flag.
Aider is terminal-only with no graphical interface, so you need basic command-line confidence to get started, and Windows users often want WSL2 for the smoothest experience. Because you pay LLM API costs directly, a heavy session on a frontier model can add up, so it pays to pick an economical model for routine work. Results also depend heavily on model quality: Aider may not work well with weaker models, which can struggle to format code edits correctly. It is a code editor, so it is less useful for pure writing tasks like lab reports or literature reviews. Finally, its safety net relies on Git, so you should work inside a repository to get clean, reversible commits.
Both are terminal-based AI coding tools that edit files in your project and lean on your Git history, so the workflow feels similar. The key difference is openness and model choice: Aider is fully open-source under Apache 2.0 and is model-agnostic, letting you bring your own key for Claude, GPT, Gemini, DeepSeek, or a free local model via Ollama, with no vendor lock-in. Claude Code is Anthropic's own tool, tightly tuned to Claude models and billed through Anthropic. Choose Aider when you want maximum control, the freedom to switch models for cost or capability, and a transparent open-source tool; choose Claude Code if you specifically want Anthropic's integrated, Claude-optimised experience.
Aider itself is completely free and open-source under the Apache 2.0 license, so there is no subscription. What you pay for is the large language model it talks to, because you bring your own API key and are billed per token by that provider at the model's standard per-token rates. You can also run Aider against local models via Ollama for zero token cost. Aider shows the running token count and dollar cost of each change in the terminal so you can watch spend live.
If you already have Python 3.8 to 3.13 installed, the recommended path is to run 'python -m pip install aider-install' and then 'aider-install', which sets Aider up in its own isolated environment for you. There are also one-line installers: on Mac and Linux, 'curl -LsSf https://aider.chat/install.sh | sh', and on Windows, 'powershell -ExecutionPolicy ByPass -c "irm https://aider.chat/install.ps1 | iex"'. uv and pipx are supported alternatives. After installing, you run the 'aider' command from inside your project directory. On Windows many users find WSL2 gives the smoothest experience.
Yes. Aider is free software but it needs an LLM to do the actual coding, so you supply an API key from a model provider (or run a local model). It works with most major LLMs, including Anthropic Claude, OpenAI, Google Gemini, DeepSeek, xAI, Azure, Cohere, and OpenAI-compatible endpoints. The docs highlight strong performers like Gemini 2.5 Pro, DeepSeek R1/V3, Claude 3.7 Sonnet, and OpenAI o3, o4-mini and GPT-4.1. You can switch models at launch with the --model flag (for example 'aider --model sonnet'), and Aider can also run against free local models through Ollama when you want no token cost.
Open a terminal in your project folder and run 'aider', optionally naming files you want it to edit, for example 'aider --model sonnet analysis.py'. Aider drops you into a chat prompt. Type your request in plain English, such as 'Read data.csv and print the mean and standard deviation for every numeric column.' Aider writes or edits the file, shows you the diff, and commits the change to Git with a sensible message. You keep the session open and refine conversationally with follow-up requests. If Aider is not already in a Git repository, it offers to create one, since its safety features depend on Git.
Every time Aider edits a file, it automatically commits those changes to Git with a descriptive, Conventional Commits style message marked to show the AI was involved. That means every AI edit is its own clean, reversible commit and you always have an audit trail of exactly what changed. If a change is wrong, type '/undo' to cleanly revert that last AI commit, and '/diff' to see all file changes since your last message. Aider works best inside a Git repo and will offer to create one. You can change this behaviour with flags like --no-auto-commits or even --no-git, though disabling Git is not recommended because you lose the easy rollback.
Launch Aider with several files at once, for example 'aider --model sonnet analysis.py helpers.py', and ask for a change that spans them; Aider edits all of them in one session and commits each coherent step to Git. You do not have to load every file by hand: Aider builds a map of your codebase so the model can reason about how files relate, including callers and definitions it is not directly editing. During a session you can add or remove files with the '/add' and '/drop' commands. A good practice is to keep only the files that actually need editing in the chat, so the model is not overwhelmed by irrelevant code.
Yes. Aider can automatically lint and test code after each change rather than leaving you to discover breakage later. When a lint or test surfaces an error, Aider reads the output and proposes a fix, then commits the corrected version, so both the failing and fixed states are captured in your Git history. You can also drive this manually in-chat: '/test' runs your test command and shares the result, and '/run' executes an arbitrary command and feeds its output back to the model. The lint and test steps run locally on your machine, so they add nothing beyond the model calls Aider already makes. This edit, lint, test, commit loop keeps each change verified rather than just plausible-looking.
Aider publishes a public model leaderboard based on its polyglot benchmark, which tests LLMs on 225 challenging Exercism exercises across C++, Go, Java, JavaScript, Python and Rust. The leaderboard reports each model's success rate alongside its cost, so you can deliberately trade accuracy against price. Use a frontier model for hard, multi-file work and a cheaper model for routine edits. To keep spend down, add only the files that need editing, group related requests into one clear message, and watch the live token and dollar counts Aider prints (use '/tokens' for the running total). For zero token cost on routine edits, run a free local model via Ollama.
--model/undo/tokensauto-commitcodebase map--modelAsk, share, or report — over on the Heidelberg AI community forum.