cecli-dev 0.93.1__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.93.1.dist-info/METADATA +549 -0
- cecli_dev-0.93.1.dist-info/RECORD +366 -0
- cecli_dev-0.93.1.dist-info/WHEEL +5 -0
- cecli_dev-0.93.1.dist-info/entry_points.txt +4 -0
- cecli_dev-0.93.1.dist-info/licenses/LICENSE.txt +202 -0
- cecli_dev-0.93.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# Custom Commands
|
|
2
|
+
|
|
3
|
+
Cecli allows you to create and use custom commands to extend its functionality. Custom commands are Python classes that extend the `BaseCommand` class and can be loaded from specified directories or files.
|
|
4
|
+
|
|
5
|
+
## How Custom Commands Work
|
|
6
|
+
|
|
7
|
+
### Command Registry System
|
|
8
|
+
|
|
9
|
+
Cecli uses a centralized command registry that manages all available commands:
|
|
10
|
+
|
|
11
|
+
- **Built-in Commands**: Standard commands like `/add`, `/model`, `/help`, etc.
|
|
12
|
+
- **Custom Commands**: User-defined commands loaded from specified paths
|
|
13
|
+
- **Command Discovery**: Automatic loading of commands from configured directories
|
|
14
|
+
|
|
15
|
+
### Configuration
|
|
16
|
+
|
|
17
|
+
Custom commands can be configured using the `command-paths` configuration option in your YAML configuration file:
|
|
18
|
+
|
|
19
|
+
```yaml
|
|
20
|
+
command-paths: [".cecli/commands/", "~/my-commands/", "./special_command.py"]
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The `command-paths` configuration option allows you to specify directories or files containing custom commands to load.
|
|
24
|
+
|
|
25
|
+
The `command-paths` can include:
|
|
26
|
+
- **Directories**: All `.py` files in the directory will be scanned for `CustomCommand` classes
|
|
27
|
+
- **Individual Python files**: Specific command files can be loaded directly
|
|
28
|
+
|
|
29
|
+
When cecli starts, it:
|
|
30
|
+
1. **Parses configuration**: Reads `command-paths` from config files
|
|
31
|
+
2. **Scans directories**: Looks for Python files in specified directories
|
|
32
|
+
3. **Loads modules**: Imports each Python file as a module
|
|
33
|
+
4. **Registers commands**: Finds classes named `CustomCommand` and registers them
|
|
34
|
+
5. **Makes available**: Registered commands appear in `/help` and can be executed
|
|
35
|
+
|
|
36
|
+
### Creating Custom Commands
|
|
37
|
+
|
|
38
|
+
Custom commands are created by writing Python files that follow this structure:
|
|
39
|
+
|
|
40
|
+
```python
|
|
41
|
+
from typing import List
|
|
42
|
+
from cecli.commands.utils.base_command import BaseCommand
|
|
43
|
+
from cecli.commands.utils.helpers import format_command_result
|
|
44
|
+
|
|
45
|
+
class CustomCommand(BaseCommand):
|
|
46
|
+
NORM_NAME = "custom-command"
|
|
47
|
+
DESCRIPTION = "Description of what the command does"
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
async def execute(cls, io, coder, args, **kwargs):
|
|
51
|
+
"""
|
|
52
|
+
Execute the custom command.
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
io: InputOutput instance
|
|
56
|
+
coder: Coder instance (may be None for some commands)
|
|
57
|
+
args: Command arguments as string
|
|
58
|
+
**kwargs: Additional context
|
|
59
|
+
|
|
60
|
+
Returns:
|
|
61
|
+
Optional result (most commands return None)
|
|
62
|
+
"""
|
|
63
|
+
# Command implementation here
|
|
64
|
+
result = f"Command executed with arguments: {args}"
|
|
65
|
+
return format_command_result(io, cls.NORM_NAME, result)
|
|
66
|
+
|
|
67
|
+
@classmethod
|
|
68
|
+
def get_completions(cls, io, coder, args) -> List[str]:
|
|
69
|
+
"""
|
|
70
|
+
Get completion options for this command.
|
|
71
|
+
|
|
72
|
+
Args:
|
|
73
|
+
io: InputOutput instance
|
|
74
|
+
coder: Coder instance
|
|
75
|
+
args: Partial arguments for completion
|
|
76
|
+
|
|
77
|
+
Returns:
|
|
78
|
+
List of completion strings
|
|
79
|
+
"""
|
|
80
|
+
# Return completion options or raise CommandCompletionException
|
|
81
|
+
# for dynamic completions
|
|
82
|
+
return []
|
|
83
|
+
|
|
84
|
+
@classmethod
|
|
85
|
+
def get_help(cls) -> str:
|
|
86
|
+
"""
|
|
87
|
+
Get help text for this command.
|
|
88
|
+
|
|
89
|
+
Returns:
|
|
90
|
+
String containing help text for the command
|
|
91
|
+
"""
|
|
92
|
+
help_text = super().get_help()
|
|
93
|
+
help_text += "\nAdditional information about this custom command."
|
|
94
|
+
return help_text
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### Important Requirements
|
|
98
|
+
|
|
99
|
+
1. **Class Name**: The command class **must** be named exactly `CustomCommand`
|
|
100
|
+
2. **Inheritance**: Must inherit from `BaseCommand` (from `cecli.commands.utils.base_command`)
|
|
101
|
+
3. **Class Properties**: Must define `NORM_NAME` and `DESCRIPTION` class attributes
|
|
102
|
+
4. **Execute Method**: Must implement the `execute` class method
|
|
103
|
+
|
|
104
|
+
### Example: Add List Command
|
|
105
|
+
|
|
106
|
+
Here's a complete example of a custom command that adds a list of numbers:
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
from typing import List
|
|
110
|
+
from cecli.commands.utils.base_command import BaseCommand
|
|
111
|
+
from cecli.commands.utils.helpers import format_command_result
|
|
112
|
+
|
|
113
|
+
class CustomCommand(BaseCommand):
|
|
114
|
+
NORM_NAME = "add-list"
|
|
115
|
+
DESCRIPTION = "Add a list of numbers."
|
|
116
|
+
|
|
117
|
+
@classmethod
|
|
118
|
+
async def execute(cls, io, coder, args, **kwargs):
|
|
119
|
+
"""Execute the context command with given parameters."""
|
|
120
|
+
num_list = map(int, filter(None, args.split(" ")))
|
|
121
|
+
return format_command_result(io, cls.NORM_NAME, sum(num_list))
|
|
122
|
+
|
|
123
|
+
@classmethod
|
|
124
|
+
def get_completions(cls, io, coder, args) -> List[str]:
|
|
125
|
+
"""Get completion options for context command."""
|
|
126
|
+
# The original completions_context raises CommandCompletionException
|
|
127
|
+
# This is handled by the completion system
|
|
128
|
+
from cecli.io import CommandCompletionException
|
|
129
|
+
raise CommandCompletionException()
|
|
130
|
+
|
|
131
|
+
@classmethod
|
|
132
|
+
def get_help(cls) -> str:
|
|
133
|
+
"""Get help text for the context command."""
|
|
134
|
+
help_text = super().get_help()
|
|
135
|
+
help_text += "Add list of integers"
|
|
136
|
+
return help_text
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
#### Complete Configuration Example
|
|
140
|
+
|
|
141
|
+
Complete configuration example in YAML configuration file (`.cecli.conf.yml` or `~/.cecli.conf.yml`):
|
|
142
|
+
|
|
143
|
+
```yaml
|
|
144
|
+
# Model configuration
|
|
145
|
+
model: gemini/gemini-3-pro-preview
|
|
146
|
+
weak-model: gemini/gemini-3-flash-preview
|
|
147
|
+
|
|
148
|
+
# Custom commands configuration
|
|
149
|
+
command-paths: [".cecli/commands/"]
|
|
150
|
+
|
|
151
|
+
# Other cecli options
|
|
152
|
+
...
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### Error Handling
|
|
156
|
+
|
|
157
|
+
If there are errors loading custom commands:
|
|
158
|
+
|
|
159
|
+
- **Invalid paths**: Warnings are logged but cecli continues to run
|
|
160
|
+
- **Syntax errors**: The specific file fails to load but other commands still work
|
|
161
|
+
- **Missing requirements**: Commands that can't be imported are skipped
|
|
162
|
+
|
|
163
|
+
### Best Practices
|
|
164
|
+
|
|
165
|
+
1. **Organize commands**: Group related commands in the same directory
|
|
166
|
+
2. **Use descriptive names**: Make `NORM_NAME` clear, memorable, and unique
|
|
167
|
+
3. **Provide good help**: Implement `get_help()` with clear usage instructions
|
|
168
|
+
4. **Handle errors gracefully**: Use `format_command_result()` for consistent output
|
|
169
|
+
5. **Test commands**: Verify commands work before adding to production config
|
|
170
|
+
|
|
171
|
+
### Integration with Other Features
|
|
172
|
+
|
|
173
|
+
Custom commands work seamlessly with other cecli features:
|
|
174
|
+
|
|
175
|
+
- **Command completion**: Custom commands appear in tab completion
|
|
176
|
+
- **Help system**: Included in `/help` output
|
|
177
|
+
- **TUI interface**: Available in the graphical interface
|
|
178
|
+
- **Agent Mode**: Can be used alongside Agent Mode tools
|
|
179
|
+
|
|
180
|
+
### Benefits
|
|
181
|
+
|
|
182
|
+
- **Extensibility**: Add project-specific functionality
|
|
183
|
+
- **Automation**: Create commands for repetitive tasks
|
|
184
|
+
- **Integration**: Connect cecli with other tools and systems
|
|
185
|
+
- **Customization**: Tailor cecli to your specific workflow
|
|
186
|
+
|
|
187
|
+
Custom commands provide a powerful way to extend cecli's capabilities, allowing you to create specialized functionality for your specific needs while maintaining the familiar command interface.
|
|
@@ -0,0 +1,493 @@
|
|
|
1
|
+
---
|
|
2
|
+
parent: Configuration
|
|
3
|
+
nav_order: 20
|
|
4
|
+
description: Using a .env file to store LLM API keys for aider.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Config with .env
|
|
8
|
+
|
|
9
|
+
You can use a `.env` file to store API keys and other settings for the
|
|
10
|
+
models you use with aider.
|
|
11
|
+
You can also set many general aider options
|
|
12
|
+
in the `.env` file.
|
|
13
|
+
|
|
14
|
+
Aider will look for a `.env` file in these locations:
|
|
15
|
+
|
|
16
|
+
- Your home directory.
|
|
17
|
+
- The root of your git repo.
|
|
18
|
+
- The current directory.
|
|
19
|
+
- As specified with the `--env-file <filename>` parameter.
|
|
20
|
+
|
|
21
|
+
If the files above exist, they will be loaded in that order. Files loaded last will take priority.
|
|
22
|
+
|
|
23
|
+
{% include keys.md %}
|
|
24
|
+
|
|
25
|
+
## Sample .env file
|
|
26
|
+
|
|
27
|
+
Below is a sample `.env` file, which you
|
|
28
|
+
can also
|
|
29
|
+
[download from GitHub](https://github.com/Aider-AI/aider/blob/main/aider/website/assets/sample.env).
|
|
30
|
+
|
|
31
|
+
<!--[[[cog
|
|
32
|
+
from aider.args import get_sample_dotenv
|
|
33
|
+
from pathlib import Path
|
|
34
|
+
text=get_sample_dotenv()
|
|
35
|
+
Path("aider/website/assets/sample.env").write_text(text)
|
|
36
|
+
cog.outl("```")
|
|
37
|
+
cog.out(text)
|
|
38
|
+
cog.outl("```")
|
|
39
|
+
]]]-->
|
|
40
|
+
```
|
|
41
|
+
##########################################################
|
|
42
|
+
# Sample aider .env file.
|
|
43
|
+
# Place at the root of your git repo.
|
|
44
|
+
# Or use `aider --env <fname>` to specify.
|
|
45
|
+
##########################################################
|
|
46
|
+
|
|
47
|
+
#################
|
|
48
|
+
# LLM parameters:
|
|
49
|
+
#
|
|
50
|
+
# Include xxx_API_KEY parameters and other params needed for your LLMs.
|
|
51
|
+
# See https://aider.chat/docs/llms.html for details.
|
|
52
|
+
|
|
53
|
+
## OpenAI
|
|
54
|
+
#OPENAI_API_KEY=
|
|
55
|
+
|
|
56
|
+
## Anthropic
|
|
57
|
+
#ANTHROPIC_API_KEY=
|
|
58
|
+
|
|
59
|
+
##...
|
|
60
|
+
|
|
61
|
+
#############
|
|
62
|
+
# Main model:
|
|
63
|
+
|
|
64
|
+
## Specify the model to use for the main chat
|
|
65
|
+
#CECLI_MODEL=
|
|
66
|
+
|
|
67
|
+
########################
|
|
68
|
+
# API Keys and settings:
|
|
69
|
+
|
|
70
|
+
## Specify the OpenAI API key
|
|
71
|
+
#CECLI_OPENAI_API_KEY=
|
|
72
|
+
|
|
73
|
+
## Specify the Anthropic API key
|
|
74
|
+
#CECLI_ANTHROPIC_API_KEY=
|
|
75
|
+
|
|
76
|
+
## Specify the api base url
|
|
77
|
+
#CECLI_OPENAI_API_BASE=
|
|
78
|
+
|
|
79
|
+
## (deprecated, use --set-env OPENAI_API_TYPE=<value>)
|
|
80
|
+
#CECLI_OPENAI_API_TYPE=
|
|
81
|
+
|
|
82
|
+
## (deprecated, use --set-env OPENAI_API_VERSION=<value>)
|
|
83
|
+
#CECLI_OPENAI_API_VERSION=
|
|
84
|
+
|
|
85
|
+
## (deprecated, use --set-env OPENAI_API_DEPLOYMENT_ID=<value>)
|
|
86
|
+
#CECLI_OPENAI_API_DEPLOYMENT_ID=
|
|
87
|
+
|
|
88
|
+
## (deprecated, use --set-env OPENAI_ORGANIZATION=<value>)
|
|
89
|
+
#CECLI_OPENAI_ORGANIZATION_ID=
|
|
90
|
+
|
|
91
|
+
## Set an environment variable (to control API settings, can be used multiple times)
|
|
92
|
+
#CECLI_SET_ENV=
|
|
93
|
+
|
|
94
|
+
## Set an API key for a provider (eg: --api-key provider=<key> sets PROVIDER_API_KEY=<key>)
|
|
95
|
+
#CECLI_API_KEY=
|
|
96
|
+
|
|
97
|
+
#################
|
|
98
|
+
# Model settings:
|
|
99
|
+
|
|
100
|
+
## List known models which match the (partial) MODEL name
|
|
101
|
+
#CECLI_LIST_MODELS=
|
|
102
|
+
|
|
103
|
+
## Specify a file with aider model settings for unknown models
|
|
104
|
+
#CECLI_MODEL_SETTINGS_FILE=.aider.model.settings.yml
|
|
105
|
+
|
|
106
|
+
## Specify a file with context window and costs for unknown models
|
|
107
|
+
#CECLI_MODEL_METADATA_FILE=.aider.model.metadata.json
|
|
108
|
+
|
|
109
|
+
## Add a model alias (can be used multiple times)
|
|
110
|
+
#CECLI_ALIAS=
|
|
111
|
+
|
|
112
|
+
## Set the reasoning_effort API parameter (default: not set)
|
|
113
|
+
#CECLI_REASONING_EFFORT=
|
|
114
|
+
|
|
115
|
+
## Set the thinking token budget for models that support it. Use 0 to disable. (default: not set)
|
|
116
|
+
#CECLI_THINKING_TOKENS=
|
|
117
|
+
|
|
118
|
+
## Verify the SSL cert when connecting to models (default: True)
|
|
119
|
+
#CECLI_VERIFY_SSL=true
|
|
120
|
+
|
|
121
|
+
## Timeout in seconds for API calls (default: None)
|
|
122
|
+
#CECLI_TIMEOUT=
|
|
123
|
+
|
|
124
|
+
## Specify what edit format the LLM should use (default depends on model)
|
|
125
|
+
#CECLI_EDIT_FORMAT=
|
|
126
|
+
|
|
127
|
+
## Use architect edit format for the main chat
|
|
128
|
+
#CECLI_ARCHITECT=
|
|
129
|
+
|
|
130
|
+
## Enable/disable automatic acceptance of architect changes (default: True)
|
|
131
|
+
#CECLI_AUTO_ACCEPT_ARCHITECT=true
|
|
132
|
+
|
|
133
|
+
## Specify the model to use for commit messages and chat history summarization (default depends on --model)
|
|
134
|
+
#CECLI_WEAK_MODEL=
|
|
135
|
+
|
|
136
|
+
## Specify the model to use for editor tasks (default depends on --model)
|
|
137
|
+
#CECLI_EDITOR_MODEL=
|
|
138
|
+
|
|
139
|
+
## Specify the edit format for the editor model (default: depends on editor model)
|
|
140
|
+
#CECLI_EDITOR_EDIT_FORMAT=
|
|
141
|
+
|
|
142
|
+
## Only work with models that have meta-data available (default: True)
|
|
143
|
+
#CECLI_SHOW_MODEL_WARNINGS=true
|
|
144
|
+
|
|
145
|
+
## Check if model accepts settings like reasoning_effort/thinking_tokens (default: True)
|
|
146
|
+
#CECLI_CHECK_MODEL_ACCEPTS_SETTINGS=true
|
|
147
|
+
|
|
148
|
+
## Soft limit on tokens for chat history, after which summarization begins. If unspecified, defaults to the model's max_chat_history_tokens.
|
|
149
|
+
#CECLI_MAX_CHAT_HISTORY_TOKENS=
|
|
150
|
+
|
|
151
|
+
#################
|
|
152
|
+
# Cache settings:
|
|
153
|
+
|
|
154
|
+
## Enable caching of prompts (default: False)
|
|
155
|
+
#CECLI_CACHE_PROMPTS=false
|
|
156
|
+
|
|
157
|
+
## Number of times to ping at 5min intervals to keep prompt cache warm (default: 0)
|
|
158
|
+
#CECLI_CACHE_KEEPALIVE_PINGS=false
|
|
159
|
+
|
|
160
|
+
###################
|
|
161
|
+
# Repomap settings:
|
|
162
|
+
|
|
163
|
+
## Suggested number of tokens to use for repo map, use 0 to disable
|
|
164
|
+
#CECLI_MAP_TOKENS=
|
|
165
|
+
|
|
166
|
+
## Control how often the repo map is refreshed. Options: auto, always, files, manual (default: auto)
|
|
167
|
+
#CECLI_MAP_REFRESH=auto
|
|
168
|
+
|
|
169
|
+
## Multiplier for map tokens when no files are specified (default: 2)
|
|
170
|
+
#CECLI_MAP_MULTIPLIER_NO_FILES=true
|
|
171
|
+
|
|
172
|
+
## Maximum line length for the repo map code. Prevents sending crazy long lines of minified JS files etc. (default: 100)
|
|
173
|
+
#CECLI_MAP_MAX_LINE_LENGTH=100
|
|
174
|
+
|
|
175
|
+
################
|
|
176
|
+
# History Files:
|
|
177
|
+
|
|
178
|
+
## Specify the chat input history file (default: .aider.input.history)
|
|
179
|
+
#CECLI_INPUT_HISTORY_FILE=.aider.input.history
|
|
180
|
+
|
|
181
|
+
## Specify the chat history file (default: .aider.chat.history.md)
|
|
182
|
+
#CECLI_CHAT_HISTORY_FILE=.aider.chat.history.md
|
|
183
|
+
|
|
184
|
+
## Restore the previous chat history messages (default: False)
|
|
185
|
+
#CECLI_RESTORE_CHAT_HISTORY=false
|
|
186
|
+
|
|
187
|
+
## Log the conversation with the LLM to this file (for example, .aider.llm.history)
|
|
188
|
+
#CECLI_LLM_HISTORY_FILE=
|
|
189
|
+
|
|
190
|
+
##################
|
|
191
|
+
# Output settings:
|
|
192
|
+
|
|
193
|
+
## Use colors suitable for a dark terminal background (default: False)
|
|
194
|
+
#CECLI_DARK_MODE=false
|
|
195
|
+
|
|
196
|
+
## Use colors suitable for a light terminal background (default: False)
|
|
197
|
+
#CECLI_LIGHT_MODE=false
|
|
198
|
+
|
|
199
|
+
## Enable/disable pretty, colorized output (default: True)
|
|
200
|
+
#CECLI_PRETTY=true
|
|
201
|
+
|
|
202
|
+
## Enable/disable streaming responses (default: True)
|
|
203
|
+
#CECLI_STREAM=true
|
|
204
|
+
|
|
205
|
+
## Set the color for user input (default: #00cc00)
|
|
206
|
+
#CECLI_USER_INPUT_COLOR=#00cc00
|
|
207
|
+
|
|
208
|
+
## Set the color for tool output (default: None)
|
|
209
|
+
#CECLI_TOOL_OUTPUT_COLOR=
|
|
210
|
+
|
|
211
|
+
## Set the color for tool error messages (default: #FF2222)
|
|
212
|
+
#CECLI_TOOL_ERROR_COLOR=#FF2222
|
|
213
|
+
|
|
214
|
+
## Set the color for tool warning messages (default: #FFA500)
|
|
215
|
+
#CECLI_TOOL_WARNING_COLOR=#FFA500
|
|
216
|
+
|
|
217
|
+
## Set the color for assistant output (default: #0088ff)
|
|
218
|
+
#CECLI_ASSISTANT_OUTPUT_COLOR=#0088ff
|
|
219
|
+
|
|
220
|
+
## Set the color for the completion menu (default: terminal's default text color)
|
|
221
|
+
#CECLI_COMPLETION_MENU_COLOR=
|
|
222
|
+
|
|
223
|
+
## Set the background color for the completion menu (default: terminal's default background color)
|
|
224
|
+
#CECLI_COMPLETION_MENU_BG_COLOR=
|
|
225
|
+
|
|
226
|
+
## Set the color for the current item in the completion menu (default: terminal's default background color)
|
|
227
|
+
#CECLI_COMPLETION_MENU_CURRENT_COLOR=
|
|
228
|
+
|
|
229
|
+
## Set the background color for the current item in the completion menu (default: terminal's default text color)
|
|
230
|
+
#CECLI_COMPLETION_MENU_CURRENT_BG_COLOR=
|
|
231
|
+
|
|
232
|
+
## Set the markdown code theme (default: default, other options include monokai, solarized-dark, solarized-light, or a Pygments builtin style, see https://pygments.org/styles for available themes)
|
|
233
|
+
#CECLI_CODE_THEME=default
|
|
234
|
+
|
|
235
|
+
## Show diffs when committing changes (default: False)
|
|
236
|
+
#CECLI_SHOW_DIFFS=false
|
|
237
|
+
|
|
238
|
+
###############
|
|
239
|
+
# Git settings:
|
|
240
|
+
|
|
241
|
+
## Enable/disable looking for a git repo (default: True)
|
|
242
|
+
#CECLI_GIT=true
|
|
243
|
+
|
|
244
|
+
## Enable/disable adding .aider* to .gitignore (default: True)
|
|
245
|
+
#CECLI_GITIGNORE=true
|
|
246
|
+
|
|
247
|
+
## Enable/disable the addition of files listed in .gitignore to Aider's editing scope.
|
|
248
|
+
#CECLI_ADD_GITIGNORE_FILES=false
|
|
249
|
+
|
|
250
|
+
## Specify the aider ignore file (default: .aiderignore in git root)
|
|
251
|
+
#CECLI_AIDERIGNORE=.aiderignore
|
|
252
|
+
|
|
253
|
+
## Only consider files in the current subtree of the git repository
|
|
254
|
+
#CECLI_SUBTREE_ONLY=false
|
|
255
|
+
|
|
256
|
+
## Enable/disable auto commit of LLM changes (default: True)
|
|
257
|
+
#CECLI_AUTO_COMMITS=true
|
|
258
|
+
|
|
259
|
+
## Enable/disable commits when repo is found dirty (default: True)
|
|
260
|
+
#CECLI_DIRTY_COMMITS=true
|
|
261
|
+
|
|
262
|
+
## Attribute aider code changes in the git author name (default: True). If explicitly set to True, overrides --attribute-co-authored-by precedence.
|
|
263
|
+
#CECLI_ATTRIBUTE_AUTHOR=
|
|
264
|
+
|
|
265
|
+
## Attribute aider commits in the git committer name (default: True). If explicitly set to True, overrides --attribute-co-authored-by precedence for aider edits.
|
|
266
|
+
#CECLI_ATTRIBUTE_COMMITTER=
|
|
267
|
+
|
|
268
|
+
## Prefix commit messages with 'aider: ' if aider authored the changes (default: False)
|
|
269
|
+
#CECLI_ATTRIBUTE_COMMIT_MESSAGE_AUTHOR=false
|
|
270
|
+
|
|
271
|
+
## Prefix all commit messages with 'aider: ' (default: False)
|
|
272
|
+
#CECLI_ATTRIBUTE_COMMIT_MESSAGE_COMMITTER=false
|
|
273
|
+
|
|
274
|
+
## Attribute aider edits using the Co-authored-by trailer in the commit message (default: True). If True, this takes precedence over default --attribute-author and --attribute-committer behavior unless they are explicitly set to True.
|
|
275
|
+
#CECLI_ATTRIBUTE_CO_AUTHORED_BY=true
|
|
276
|
+
|
|
277
|
+
## Enable/disable git pre-commit hooks with --no-verify (default: False)
|
|
278
|
+
#CECLI_GIT_COMMIT_VERIFY=false
|
|
279
|
+
|
|
280
|
+
## Commit all pending changes with a suitable commit message, then exit
|
|
281
|
+
#CECLI_COMMIT=false
|
|
282
|
+
|
|
283
|
+
## Specify a custom prompt for generating commit messages
|
|
284
|
+
#CECLI_COMMIT_PROMPT=
|
|
285
|
+
|
|
286
|
+
## Perform a dry run without modifying files (default: False)
|
|
287
|
+
#CECLI_DRY_RUN=false
|
|
288
|
+
|
|
289
|
+
## Skip the sanity check for the git repository (default: False)
|
|
290
|
+
#CECLI_SKIP_SANITY_CHECK_REPO=false
|
|
291
|
+
|
|
292
|
+
## Enable/disable watching files for ai coding comments (default: False)
|
|
293
|
+
#CECLI_WATCH_FILES=false
|
|
294
|
+
|
|
295
|
+
########################
|
|
296
|
+
# Fixing and committing:
|
|
297
|
+
|
|
298
|
+
## Lint and fix provided files, or dirty files if none provided
|
|
299
|
+
#CECLI_LINT=false
|
|
300
|
+
|
|
301
|
+
## Specify lint commands to run for different languages, eg: "python: flake8 --select=..." (can be used multiple times)
|
|
302
|
+
#CECLI_LINT_CMD=
|
|
303
|
+
|
|
304
|
+
## Enable/disable automatic linting after changes (default: True)
|
|
305
|
+
#CECLI_AUTO_LINT=true
|
|
306
|
+
|
|
307
|
+
## Specify command to run tests
|
|
308
|
+
#CECLI_TEST_CMD=
|
|
309
|
+
|
|
310
|
+
## Enable/disable automatic testing after changes (default: False)
|
|
311
|
+
#CECLI_AUTO_TEST=false
|
|
312
|
+
|
|
313
|
+
## Run tests, fix problems found and then exit
|
|
314
|
+
#CECLI_TEST=false
|
|
315
|
+
|
|
316
|
+
############
|
|
317
|
+
# Analytics:
|
|
318
|
+
|
|
319
|
+
## Enable/disable analytics for current session (default: random)
|
|
320
|
+
#CECLI_ANALYTICS=
|
|
321
|
+
|
|
322
|
+
## Specify a file to log analytics events
|
|
323
|
+
#CECLI_ANALYTICS_LOG=
|
|
324
|
+
|
|
325
|
+
## Permanently disable analytics
|
|
326
|
+
#CECLI_ANALYTICS_DISABLE=false
|
|
327
|
+
|
|
328
|
+
## Send analytics to custom PostHog instance
|
|
329
|
+
#CECLI_ANALYTICS_POSTHOG_HOST=
|
|
330
|
+
|
|
331
|
+
## Send analytics to custom PostHog project
|
|
332
|
+
#CECLI_ANALYTICS_POSTHOG_PROJECT_API_KEY=
|
|
333
|
+
|
|
334
|
+
############
|
|
335
|
+
# Upgrading:
|
|
336
|
+
|
|
337
|
+
## Check for updates and return status in the exit code
|
|
338
|
+
#CECLI_JUST_CHECK_UPDATE=false
|
|
339
|
+
|
|
340
|
+
## Check for new aider versions on launch
|
|
341
|
+
#CECLI_CHECK_UPDATE=true
|
|
342
|
+
|
|
343
|
+
## Show release notes on first run of new version (default: None, ask user)
|
|
344
|
+
#CECLI_SHOW_RELEASE_NOTES=
|
|
345
|
+
|
|
346
|
+
## Install the latest version from the main branch
|
|
347
|
+
#CECLI_INSTALL_MAIN_BRANCH=false
|
|
348
|
+
|
|
349
|
+
## Upgrade aider to the latest version from PyPI
|
|
350
|
+
#CECLI_UPGRADE=false
|
|
351
|
+
|
|
352
|
+
########
|
|
353
|
+
# Modes:
|
|
354
|
+
|
|
355
|
+
## Specify a single message to send the LLM, process reply then exit (disables chat mode)
|
|
356
|
+
#CECLI_MESSAGE=
|
|
357
|
+
|
|
358
|
+
## Specify a file containing the message to send the LLM, process reply, then exit (disables chat mode)
|
|
359
|
+
#CECLI_MESSAGE_FILE=
|
|
360
|
+
|
|
361
|
+
## Run aider in your browser (default: False)
|
|
362
|
+
#CECLI_GUI=false
|
|
363
|
+
|
|
364
|
+
## Enable automatic copy/paste of chat between aider and web UI (default: False)
|
|
365
|
+
#CECLI_COPY_PASTE=false
|
|
366
|
+
|
|
367
|
+
## Apply the changes from the given file instead of running the chat (debug)
|
|
368
|
+
#CECLI_APPLY=
|
|
369
|
+
|
|
370
|
+
## Apply clipboard contents as edits using the main model's editor format
|
|
371
|
+
#CECLI_APPLY_CLIPBOARD_EDITS=false
|
|
372
|
+
|
|
373
|
+
## Do all startup activities then exit before accepting user input (debug)
|
|
374
|
+
#CECLI_EXIT=false
|
|
375
|
+
|
|
376
|
+
## Print the repo map and exit (debug)
|
|
377
|
+
#CECLI_SHOW_REPO_MAP=false
|
|
378
|
+
|
|
379
|
+
## Print the system prompts and exit (debug)
|
|
380
|
+
#CECLI_SHOW_PROMPTS=false
|
|
381
|
+
|
|
382
|
+
#################
|
|
383
|
+
# Voice settings:
|
|
384
|
+
|
|
385
|
+
## Audio format for voice recording (default: wav). webm and mp3 require ffmpeg
|
|
386
|
+
#CECLI_VOICE_FORMAT=wav
|
|
387
|
+
|
|
388
|
+
## Specify the language for voice using ISO 639-1 code (default: auto)
|
|
389
|
+
#CECLI_VOICE_LANGUAGE=en
|
|
390
|
+
|
|
391
|
+
## Specify the input device name for voice recording
|
|
392
|
+
#CECLI_VOICE_INPUT_DEVICE=
|
|
393
|
+
|
|
394
|
+
#################
|
|
395
|
+
# Other settings:
|
|
396
|
+
|
|
397
|
+
## Never prompt for or attempt to install Playwright for web scraping (default: False).
|
|
398
|
+
#CECLI_DISABLE_PLAYWRIGHT=false
|
|
399
|
+
|
|
400
|
+
## specify a file to edit (can be used multiple times)
|
|
401
|
+
#CECLI_FILE=
|
|
402
|
+
|
|
403
|
+
## specify a read-only file (can be used multiple times)
|
|
404
|
+
#CECLI_READ=
|
|
405
|
+
|
|
406
|
+
## Use VI editing mode in the terminal (default: False)
|
|
407
|
+
#CECLI_VIM=false
|
|
408
|
+
|
|
409
|
+
## Specify the language to use in the chat (default: None, uses system settings)
|
|
410
|
+
#CECLI_CHAT_LANGUAGE=
|
|
411
|
+
|
|
412
|
+
## Specify the language to use in the commit message (default: None, user language)
|
|
413
|
+
#CECLI_COMMIT_LANGUAGE=
|
|
414
|
+
|
|
415
|
+
## Always say yes to every confirmation
|
|
416
|
+
#CECLI_YES_ALWAYS=
|
|
417
|
+
|
|
418
|
+
## Enable verbose output
|
|
419
|
+
#CECLI_VERBOSE=false
|
|
420
|
+
|
|
421
|
+
## Load and execute /commands from a file on launch
|
|
422
|
+
#CECLI_LOAD=
|
|
423
|
+
|
|
424
|
+
## Specify the encoding for input and output (default: utf-8)
|
|
425
|
+
#CECLI_ENCODING=utf-8
|
|
426
|
+
|
|
427
|
+
## Line endings to use when writing files (default: platform)
|
|
428
|
+
#CECLI_LINE_ENDINGS=platform
|
|
429
|
+
|
|
430
|
+
## Specify the .env file to load (default: .env in git root)
|
|
431
|
+
#CECLI_ENV_FILE=.env
|
|
432
|
+
|
|
433
|
+
## Enable/disable suggesting shell commands (default: True)
|
|
434
|
+
#CECLI_SUGGEST_SHELL_COMMANDS=true
|
|
435
|
+
|
|
436
|
+
## Enable/disable fancy input with history and completion (default: True)
|
|
437
|
+
#CECLI_FANCY_INPUT=true
|
|
438
|
+
|
|
439
|
+
## Enable/disable multi-line input mode with Meta-Enter to submit (default: False)
|
|
440
|
+
#CECLI_MULTILINE=false
|
|
441
|
+
|
|
442
|
+
## Enable/disable terminal bell notifications when LLM responses are ready (default: False)
|
|
443
|
+
#CECLI_NOTIFICATIONS=false
|
|
444
|
+
|
|
445
|
+
## Specify a command to run for notifications instead of the terminal bell. If not specified, a default command for your OS may be used.
|
|
446
|
+
#CECLI_NOTIFICATIONS_COMMAND=
|
|
447
|
+
|
|
448
|
+
## Enable/disable detection and offering to add URLs to chat (default: True)
|
|
449
|
+
#CECLI_DETECT_URLS=true
|
|
450
|
+
|
|
451
|
+
## Specify which editor to use for the /editor command
|
|
452
|
+
#CECLI_EDITOR=
|
|
453
|
+
|
|
454
|
+
## Print shell completion script for the specified SHELL and exit. Supported shells: bash, tcsh, zsh. Example: aider --shell-completions bash
|
|
455
|
+
#CECLI_SHELL_COMPLETIONS=
|
|
456
|
+
|
|
457
|
+
############################
|
|
458
|
+
# Deprecated model settings:
|
|
459
|
+
|
|
460
|
+
## Use claude-3-opus-20240229 model for the main chat (deprecated, use --model)
|
|
461
|
+
#CECLI_OPUS=false
|
|
462
|
+
|
|
463
|
+
## Use anthropic/claude-3-7-sonnet-20250219 model for the main chat (deprecated, use --model)
|
|
464
|
+
#CECLI_SONNET=false
|
|
465
|
+
|
|
466
|
+
## Use claude-3-5-haiku-20241022 model for the main chat (deprecated, use --model)
|
|
467
|
+
#CECLI_HAIKU=false
|
|
468
|
+
|
|
469
|
+
## Use gpt-4-0613 model for the main chat (deprecated, use --model)
|
|
470
|
+
#CECLI_4=false
|
|
471
|
+
|
|
472
|
+
## Use gpt-4o model for the main chat (deprecated, use --model)
|
|
473
|
+
#CECLI_4O=false
|
|
474
|
+
|
|
475
|
+
## Use gpt-4o-mini model for the main chat (deprecated, use --model)
|
|
476
|
+
#CECLI_MINI=false
|
|
477
|
+
|
|
478
|
+
## Use gpt-4-1106-preview model for the main chat (deprecated, use --model)
|
|
479
|
+
#CECLI_4_TURBO=false
|
|
480
|
+
|
|
481
|
+
## Use gpt-3.5-turbo model for the main chat (deprecated, use --model)
|
|
482
|
+
#CECLI_35TURBO=false
|
|
483
|
+
|
|
484
|
+
## Use deepseek/deepseek-chat model for the main chat (deprecated, use --model)
|
|
485
|
+
#CECLI_DEEPSEEK=false
|
|
486
|
+
|
|
487
|
+
## Use o1-mini model for the main chat (deprecated, use --model)
|
|
488
|
+
#CECLI_O1_MINI=false
|
|
489
|
+
|
|
490
|
+
## Use o1-preview model for the main chat (deprecated, use --model)
|
|
491
|
+
#CECLI_O1_PREVIEW=false
|
|
492
|
+
```
|
|
493
|
+
<!--[[[end]]]-->
|