← All open source projects

Aider

Aider-AI/aider

Aider is a command-line AI coding assistant that edits code inside an existing Git repository.

Forks 4,655
Author Aider-AI
Language Python
License Apache-2.0
Synced 2026-06-27

What it is

Aider is a command-line coding assistant powered by LLMs. Its core idea is not a separate editor, but work inside an existing Git project: choose files, discuss a task, get edits, and inspect the diff.

It became popular because it fits developer habits: terminal, Git, commits, and local files remain the main environment.

What is inside

The repository contains Python CLI code, Git integration, file context handling, model support, chat commands, tests, and documentation.

The tool does not replace project understanding. Users still need to read diffs, run tests, and judge code quality.

How it is used

A typical flow is to open a repository, add files to context, describe the task, inspect edits, run tests, and commit with Git.

Aider fits local edits, refactoring, tests, small features, and code explanation. Larger product decisions still need manual decomposition and review.

Strengths and limits

The strength is simple integration with a real repository and transparent Git diffs.

The limit is dependence on context and model quality. Too little context can lead to wrong edits.

Aider works best in repositories with good tests and clear structure. Changes can be checked quickly and the model gets better boundaries. In a chaotic project it can still work, but the user spends more time reviewing and correcting edits.

Aider also shows the value of Git as a safety layer. Even if the model edits several files, the developer sees the exact diff, can revert part of the change, and split the result into proper commits.

That keeps the human developer in charge of the final state while still allowing the model to perform useful editing work.

Example

Starting Aider in a repository

This shows the working shape: open a project, pass files, and ask for a change.

Language: Bash
cd my-project
aider app.py tests/test_app.py
# then in chat: add empty-input validation and a test