Aider is an open-source terminal coding agent that pairs tightly with git — every change the agent makes becomes a commit. It's model-agnostic (Claude, GPT, Gemini, DeepSeek, Ollama, 15+ providers), Apache 2.0, and actively maintained.
Auto-commits are on by default. Every agent action becomes a git commit you can review and
revert. Disable with --no-auto-commits if you'd rather stage changes yourself.
# Recommended — clean, isolated install
python -m pip install aider-install
aider-install
# Or with uv
uv tool install --force --python python3.12 aider-chat@latestSee the install docs for Homebrew, pipx, and Windows options.
export ANTHROPIC_API_KEY=sk-ant-...
# or OPENAI_API_KEY, GEMINI_API_KEY, etc.cd your-project
aider src/lib/date.ts src/lib/date.test.tsAt the prompt: "Add a formatRelativeTime(date, now) function that returns '2 hours ago' / 'yesterday' / '3 days ago'. Update the tests with 5 cases. Run the tests."
/add auth.py then "handle expired tokens by redirecting to login").git reset.test-cmd in .aider.conf.yml; Aider runs tests after edits and iterates on failures.Aider reads .aider.conf.yml in the project root (or ~/.aider.conf.yml for user-level). Example:
# .aider.conf.yml
model: sonnet
editor-model: haiku # cheap model for small edits
auto-commits: true
test-cmd: pnpm test:run
lint-cmd: pnpm lintEnvironment variables are read from .env by default.
Aider edits both files, runs the tests, commits if green, and reports the commit hash.
--no-auto-commits./add vs implicit context — only files you /add are "in the chat"; the repo map shows names but not contents. Forgetting to /add leads to the agent working blind.--model sonnet mid-session changes model. Good for routing, but mind cost.Search for a command to run...