506 lines
26 KiB
Plaintext
506 lines
26 KiB
Plaintext
Metadata-Version: 2.4
|
|
Name: aider-chat
|
|
Version: 0.86.1
|
|
Summary: Aider is AI pair programming in your terminal
|
|
Project-URL: Homepage, https://github.com/Aider-AI/aider
|
|
Classifier: Development Status :: 4 - Beta
|
|
Classifier: Environment :: Console
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.10
|
|
Classifier: Programming Language :: Python :: 3.11
|
|
Classifier: Programming Language :: Python :: 3.12
|
|
Classifier: Programming Language :: Python
|
|
Classifier: Topic :: Software Development
|
|
Requires-Python: <3.13,>=3.10
|
|
Description-Content-Type: text/markdown
|
|
License-File: LICENSE.txt
|
|
Requires-Dist: aiohappyeyeballs==2.6.1
|
|
Requires-Dist: aiohttp==3.12.15
|
|
Requires-Dist: aiosignal==1.4.0
|
|
Requires-Dist: annotated-types==0.7.0
|
|
Requires-Dist: anyio==4.10.0
|
|
Requires-Dist: attrs==25.3.0
|
|
Requires-Dist: backoff==2.2.1
|
|
Requires-Dist: beautifulsoup4==4.13.4
|
|
Requires-Dist: cachetools==5.5.2
|
|
Requires-Dist: certifi==2025.8.3
|
|
Requires-Dist: cffi==1.17.1
|
|
Requires-Dist: charset-normalizer==3.4.2
|
|
Requires-Dist: click==8.2.1
|
|
Requires-Dist: configargparse==1.7.1
|
|
Requires-Dist: diff-match-patch==20241021
|
|
Requires-Dist: diskcache==5.6.3
|
|
Requires-Dist: distro==1.9.0
|
|
Requires-Dist: filelock==3.18.0
|
|
Requires-Dist: flake8==7.3.0
|
|
Requires-Dist: frozenlist==1.7.0
|
|
Requires-Dist: fsspec==2025.7.0
|
|
Requires-Dist: gitdb==4.0.12
|
|
Requires-Dist: gitpython==3.1.45
|
|
Requires-Dist: google-ai-generativelanguage==0.6.15
|
|
Requires-Dist: google-api-core[grpc]==2.25.1
|
|
Requires-Dist: google-api-python-client==2.178.0
|
|
Requires-Dist: google-auth==2.40.3
|
|
Requires-Dist: google-auth-httplib2==0.2.0
|
|
Requires-Dist: google-generativeai==0.8.5
|
|
Requires-Dist: googleapis-common-protos==1.70.0
|
|
Requires-Dist: grep-ast==0.9.0
|
|
Requires-Dist: grpcio==1.74.0
|
|
Requires-Dist: grpcio-status==1.71.2
|
|
Requires-Dist: h11==0.16.0
|
|
Requires-Dist: hf-xet==1.1.7
|
|
Requires-Dist: httpcore==1.0.9
|
|
Requires-Dist: httplib2==0.22.0
|
|
Requires-Dist: httpx==0.28.1
|
|
Requires-Dist: huggingface-hub==0.34.3
|
|
Requires-Dist: idna==3.10
|
|
Requires-Dist: importlib-metadata==7.2.1
|
|
Requires-Dist: importlib-resources==6.5.2
|
|
Requires-Dist: jinja2==3.1.6
|
|
Requires-Dist: jiter==0.10.0
|
|
Requires-Dist: json5==0.12.0
|
|
Requires-Dist: jsonschema==4.25.0
|
|
Requires-Dist: jsonschema-specifications==2025.4.1
|
|
Requires-Dist: litellm==1.75.0
|
|
Requires-Dist: markdown-it-py==3.0.0
|
|
Requires-Dist: markupsafe==3.0.2
|
|
Requires-Dist: mccabe==0.7.0
|
|
Requires-Dist: mdurl==0.1.2
|
|
Requires-Dist: mixpanel==4.10.1
|
|
Requires-Dist: mslex==1.3.0
|
|
Requires-Dist: multidict==6.6.3
|
|
Requires-Dist: networkx==3.4.2
|
|
Requires-Dist: numpy==1.26.4
|
|
Requires-Dist: openai==1.99.1
|
|
Requires-Dist: oslex==0.1.3
|
|
Requires-Dist: packaging==25.0
|
|
Requires-Dist: pathspec==0.12.1
|
|
Requires-Dist: pexpect==4.9.0
|
|
Requires-Dist: pillow==11.3.0
|
|
Requires-Dist: posthog==6.4.1
|
|
Requires-Dist: prompt-toolkit==3.0.51
|
|
Requires-Dist: propcache==0.3.2
|
|
Requires-Dist: proto-plus==1.26.1
|
|
Requires-Dist: protobuf==5.29.5
|
|
Requires-Dist: psutil==7.0.0
|
|
Requires-Dist: ptyprocess==0.7.0
|
|
Requires-Dist: pyasn1==0.6.1
|
|
Requires-Dist: pyasn1-modules==0.4.2
|
|
Requires-Dist: pycodestyle==2.14.0
|
|
Requires-Dist: pycparser==2.22
|
|
Requires-Dist: pydantic==2.11.7
|
|
Requires-Dist: pydantic-core==2.33.2
|
|
Requires-Dist: pydub==0.25.1
|
|
Requires-Dist: pyflakes==3.4.0
|
|
Requires-Dist: pygments==2.19.2
|
|
Requires-Dist: pypandoc==1.15
|
|
Requires-Dist: pyparsing==3.2.3
|
|
Requires-Dist: pyperclip==1.9.0
|
|
Requires-Dist: python-dateutil==2.9.0.post0
|
|
Requires-Dist: python-dotenv==1.1.1
|
|
Requires-Dist: pyyaml==6.0.2
|
|
Requires-Dist: referencing==0.36.2
|
|
Requires-Dist: regex==2025.7.34
|
|
Requires-Dist: requests==2.32.4
|
|
Requires-Dist: rich==14.1.0
|
|
Requires-Dist: rpds-py==0.27.0
|
|
Requires-Dist: rsa==4.9.1
|
|
Requires-Dist: scipy==1.15.3
|
|
Requires-Dist: shtab==1.7.2
|
|
Requires-Dist: six==1.17.0
|
|
Requires-Dist: smmap==5.0.2
|
|
Requires-Dist: sniffio==1.3.1
|
|
Requires-Dist: socksio==1.0.0
|
|
Requires-Dist: sounddevice==0.5.2
|
|
Requires-Dist: soundfile==0.13.1
|
|
Requires-Dist: soupsieve==2.7
|
|
Requires-Dist: tiktoken==0.10.0
|
|
Requires-Dist: tokenizers==0.21.4
|
|
Requires-Dist: tqdm==4.67.1
|
|
Requires-Dist: tree-sitter-c-sharp==0.23.1
|
|
Requires-Dist: tree-sitter-embedded-template==0.23.2
|
|
Requires-Dist: tree-sitter-language-pack==0.9.0
|
|
Requires-Dist: tree-sitter-yaml==0.7.1
|
|
Requires-Dist: typing-extensions==4.14.1
|
|
Requires-Dist: typing-inspection==0.4.1
|
|
Requires-Dist: uritemplate==4.2.0
|
|
Requires-Dist: urllib3==2.5.0
|
|
Requires-Dist: watchfiles==1.1.0
|
|
Requires-Dist: wcwidth==0.2.13
|
|
Requires-Dist: yarl==1.20.1
|
|
Requires-Dist: zipp==3.23.0
|
|
Requires-Dist: tree-sitter==0.23.2; python_version < "3.10"
|
|
Requires-Dist: tree-sitter==0.24.0; python_version >= "3.10"
|
|
Provides-Extra: dev
|
|
Requires-Dist: build==1.3.0; extra == "dev"
|
|
Requires-Dist: cachetools==5.5.2; extra == "dev"
|
|
Requires-Dist: certifi==2025.8.3; extra == "dev"
|
|
Requires-Dist: cfgv==3.4.0; extra == "dev"
|
|
Requires-Dist: charset-normalizer==3.4.2; extra == "dev"
|
|
Requires-Dist: click==8.2.1; extra == "dev"
|
|
Requires-Dist: codespell==2.4.1; extra == "dev"
|
|
Requires-Dist: cogapp==3.5.1; extra == "dev"
|
|
Requires-Dist: contourpy==1.3.3; extra == "dev"
|
|
Requires-Dist: cycler==0.12.1; extra == "dev"
|
|
Requires-Dist: dill==0.4.0; extra == "dev"
|
|
Requires-Dist: distlib==0.4.0; extra == "dev"
|
|
Requires-Dist: filelock==3.18.0; extra == "dev"
|
|
Requires-Dist: fonttools==4.59.0; extra == "dev"
|
|
Requires-Dist: google-api-core[grpc]==2.25.1; extra == "dev"
|
|
Requires-Dist: google-auth==2.40.3; extra == "dev"
|
|
Requires-Dist: google-cloud-bigquery==3.35.1; extra == "dev"
|
|
Requires-Dist: google-cloud-core==2.4.3; extra == "dev"
|
|
Requires-Dist: google-crc32c==1.7.1; extra == "dev"
|
|
Requires-Dist: google-resumable-media==2.7.2; extra == "dev"
|
|
Requires-Dist: googleapis-common-protos==1.70.0; extra == "dev"
|
|
Requires-Dist: grpcio==1.74.0; extra == "dev"
|
|
Requires-Dist: grpcio-status==1.71.2; extra == "dev"
|
|
Requires-Dist: identify==2.6.12; extra == "dev"
|
|
Requires-Dist: idna==3.10; extra == "dev"
|
|
Requires-Dist: imgcat==0.6.0; extra == "dev"
|
|
Requires-Dist: iniconfig==2.1.0; extra == "dev"
|
|
Requires-Dist: kiwisolver==1.4.8; extra == "dev"
|
|
Requires-Dist: lox==0.13.0; extra == "dev"
|
|
Requires-Dist: markdown-it-py==3.0.0; extra == "dev"
|
|
Requires-Dist: matplotlib==3.10.5; extra == "dev"
|
|
Requires-Dist: mdurl==0.1.2; extra == "dev"
|
|
Requires-Dist: multiprocess==0.70.18; extra == "dev"
|
|
Requires-Dist: nodeenv==1.9.1; extra == "dev"
|
|
Requires-Dist: numpy==1.26.4; extra == "dev"
|
|
Requires-Dist: packaging==25.0; extra == "dev"
|
|
Requires-Dist: pandas==2.3.1; extra == "dev"
|
|
Requires-Dist: pathos==0.3.4; extra == "dev"
|
|
Requires-Dist: pillow==11.3.0; extra == "dev"
|
|
Requires-Dist: pip==25.2; extra == "dev"
|
|
Requires-Dist: pip-tools==7.5.0; extra == "dev"
|
|
Requires-Dist: platformdirs==4.3.8; extra == "dev"
|
|
Requires-Dist: pluggy==1.6.0; extra == "dev"
|
|
Requires-Dist: pox==0.3.6; extra == "dev"
|
|
Requires-Dist: ppft==1.7.7; extra == "dev"
|
|
Requires-Dist: pre-commit==4.2.0; extra == "dev"
|
|
Requires-Dist: proto-plus==1.26.1; extra == "dev"
|
|
Requires-Dist: protobuf==5.29.5; extra == "dev"
|
|
Requires-Dist: pyasn1==0.6.1; extra == "dev"
|
|
Requires-Dist: pyasn1-modules==0.4.2; extra == "dev"
|
|
Requires-Dist: pygments==2.19.2; extra == "dev"
|
|
Requires-Dist: pyparsing==3.2.3; extra == "dev"
|
|
Requires-Dist: pyproject-hooks==1.2.0; extra == "dev"
|
|
Requires-Dist: pytest==8.4.1; extra == "dev"
|
|
Requires-Dist: pytest-env==1.1.5; extra == "dev"
|
|
Requires-Dist: python-dateutil==2.9.0.post0; extra == "dev"
|
|
Requires-Dist: pytz==2025.2; extra == "dev"
|
|
Requires-Dist: pyyaml==6.0.2; extra == "dev"
|
|
Requires-Dist: requests==2.32.4; extra == "dev"
|
|
Requires-Dist: rich==14.1.0; extra == "dev"
|
|
Requires-Dist: rsa==4.9.1; extra == "dev"
|
|
Requires-Dist: semver==3.0.4; extra == "dev"
|
|
Requires-Dist: setuptools==80.9.0; extra == "dev"
|
|
Requires-Dist: shellingham==1.5.4; extra == "dev"
|
|
Requires-Dist: six==1.17.0; extra == "dev"
|
|
Requires-Dist: typer==0.16.0; extra == "dev"
|
|
Requires-Dist: typing-extensions==4.14.1; extra == "dev"
|
|
Requires-Dist: tzdata==2025.2; extra == "dev"
|
|
Requires-Dist: urllib3==2.5.0; extra == "dev"
|
|
Requires-Dist: uv==0.8.5; extra == "dev"
|
|
Requires-Dist: virtualenv==20.33.1; extra == "dev"
|
|
Requires-Dist: wheel==0.45.1; extra == "dev"
|
|
Provides-Extra: help
|
|
Requires-Dist: aiohappyeyeballs==2.6.1; extra == "help"
|
|
Requires-Dist: aiohttp==3.12.15; extra == "help"
|
|
Requires-Dist: aiosignal==1.4.0; extra == "help"
|
|
Requires-Dist: aiosqlite==0.21.0; extra == "help"
|
|
Requires-Dist: annotated-types==0.7.0; extra == "help"
|
|
Requires-Dist: anyio==4.10.0; extra == "help"
|
|
Requires-Dist: attrs==25.3.0; extra == "help"
|
|
Requires-Dist: banks==2.2.0; extra == "help"
|
|
Requires-Dist: certifi==2025.8.3; extra == "help"
|
|
Requires-Dist: charset-normalizer==3.4.2; extra == "help"
|
|
Requires-Dist: click==8.2.1; extra == "help"
|
|
Requires-Dist: colorama==0.4.6; extra == "help"
|
|
Requires-Dist: dataclasses-json==0.6.7; extra == "help"
|
|
Requires-Dist: deprecated==1.2.18; extra == "help"
|
|
Requires-Dist: dirtyjson==1.0.8; extra == "help"
|
|
Requires-Dist: filelock==3.18.0; extra == "help"
|
|
Requires-Dist: filetype==1.2.0; extra == "help"
|
|
Requires-Dist: frozenlist==1.7.0; extra == "help"
|
|
Requires-Dist: fsspec==2025.7.0; extra == "help"
|
|
Requires-Dist: greenlet==3.2.3; extra == "help"
|
|
Requires-Dist: griffe==1.10.0; extra == "help"
|
|
Requires-Dist: h11==0.16.0; extra == "help"
|
|
Requires-Dist: hf-xet==1.1.7; extra == "help"
|
|
Requires-Dist: httpcore==1.0.9; extra == "help"
|
|
Requires-Dist: httpx==0.28.1; extra == "help"
|
|
Requires-Dist: huggingface-hub[inference]==0.34.3; extra == "help"
|
|
Requires-Dist: idna==3.10; extra == "help"
|
|
Requires-Dist: jinja2==3.1.6; extra == "help"
|
|
Requires-Dist: joblib==1.5.1; extra == "help"
|
|
Requires-Dist: llama-index-core==0.13.0; extra == "help"
|
|
Requires-Dist: llama-index-embeddings-huggingface==0.6.0; extra == "help"
|
|
Requires-Dist: llama-index-instrumentation==0.4.0; extra == "help"
|
|
Requires-Dist: llama-index-workflows==1.3.0; extra == "help"
|
|
Requires-Dist: markupsafe==3.0.2; extra == "help"
|
|
Requires-Dist: marshmallow==3.26.1; extra == "help"
|
|
Requires-Dist: mpmath==1.3.0; extra == "help"
|
|
Requires-Dist: multidict==6.6.3; extra == "help"
|
|
Requires-Dist: mypy-extensions==1.1.0; extra == "help"
|
|
Requires-Dist: nest-asyncio==1.6.0; extra == "help"
|
|
Requires-Dist: networkx==3.4.2; extra == "help"
|
|
Requires-Dist: nltk==3.9.1; extra == "help"
|
|
Requires-Dist: numpy==1.26.4; extra == "help"
|
|
Requires-Dist: packaging==25.0; extra == "help"
|
|
Requires-Dist: pillow==11.3.0; extra == "help"
|
|
Requires-Dist: platformdirs==4.3.8; extra == "help"
|
|
Requires-Dist: propcache==0.3.2; extra == "help"
|
|
Requires-Dist: pydantic==2.11.7; extra == "help"
|
|
Requires-Dist: pydantic-core==2.33.2; extra == "help"
|
|
Requires-Dist: pyyaml==6.0.2; extra == "help"
|
|
Requires-Dist: regex==2025.7.34; extra == "help"
|
|
Requires-Dist: requests==2.32.4; extra == "help"
|
|
Requires-Dist: safetensors==0.6.1; extra == "help"
|
|
Requires-Dist: scikit-learn==1.7.1; extra == "help"
|
|
Requires-Dist: scipy==1.15.3; extra == "help"
|
|
Requires-Dist: sentence-transformers==5.1.0; extra == "help"
|
|
Requires-Dist: setuptools==80.9.0; extra == "help"
|
|
Requires-Dist: sniffio==1.3.1; extra == "help"
|
|
Requires-Dist: sqlalchemy[asyncio]==2.0.42; extra == "help"
|
|
Requires-Dist: sympy==1.14.0; extra == "help"
|
|
Requires-Dist: tenacity==9.1.2; extra == "help"
|
|
Requires-Dist: threadpoolctl==3.6.0; extra == "help"
|
|
Requires-Dist: tiktoken==0.10.0; extra == "help"
|
|
Requires-Dist: tokenizers==0.21.4; extra == "help"
|
|
Requires-Dist: torch==2.8.0; extra == "help"
|
|
Requires-Dist: tqdm==4.67.1; extra == "help"
|
|
Requires-Dist: transformers==4.55.0; extra == "help"
|
|
Requires-Dist: typing-extensions==4.14.1; extra == "help"
|
|
Requires-Dist: typing-inspect==0.9.0; extra == "help"
|
|
Requires-Dist: typing-inspection==0.4.1; extra == "help"
|
|
Requires-Dist: urllib3==2.5.0; extra == "help"
|
|
Requires-Dist: wrapt==1.17.2; extra == "help"
|
|
Requires-Dist: yarl==1.20.1; extra == "help"
|
|
Provides-Extra: browser
|
|
Requires-Dist: altair==5.5.0; extra == "browser"
|
|
Requires-Dist: attrs==25.3.0; extra == "browser"
|
|
Requires-Dist: blinker==1.9.0; extra == "browser"
|
|
Requires-Dist: cachetools==5.5.2; extra == "browser"
|
|
Requires-Dist: certifi==2025.8.3; extra == "browser"
|
|
Requires-Dist: charset-normalizer==3.4.2; extra == "browser"
|
|
Requires-Dist: click==8.2.1; extra == "browser"
|
|
Requires-Dist: gitdb==4.0.12; extra == "browser"
|
|
Requires-Dist: gitpython==3.1.45; extra == "browser"
|
|
Requires-Dist: idna==3.10; extra == "browser"
|
|
Requires-Dist: jinja2==3.1.6; extra == "browser"
|
|
Requires-Dist: jsonschema==4.25.0; extra == "browser"
|
|
Requires-Dist: jsonschema-specifications==2025.4.1; extra == "browser"
|
|
Requires-Dist: markupsafe==3.0.2; extra == "browser"
|
|
Requires-Dist: narwhals==2.0.1; extra == "browser"
|
|
Requires-Dist: numpy==1.26.4; extra == "browser"
|
|
Requires-Dist: packaging==25.0; extra == "browser"
|
|
Requires-Dist: pandas==2.3.1; extra == "browser"
|
|
Requires-Dist: pillow==11.3.0; extra == "browser"
|
|
Requires-Dist: protobuf==5.29.5; extra == "browser"
|
|
Requires-Dist: pyarrow==21.0.0; extra == "browser"
|
|
Requires-Dist: pydeck==0.9.1; extra == "browser"
|
|
Requires-Dist: python-dateutil==2.9.0.post0; extra == "browser"
|
|
Requires-Dist: pytz==2025.2; extra == "browser"
|
|
Requires-Dist: referencing==0.36.2; extra == "browser"
|
|
Requires-Dist: requests==2.32.4; extra == "browser"
|
|
Requires-Dist: rpds-py==0.27.0; extra == "browser"
|
|
Requires-Dist: six==1.17.0; extra == "browser"
|
|
Requires-Dist: smmap==5.0.2; extra == "browser"
|
|
Requires-Dist: streamlit==1.48.0; extra == "browser"
|
|
Requires-Dist: tenacity==9.1.2; extra == "browser"
|
|
Requires-Dist: toml==0.10.2; extra == "browser"
|
|
Requires-Dist: tornado==6.5.1; extra == "browser"
|
|
Requires-Dist: typing-extensions==4.14.1; extra == "browser"
|
|
Requires-Dist: tzdata==2025.2; extra == "browser"
|
|
Requires-Dist: urllib3==2.5.0; extra == "browser"
|
|
Provides-Extra: playwright
|
|
Requires-Dist: greenlet==3.2.3; extra == "playwright"
|
|
Requires-Dist: playwright==1.54.0; extra == "playwright"
|
|
Requires-Dist: pyee==13.0.0; extra == "playwright"
|
|
Requires-Dist: typing-extensions==4.14.1; extra == "playwright"
|
|
Dynamic: license-file
|
|
|
|
<p align="center">
|
|
<a href="https://aider.chat/"><img src="https://aider.chat/assets/logo.svg" alt="Aider Logo" width="300"></a>
|
|
</p>
|
|
|
|
<h1 align="center">
|
|
AI Pair Programming in Your Terminal
|
|
</h1>
|
|
|
|
|
|
<p align="center">
|
|
Aider lets you pair program with LLMs to start a new project or build on your existing codebase.
|
|
</p>
|
|
|
|
<p align="center">
|
|
<img
|
|
src="https://aider.chat/assets/screencast.svg"
|
|
alt="aider screencast"
|
|
>
|
|
</p>
|
|
|
|
<p align="center">
|
|
<!--[[[cog
|
|
from scripts.homepage import get_badges_md
|
|
text = get_badges_md()
|
|
cog.out(text)
|
|
]]]-->
|
|
<a href="https://github.com/Aider-AI/aider/stargazers"><img alt="GitHub Stars" title="Total number of GitHub stars the Aider project has received"
|
|
src="https://img.shields.io/github/stars/Aider-AI/aider?style=flat-square&logo=github&color=f1c40f&labelColor=555555"/></a>
|
|
<a href="https://pypi.org/project/aider-chat/"><img alt="PyPI Downloads" title="Total number of installations via pip from PyPI"
|
|
src="https://img.shields.io/badge/📦%20Installs-3.0M-2ecc71?style=flat-square&labelColor=555555"/></a>
|
|
<img alt="Tokens per week" title="Number of tokens processed weekly by Aider users"
|
|
src="https://img.shields.io/badge/📈%20Tokens%2Fweek-15B-3498db?style=flat-square&labelColor=555555"/>
|
|
<a href="https://openrouter.ai/#options-menu"><img alt="OpenRouter Ranking" title="Aider's ranking among applications on the OpenRouter platform"
|
|
src="https://img.shields.io/badge/🏆%20OpenRouter-Top%2020-9b59b6?style=flat-square&labelColor=555555"/></a>
|
|
<a href="https://aider.chat/HISTORY.html"><img alt="Singularity" title="Percentage of the new code in Aider's last release written by Aider itself"
|
|
src="https://img.shields.io/badge/🔄%20Singularity-88%25-e74c3c?style=flat-square&labelColor=555555"/></a>
|
|
<!--[[[end]]]-->
|
|
</p>
|
|
|
|
## Features
|
|
|
|
### [Cloud and local LLMs](https://aider.chat/docs/llms.html)
|
|
|
|
<a href="https://aider.chat/docs/llms.html"><img src="https://aider.chat/assets/icons/brain.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
|
|
Aider works best with Claude 3.7 Sonnet, DeepSeek R1 & Chat V3, OpenAI o1, o3-mini & GPT-4o, but can connect to almost any LLM, including local models.
|
|
|
|
<br>
|
|
|
|
### [Maps your codebase](https://aider.chat/docs/repomap.html)
|
|
|
|
<a href="https://aider.chat/docs/repomap.html"><img src="https://aider.chat/assets/icons/map-outline.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
|
|
Aider makes a map of your entire codebase, which helps it work well in larger projects.
|
|
|
|
<br>
|
|
|
|
### [100+ code languages](https://aider.chat/docs/languages.html)
|
|
|
|
<a href="https://aider.chat/docs/languages.html"><img src="https://aider.chat/assets/icons/code-tags.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
|
|
Aider works with most popular programming languages: python, javascript, rust, ruby, go, cpp, php, html, css, and dozens more.
|
|
|
|
<br>
|
|
|
|
### [Git integration](https://aider.chat/docs/git.html)
|
|
|
|
<a href="https://aider.chat/docs/git.html"><img src="https://aider.chat/assets/icons/source-branch.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
|
|
Aider automatically commits changes with sensible commit messages. Use familiar git tools to easily diff, manage and undo AI changes.
|
|
|
|
<br>
|
|
|
|
### [Use in your IDE](https://aider.chat/docs/usage/watch.html)
|
|
|
|
<a href="https://aider.chat/docs/usage/watch.html"><img src="https://aider.chat/assets/icons/monitor.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
|
|
Use aider from within your favorite IDE or editor. Ask for changes by adding comments to your code and aider will get to work.
|
|
|
|
<br>
|
|
|
|
### [Images & web pages](https://aider.chat/docs/usage/images-urls.html)
|
|
|
|
<a href="https://aider.chat/docs/usage/images-urls.html"><img src="https://aider.chat/assets/icons/image-multiple.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
|
|
Add images and web pages to the chat to provide visual context, screenshots, reference docs, etc.
|
|
|
|
<br>
|
|
|
|
### [Voice-to-code](https://aider.chat/docs/usage/voice.html)
|
|
|
|
<a href="https://aider.chat/docs/usage/voice.html"><img src="https://aider.chat/assets/icons/microphone.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
|
|
Speak with aider about your code! Request new features, test cases or bug fixes using your voice and let aider implement the changes.
|
|
|
|
<br>
|
|
|
|
### [Linting & testing](https://aider.chat/docs/usage/lint-test.html)
|
|
|
|
<a href="https://aider.chat/docs/usage/lint-test.html"><img src="https://aider.chat/assets/icons/check-all.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
|
|
Automatically lint and test your code every time aider makes changes. Aider can fix problems detected by your linters and test suites.
|
|
|
|
<br>
|
|
|
|
### [Copy/paste to web chat](https://aider.chat/docs/usage/copypaste.html)
|
|
|
|
<a href="https://aider.chat/docs/usage/copypaste.html"><img src="https://aider.chat/assets/icons/content-copy.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
|
|
Work with any LLM via its web chat interface. Aider streamlines copy/pasting code context and edits back and forth with a browser.
|
|
|
|
## Getting Started
|
|
|
|
```bash
|
|
python -m pip install aider-install
|
|
aider-install
|
|
|
|
# Change directory into your codebase
|
|
cd /to/your/project
|
|
|
|
# DeepSeek
|
|
aider --model deepseek --api-key deepseek=<key>
|
|
|
|
# Claude 3.7 Sonnet
|
|
aider --model sonnet --api-key anthropic=<key>
|
|
|
|
# o3-mini
|
|
aider --model o3-mini --api-key openai=<key>
|
|
```
|
|
|
|
See the [installation instructions](https://aider.chat/docs/install.html) and [usage documentation](https://aider.chat/docs/usage.html) for more details.
|
|
|
|
## More Information
|
|
|
|
### Documentation
|
|
- [Installation Guide](https://aider.chat/docs/install.html)
|
|
- [Usage Guide](https://aider.chat/docs/usage.html)
|
|
- [Tutorial Videos](https://aider.chat/docs/usage/tutorials.html)
|
|
- [Connecting to LLMs](https://aider.chat/docs/llms.html)
|
|
- [Configuration Options](https://aider.chat/docs/config.html)
|
|
- [Troubleshooting](https://aider.chat/docs/troubleshooting.html)
|
|
- [FAQ](https://aider.chat/docs/faq.html)
|
|
|
|
### Community & Resources
|
|
- [LLM Leaderboards](https://aider.chat/docs/leaderboards/)
|
|
- [GitHub Repository](https://github.com/Aider-AI/aider)
|
|
- [Discord Community](https://discord.gg/Y7X7bhMQFV)
|
|
- [Release notes](https://aider.chat/HISTORY.html)
|
|
- [Blog](https://aider.chat/blog/)
|
|
|
|
## Kind Words From Users
|
|
|
|
- *"My life has changed... Aider... It's going to rock your world."* — [Eric S. Raymond on X](https://x.com/esrtweet/status/1910809356381413593)
|
|
- *"The best free open source AI coding assistant."* — [IndyDevDan on YouTube](https://youtu.be/YALpX8oOn78)
|
|
- *"The best AI coding assistant so far."* — [Matthew Berman on YouTube](https://www.youtube.com/watch?v=df8afeb1FY8)
|
|
- *"Aider ... has easily quadrupled my coding productivity."* — [SOLAR_FIELDS on Hacker News](https://news.ycombinator.com/item?id=36212100)
|
|
- *"It's a cool workflow... Aider's ergonomics are perfect for me."* — [qup on Hacker News](https://news.ycombinator.com/item?id=38185326)
|
|
- *"It's really like having your senior developer live right in your Git repo - truly amazing!"* — [rappster on GitHub](https://github.com/Aider-AI/aider/issues/124)
|
|
- *"What an amazing tool. It's incredible."* — [valyagolev on GitHub](https://github.com/Aider-AI/aider/issues/6#issue-1722897858)
|
|
- *"Aider is such an astounding thing!"* — [cgrothaus on GitHub](https://github.com/Aider-AI/aider/issues/82#issuecomment-1631876700)
|
|
- *"It was WAY faster than I would be getting off the ground and making the first few working versions."* — [Daniel Feldman on X](https://twitter.com/d_feldman/status/1662295077387923456)
|
|
- *"THANK YOU for Aider! It really feels like a glimpse into the future of coding."* — [derwiki on Hacker News](https://news.ycombinator.com/item?id=38205643)
|
|
- *"It's just amazing. It is freeing me to do things I felt were out my comfort zone before."* — [Dougie on Discord](https://discord.com/channels/1131200896827654144/1174002618058678323/1174084556257775656)
|
|
- *"This project is stellar."* — [funkytaco on GitHub](https://github.com/Aider-AI/aider/issues/112#issuecomment-1637429008)
|
|
- *"Amazing project, definitely the best AI coding assistant I've used."* — [joshuavial on GitHub](https://github.com/Aider-AI/aider/issues/84)
|
|
- *"I absolutely love using Aider ... It makes software development feel so much lighter as an experience."* — [principalideal0 on Discord](https://discord.com/channels/1131200896827654144/1133421607499595858/1229689636012691468)
|
|
- *"I have been recovering from ... surgeries ... aider ... has allowed me to continue productivity."* — [codeninja on Reddit](https://www.reddit.com/r/OpenAI/s/nmNwkHy1zG)
|
|
- *"I am an aider addict. I'm getting so much more work done, but in less time."* — [dandandan on Discord](https://discord.com/channels/1131200896827654144/1131200896827654149/1135913253483069470)
|
|
- *"Aider... blows everything else out of the water hands down, there's no competition whatsoever."* — [SystemSculpt on Discord](https://discord.com/channels/1131200896827654144/1131200896827654149/1178736602797846548)
|
|
- *"Aider is amazing, coupled with Sonnet 3.5 it's quite mind blowing."* — [Josh Dingus on Discord](https://discord.com/channels/1131200896827654144/1133060684540813372/1262374225298198548)
|
|
- *"Hands down, this is the best AI coding assistant tool so far."* — [IndyDevDan on YouTube](https://www.youtube.com/watch?v=MPYFPvxfGZs)
|
|
- *"[Aider] changed my daily coding workflows. It's mind-blowing how ...(it)... can change your life."* — [maledorak on Discord](https://discord.com/channels/1131200896827654144/1131200896827654149/1258453375620747264)
|
|
- *"Best agent for actual dev work in existing codebases."* — [Nick Dobos on X](https://twitter.com/NickADobos/status/1690408967963652097?s=20)
|
|
- *"One of my favorite pieces of software. Blazing trails on new paradigms!"* — [Chris Wall on X](https://x.com/chris65536/status/1905053299251798432)
|
|
- *"Aider has been revolutionary for me and my work."* — [Starry Hope on X](https://x.com/starryhopeblog/status/1904985812137132056)
|
|
- *"Try aider! One of the best ways to vibe code."* — [Chris Wall on X](https://x.com/Chris65536/status/1905053418961391929)
|
|
- *"Freaking love Aider."* — [hztar on Hacker News](https://news.ycombinator.com/item?id=44035015)
|
|
- *"Aider is hands down the best. And it's free and opensource."* — [AriyaSavakaLurker on Reddit](https://www.reddit.com/r/ChatGPTCoding/comments/1ik16y6/whats_your_take_on_aider/mbip39n/)
|
|
- *"Aider is also my best friend."* — [jzn21 on Reddit](https://www.reddit.com/r/ChatGPTCoding/comments/1heuvuo/aider_vs_cline_vs_windsurf_vs_cursor/m27dcnb/)
|
|
- *"Try Aider, it's worth it."* — [jorgejhms on Reddit](https://www.reddit.com/r/ChatGPTCoding/comments/1heuvuo/aider_vs_cline_vs_windsurf_vs_cursor/m27cp99/)
|
|
- *"I like aider :)"* — [Chenwei Cui on X](https://x.com/ccui42/status/1904965344999145698)
|
|
- *"Aider is the precision tool of LLM code gen... Minimal, thoughtful and capable of surgical changes ... while keeping the developer in control."* — [Reilly Sweetland on X](https://x.com/rsweetland/status/1904963807237259586)
|
|
- *"Cannot believe aider vibe coded a 650 LOC feature across service and cli today in 1 shot."* - [autopoietist on Discord](https://discord.com/channels/1131200896827654144/1131200896827654149/1355675042259796101)
|
|
- *"Oh no the secret is out! Yes, Aider is the best coding tool around. I highly, highly recommend it to anyone."* — [Joshua D Vander Hook on X](https://x.com/jodavaho/status/1911154899057795218)
|
|
- *"thanks to aider, i have started and finished three personal projects within the last two days"* — [joseph stalzyn on X](https://x.com/anitaheeder/status/1908338609645904160)
|
|
- *"Been using aider as my daily driver for over a year ... I absolutely love the tool, like beyond words."* — [koleok on Discord](https://discord.com/channels/1131200896827654144/1273248471394291754/1356727448372252783)
|
|
- *"Aider ... is the tool to benchmark against."* — [BeetleB on Hacker News](https://news.ycombinator.com/item?id=43930201)
|
|
- *"aider is really cool"* — [kache on X](https://x.com/yacineMTB/status/1911224442430124387)
|
|
|