aider-ce 0.88.20__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 +34 -0
- aider/analytics.py +258 -0
- aider/args.py +1056 -0
- aider/args_formatter.py +228 -0
- aider/change_tracker.py +133 -0
- aider/coders/__init__.py +36 -0
- aider/coders/agent_coder.py +2166 -0
- aider/coders/agent_prompts.py +104 -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 +3613 -0
- aider/coders/base_prompts.py +87 -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 +175 -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 +9 -0
- aider/coders/editor_editblock_prompts.py +21 -0
- aider/coders/editor_whole_coder.py +9 -0
- aider/coders/editor_whole_prompts.py +12 -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 +159 -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 +65 -0
- aider/commands.py +2173 -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 +115 -0
- aider/format_settings.py +26 -0
- aider/gui.py +545 -0
- aider/help.py +163 -0
- aider/help_pats.py +19 -0
- aider/helpers/__init__.py +9 -0
- aider/helpers/similarity.py +98 -0
- aider/history.py +180 -0
- aider/io.py +1608 -0
- aider/linter.py +304 -0
- aider/llm.py +55 -0
- aider/main.py +1415 -0
- aider/mcp/__init__.py +174 -0
- aider/mcp/server.py +149 -0
- aider/mdstream.py +243 -0
- aider/models.py +1313 -0
- aider/onboarding.py +429 -0
- aider/openrouter.py +129 -0
- aider/prompts.py +56 -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/clojure-tags.scm +7 -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/matlab-tags.scm +10 -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 +24 -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/fortran-tags.scm +15 -0
- aider/queries/tree-sitter-languages/go-tags.scm +30 -0
- aider/queries/tree-sitter-languages/haskell-tags.scm +3 -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/julia-tags.scm +60 -0
- aider/queries/tree-sitter-languages/kotlin-tags.scm +27 -0
- aider/queries/tree-sitter-languages/matlab-tags.scm +10 -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/queries/tree-sitter-languages/zig-tags.scm +3 -0
- aider/reasoning_tags.py +82 -0
- aider/repo.py +621 -0
- aider/repomap.py +1174 -0
- aider/report.py +260 -0
- aider/resources/__init__.py +3 -0
- aider/resources/model-metadata.json +776 -0
- aider/resources/model-settings.yml +2068 -0
- aider/run_cmd.py +133 -0
- aider/scrape.py +293 -0
- aider/sendchat.py +242 -0
- aider/sessions.py +256 -0
- aider/special.py +203 -0
- aider/tools/__init__.py +72 -0
- aider/tools/command.py +105 -0
- aider/tools/command_interactive.py +122 -0
- aider/tools/delete_block.py +182 -0
- aider/tools/delete_line.py +155 -0
- aider/tools/delete_lines.py +184 -0
- aider/tools/extract_lines.py +341 -0
- aider/tools/finished.py +48 -0
- aider/tools/git_branch.py +129 -0
- aider/tools/git_diff.py +60 -0
- aider/tools/git_log.py +57 -0
- aider/tools/git_remote.py +53 -0
- aider/tools/git_show.py +51 -0
- aider/tools/git_status.py +46 -0
- aider/tools/grep.py +256 -0
- aider/tools/indent_lines.py +221 -0
- aider/tools/insert_block.py +288 -0
- aider/tools/list_changes.py +86 -0
- aider/tools/ls.py +93 -0
- aider/tools/make_editable.py +85 -0
- aider/tools/make_readonly.py +69 -0
- aider/tools/remove.py +91 -0
- aider/tools/replace_all.py +126 -0
- aider/tools/replace_line.py +173 -0
- aider/tools/replace_lines.py +217 -0
- aider/tools/replace_text.py +187 -0
- aider/tools/show_numbered_context.py +147 -0
- aider/tools/tool_utils.py +313 -0
- aider/tools/undo_change.py +95 -0
- aider/tools/update_todo_list.py +156 -0
- aider/tools/view.py +57 -0
- aider/tools/view_files_matching.py +141 -0
- aider/tools/view_files_with_symbol.py +129 -0
- aider/urls.py +17 -0
- aider/utils.py +456 -0
- aider/versioncheck.py +113 -0
- aider/voice.py +205 -0
- aider/waiting.py +38 -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 +2261 -0
- aider/website/docs/config/agent-mode.md +194 -0
- aider/website/docs/config/aider_conf.md +548 -0
- aider/website/docs/config/api-keys.md +90 -0
- aider/website/docs/config/dotenv.md +493 -0
- aider/website/docs/config/editor.md +127 -0
- aider/website/docs/config/mcp.md +95 -0
- aider/website/docs/config/model-aliases.md +104 -0
- aider/website/docs/config/options.md +890 -0
- aider/website/docs/config/reasoning.md +210 -0
- aider/website/docs/config.md +44 -0
- aider/website/docs/faq.md +384 -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 +111 -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 +117 -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 +127 -0
- aider/website/docs/more/edit-formats.md +116 -0
- aider/website/docs/more/infinite-output.md +165 -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/sessions.md +203 -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 +133 -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 +102 -0
- aider/website/share/index.md +101 -0
- aider_ce-0.88.20.dist-info/METADATA +187 -0
- aider_ce-0.88.20.dist-info/RECORD +279 -0
- aider_ce-0.88.20.dist-info/WHEEL +5 -0
- aider_ce-0.88.20.dist-info/entry_points.txt +2 -0
- aider_ce-0.88.20.dist-info/licenses/LICENSE.txt +202 -0
- aider_ce-0.88.20.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Agent Mode
|
|
2
|
+
|
|
3
|
+
Agent Mode is an operational mode in aider-ce that enables autonomous codebase exploration and modification using local tools. Instead of relying on traditional edit formats, Agent Mode uses a tool-based approach where the LLM can discover, analyze, and modify files through a series of tool calls.
|
|
4
|
+
|
|
5
|
+
Agent Mode can be activated in the following ways
|
|
6
|
+
|
|
7
|
+
In the interface:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
/agent
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
In the command line:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
aider-ce ... --agent
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
In the configuration files:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
agent: true
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## How Agent Mode Works
|
|
26
|
+
|
|
27
|
+
### Core Architecture
|
|
28
|
+
|
|
29
|
+
Agent Mode operates through a continuous loop where the LLM:
|
|
30
|
+
|
|
31
|
+
1. **Receives a user request** and analyzes the current context
|
|
32
|
+
2. **Uses discovery tools** to find relevant files and information
|
|
33
|
+
3. **Executes editing tools** to make changes
|
|
34
|
+
4. **Processes results** and continues exploration and editing until the task is complete
|
|
35
|
+
|
|
36
|
+
This loop continues automatically until the `Finished` tool is called, or the maximum number of iterations is reached.
|
|
37
|
+
|
|
38
|
+
### Key Components
|
|
39
|
+
|
|
40
|
+
#### Tool Registry System
|
|
41
|
+
|
|
42
|
+
Agent Mode uses a centralized local tool registry that manages all available tools:
|
|
43
|
+
|
|
44
|
+
- **File Discovery Tools**: `View`, `ViewFilesMatching`, `ViewFilesWithSymbol`, `Ls`, `Grep`
|
|
45
|
+
- **Editing Tools**: `ReplaceText`, `InsertBlock`, `DeleteBlock`, `ReplaceLines`, `DeleteLines`
|
|
46
|
+
- **Context Management Tools**: `MakeEditable`, `MakeReadonly`, `Remove`
|
|
47
|
+
- **Git Tools**: `GitDiff`, `GitLog`, `GitShow`, `GitStatus`
|
|
48
|
+
- **Utility Tools**: `UpdateTodoList`, `ListChanges`, `UndoChange`, `Finished`
|
|
49
|
+
|
|
50
|
+
#### Enhanced Context Management
|
|
51
|
+
|
|
52
|
+
Agent Mode includes some useful context management features:
|
|
53
|
+
|
|
54
|
+
- **Automatic file tracking**: Files added during exploration are tracked separately
|
|
55
|
+
- **Context blocks**: Directory structure, git status, symbol outlines, and environment info
|
|
56
|
+
- **Token management**: Automatic calculation of context usage and warnings when approaching limits
|
|
57
|
+
- **Tool usage history**: Tracks repetitive tool usage to prevent exploration loops
|
|
58
|
+
|
|
59
|
+
### Key Features
|
|
60
|
+
|
|
61
|
+
#### Autonomous Context Management
|
|
62
|
+
|
|
63
|
+
- **Proactive file discovery**: LLM can find relevant files without user guidance
|
|
64
|
+
- **Smart file removal**: Large files can be removed from context to save tokens
|
|
65
|
+
- **Dynamic context updates**: Context blocks provide real-time project information
|
|
66
|
+
|
|
67
|
+
#### Granular Editing Capabilities
|
|
68
|
+
|
|
69
|
+
Agent Mode prioritizes granular tools over SEARCH/REPLACE:
|
|
70
|
+
|
|
71
|
+
- **Precision editing**: `ReplaceText` for targeted changes
|
|
72
|
+
- **Block operations**: `InsertBlock`, `DeleteBlock` for larger modifications
|
|
73
|
+
- **Line-based editing**: `ReplaceLines`, `DeleteLines` with safety protocols
|
|
74
|
+
- **Refactoring support**: `ExtractLines` for code reorganization
|
|
75
|
+
|
|
76
|
+
#### Safety and Recovery
|
|
77
|
+
|
|
78
|
+
- **Undo capability**: `UndoChange` tool for immediate recovery from mistakes
|
|
79
|
+
- **Dry run support**: Tools can be tested with `dry_run=True`
|
|
80
|
+
- **Line number verification**: Two-step process for line-based edits to prevents errors
|
|
81
|
+
- **Tool usage monitoring**: Prevents infinite loops by tracking repetitive patterns
|
|
82
|
+
|
|
83
|
+
### Workflow Process
|
|
84
|
+
|
|
85
|
+
#### 1. Exploration Phase
|
|
86
|
+
|
|
87
|
+
The LLM uses discovery tools to gather information:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Tool Call: ViewFilesMatching
|
|
91
|
+
Arguments: {"pattern": "config", "file_pattern": "*.py"}
|
|
92
|
+
|
|
93
|
+
Tool Call: View
|
|
94
|
+
Arguments: {"file_path": "main.py"}
|
|
95
|
+
|
|
96
|
+
Tool Call: Grep
|
|
97
|
+
Arguments: {"pattern": "function_name"}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Files found during exploration are added to context as read-only, allowing the LLM to analyze them without immediate editing.
|
|
101
|
+
|
|
102
|
+
#### 2. Planning Phase
|
|
103
|
+
|
|
104
|
+
The LLM uses the `UpdateTodoList` tool to track progress and plan complex changes:
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
Tool Call: UpdateTodoList
|
|
108
|
+
Arguments: {"content": "## Task: Add new feature\n- [ ] Analyze existing code\n- [ ] Implement new function\n- [ ] Add tests\n- [ ] Update documentation"}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
#### 3. Execution Phase
|
|
112
|
+
|
|
113
|
+
Files are made editable and modifications are applied:
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
Tool Call: MakeEditable
|
|
117
|
+
Arguments: {"file_path": "main.py"}
|
|
118
|
+
|
|
119
|
+
Tool Call: ReplaceText
|
|
120
|
+
Arguments: {"file_path": "main.py", "find_text": "old_function", "replace_text": "new_function"}
|
|
121
|
+
|
|
122
|
+
Tool Call: InsertBlock
|
|
123
|
+
Arguments: {"file_path": "main.py", "after_pattern": "import statements", "content": "new_imports"}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
#### 4. Verification Phase
|
|
127
|
+
|
|
128
|
+
Changes are verified and the process continues:
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
Tool Call: GitDiff
|
|
132
|
+
Arguments: {}
|
|
133
|
+
|
|
134
|
+
Tool Call: ListChanges
|
|
135
|
+
Arguments: {}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### 5. Completion Phase
|
|
139
|
+
|
|
140
|
+
The above continues over and over until:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
Tool Call: Finished
|
|
144
|
+
Arguments: {}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Agent Configuration
|
|
148
|
+
|
|
149
|
+
Agent Mode can be configured using the `--agent-config` command line argument, which accepts a JSON string for fine-grained control over tool availability and behavior.
|
|
150
|
+
|
|
151
|
+
#### Configuration Options
|
|
152
|
+
|
|
153
|
+
- **`large_file_token_threshold`**: Maximum token threshold for large file warnings (default: 25000)
|
|
154
|
+
- **`skip_cli_confirmations`**: YOLO mode, be brave and let the LLM cook, can also use the option `yolo` (default: False)
|
|
155
|
+
- **`tools_includelist`**: Array of tool names to allow (only these tools will be available)
|
|
156
|
+
- **`tools_excludelist`**: Array of tool names to exclude (these tools will be disabled)
|
|
157
|
+
|
|
158
|
+
#### Essential Tools
|
|
159
|
+
|
|
160
|
+
Certain tools are always available regardless of includelist/excludelist settings:
|
|
161
|
+
|
|
162
|
+
- `makeeditable` - Make files editable
|
|
163
|
+
- `replacetext` - Basic text replacement
|
|
164
|
+
- `view` - View files
|
|
165
|
+
- `finished` - Complete the task
|
|
166
|
+
|
|
167
|
+
#### Usage Examples
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Only allow specific tools
|
|
171
|
+
aider-ce --agent --agent-config '{"tools_includelist": ["view", "makeeditable", "replacetext", "finished"]}'
|
|
172
|
+
|
|
173
|
+
# Exclude specific tools
|
|
174
|
+
aider-ce --agent --agent-config '{"tools_excludelist": ["command", "commandinteractive"]}'
|
|
175
|
+
|
|
176
|
+
# Custom large file threshold
|
|
177
|
+
aider-ce --agent --agent-config '{"large_file_token_threshold": 10000}'
|
|
178
|
+
|
|
179
|
+
# Combined configuration
|
|
180
|
+
aider-ce --agent --agent-config '{"large_file_token_threshold": 10000, "tools_includelist": ["view", "makeeditable", "replacetext", "finished", "gitdiff"]}'
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
This configuration system allows for fine-grained control over which tools are available in Agent Mode, enabling security-conscious deployments and specialized workflows while maintaining essential functionality.
|
|
184
|
+
|
|
185
|
+
### Benefits
|
|
186
|
+
|
|
187
|
+
- **Autonomous operation**: Reduces need for manual file management
|
|
188
|
+
- **Context awareness**: Real-time project information improves decision making
|
|
189
|
+
- **Precision editing**: Granular tools reduce errors compared to SEARCH/REPLACE
|
|
190
|
+
- **Scalable exploration**: Can handle large codebases through strategic context management
|
|
191
|
+
- **Recovery mechanisms**: Built-in undo and safety features
|
|
192
|
+
|
|
193
|
+
Agent Mode represents a significant evolution in aider's capabilities, enabling more sophisticated and autonomous codebase manipulation while maintaining safety and control through the tool-based architecture.
|
|
194
|
+
|