5 KiB
Installing aider
Optional steps:
pip install aider-chat
Install the “aider-chat” package with pip from one of these sources:
- PyPI hosts the released and most stable version:
python -m pip install aider-chat
- GitHub hosts the latest version, which is under active development:
python -m pip install git+https://github.com/paul-gauthier/aider.git
- If you've git cloned the aider repository already, you can install "live" from your local copy. This is mostly useful if you are developing aider and want your current modifications to take effect immediately.
python -m pip install -e .
On Windows, you may need to run py -m pip install ...
to install python packages.
Provide your OpenAI API key
You need a paid API key from OpenAI to use aider. Note that this is different than being a "ChatGPT Plus" subscriber.
You can place your api key in an environment variable:
export OPENAI_API_KEY=sk-...
on Linux or Macsetx OPENAI_API_KEY sk-...
in Windows PowerShell
Or you can create a .aider.conf.yml
file in your home directory.
Put a line in it like this to specify your api key:
openai-api-key: sk-...
Or you can provide your key as a command line argument:
aider --openai-api-key sk-...
Install git
Make sure you have git installed and available on your shell path. Here are instructions for installing git in various environments.
You are done!
See the usage instructions to start coding with aider.
The rest of the install steps are completely optional.
Install universal ctags (optional)
Aider does not require ctags, and will operate just fine without it.
Installing ctags is helpful if you plan to use aider and GPT-4 with repositories that have more than a handful of files. This allows aider to build a map of your entire git repo and share it with GPT to help it better understand and modify large codebases.
Aider only attempts to use ctags with GPT-4, and currently doesn't use ctags at all with GPT-3.5. So if your OpenAI API key doesn't support GPT-4, then you don't need ctags.
You should consult the universal ctags repo for official instructions on how to install it in your environment. But you may be able to install a compatible version using these commands:
- Mac:
brew update && brew install universal-ctags
- Windows:
choco install universal-ctags
- Ubuntu:
sudo apt update && sudo apt install universal-ctags
You know aider has found a working ctags if you see this output when you launch aider:
Aider v0.8.3-dev
Model: gpt-4
Git repo: .git
Repo-map: universal-ctags using 1024 tokens <======
Some things to be aware of:
- The
ctags
command needs to be on your shell path so that it will run by default when aider invokesctags ...
. - You need a build which includes the json feature. You can check by running
ctags --version
and looking for+json
in theOptional compiled features
list.
$ ctags --version
Universal Ctags 6.0.0, Copyright (C) 2015-2022 Universal Ctags Team
Universal Ctags is derived from Exuberant Ctags.
Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert
Compiled: Jun 25 2023, 07:31:18
URL: https://ctags.io/
Output version: 0.0
Optional compiled features: +wildcards, +regex, +gnulib_fnmatch, +gnulib_regex, +iconv, +option-directory, +xpath, +json, +interactive, +yaml, +case-insensitive-filenames, +packcc, +optscript, +pcre2
Install PortAudio (optional)
Aider supports coding with your voice
using the in-chat /voice
command.
Aider uses the PortAudio library to
capture audio.
Installing PortAudio is completely optional, but can usually be accomplished like this:
- For Windows, there is no need to install PortAudio.
- For Mac, do
brew install portaudio
- For Linux, do
sudo apt-get install libportaudio2
Add aider to your editor (optional)
joshuavial has been working on editor integrations.
NeoVim
He provided a NeoVim plugin for aider:
https://github.com/joshuavial/aider.nvim
VS Code
He also confirmed that aider works inside a VS Code terminal window, but
found that you should
run with --no-pretty
to avoid flickering issues.
Other editors
If you are interested in creating an aider plugin for your favorite editor, please let me know by opening a GitHub issue.