cecli-dev 0.95.5__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.
- cecli/__init__.py +20 -0
- cecli/__main__.py +4 -0
- cecli/_version.py +34 -0
- cecli/args.py +1092 -0
- cecli/args_formatter.py +228 -0
- cecli/change_tracker.py +133 -0
- cecli/coders/__init__.py +38 -0
- cecli/coders/agent_coder.py +1872 -0
- cecli/coders/architect_coder.py +63 -0
- cecli/coders/ask_coder.py +8 -0
- cecli/coders/base_coder.py +3993 -0
- cecli/coders/chat_chunks.py +116 -0
- cecli/coders/context_coder.py +52 -0
- cecli/coders/copypaste_coder.py +269 -0
- cecli/coders/editblock_coder.py +656 -0
- cecli/coders/editblock_fenced_coder.py +9 -0
- cecli/coders/editblock_func_coder.py +140 -0
- cecli/coders/editor_diff_fenced_coder.py +8 -0
- cecli/coders/editor_editblock_coder.py +8 -0
- cecli/coders/editor_whole_coder.py +8 -0
- cecli/coders/help_coder.py +15 -0
- cecli/coders/patch_coder.py +705 -0
- cecli/coders/search_replace.py +757 -0
- cecli/coders/shell.py +37 -0
- cecli/coders/single_wholefile_func_coder.py +101 -0
- cecli/coders/udiff_coder.py +428 -0
- cecli/coders/udiff_simple.py +12 -0
- cecli/coders/wholefile_coder.py +143 -0
- cecli/coders/wholefile_func_coder.py +133 -0
- cecli/commands/__init__.py +192 -0
- cecli/commands/add.py +226 -0
- cecli/commands/agent.py +51 -0
- cecli/commands/architect.py +46 -0
- cecli/commands/ask.py +44 -0
- cecli/commands/chat_mode.py +0 -0
- cecli/commands/clear.py +37 -0
- cecli/commands/code.py +46 -0
- cecli/commands/command_prefix.py +44 -0
- cecli/commands/commit.py +52 -0
- cecli/commands/context.py +47 -0
- cecli/commands/context_blocks.py +124 -0
- cecli/commands/context_management.py +51 -0
- cecli/commands/copy.py +62 -0
- cecli/commands/copy_context.py +81 -0
- cecli/commands/core.py +287 -0
- cecli/commands/diff.py +68 -0
- cecli/commands/drop.py +217 -0
- cecli/commands/editor.py +78 -0
- cecli/commands/exit.py +55 -0
- cecli/commands/git.py +57 -0
- cecli/commands/help.py +140 -0
- cecli/commands/history_search.py +40 -0
- cecli/commands/lint.py +109 -0
- cecli/commands/list_sessions.py +56 -0
- cecli/commands/load.py +85 -0
- cecli/commands/load_session.py +48 -0
- cecli/commands/load_skill.py +68 -0
- cecli/commands/ls.py +75 -0
- cecli/commands/map.py +37 -0
- cecli/commands/map_refresh.py +35 -0
- cecli/commands/model.py +118 -0
- cecli/commands/models.py +41 -0
- cecli/commands/multiline_mode.py +38 -0
- cecli/commands/paste.py +91 -0
- cecli/commands/quit.py +32 -0
- cecli/commands/read_only.py +267 -0
- cecli/commands/read_only_stub.py +270 -0
- cecli/commands/reasoning_effort.py +70 -0
- cecli/commands/remove_skill.py +68 -0
- cecli/commands/report.py +40 -0
- cecli/commands/reset.py +88 -0
- cecli/commands/run.py +99 -0
- cecli/commands/save.py +49 -0
- cecli/commands/save_session.py +43 -0
- cecli/commands/settings.py +69 -0
- cecli/commands/test.py +58 -0
- cecli/commands/think_tokens.py +74 -0
- cecli/commands/tokens.py +207 -0
- cecli/commands/undo.py +145 -0
- cecli/commands/utils/__init__.py +0 -0
- cecli/commands/utils/base_command.py +131 -0
- cecli/commands/utils/helpers.py +142 -0
- cecli/commands/utils/registry.py +53 -0
- cecli/commands/utils/save_load_manager.py +98 -0
- cecli/commands/voice.py +78 -0
- cecli/commands/weak_model.py +123 -0
- cecli/commands/web.py +87 -0
- cecli/deprecated_args.py +185 -0
- cecli/diffs.py +129 -0
- cecli/dump.py +29 -0
- cecli/editor.py +147 -0
- cecli/exceptions.py +115 -0
- cecli/format_settings.py +26 -0
- cecli/help.py +119 -0
- cecli/help_pats.py +19 -0
- cecli/helpers/__init__.py +9 -0
- cecli/helpers/copypaste.py +123 -0
- cecli/helpers/coroutines.py +8 -0
- cecli/helpers/file_searcher.py +142 -0
- cecli/helpers/model_providers.py +552 -0
- cecli/helpers/plugin_manager.py +81 -0
- cecli/helpers/profiler.py +162 -0
- cecli/helpers/requests.py +77 -0
- cecli/helpers/similarity.py +98 -0
- cecli/helpers/skills.py +577 -0
- cecli/history.py +186 -0
- cecli/io.py +1782 -0
- cecli/linter.py +304 -0
- cecli/llm.py +101 -0
- cecli/main.py +1280 -0
- cecli/mcp/__init__.py +154 -0
- cecli/mcp/oauth.py +250 -0
- cecli/mcp/server.py +278 -0
- cecli/mdstream.py +243 -0
- cecli/models.py +1255 -0
- cecli/onboarding.py +301 -0
- cecli/prompts/__init__.py +0 -0
- cecli/prompts/agent.yml +71 -0
- cecli/prompts/architect.yml +35 -0
- cecli/prompts/ask.yml +31 -0
- cecli/prompts/base.yml +99 -0
- cecli/prompts/context.yml +60 -0
- cecli/prompts/copypaste.yml +5 -0
- cecli/prompts/editblock.yml +143 -0
- cecli/prompts/editblock_fenced.yml +106 -0
- cecli/prompts/editblock_func.yml +25 -0
- cecli/prompts/editor_diff_fenced.yml +115 -0
- cecli/prompts/editor_editblock.yml +121 -0
- cecli/prompts/editor_whole.yml +46 -0
- cecli/prompts/help.yml +37 -0
- cecli/prompts/patch.yml +110 -0
- cecli/prompts/single_wholefile_func.yml +24 -0
- cecli/prompts/udiff.yml +106 -0
- cecli/prompts/udiff_simple.yml +13 -0
- cecli/prompts/utils/__init__.py +0 -0
- cecli/prompts/utils/prompt_registry.py +167 -0
- cecli/prompts/utils/system.py +56 -0
- cecli/prompts/wholefile.yml +50 -0
- cecli/prompts/wholefile_func.yml +24 -0
- cecli/queries/tree-sitter-language-pack/README.md +7 -0
- cecli/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
- cecli/queries/tree-sitter-language-pack/c-tags.scm +12 -0
- cecli/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
- cecli/queries/tree-sitter-language-pack/clojure-tags.scm +12 -0
- cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +127 -0
- cecli/queries/tree-sitter-language-pack/cpp-tags.scm +18 -0
- cecli/queries/tree-sitter-language-pack/csharp-tags.scm +32 -0
- cecli/queries/tree-sitter-language-pack/d-tags.scm +26 -0
- cecli/queries/tree-sitter-language-pack/dart-tags.scm +97 -0
- cecli/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
- cecli/queries/tree-sitter-language-pack/elixir-tags.scm +59 -0
- cecli/queries/tree-sitter-language-pack/elm-tags.scm +22 -0
- cecli/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
- cecli/queries/tree-sitter-language-pack/go-tags.scm +49 -0
- cecli/queries/tree-sitter-language-pack/java-tags.scm +26 -0
- cecli/queries/tree-sitter-language-pack/javascript-tags.scm +96 -0
- cecli/queries/tree-sitter-language-pack/lua-tags.scm +39 -0
- cecli/queries/tree-sitter-language-pack/matlab-tags.scm +10 -0
- cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
- cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +101 -0
- cecli/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
- cecli/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
- cecli/queries/tree-sitter-language-pack/python-tags.scm +24 -0
- cecli/queries/tree-sitter-language-pack/r-tags.scm +27 -0
- cecli/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
- cecli/queries/tree-sitter-language-pack/ruby-tags.scm +69 -0
- cecli/queries/tree-sitter-language-pack/rust-tags.scm +63 -0
- cecli/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
- cecli/queries/tree-sitter-language-pack/swift-tags.scm +54 -0
- cecli/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
- cecli/queries/tree-sitter-languages/README.md +24 -0
- cecli/queries/tree-sitter-languages/c-tags.scm +12 -0
- cecli/queries/tree-sitter-languages/c_sharp-tags.scm +52 -0
- cecli/queries/tree-sitter-languages/cpp-tags.scm +18 -0
- cecli/queries/tree-sitter-languages/dart-tags.scm +92 -0
- cecli/queries/tree-sitter-languages/elisp-tags.scm +8 -0
- cecli/queries/tree-sitter-languages/elixir-tags.scm +59 -0
- cecli/queries/tree-sitter-languages/elm-tags.scm +22 -0
- cecli/queries/tree-sitter-languages/fortran-tags.scm +18 -0
- cecli/queries/tree-sitter-languages/go-tags.scm +36 -0
- cecli/queries/tree-sitter-languages/haskell-tags.scm +5 -0
- cecli/queries/tree-sitter-languages/hcl-tags.scm +77 -0
- cecli/queries/tree-sitter-languages/java-tags.scm +26 -0
- cecli/queries/tree-sitter-languages/javascript-tags.scm +96 -0
- cecli/queries/tree-sitter-languages/julia-tags.scm +60 -0
- cecli/queries/tree-sitter-languages/kotlin-tags.scm +30 -0
- cecli/queries/tree-sitter-languages/matlab-tags.scm +10 -0
- cecli/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
- cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +104 -0
- cecli/queries/tree-sitter-languages/php-tags.scm +32 -0
- cecli/queries/tree-sitter-languages/python-tags.scm +22 -0
- cecli/queries/tree-sitter-languages/ql-tags.scm +26 -0
- cecli/queries/tree-sitter-languages/ruby-tags.scm +69 -0
- cecli/queries/tree-sitter-languages/rust-tags.scm +63 -0
- cecli/queries/tree-sitter-languages/scala-tags.scm +64 -0
- cecli/queries/tree-sitter-languages/typescript-tags.scm +44 -0
- cecli/queries/tree-sitter-languages/zig-tags.scm +20 -0
- cecli/reasoning_tags.py +82 -0
- cecli/repo.py +626 -0
- cecli/repomap.py +1368 -0
- cecli/report.py +260 -0
- cecli/resources/__init__.py +3 -0
- cecli/resources/model-metadata.json +25751 -0
- cecli/resources/model-settings.yml +2394 -0
- cecli/resources/providers.json +67 -0
- cecli/run_cmd.py +143 -0
- cecli/scrape.py +295 -0
- cecli/sendchat.py +250 -0
- cecli/sessions.py +281 -0
- cecli/special.py +203 -0
- cecli/tools/__init__.py +72 -0
- cecli/tools/command.py +103 -0
- cecli/tools/command_interactive.py +113 -0
- cecli/tools/context_manager.py +175 -0
- cecli/tools/delete_block.py +154 -0
- cecli/tools/delete_line.py +120 -0
- cecli/tools/delete_lines.py +144 -0
- cecli/tools/extract_lines.py +281 -0
- cecli/tools/finished.py +35 -0
- cecli/tools/git_branch.py +132 -0
- cecli/tools/git_diff.py +49 -0
- cecli/tools/git_log.py +43 -0
- cecli/tools/git_remote.py +39 -0
- cecli/tools/git_show.py +37 -0
- cecli/tools/git_status.py +32 -0
- cecli/tools/grep.py +242 -0
- cecli/tools/indent_lines.py +195 -0
- cecli/tools/insert_block.py +263 -0
- cecli/tools/list_changes.py +71 -0
- cecli/tools/load_skill.py +51 -0
- cecli/tools/ls.py +77 -0
- cecli/tools/remove_skill.py +51 -0
- cecli/tools/replace_all.py +113 -0
- cecli/tools/replace_line.py +135 -0
- cecli/tools/replace_lines.py +180 -0
- cecli/tools/replace_text.py +186 -0
- cecli/tools/show_numbered_context.py +137 -0
- cecli/tools/thinking.py +52 -0
- cecli/tools/undo_change.py +82 -0
- cecli/tools/update_todo_list.py +148 -0
- cecli/tools/utils/base_tool.py +64 -0
- cecli/tools/utils/helpers.py +359 -0
- cecli/tools/utils/output.py +119 -0
- cecli/tools/utils/registry.py +145 -0
- cecli/tools/view_files_matching.py +138 -0
- cecli/tools/view_files_with_symbol.py +117 -0
- cecli/tui/__init__.py +83 -0
- cecli/tui/app.py +971 -0
- cecli/tui/io.py +566 -0
- cecli/tui/styles.tcss +117 -0
- cecli/tui/widgets/__init__.py +19 -0
- cecli/tui/widgets/completion_bar.py +331 -0
- cecli/tui/widgets/file_list.py +76 -0
- cecli/tui/widgets/footer.py +165 -0
- cecli/tui/widgets/input_area.py +320 -0
- cecli/tui/widgets/key_hints.py +16 -0
- cecli/tui/widgets/output.py +354 -0
- cecli/tui/widgets/status_bar.py +279 -0
- cecli/tui/worker.py +160 -0
- cecli/urls.py +16 -0
- cecli/utils.py +499 -0
- cecli/versioncheck.py +90 -0
- cecli/voice.py +90 -0
- cecli/waiting.py +38 -0
- cecli/watch.py +316 -0
- cecli/watch_prompts.py +12 -0
- cecli/website/Gemfile +8 -0
- cecli/website/_includes/blame.md +162 -0
- cecli/website/_includes/get-started.md +22 -0
- cecli/website/_includes/help-tip.md +5 -0
- cecli/website/_includes/help.md +24 -0
- cecli/website/_includes/install.md +5 -0
- cecli/website/_includes/keys.md +4 -0
- cecli/website/_includes/model-warnings.md +67 -0
- cecli/website/_includes/multi-line.md +22 -0
- cecli/website/_includes/python-m-aider.md +5 -0
- cecli/website/_includes/recording.css +228 -0
- cecli/website/_includes/recording.md +34 -0
- cecli/website/_includes/replit-pipx.md +9 -0
- cecli/website/_includes/works-best.md +1 -0
- cecli/website/_sass/custom/custom.scss +103 -0
- cecli/website/docs/config/adv-model-settings.md +2498 -0
- cecli/website/docs/config/agent-mode.md +320 -0
- cecli/website/docs/config/aider_conf.md +548 -0
- cecli/website/docs/config/api-keys.md +90 -0
- cecli/website/docs/config/custom-commands.md +187 -0
- cecli/website/docs/config/dotenv.md +493 -0
- cecli/website/docs/config/editor.md +127 -0
- cecli/website/docs/config/mcp.md +210 -0
- cecli/website/docs/config/model-aliases.md +173 -0
- cecli/website/docs/config/options.md +890 -0
- cecli/website/docs/config/reasoning.md +210 -0
- cecli/website/docs/config/skills.md +172 -0
- cecli/website/docs/config/tui.md +126 -0
- cecli/website/docs/config.md +44 -0
- cecli/website/docs/faq.md +379 -0
- cecli/website/docs/git.md +76 -0
- cecli/website/docs/index.md +47 -0
- cecli/website/docs/install/codespaces.md +39 -0
- cecli/website/docs/install/docker.md +48 -0
- cecli/website/docs/install/optional.md +100 -0
- cecli/website/docs/install/replit.md +8 -0
- cecli/website/docs/install.md +115 -0
- cecli/website/docs/languages.md +264 -0
- cecli/website/docs/legal/contributor-agreement.md +111 -0
- cecli/website/docs/legal/privacy.md +104 -0
- cecli/website/docs/llms/anthropic.md +77 -0
- cecli/website/docs/llms/azure.md +48 -0
- cecli/website/docs/llms/bedrock.md +132 -0
- cecli/website/docs/llms/cohere.md +34 -0
- cecli/website/docs/llms/deepseek.md +32 -0
- cecli/website/docs/llms/gemini.md +49 -0
- cecli/website/docs/llms/github.md +111 -0
- cecli/website/docs/llms/groq.md +36 -0
- cecli/website/docs/llms/lm-studio.md +39 -0
- cecli/website/docs/llms/ollama.md +75 -0
- cecli/website/docs/llms/openai-compat.md +39 -0
- cecli/website/docs/llms/openai.md +58 -0
- cecli/website/docs/llms/openrouter.md +78 -0
- cecli/website/docs/llms/other.md +117 -0
- cecli/website/docs/llms/vertex.md +50 -0
- cecli/website/docs/llms/warnings.md +10 -0
- cecli/website/docs/llms/xai.md +53 -0
- cecli/website/docs/llms.md +54 -0
- cecli/website/docs/more/analytics.md +127 -0
- cecli/website/docs/more/edit-formats.md +116 -0
- cecli/website/docs/more/infinite-output.md +192 -0
- cecli/website/docs/more-info.md +8 -0
- cecli/website/docs/recordings/auto-accept-architect.md +31 -0
- cecli/website/docs/recordings/dont-drop-original-read-files.md +35 -0
- cecli/website/docs/recordings/index.md +21 -0
- cecli/website/docs/recordings/model-accepts-settings.md +69 -0
- cecli/website/docs/recordings/tree-sitter-language-pack.md +80 -0
- cecli/website/docs/repomap.md +112 -0
- cecli/website/docs/scripting.md +100 -0
- cecli/website/docs/sessions.md +213 -0
- cecli/website/docs/troubleshooting/aider-not-found.md +24 -0
- cecli/website/docs/troubleshooting/edit-errors.md +76 -0
- cecli/website/docs/troubleshooting/imports.md +62 -0
- cecli/website/docs/troubleshooting/models-and-keys.md +54 -0
- cecli/website/docs/troubleshooting/support.md +79 -0
- cecli/website/docs/troubleshooting/token-limits.md +96 -0
- cecli/website/docs/troubleshooting/warnings.md +12 -0
- cecli/website/docs/troubleshooting.md +11 -0
- cecli/website/docs/usage/browser.md +57 -0
- cecli/website/docs/usage/caching.md +49 -0
- cecli/website/docs/usage/commands.md +133 -0
- cecli/website/docs/usage/conventions.md +119 -0
- cecli/website/docs/usage/copypaste.md +136 -0
- cecli/website/docs/usage/images-urls.md +48 -0
- cecli/website/docs/usage/lint-test.md +118 -0
- cecli/website/docs/usage/modes.md +211 -0
- cecli/website/docs/usage/not-code.md +179 -0
- cecli/website/docs/usage/notifications.md +87 -0
- cecli/website/docs/usage/tips.md +79 -0
- cecli/website/docs/usage/tutorials.md +30 -0
- cecli/website/docs/usage/voice.md +121 -0
- cecli/website/docs/usage/watch.md +294 -0
- cecli/website/docs/usage.md +102 -0
- cecli/website/share/index.md +101 -0
- cecli_dev-0.95.5.dist-info/METADATA +549 -0
- cecli_dev-0.95.5.dist-info/RECORD +366 -0
- cecli_dev-0.95.5.dist-info/WHEEL +5 -0
- cecli_dev-0.95.5.dist-info/entry_points.txt +4 -0
- cecli_dev-0.95.5.dist-info/licenses/LICENSE.txt +202 -0
- cecli_dev-0.95.5.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
parent: Configuration
|
|
3
|
+
nav_order: 100
|
|
4
|
+
description: How to configure a custom editor for aider's /editor command
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Editor configuration
|
|
8
|
+
|
|
9
|
+
Aider allows you to configure your preferred text editor for use with the `/editor` command. The editor must be capable of running in "blocking mode", meaning the command line will wait until you close the editor before proceeding.
|
|
10
|
+
|
|
11
|
+
## Using `--editor`
|
|
12
|
+
|
|
13
|
+
You can specify the text editor with the `--editor` switch or using
|
|
14
|
+
`editor:` in aider's
|
|
15
|
+
[YAML config file](https://aider.chat/docs/config/aider_conf.html).
|
|
16
|
+
|
|
17
|
+
## Environment variables
|
|
18
|
+
|
|
19
|
+
Aider checks the following environment variables in order to determine which editor to use:
|
|
20
|
+
|
|
21
|
+
1. `CECLI_EDITOR`
|
|
22
|
+
2. `VISUAL`
|
|
23
|
+
3. `EDITOR`
|
|
24
|
+
|
|
25
|
+
## Default behavior
|
|
26
|
+
|
|
27
|
+
If no editor is configured, aider will use these platform-specific defaults:
|
|
28
|
+
|
|
29
|
+
- Windows: `notepad`
|
|
30
|
+
- macOS: `vim`
|
|
31
|
+
- Linux/Unix: `vi`
|
|
32
|
+
|
|
33
|
+
## Using a custom editor
|
|
34
|
+
|
|
35
|
+
You can set your preferred editor in your shell's configuration file (e.g., `.bashrc`, `.zshrc`):
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
export CECLI_EDITOR=vim
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Popular Editors by Platform
|
|
42
|
+
|
|
43
|
+
### macOS
|
|
44
|
+
|
|
45
|
+
1. **vim**
|
|
46
|
+
```bash
|
|
47
|
+
export CECLI_EDITOR=vim
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
2. **Emacs**
|
|
51
|
+
```bash
|
|
52
|
+
export CECLI_EDITOR=emacs
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
3. **VSCode**
|
|
56
|
+
```bash
|
|
57
|
+
export CECLI_EDITOR="code --wait"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
4. **Sublime Text**
|
|
61
|
+
```bash
|
|
62
|
+
export CECLI_EDITOR="subl --wait"
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
5. **BBEdit**
|
|
66
|
+
```bash
|
|
67
|
+
export CECLI_EDITOR="bbedit --wait"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Linux
|
|
71
|
+
|
|
72
|
+
1. **vim**
|
|
73
|
+
```bash
|
|
74
|
+
export CECLI_EDITOR=vim
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
2. **Emacs**
|
|
78
|
+
```bash
|
|
79
|
+
export CECLI_EDITOR=emacs
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
3. **nano**
|
|
83
|
+
```bash
|
|
84
|
+
export CECLI_EDITOR=nano
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
4. **VSCode**
|
|
88
|
+
```bash
|
|
89
|
+
export CECLI_EDITOR="code --wait"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
5. **Sublime Text**
|
|
93
|
+
```bash
|
|
94
|
+
export CECLI_EDITOR="subl --wait"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Windows
|
|
98
|
+
|
|
99
|
+
1. **Notepad**
|
|
100
|
+
```bat
|
|
101
|
+
set CECLI_EDITOR=notepad
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
2. **VSCode**
|
|
105
|
+
```bat
|
|
106
|
+
set CECLI_EDITOR="code --wait"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
3. **Notepad++**
|
|
110
|
+
```bat
|
|
111
|
+
set CECLI_EDITOR="notepad++ -multiInst -notabbar -nosession -noPlugin -waitForClose"
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Editor command arguments
|
|
115
|
+
|
|
116
|
+
Some editors require specific command-line arguments to operate in blocking mode. The `--wait` flag (or equivalent) is commonly used to make the editor block until the file is closed.
|
|
117
|
+
|
|
118
|
+
## Troubleshooting
|
|
119
|
+
|
|
120
|
+
If you encounter issues with your editor not blocking (returning to the prompt immediately), verify that:
|
|
121
|
+
|
|
122
|
+
1. Your editor supports blocking mode
|
|
123
|
+
2. You've included the necessary command-line arguments for blocking mode
|
|
124
|
+
3. The editor command is properly quoted if it contains spaces or special characters, e.g.:
|
|
125
|
+
```bash
|
|
126
|
+
export CECLI_EDITOR="code --wait"
|
|
127
|
+
```
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
---
|
|
2
|
+
parent: Configuration
|
|
3
|
+
nav_order: 120
|
|
4
|
+
description: Configure Model Control Protocol (MCP) servers for enhanced AI capabilities.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Model Control Protocol (MCP)
|
|
8
|
+
|
|
9
|
+
Model Control Protocol (MCP) servers extend aider's capabilities by providing additional tools and functionality to the AI models. MCP servers can add features like git operations, context retrieval, and other specialized tools.
|
|
10
|
+
|
|
11
|
+
## Configuring MCP Servers
|
|
12
|
+
|
|
13
|
+
Aider supports configuring MCP servers using the MCP Server Configuration schema. Please
|
|
14
|
+
see the [Model Context Protocol documentation](https://modelcontextprotocol.io/introduction)
|
|
15
|
+
for more information.
|
|
16
|
+
|
|
17
|
+
You have two ways of sharing your MCP server configuration with Aider.
|
|
18
|
+
|
|
19
|
+
{: .note }
|
|
20
|
+
|
|
21
|
+
> Today, CECLI/Cecli supports connecting to MCP servers using stdio, http, and sse transports.
|
|
22
|
+
|
|
23
|
+
### Config Files
|
|
24
|
+
|
|
25
|
+
You can configure MCP servers in your `.aider.conf.yml` file using either JSON or YAML format:
|
|
26
|
+
|
|
27
|
+
#### JSON Configuration
|
|
28
|
+
|
|
29
|
+
```yaml
|
|
30
|
+
mcp-servers: |
|
|
31
|
+
{
|
|
32
|
+
"mcpServers": {
|
|
33
|
+
"git": {
|
|
34
|
+
"transport": "http",
|
|
35
|
+
"url": "http://localhost:8000"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
#### YAML Configuration
|
|
42
|
+
|
|
43
|
+
```yaml
|
|
44
|
+
mcp-servers:
|
|
45
|
+
mcpServers:
|
|
46
|
+
context7:
|
|
47
|
+
transport: http
|
|
48
|
+
url: https://mcp.context7.com/mcp
|
|
49
|
+
deepwiki:
|
|
50
|
+
transport: http
|
|
51
|
+
url: https://mcp.deepwiki.com/mcp
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Or specify a configuration file:
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
mcp-servers-file: /path/to/mcp.json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
These options are configurable in any of Aider's config file formats.
|
|
61
|
+
|
|
62
|
+
### Flags
|
|
63
|
+
|
|
64
|
+
You can specify MCP servers directly on the command line using the `--mcp-servers` option with a JSON or YAML string:
|
|
65
|
+
|
|
66
|
+
#### Using a JSON String
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
aider --mcp-servers '{"mcpServers":{"git":{"transport":"http","url":"http://localhost:8000"}}}'
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### Using a YAML String
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
aider --mcp-servers 'mcpServers:
|
|
76
|
+
context7:
|
|
77
|
+
transport: http
|
|
78
|
+
url: https://mcp.context7.com/mcp
|
|
79
|
+
deepwiki:
|
|
80
|
+
transport: http
|
|
81
|
+
url: https://mcp.deepwiki.com/mcp'
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
#### Using a configuration file
|
|
85
|
+
|
|
86
|
+
Alternatively, you can store your MCP server configurations in a JSON or YAML file and reference it with the `--mcp-servers-file` option:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
aider --mcp-servers-file mcp.json
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
#### Specifying the transport
|
|
93
|
+
|
|
94
|
+
You can use the `--mcp-transport` flag to specify the transport for all configured MCP servers that do not have a transport specified.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
aider --mcp-transport http
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Environment Variables
|
|
101
|
+
|
|
102
|
+
You can also configure MCP servers using environment variables in your `.env` file using JSON or YAML format:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
CECLI_MCP_SERVERS={"mcpServers":{"git":{"transport": "stdio", "command":"uvx","args":["mcp-server-git"]}}}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Or specify a configuration file:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
CECLI_MCP_SERVERS_FILE=/path/to/mcp.json
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Troubleshooting
|
|
115
|
+
|
|
116
|
+
If you encounter issues with MCP servers:
|
|
117
|
+
|
|
118
|
+
1. Use the `--verbose` flag to see detailed information about MCP server loading
|
|
119
|
+
2. Check that the specified executables are installed and available in your PATH
|
|
120
|
+
3. Verify that your JSON or YAML configuration is valid
|
|
121
|
+
|
|
122
|
+
For more information about specific MCP servers and their capabilities, refer to their respective documentation.
|
|
123
|
+
|
|
124
|
+
## Common MCP Servers
|
|
125
|
+
|
|
126
|
+
Here are some commonly used MCP servers that can enhance aider's capabilities:
|
|
127
|
+
|
|
128
|
+
### Context7
|
|
129
|
+
|
|
130
|
+
Context7 MCP provides up-to-date, version-specific documentation and code examples directly from the source into your LLM prompts, eliminating outdated information and hallucinations. It offers a streamlined integration experience with built-in caching mechanisms and is optimized for explorative agentic workflows.
|
|
131
|
+
|
|
132
|
+
```yaml
|
|
133
|
+
mcp-servers:
|
|
134
|
+
mcpServers:
|
|
135
|
+
context7:
|
|
136
|
+
transport: http
|
|
137
|
+
url: https://mcp.context7.com/mcp
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### DeepWiki
|
|
141
|
+
|
|
142
|
+
DeepWiki MCP is an unofficial server that crawls Deepwiki URLs, converts pages to Markdown, and returns them as a single document or a list. It features domain safety, HTML sanitization, and link rewriting to provide clean, structured documentation from Deepwiki repositories.
|
|
143
|
+
|
|
144
|
+
```yaml
|
|
145
|
+
mcp-servers:
|
|
146
|
+
mcpServers:
|
|
147
|
+
deepwiki:
|
|
148
|
+
transport: http
|
|
149
|
+
url: https://mcp.deepwiki.com/mcp
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Serena
|
|
153
|
+
|
|
154
|
+
Serena MCP provides LSP support for the current project, offering code analysis, symbol navigation, and project-specific tooling. It runs as a local stdio server and provides context-aware development assistance directly within the IDE environment.
|
|
155
|
+
|
|
156
|
+
```yaml
|
|
157
|
+
mcp-servers:
|
|
158
|
+
mcpServers:
|
|
159
|
+
serena:
|
|
160
|
+
transport: stdio
|
|
161
|
+
command: uvx
|
|
162
|
+
args: [
|
|
163
|
+
"--from",
|
|
164
|
+
"git+https://github.com/oraios/serena",
|
|
165
|
+
"serena",
|
|
166
|
+
"start-mcp-server",
|
|
167
|
+
"--context",
|
|
168
|
+
"ide",
|
|
169
|
+
"--project",
|
|
170
|
+
"{project path}"
|
|
171
|
+
]
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Chrome DevTools
|
|
175
|
+
|
|
176
|
+
Chrome DevTools MCP provides browser automation and debugging capabilities through Chrome's DevTools Protocol, enabling web page interaction, network monitoring, and performance analysis. It connects to a running Chrome instance and offers tools for web development testing and automation. Note: the configuration below requires you to start chrome with remote debugging enabled before
|
|
177
|
+
starting the coding agent.
|
|
178
|
+
|
|
179
|
+
```yaml
|
|
180
|
+
mcp-servers:
|
|
181
|
+
mcpServers:
|
|
182
|
+
chrome-devtools:
|
|
183
|
+
transport: stdio
|
|
184
|
+
command: npx
|
|
185
|
+
args: [
|
|
186
|
+
"chrome-devtools-mcp@latest",
|
|
187
|
+
"--browser-url",
|
|
188
|
+
"http://127.0.0.1:9222"
|
|
189
|
+
]
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### GitHub
|
|
193
|
+
|
|
194
|
+
GitHub MCP provides access to GitHub repositories, issues, pull requests, and other GitHub resources. It enables AI models to interact with GitHub data, read repository contents, and perform various GitHub operations. The server runs in a Docker container and requires a GitHub Personal Access Token for authentication.
|
|
195
|
+
|
|
196
|
+
```yaml
|
|
197
|
+
mcp-servers:
|
|
198
|
+
mcpServers:
|
|
199
|
+
github:
|
|
200
|
+
transport: stdio
|
|
201
|
+
command: "docker"
|
|
202
|
+
args: [
|
|
203
|
+
"run",
|
|
204
|
+
"-i",
|
|
205
|
+
"--rm",
|
|
206
|
+
"-e",
|
|
207
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN=<access_token>",
|
|
208
|
+
"ghcr.io/github/github-mcp-server"
|
|
209
|
+
]
|
|
210
|
+
```
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
parent: Configuration
|
|
3
|
+
nav_order: 1000
|
|
4
|
+
description: Assign convenient short names to models.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Model Aliases
|
|
8
|
+
|
|
9
|
+
Model aliases allow you to create shorthand names for models you frequently use. This is particularly useful for models with long names or when you want to standardize model usage across your team.
|
|
10
|
+
|
|
11
|
+
## Command Line Usage
|
|
12
|
+
|
|
13
|
+
You can define aliases when launching aider using the `--alias` option:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
aider --alias "fast:gpt-5-mini" --alias "smart:o3-mini"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Multiple aliases can be defined by using the `--alias` option multiple times. Each alias definition should be in the format `alias:model-name`.
|
|
20
|
+
|
|
21
|
+
## Configuration File
|
|
22
|
+
|
|
23
|
+
Of course,
|
|
24
|
+
you can also define aliases in your [`.aider.conf.yml` file](https://aider.chat/docs/config/aider_conf.html):
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
alias:
|
|
28
|
+
- "fast:gpt-5-mini"
|
|
29
|
+
- "smart:o3-mini"
|
|
30
|
+
- "hacker:claude-3-sonnet-20240229"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Using Aliases
|
|
34
|
+
|
|
35
|
+
Once defined, you can use the alias instead of the full model name from the command line:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
aider --model fast # Uses gpt-5-mini
|
|
39
|
+
aider --model smart # Uses o3-mini
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Or with the `/model` command in-chat:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
Aider v0.75.3
|
|
46
|
+
Main model: anthropic/claude-3-7-sonnet-20250219 with diff edit format, prompt cache, infinite output
|
|
47
|
+
Weak model: claude-3-5-sonnet-20241022
|
|
48
|
+
Git repo: .git with 406 files
|
|
49
|
+
Repo-map: using 4096 tokens, files refresh
|
|
50
|
+
─────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
51
|
+
> /model fast
|
|
52
|
+
|
|
53
|
+
Aider v0.75.3
|
|
54
|
+
Main model: gpt-5-mini with diff edit format
|
|
55
|
+
─────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
56
|
+
diff> /model smart
|
|
57
|
+
|
|
58
|
+
Aider v0.75.3
|
|
59
|
+
Main model: o3-mini with diff edit format
|
|
60
|
+
─────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
61
|
+
>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Built-in Aliases
|
|
65
|
+
|
|
66
|
+
Aider includes some built-in aliases for convenience:
|
|
67
|
+
|
|
68
|
+
<!--[[[cog
|
|
69
|
+
import cog
|
|
70
|
+
from aider.models import MODEL_ALIASES
|
|
71
|
+
|
|
72
|
+
for alias, model in sorted(MODEL_ALIASES.items()):
|
|
73
|
+
cog.outl(f"- `{alias}`: {model}")
|
|
74
|
+
]]]-->
|
|
75
|
+
- `3`: gpt-3.5-turbo
|
|
76
|
+
- `35-turbo`: gpt-3.5-turbo
|
|
77
|
+
- `35turbo`: gpt-3.5-turbo
|
|
78
|
+
- `4`: gpt-4-0613
|
|
79
|
+
- `4-turbo`: gpt-4-1106-preview
|
|
80
|
+
- `4o`: gpt-4o
|
|
81
|
+
- `5`: gpt-5
|
|
82
|
+
- `deepseek`: deepseek/deepseek-chat
|
|
83
|
+
- `flash`: gemini/gemini-2.5-flash
|
|
84
|
+
- `flash-lite`: gemini/gemini-2.5-flash-lite
|
|
85
|
+
- `gemini`: gemini/gemini-3-pro-preview
|
|
86
|
+
- `gemini-2.5-pro`: gemini/gemini-2.5-pro
|
|
87
|
+
- `gemini-3-pro-preview`: gemini/gemini-3-pro-preview
|
|
88
|
+
- `gemini-exp`: gemini/gemini-2.5-pro-exp-03-25
|
|
89
|
+
- `grok3`: xai/grok-3-beta
|
|
90
|
+
- `haiku`: claude-3-5-haiku-20241022
|
|
91
|
+
- `optimus`: openrouter/openrouter/optimus-alpha
|
|
92
|
+
- `opus`: claude-opus-4-20250514
|
|
93
|
+
- `quasar`: openrouter/openrouter/quasar-alpha
|
|
94
|
+
- `r1`: deepseek/deepseek-reasoner
|
|
95
|
+
- `sonnet`: anthropic/claude-sonnet-4-20250514
|
|
96
|
+
<!--[[[end]]]-->
|
|
97
|
+
|
|
98
|
+
## Advanced Model Settings
|
|
99
|
+
|
|
100
|
+
CECLI/Cecli supports model names with colon-separated suffixes (e.g., `gpt-5:high`) that map to additional configuration parameters defined in the relevant config.yml file. This allows you to create named configurations for different use cases. These configurations map precisely to the LiteLLM `completion()` method parameters [here](https://docs.litellm.ai/docs/completion/input), though more are supported for specific models and providers.
|
|
101
|
+
|
|
102
|
+
### Configuration File
|
|
103
|
+
|
|
104
|
+
Add a structure like the following to your config.yml file or create a `.aider.model.overrides.yml` file (or specify a different file with `--model-overrides-file` if there are global defaults you want):
|
|
105
|
+
|
|
106
|
+
```yaml
|
|
107
|
+
model-overrides:
|
|
108
|
+
gpt-5:
|
|
109
|
+
high: # Use with: --model gpt-5:high
|
|
110
|
+
temperature: 0.8
|
|
111
|
+
top_p: 0.9
|
|
112
|
+
extra_body:
|
|
113
|
+
reasoning_effort: high
|
|
114
|
+
low: # Use with: --model gpt-5:low
|
|
115
|
+
temperature: 0.2
|
|
116
|
+
top_p: 0.5
|
|
117
|
+
creative: # Use with: --model gpt-5:creative
|
|
118
|
+
temperature: 0.9
|
|
119
|
+
top_p: 0.95
|
|
120
|
+
frequency_penalty: 0.5
|
|
121
|
+
|
|
122
|
+
claude-4-5-sonnet:
|
|
123
|
+
fast: # Use with: --model claude-3-5-sonnet:fast
|
|
124
|
+
temperature: 0.3
|
|
125
|
+
detailed: # Use with: --model claude-3-5-sonnet:detailed
|
|
126
|
+
temperature: 0.7
|
|
127
|
+
thinking_tokens: 4096
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Usage
|
|
131
|
+
|
|
132
|
+
You can use these suffixes with any model argument:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
# Main model with high reasoning effort (using file)
|
|
136
|
+
aider --model gpt-5:high --model-overrides-file .aider.model.overrides.yml
|
|
137
|
+
|
|
138
|
+
# Main model with high reasoning effort (using direct JSON/YAML)
|
|
139
|
+
aider --model gpt-5:high --model-overrides '{"gpt-5": {"high": {"temperature": 0.8, "top_p": 0.9, "extra_body": {"reasoning_effort": "high"}}}}'
|
|
140
|
+
|
|
141
|
+
# Different configurations for main and weak models
|
|
142
|
+
aider --model claude-3-5-sonnet:detailed --weak-model claude-3-5-sonnet:fast
|
|
143
|
+
|
|
144
|
+
# Editor model with creative settings
|
|
145
|
+
aider --model gpt-5 --editor-model gpt-5:creative
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### How It Works
|
|
149
|
+
|
|
150
|
+
1. When you specify a model with a suffix (e.g., `gpt-5:high`), Aider splits it into the base model name (`gpt-5`) and suffix (`high`).
|
|
151
|
+
2. It looks up the suffix in the overrides file for that model.
|
|
152
|
+
3. The corresponding configuration parameters are applied to the model's API calls.
|
|
153
|
+
4. The parameters are deep-merged into the model's existing settings, with overrides taking precedence.
|
|
154
|
+
|
|
155
|
+
### Priority
|
|
156
|
+
|
|
157
|
+
Model overrides work alongside aliases. For example, you can use:
|
|
158
|
+
- `aider --model fast:high` (if `fast` is an alias for `gpt-5-mini`)
|
|
159
|
+
- `aider --model sonnet:detailed` (if `sonnet` is an alias for `anthropic/claude-sonnet-4-20250514`)
|
|
160
|
+
|
|
161
|
+
The suffix is applied after alias resolution.
|
|
162
|
+
|
|
163
|
+
## Priority
|
|
164
|
+
|
|
165
|
+
If the same alias is defined in multiple places, the priority is:
|
|
166
|
+
|
|
167
|
+
1. Command line aliases (highest priority)
|
|
168
|
+
2. Configuration file aliases
|
|
169
|
+
3. Built-in aliases (lowest priority)
|
|
170
|
+
|
|
171
|
+
This allows you to override built-in aliases with your own preferences.
|
|
172
|
+
|
|
173
|
+
Model overrides with suffixes provide an additional layer of configuration that works alongside aliases, giving you fine-grained control over model parameters for different use cases.
|