chatmcp-cli 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aider/__init__.py +20 -0
- aider/__main__.py +4 -0
- aider/_version.py +21 -0
- aider/analytics.py +250 -0
- aider/args.py +926 -0
- aider/args_formatter.py +228 -0
- aider/coders/__init__.py +34 -0
- aider/coders/architect_coder.py +48 -0
- aider/coders/architect_prompts.py +40 -0
- aider/coders/ask_coder.py +9 -0
- aider/coders/ask_prompts.py +35 -0
- aider/coders/base_coder.py +2483 -0
- aider/coders/base_prompts.py +60 -0
- aider/coders/chat_chunks.py +64 -0
- aider/coders/context_coder.py +53 -0
- aider/coders/context_prompts.py +75 -0
- aider/coders/editblock_coder.py +657 -0
- aider/coders/editblock_fenced_coder.py +10 -0
- aider/coders/editblock_fenced_prompts.py +143 -0
- aider/coders/editblock_func_coder.py +141 -0
- aider/coders/editblock_func_prompts.py +27 -0
- aider/coders/editblock_prompts.py +174 -0
- aider/coders/editor_diff_fenced_coder.py +9 -0
- aider/coders/editor_diff_fenced_prompts.py +11 -0
- aider/coders/editor_editblock_coder.py +8 -0
- aider/coders/editor_editblock_prompts.py +18 -0
- aider/coders/editor_whole_coder.py +8 -0
- aider/coders/editor_whole_prompts.py +10 -0
- aider/coders/help_coder.py +16 -0
- aider/coders/help_prompts.py +46 -0
- aider/coders/patch_coder.py +706 -0
- aider/coders/patch_prompts.py +161 -0
- aider/coders/search_replace.py +757 -0
- aider/coders/shell.py +37 -0
- aider/coders/single_wholefile_func_coder.py +102 -0
- aider/coders/single_wholefile_func_prompts.py +27 -0
- aider/coders/udiff_coder.py +429 -0
- aider/coders/udiff_prompts.py +115 -0
- aider/coders/udiff_simple.py +14 -0
- aider/coders/udiff_simple_prompts.py +25 -0
- aider/coders/wholefile_coder.py +144 -0
- aider/coders/wholefile_func_coder.py +134 -0
- aider/coders/wholefile_func_prompts.py +27 -0
- aider/coders/wholefile_prompts.py +67 -0
- aider/commands.py +1665 -0
- aider/copypaste.py +72 -0
- aider/deprecated.py +126 -0
- aider/diffs.py +128 -0
- aider/dump.py +29 -0
- aider/editor.py +147 -0
- aider/exceptions.py +107 -0
- aider/format_settings.py +26 -0
- aider/gui.py +545 -0
- aider/help.py +163 -0
- aider/help_pats.py +19 -0
- aider/history.py +143 -0
- aider/io.py +1175 -0
- aider/linter.py +304 -0
- aider/llm.py +47 -0
- aider/main.py +1267 -0
- aider/mdstream.py +243 -0
- aider/models.py +1286 -0
- aider/onboarding.py +428 -0
- aider/openrouter.py +128 -0
- aider/prompts.py +64 -0
- aider/queries/tree-sitter-language-pack/README.md +7 -0
- aider/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
- aider/queries/tree-sitter-language-pack/c-tags.scm +9 -0
- aider/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
- aider/queries/tree-sitter-language-pack/commonlisp-tags.scm +122 -0
- aider/queries/tree-sitter-language-pack/cpp-tags.scm +15 -0
- aider/queries/tree-sitter-language-pack/csharp-tags.scm +26 -0
- aider/queries/tree-sitter-language-pack/d-tags.scm +26 -0
- aider/queries/tree-sitter-language-pack/dart-tags.scm +92 -0
- aider/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
- aider/queries/tree-sitter-language-pack/elixir-tags.scm +54 -0
- aider/queries/tree-sitter-language-pack/elm-tags.scm +19 -0
- aider/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
- aider/queries/tree-sitter-language-pack/go-tags.scm +42 -0
- aider/queries/tree-sitter-language-pack/java-tags.scm +20 -0
- aider/queries/tree-sitter-language-pack/javascript-tags.scm +88 -0
- aider/queries/tree-sitter-language-pack/lua-tags.scm +34 -0
- aider/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
- aider/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +98 -0
- aider/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
- aider/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
- aider/queries/tree-sitter-language-pack/python-tags.scm +14 -0
- aider/queries/tree-sitter-language-pack/r-tags.scm +21 -0
- aider/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
- aider/queries/tree-sitter-language-pack/ruby-tags.scm +64 -0
- aider/queries/tree-sitter-language-pack/rust-tags.scm +60 -0
- aider/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
- aider/queries/tree-sitter-language-pack/swift-tags.scm +51 -0
- aider/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
- aider/queries/tree-sitter-languages/README.md +23 -0
- aider/queries/tree-sitter-languages/c-tags.scm +9 -0
- aider/queries/tree-sitter-languages/c_sharp-tags.scm +46 -0
- aider/queries/tree-sitter-languages/cpp-tags.scm +15 -0
- aider/queries/tree-sitter-languages/dart-tags.scm +91 -0
- aider/queries/tree-sitter-languages/elisp-tags.scm +8 -0
- aider/queries/tree-sitter-languages/elixir-tags.scm +54 -0
- aider/queries/tree-sitter-languages/elm-tags.scm +19 -0
- aider/queries/tree-sitter-languages/go-tags.scm +30 -0
- aider/queries/tree-sitter-languages/hcl-tags.scm +77 -0
- aider/queries/tree-sitter-languages/java-tags.scm +20 -0
- aider/queries/tree-sitter-languages/javascript-tags.scm +88 -0
- aider/queries/tree-sitter-languages/kotlin-tags.scm +27 -0
- aider/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
- aider/queries/tree-sitter-languages/ocaml_interface-tags.scm +98 -0
- aider/queries/tree-sitter-languages/php-tags.scm +26 -0
- aider/queries/tree-sitter-languages/python-tags.scm +12 -0
- aider/queries/tree-sitter-languages/ql-tags.scm +26 -0
- aider/queries/tree-sitter-languages/ruby-tags.scm +64 -0
- aider/queries/tree-sitter-languages/rust-tags.scm +60 -0
- aider/queries/tree-sitter-languages/scala-tags.scm +65 -0
- aider/queries/tree-sitter-languages/typescript-tags.scm +41 -0
- aider/reasoning_tags.py +82 -0
- aider/repo.py +623 -0
- aider/repomap.py +847 -0
- aider/report.py +200 -0
- aider/resources/__init__.py +3 -0
- aider/resources/model-metadata.json +468 -0
- aider/resources/model-settings.yml +1767 -0
- aider/run_cmd.py +132 -0
- aider/scrape.py +284 -0
- aider/sendchat.py +61 -0
- aider/special.py +203 -0
- aider/urls.py +17 -0
- aider/utils.py +338 -0
- aider/versioncheck.py +113 -0
- aider/voice.py +187 -0
- aider/waiting.py +221 -0
- aider/watch.py +318 -0
- aider/watch_prompts.py +12 -0
- aider/website/Gemfile +8 -0
- aider/website/_includes/blame.md +162 -0
- aider/website/_includes/get-started.md +22 -0
- aider/website/_includes/help-tip.md +5 -0
- aider/website/_includes/help.md +24 -0
- aider/website/_includes/install.md +5 -0
- aider/website/_includes/keys.md +4 -0
- aider/website/_includes/model-warnings.md +67 -0
- aider/website/_includes/multi-line.md +22 -0
- aider/website/_includes/python-m-aider.md +5 -0
- aider/website/_includes/recording.css +228 -0
- aider/website/_includes/recording.md +34 -0
- aider/website/_includes/replit-pipx.md +9 -0
- aider/website/_includes/works-best.md +1 -0
- aider/website/_sass/custom/custom.scss +103 -0
- aider/website/docs/config/adv-model-settings.md +1881 -0
- aider/website/docs/config/aider_conf.md +527 -0
- aider/website/docs/config/api-keys.md +90 -0
- aider/website/docs/config/dotenv.md +478 -0
- aider/website/docs/config/editor.md +127 -0
- aider/website/docs/config/model-aliases.md +103 -0
- aider/website/docs/config/options.md +843 -0
- aider/website/docs/config/reasoning.md +209 -0
- aider/website/docs/config.md +44 -0
- aider/website/docs/faq.md +378 -0
- aider/website/docs/git.md +76 -0
- aider/website/docs/index.md +47 -0
- aider/website/docs/install/codespaces.md +39 -0
- aider/website/docs/install/docker.md +57 -0
- aider/website/docs/install/optional.md +100 -0
- aider/website/docs/install/replit.md +8 -0
- aider/website/docs/install.md +115 -0
- aider/website/docs/languages.md +264 -0
- aider/website/docs/legal/contributor-agreement.md +111 -0
- aider/website/docs/legal/privacy.md +104 -0
- aider/website/docs/llms/anthropic.md +77 -0
- aider/website/docs/llms/azure.md +48 -0
- aider/website/docs/llms/bedrock.md +132 -0
- aider/website/docs/llms/cohere.md +34 -0
- aider/website/docs/llms/deepseek.md +32 -0
- aider/website/docs/llms/gemini.md +49 -0
- aider/website/docs/llms/github.md +105 -0
- aider/website/docs/llms/groq.md +36 -0
- aider/website/docs/llms/lm-studio.md +39 -0
- aider/website/docs/llms/ollama.md +75 -0
- aider/website/docs/llms/openai-compat.md +39 -0
- aider/website/docs/llms/openai.md +58 -0
- aider/website/docs/llms/openrouter.md +78 -0
- aider/website/docs/llms/other.md +103 -0
- aider/website/docs/llms/vertex.md +50 -0
- aider/website/docs/llms/warnings.md +10 -0
- aider/website/docs/llms/xai.md +53 -0
- aider/website/docs/llms.md +54 -0
- aider/website/docs/more/analytics.md +122 -0
- aider/website/docs/more/edit-formats.md +116 -0
- aider/website/docs/more/infinite-output.md +137 -0
- aider/website/docs/more-info.md +8 -0
- aider/website/docs/recordings/auto-accept-architect.md +31 -0
- aider/website/docs/recordings/dont-drop-original-read-files.md +35 -0
- aider/website/docs/recordings/index.md +21 -0
- aider/website/docs/recordings/model-accepts-settings.md +69 -0
- aider/website/docs/recordings/tree-sitter-language-pack.md +80 -0
- aider/website/docs/repomap.md +112 -0
- aider/website/docs/scripting.md +100 -0
- aider/website/docs/troubleshooting/aider-not-found.md +24 -0
- aider/website/docs/troubleshooting/edit-errors.md +76 -0
- aider/website/docs/troubleshooting/imports.md +62 -0
- aider/website/docs/troubleshooting/models-and-keys.md +54 -0
- aider/website/docs/troubleshooting/support.md +79 -0
- aider/website/docs/troubleshooting/token-limits.md +96 -0
- aider/website/docs/troubleshooting/warnings.md +12 -0
- aider/website/docs/troubleshooting.md +11 -0
- aider/website/docs/usage/browser.md +57 -0
- aider/website/docs/usage/caching.md +49 -0
- aider/website/docs/usage/commands.md +132 -0
- aider/website/docs/usage/conventions.md +119 -0
- aider/website/docs/usage/copypaste.md +121 -0
- aider/website/docs/usage/images-urls.md +48 -0
- aider/website/docs/usage/lint-test.md +118 -0
- aider/website/docs/usage/modes.md +211 -0
- aider/website/docs/usage/not-code.md +179 -0
- aider/website/docs/usage/notifications.md +87 -0
- aider/website/docs/usage/tips.md +79 -0
- aider/website/docs/usage/tutorials.md +30 -0
- aider/website/docs/usage/voice.md +121 -0
- aider/website/docs/usage/watch.md +294 -0
- aider/website/docs/usage.md +92 -0
- aider/website/share/index.md +101 -0
- chatmcp_cli-0.1.0.dist-info/METADATA +502 -0
- chatmcp_cli-0.1.0.dist-info/RECORD +228 -0
- chatmcp_cli-0.1.0.dist-info/WHEEL +5 -0
- chatmcp_cli-0.1.0.dist-info/entry_points.txt +3 -0
- chatmcp_cli-0.1.0.dist-info/licenses/LICENSE.txt +202 -0
- chatmcp_cli-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,76 @@
|
|
1
|
+
---
|
2
|
+
parent: More info
|
3
|
+
nav_order: 100
|
4
|
+
description: Aider is tightly integrated with git.
|
5
|
+
---
|
6
|
+
|
7
|
+
# Git integration
|
8
|
+
|
9
|
+
Aider works best with code that is part of a git repo.
|
10
|
+
Aider is tightly integrated with git, which makes it easy to:
|
11
|
+
|
12
|
+
- Use the `/undo` command to instantly undo any AI changes that you don't like.
|
13
|
+
- Go back in the git history to review the changes that aider made to your code
|
14
|
+
- Manage a series of aider's changes on a git branch
|
15
|
+
|
16
|
+
Aider uses git in these ways:
|
17
|
+
|
18
|
+
- It asks to create a git repo if you launch it in a directory without one.
|
19
|
+
- Whenever aider edits a file, it commits those changes with a descriptive commit message. This makes it easy to undo or review aider's changes.
|
20
|
+
- Aider takes special care before editing files that already have uncommitted changes (dirty files). Aider will first commit any preexisting changes with a descriptive commit message.
|
21
|
+
This keeps your edits separate from aider's edits, and makes sure you never lose your work if aider makes an inappropriate change.
|
22
|
+
|
23
|
+
## In-chat commands
|
24
|
+
|
25
|
+
Aider also allows you to use
|
26
|
+
[in-chat commands](/docs/usage/commands.html)
|
27
|
+
to perform git operations:
|
28
|
+
|
29
|
+
- `/diff` will show all the file changes since the last message you sent.
|
30
|
+
- `/undo` will undo and discard the last change.
|
31
|
+
- `/commit` to commit all dirty changes with a sensible commit message.
|
32
|
+
- `/git` will let you run raw git commands to do more complex management of your git history.
|
33
|
+
|
34
|
+
You can also manage your git history outside of aider with your preferred git tools.
|
35
|
+
|
36
|
+
## Disabling git integration
|
37
|
+
|
38
|
+
While it is not recommended, you can disable aider's use of git in a few ways:
|
39
|
+
|
40
|
+
- `--no-auto-commits` will stop aider from git committing each of its changes.
|
41
|
+
- `--no-dirty-commits` will stop aider from committing dirty files before applying its edits.
|
42
|
+
- `--no-git` will completely stop aider from using git on your files. You should ensure you are keeping sensible backups of the files you are working with.
|
43
|
+
- `--git-commit-verify` will run pre-commit hooks when making git commits. By default, aider skips pre-commit hooks by using the `--no-verify` flag (`--git-commit-verify=False`).
|
44
|
+
|
45
|
+
## Commit messages
|
46
|
+
|
47
|
+
Aider sends the `--weak-model` a copy of the diffs and the chat history
|
48
|
+
and asks it to produce a commit message.
|
49
|
+
By default, aider creates commit messages which follow
|
50
|
+
[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).
|
51
|
+
|
52
|
+
You can customize the
|
53
|
+
[commit prompt](https://github.com/Aider-AI/aider/blob/main/aider/prompts.py#L5)
|
54
|
+
with the `--commit-prompt` option.
|
55
|
+
You can place that on the command line, or
|
56
|
+
[configure it via a config file or environment variables](https://aider.chat/docs/config.html).
|
57
|
+
|
58
|
+
|
59
|
+
## Commit attribution
|
60
|
+
|
61
|
+
Aider marks commits that it either authored or committed.
|
62
|
+
|
63
|
+
- If aider authored the changes in a commit, they will have "(aider)" appended to the git author and git committer name metadata.
|
64
|
+
- If aider simply committed changes (found in dirty files), the commit will have "(aider)" appended to the git committer name metadata.
|
65
|
+
|
66
|
+
You can use `--no-attribute-author` and `--no-attribute-committer` to disable
|
67
|
+
modification of the git author and committer name fields.
|
68
|
+
|
69
|
+
Additionally, you can use the following options to prefix commit messages:
|
70
|
+
|
71
|
+
- `--attribute-commit-message-author`: Prefix commit messages with 'aider: ' if aider authored the changes.
|
72
|
+
- `--attribute-commit-message-committer`: Prefix all commit messages with 'aider: ', regardless of whether aider authored the changes or not.
|
73
|
+
|
74
|
+
Finally, you can use `--attribute-co-authored-by` to have aider append a Co-authored-by trailer to the end of the commit string.
|
75
|
+
This will disable appending `(aider)` to the git author and git committer unless you have explicitly enabled those settings.
|
76
|
+
|
@@ -0,0 +1,47 @@
|
|
1
|
+
---
|
2
|
+
nav_exclude: true
|
3
|
+
---
|
4
|
+
|
5
|
+
# Aider Documentation
|
6
|
+
|
7
|
+
Aider is AI pair programming in your terminal. This documentation will help you get the most out of aider.
|
8
|
+
|
9
|
+
<div class="toc">
|
10
|
+
{% assign pages_list = site.html_pages | sort: "nav_order" %}
|
11
|
+
|
12
|
+
<ul>
|
13
|
+
{% for page in pages_list %}
|
14
|
+
{% if page.title and page.url != "/" and page.parent == nil and page.nav_exclude != true %}
|
15
|
+
<li>
|
16
|
+
<a href="{{ page.url | absolute_url }}">{{ page.title }}</a>{% if page.description %} <span style="font-size: 0.9em; font-style: italic;">— {{ page.description }}</span>{% endif %}
|
17
|
+
|
18
|
+
{% assign children = site.html_pages | where: "parent", page.title | sort: "nav_order" %}
|
19
|
+
{% if children.size > 0 %}
|
20
|
+
<ul>
|
21
|
+
{% for child in children %}
|
22
|
+
{% if child.title %}
|
23
|
+
<li>
|
24
|
+
<a href="{{ child.url | absolute_url }}">{{ child.title }}</a>{% if child.description %} <span style="font-size: 0.9em; font-style: italic;">— {{ child.description }}</span>{% endif %}
|
25
|
+
|
26
|
+
{% assign grandchildren = site.html_pages | where: "parent", child.title | sort: "nav_order" %}
|
27
|
+
{% if grandchildren.size > 0 %}
|
28
|
+
<ul>
|
29
|
+
{% for grandchild in grandchildren %}
|
30
|
+
{% if grandchild.title %}
|
31
|
+
<li>
|
32
|
+
<a href="{{ grandchild.url | absolute_url }}">{{ grandchild.title }}</a>{% if grandchild.description %} <span style="font-size: 0.9em; font-style: italic;">— {{ grandchild.description }}</span>{% endif %}
|
33
|
+
</li>
|
34
|
+
{% endif %}
|
35
|
+
{% endfor %}
|
36
|
+
</ul>
|
37
|
+
{% endif %}
|
38
|
+
</li>
|
39
|
+
{% endif %}
|
40
|
+
{% endfor %}
|
41
|
+
</ul>
|
42
|
+
{% endif %}
|
43
|
+
</li>
|
44
|
+
{% endif %}
|
45
|
+
{% endfor %}
|
46
|
+
</ul>
|
47
|
+
</div>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
---
|
2
|
+
title: GitHub Codespaces
|
3
|
+
parent: Installation
|
4
|
+
nav_order: 900
|
5
|
+
---
|
6
|
+
|
7
|
+
# GitHub Codespaces
|
8
|
+
|
9
|
+
You can use aider in GitHub Codespaces via the built-in Terminal pane.
|
10
|
+
See below for an example,
|
11
|
+
but you can just follow the
|
12
|
+
[main install instructions](/docs/install.html)
|
13
|
+
inside your codespace terminal.
|
14
|
+
|
15
|
+
|
16
|
+
<div class="video-container">
|
17
|
+
<video controls poster="/assets/codespaces.jpg">
|
18
|
+
<source src="/assets/codespaces.mp4" type="video/mp4">
|
19
|
+
<a href="/assets/codespaces.mp4">Install aider in GitHub Codespaces</a>
|
20
|
+
</video>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<style>
|
24
|
+
.video-container {
|
25
|
+
position: relative;
|
26
|
+
padding-bottom: 101.89%; /* 1080 / 1060 = 1.0189 */
|
27
|
+
height: 0;
|
28
|
+
overflow: hidden;
|
29
|
+
}
|
30
|
+
|
31
|
+
.video-container video {
|
32
|
+
position: absolute;
|
33
|
+
top: 0;
|
34
|
+
left: 0;
|
35
|
+
width: 100%;
|
36
|
+
height: 100%;
|
37
|
+
}
|
38
|
+
</style>
|
39
|
+
|
@@ -0,0 +1,57 @@
|
|
1
|
+
---
|
2
|
+
parent: Installation
|
3
|
+
nav_order: 100
|
4
|
+
---
|
5
|
+
|
6
|
+
# Aider with docker
|
7
|
+
|
8
|
+
Aider is available as 2 docker images:
|
9
|
+
|
10
|
+
- `paulgauthier/aider` installs the aider core, a smaller image that's good to get started quickly.
|
11
|
+
- `paulgauthier/aider-full` installs aider will all the optional extras.
|
12
|
+
|
13
|
+
The full image has support for features like interactive help, the
|
14
|
+
browser GUI and support for using Playwright to scrape web pages. The
|
15
|
+
core image can still use these features, but they will need to be
|
16
|
+
installed the first time you access them. Since containers are
|
17
|
+
ephemeral, the extras will need to be reinstalled the next time you
|
18
|
+
launch the aider core container.
|
19
|
+
|
20
|
+
### Aider core
|
21
|
+
|
22
|
+
```
|
23
|
+
docker pull paulgauthier/aider
|
24
|
+
docker run -it --user $(id -u):$(id -g) --volume $(pwd):/app paulgauthier/aider --openai-api-key $OPENAI_API_KEY [...other aider args...]
|
25
|
+
```
|
26
|
+
|
27
|
+
### Full version
|
28
|
+
|
29
|
+
```
|
30
|
+
docker pull paulgauthier/aider-full
|
31
|
+
docker run -it --user $(id -u):$(id -g) --volume $(pwd):/app paulgauthier/aider-full --openai-api-key $OPENAI_API_KEY [...other aider args...]
|
32
|
+
```
|
33
|
+
|
34
|
+
## How to use it
|
35
|
+
|
36
|
+
You should run the above commands from the root of your git repo,
|
37
|
+
since the `--volume` arg maps your current directory into the
|
38
|
+
docker container.
|
39
|
+
Given that, you need to be in the root of your git repo for aider to be able to
|
40
|
+
see the repo and all its files.
|
41
|
+
|
42
|
+
You should be sure your that
|
43
|
+
git repo config contains your user name and email, since the
|
44
|
+
docker container won't have your global git config.
|
45
|
+
Run these commands while in your git repo, before
|
46
|
+
you do the `docker run` command:
|
47
|
+
|
48
|
+
```
|
49
|
+
git config user.email "you@example.com"
|
50
|
+
git config user.name "Your Name"
|
51
|
+
```
|
52
|
+
|
53
|
+
|
54
|
+
## Limitations
|
55
|
+
|
56
|
+
- When you use the in-chat `/run` command, it will be running shell commands *inside the docker container*. So those commands won't be running in your local environment, which may make it tricky to `/run` tests, etc for your project.
|
57
|
+
- The `/voice` command won't work unless you can figure out how to give the docker container access to your host audio device. The container has libportaudio2 installed, so it should work if you can do that.
|
@@ -0,0 +1,100 @@
|
|
1
|
+
---
|
2
|
+
parent: Installation
|
3
|
+
nav_order: 20
|
4
|
+
---
|
5
|
+
|
6
|
+
# Optional steps
|
7
|
+
{: .no_toc }
|
8
|
+
|
9
|
+
The steps below are completely optional.
|
10
|
+
|
11
|
+
- TOC
|
12
|
+
{:toc}
|
13
|
+
|
14
|
+
## Install git
|
15
|
+
|
16
|
+
Aider works best if you have git installed.
|
17
|
+
Here are
|
18
|
+
[instructions for installing git in various environments](https://github.com/git-guides/install-git).
|
19
|
+
|
20
|
+
## Setup an API key
|
21
|
+
|
22
|
+
You need an key from an API provider to work with most models:
|
23
|
+
|
24
|
+
- [OpenAI](https://help.openai.com/en/articles/4936850-where-do-i-find-my-secret-api-key) provides o1, o3-mini, gpt-4o and other models. Note that paying for an API key is different than being a "ChatGPT" subscriber.
|
25
|
+
- [Anthropic](https://docs.anthropic.com/claude/reference/getting-started-with-the-api) provides Claude 3.7 Sonnet and Haiku.
|
26
|
+
- [DeepSeek](https://platform.deepseek.com/api_keys) provides DeepSeek R1 and DeepSeek Chat V3.
|
27
|
+
- [OpenRouter](https://openrouter.ai/keys) allows you to access models from many providers using a single key.
|
28
|
+
|
29
|
+
You can [store your api keys in configuration or env files](/docs/config/api-keys.html)
|
30
|
+
and they will be loaded automatically whenever you run aider.
|
31
|
+
|
32
|
+
## Enable Playwright
|
33
|
+
|
34
|
+
Aider supports adding web pages to the chat with the `/web <url>` command.
|
35
|
+
When you add a url to the chat, aider fetches the page and scrapes its
|
36
|
+
content.
|
37
|
+
|
38
|
+
By default, aider uses the `httpx` library to scrape web pages, but this only
|
39
|
+
works on a subset of web pages.
|
40
|
+
Some sites explicitly block requests from tools like httpx.
|
41
|
+
Others rely heavily on javascript to render the page content,
|
42
|
+
which isn't possible using only httpx.
|
43
|
+
|
44
|
+
Aider works best with all web pages if you install
|
45
|
+
Playwright's chromium browser and its dependencies:
|
46
|
+
|
47
|
+
```
|
48
|
+
playwright install --with-deps chromium
|
49
|
+
```
|
50
|
+
|
51
|
+
See the
|
52
|
+
[Playwright for Python documentation](https://playwright.dev/python/docs/browsers#install-system-dependencies)
|
53
|
+
for additional information.
|
54
|
+
|
55
|
+
|
56
|
+
## Enable voice coding
|
57
|
+
|
58
|
+
Aider supports
|
59
|
+
[coding with your voice](https://aider.chat/docs/usage/voice.html)
|
60
|
+
using the in-chat `/voice` command.
|
61
|
+
Aider uses the [PortAudio](http://www.portaudio.com) library to
|
62
|
+
capture audio.
|
63
|
+
Installing PortAudio is completely optional, but can usually be accomplished like this:
|
64
|
+
|
65
|
+
- For Windows, there is no need to install PortAudio.
|
66
|
+
- For Mac, do `brew install portaudio`
|
67
|
+
- For Linux, do `sudo apt-get install libportaudio2`
|
68
|
+
- Some linux environments may also need `sudo apt install libasound2-plugins`
|
69
|
+
|
70
|
+
## Add aider to your IDE/editor
|
71
|
+
|
72
|
+
You can use
|
73
|
+
[aider's `--watch-files` mode](https://aider.chat/docs/usage/watch.html)
|
74
|
+
to integrate with any IDE or editor.
|
75
|
+
|
76
|
+
There are a number of 3rd party aider plugins for various IDE/editors.
|
77
|
+
It's not clear how well they are tracking the latest
|
78
|
+
versions of aider,
|
79
|
+
so it may be best to just run the latest
|
80
|
+
aider in a terminal alongside your editor and use `--watch-files`.
|
81
|
+
|
82
|
+
### NeoVim
|
83
|
+
|
84
|
+
[joshuavial](https://github.com/joshuavial) provided a NeoVim plugin for aider:
|
85
|
+
|
86
|
+
[https://github.com/joshuavial/aider.nvim](https://github.com/joshuavial/aider.nvim)
|
87
|
+
|
88
|
+
### VS Code
|
89
|
+
|
90
|
+
You can run aider inside a VS Code terminal window.
|
91
|
+
There are a number of 3rd party
|
92
|
+
[aider plugins for VSCode](https://marketplace.visualstudio.com/search?term=aider%20-kodu&target=VSCode&category=All%20categories&sortBy=Relevance).
|
93
|
+
|
94
|
+
### Other editors
|
95
|
+
|
96
|
+
If you are interested in creating an aider plugin for your favorite editor,
|
97
|
+
please let us know by opening a
|
98
|
+
[GitHub issue](https://github.com/Aider-AI/aider/issues).
|
99
|
+
|
100
|
+
|
@@ -0,0 +1,115 @@
|
|
1
|
+
---
|
2
|
+
title: Installation
|
3
|
+
has_children: true
|
4
|
+
nav_order: 20
|
5
|
+
description: How to install and get started pair programming with aider.
|
6
|
+
---
|
7
|
+
|
8
|
+
# Installation
|
9
|
+
{: .no_toc }
|
10
|
+
|
11
|
+
|
12
|
+
## Get started quickly with aider-install
|
13
|
+
|
14
|
+
{% include get-started.md %}
|
15
|
+
|
16
|
+
This will install aider in its own separate python environment.
|
17
|
+
If needed,
|
18
|
+
aider-install will also install a separate version of python 3.12 to use with aider.
|
19
|
+
|
20
|
+
Once aider is installed,
|
21
|
+
there are also some [optional install steps](/docs/install/optional.html).
|
22
|
+
|
23
|
+
See the [usage instructions](https://aider.chat/docs/usage.html) to start coding with aider.
|
24
|
+
|
25
|
+
## One-liners
|
26
|
+
|
27
|
+
These one-liners will install aider, along with python 3.12 if needed.
|
28
|
+
They are based on the
|
29
|
+
[uv installers](https://docs.astral.sh/uv/getting-started/installation/).
|
30
|
+
|
31
|
+
#### Mac & Linux
|
32
|
+
|
33
|
+
Use curl to download the script and execute it with sh:
|
34
|
+
|
35
|
+
```bash
|
36
|
+
curl -LsSf https://aider.chat/install.sh | sh
|
37
|
+
```
|
38
|
+
|
39
|
+
If your system doesn't have curl, you can use wget:
|
40
|
+
|
41
|
+
```bash
|
42
|
+
wget -qO- https://aider.chat/install.sh | sh
|
43
|
+
```
|
44
|
+
|
45
|
+
#### Windows
|
46
|
+
|
47
|
+
```powershell
|
48
|
+
powershell -ExecutionPolicy ByPass -c "irm https://aider.chat/install.ps1 | iex"
|
49
|
+
```
|
50
|
+
|
51
|
+
|
52
|
+
## Install with uv
|
53
|
+
|
54
|
+
You can install aider with uv:
|
55
|
+
|
56
|
+
```bash
|
57
|
+
python -m pip install uv # If you need to install uv
|
58
|
+
uv tool install --force --python python3.12 --with pip aider-chat@latest
|
59
|
+
```
|
60
|
+
|
61
|
+
This will install uv using your existing python version 3.8-3.13,
|
62
|
+
and use it to install aider.
|
63
|
+
If needed,
|
64
|
+
uv will automatically install a separate python 3.12 to use with aider.
|
65
|
+
|
66
|
+
Also see the
|
67
|
+
[docs on other methods for installing uv itself](https://docs.astral.sh/uv/getting-started/installation/).
|
68
|
+
|
69
|
+
## Install with pipx
|
70
|
+
|
71
|
+
You can install aider with pipx:
|
72
|
+
|
73
|
+
```bash
|
74
|
+
python -m pip install pipx # If you need to install pipx
|
75
|
+
pipx install aider-chat
|
76
|
+
```
|
77
|
+
|
78
|
+
You can use pipx to install aider with python versions 3.9-3.12.
|
79
|
+
|
80
|
+
Also see the
|
81
|
+
[docs on other methods for installing pipx itself](https://pipx.pypa.io/stable/installation/).
|
82
|
+
|
83
|
+
## Other install methods
|
84
|
+
|
85
|
+
You can install aider with the methods described below, but one of the above
|
86
|
+
methods is usually safer.
|
87
|
+
|
88
|
+
#### Install with pip
|
89
|
+
|
90
|
+
If you install with pip, you should consider
|
91
|
+
using a
|
92
|
+
[virtual environment](https://docs.python.org/3/library/venv.html)
|
93
|
+
to keep aider's dependencies separated.
|
94
|
+
|
95
|
+
|
96
|
+
You can use pip to install aider with python versions 3.9-3.12.
|
97
|
+
|
98
|
+
```bash
|
99
|
+
python -m pip install -U --upgrade-strategy only-if-needed aider-chat
|
100
|
+
```
|
101
|
+
|
102
|
+
{% include python-m-aider.md %}
|
103
|
+
|
104
|
+
#### Installing with package managers
|
105
|
+
|
106
|
+
It's best to install aider using one of methods
|
107
|
+
recommended above.
|
108
|
+
While aider is available in a number of system package managers,
|
109
|
+
they often install aider with incorrect dependencies.
|
110
|
+
|
111
|
+
## Next steps...
|
112
|
+
|
113
|
+
There are some [optional install steps](/docs/install/optional.html) you could consider.
|
114
|
+
See the [usage instructions](https://aider.chat/docs/usage.html) to start coding with aider.
|
115
|
+
|