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.
Files changed (366) hide show
  1. cecli/__init__.py +20 -0
  2. cecli/__main__.py +4 -0
  3. cecli/_version.py +34 -0
  4. cecli/args.py +1092 -0
  5. cecli/args_formatter.py +228 -0
  6. cecli/change_tracker.py +133 -0
  7. cecli/coders/__init__.py +38 -0
  8. cecli/coders/agent_coder.py +1872 -0
  9. cecli/coders/architect_coder.py +63 -0
  10. cecli/coders/ask_coder.py +8 -0
  11. cecli/coders/base_coder.py +3993 -0
  12. cecli/coders/chat_chunks.py +116 -0
  13. cecli/coders/context_coder.py +52 -0
  14. cecli/coders/copypaste_coder.py +269 -0
  15. cecli/coders/editblock_coder.py +656 -0
  16. cecli/coders/editblock_fenced_coder.py +9 -0
  17. cecli/coders/editblock_func_coder.py +140 -0
  18. cecli/coders/editor_diff_fenced_coder.py +8 -0
  19. cecli/coders/editor_editblock_coder.py +8 -0
  20. cecli/coders/editor_whole_coder.py +8 -0
  21. cecli/coders/help_coder.py +15 -0
  22. cecli/coders/patch_coder.py +705 -0
  23. cecli/coders/search_replace.py +757 -0
  24. cecli/coders/shell.py +37 -0
  25. cecli/coders/single_wholefile_func_coder.py +101 -0
  26. cecli/coders/udiff_coder.py +428 -0
  27. cecli/coders/udiff_simple.py +12 -0
  28. cecli/coders/wholefile_coder.py +143 -0
  29. cecli/coders/wholefile_func_coder.py +133 -0
  30. cecli/commands/__init__.py +192 -0
  31. cecli/commands/add.py +226 -0
  32. cecli/commands/agent.py +51 -0
  33. cecli/commands/architect.py +46 -0
  34. cecli/commands/ask.py +44 -0
  35. cecli/commands/chat_mode.py +0 -0
  36. cecli/commands/clear.py +37 -0
  37. cecli/commands/code.py +46 -0
  38. cecli/commands/command_prefix.py +44 -0
  39. cecli/commands/commit.py +52 -0
  40. cecli/commands/context.py +47 -0
  41. cecli/commands/context_blocks.py +124 -0
  42. cecli/commands/context_management.py +51 -0
  43. cecli/commands/copy.py +62 -0
  44. cecli/commands/copy_context.py +81 -0
  45. cecli/commands/core.py +287 -0
  46. cecli/commands/diff.py +68 -0
  47. cecli/commands/drop.py +217 -0
  48. cecli/commands/editor.py +78 -0
  49. cecli/commands/exit.py +55 -0
  50. cecli/commands/git.py +57 -0
  51. cecli/commands/help.py +140 -0
  52. cecli/commands/history_search.py +40 -0
  53. cecli/commands/lint.py +109 -0
  54. cecli/commands/list_sessions.py +56 -0
  55. cecli/commands/load.py +85 -0
  56. cecli/commands/load_session.py +48 -0
  57. cecli/commands/load_skill.py +68 -0
  58. cecli/commands/ls.py +75 -0
  59. cecli/commands/map.py +37 -0
  60. cecli/commands/map_refresh.py +35 -0
  61. cecli/commands/model.py +118 -0
  62. cecli/commands/models.py +41 -0
  63. cecli/commands/multiline_mode.py +38 -0
  64. cecli/commands/paste.py +91 -0
  65. cecli/commands/quit.py +32 -0
  66. cecli/commands/read_only.py +267 -0
  67. cecli/commands/read_only_stub.py +270 -0
  68. cecli/commands/reasoning_effort.py +70 -0
  69. cecli/commands/remove_skill.py +68 -0
  70. cecli/commands/report.py +40 -0
  71. cecli/commands/reset.py +88 -0
  72. cecli/commands/run.py +99 -0
  73. cecli/commands/save.py +49 -0
  74. cecli/commands/save_session.py +43 -0
  75. cecli/commands/settings.py +69 -0
  76. cecli/commands/test.py +58 -0
  77. cecli/commands/think_tokens.py +74 -0
  78. cecli/commands/tokens.py +207 -0
  79. cecli/commands/undo.py +145 -0
  80. cecli/commands/utils/__init__.py +0 -0
  81. cecli/commands/utils/base_command.py +131 -0
  82. cecli/commands/utils/helpers.py +142 -0
  83. cecli/commands/utils/registry.py +53 -0
  84. cecli/commands/utils/save_load_manager.py +98 -0
  85. cecli/commands/voice.py +78 -0
  86. cecli/commands/weak_model.py +123 -0
  87. cecli/commands/web.py +87 -0
  88. cecli/deprecated_args.py +185 -0
  89. cecli/diffs.py +129 -0
  90. cecli/dump.py +29 -0
  91. cecli/editor.py +147 -0
  92. cecli/exceptions.py +115 -0
  93. cecli/format_settings.py +26 -0
  94. cecli/help.py +119 -0
  95. cecli/help_pats.py +19 -0
  96. cecli/helpers/__init__.py +9 -0
  97. cecli/helpers/copypaste.py +123 -0
  98. cecli/helpers/coroutines.py +8 -0
  99. cecli/helpers/file_searcher.py +142 -0
  100. cecli/helpers/model_providers.py +552 -0
  101. cecli/helpers/plugin_manager.py +81 -0
  102. cecli/helpers/profiler.py +162 -0
  103. cecli/helpers/requests.py +77 -0
  104. cecli/helpers/similarity.py +98 -0
  105. cecli/helpers/skills.py +577 -0
  106. cecli/history.py +186 -0
  107. cecli/io.py +1782 -0
  108. cecli/linter.py +304 -0
  109. cecli/llm.py +101 -0
  110. cecli/main.py +1280 -0
  111. cecli/mcp/__init__.py +154 -0
  112. cecli/mcp/oauth.py +250 -0
  113. cecli/mcp/server.py +278 -0
  114. cecli/mdstream.py +243 -0
  115. cecli/models.py +1255 -0
  116. cecli/onboarding.py +301 -0
  117. cecli/prompts/__init__.py +0 -0
  118. cecli/prompts/agent.yml +71 -0
  119. cecli/prompts/architect.yml +35 -0
  120. cecli/prompts/ask.yml +31 -0
  121. cecli/prompts/base.yml +99 -0
  122. cecli/prompts/context.yml +60 -0
  123. cecli/prompts/copypaste.yml +5 -0
  124. cecli/prompts/editblock.yml +143 -0
  125. cecli/prompts/editblock_fenced.yml +106 -0
  126. cecli/prompts/editblock_func.yml +25 -0
  127. cecli/prompts/editor_diff_fenced.yml +115 -0
  128. cecli/prompts/editor_editblock.yml +121 -0
  129. cecli/prompts/editor_whole.yml +46 -0
  130. cecli/prompts/help.yml +37 -0
  131. cecli/prompts/patch.yml +110 -0
  132. cecli/prompts/single_wholefile_func.yml +24 -0
  133. cecli/prompts/udiff.yml +106 -0
  134. cecli/prompts/udiff_simple.yml +13 -0
  135. cecli/prompts/utils/__init__.py +0 -0
  136. cecli/prompts/utils/prompt_registry.py +167 -0
  137. cecli/prompts/utils/system.py +56 -0
  138. cecli/prompts/wholefile.yml +50 -0
  139. cecli/prompts/wholefile_func.yml +24 -0
  140. cecli/queries/tree-sitter-language-pack/README.md +7 -0
  141. cecli/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
  142. cecli/queries/tree-sitter-language-pack/c-tags.scm +12 -0
  143. cecli/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
  144. cecli/queries/tree-sitter-language-pack/clojure-tags.scm +12 -0
  145. cecli/queries/tree-sitter-language-pack/commonlisp-tags.scm +127 -0
  146. cecli/queries/tree-sitter-language-pack/cpp-tags.scm +18 -0
  147. cecli/queries/tree-sitter-language-pack/csharp-tags.scm +32 -0
  148. cecli/queries/tree-sitter-language-pack/d-tags.scm +26 -0
  149. cecli/queries/tree-sitter-language-pack/dart-tags.scm +97 -0
  150. cecli/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
  151. cecli/queries/tree-sitter-language-pack/elixir-tags.scm +59 -0
  152. cecli/queries/tree-sitter-language-pack/elm-tags.scm +22 -0
  153. cecli/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
  154. cecli/queries/tree-sitter-language-pack/go-tags.scm +49 -0
  155. cecli/queries/tree-sitter-language-pack/java-tags.scm +26 -0
  156. cecli/queries/tree-sitter-language-pack/javascript-tags.scm +96 -0
  157. cecli/queries/tree-sitter-language-pack/lua-tags.scm +39 -0
  158. cecli/queries/tree-sitter-language-pack/matlab-tags.scm +10 -0
  159. cecli/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
  160. cecli/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +101 -0
  161. cecli/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
  162. cecli/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
  163. cecli/queries/tree-sitter-language-pack/python-tags.scm +24 -0
  164. cecli/queries/tree-sitter-language-pack/r-tags.scm +27 -0
  165. cecli/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
  166. cecli/queries/tree-sitter-language-pack/ruby-tags.scm +69 -0
  167. cecli/queries/tree-sitter-language-pack/rust-tags.scm +63 -0
  168. cecli/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
  169. cecli/queries/tree-sitter-language-pack/swift-tags.scm +54 -0
  170. cecli/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
  171. cecli/queries/tree-sitter-languages/README.md +24 -0
  172. cecli/queries/tree-sitter-languages/c-tags.scm +12 -0
  173. cecli/queries/tree-sitter-languages/c_sharp-tags.scm +52 -0
  174. cecli/queries/tree-sitter-languages/cpp-tags.scm +18 -0
  175. cecli/queries/tree-sitter-languages/dart-tags.scm +92 -0
  176. cecli/queries/tree-sitter-languages/elisp-tags.scm +8 -0
  177. cecli/queries/tree-sitter-languages/elixir-tags.scm +59 -0
  178. cecli/queries/tree-sitter-languages/elm-tags.scm +22 -0
  179. cecli/queries/tree-sitter-languages/fortran-tags.scm +18 -0
  180. cecli/queries/tree-sitter-languages/go-tags.scm +36 -0
  181. cecli/queries/tree-sitter-languages/haskell-tags.scm +5 -0
  182. cecli/queries/tree-sitter-languages/hcl-tags.scm +77 -0
  183. cecli/queries/tree-sitter-languages/java-tags.scm +26 -0
  184. cecli/queries/tree-sitter-languages/javascript-tags.scm +96 -0
  185. cecli/queries/tree-sitter-languages/julia-tags.scm +60 -0
  186. cecli/queries/tree-sitter-languages/kotlin-tags.scm +30 -0
  187. cecli/queries/tree-sitter-languages/matlab-tags.scm +10 -0
  188. cecli/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
  189. cecli/queries/tree-sitter-languages/ocaml_interface-tags.scm +104 -0
  190. cecli/queries/tree-sitter-languages/php-tags.scm +32 -0
  191. cecli/queries/tree-sitter-languages/python-tags.scm +22 -0
  192. cecli/queries/tree-sitter-languages/ql-tags.scm +26 -0
  193. cecli/queries/tree-sitter-languages/ruby-tags.scm +69 -0
  194. cecli/queries/tree-sitter-languages/rust-tags.scm +63 -0
  195. cecli/queries/tree-sitter-languages/scala-tags.scm +64 -0
  196. cecli/queries/tree-sitter-languages/typescript-tags.scm +44 -0
  197. cecli/queries/tree-sitter-languages/zig-tags.scm +20 -0
  198. cecli/reasoning_tags.py +82 -0
  199. cecli/repo.py +626 -0
  200. cecli/repomap.py +1368 -0
  201. cecli/report.py +260 -0
  202. cecli/resources/__init__.py +3 -0
  203. cecli/resources/model-metadata.json +25751 -0
  204. cecli/resources/model-settings.yml +2394 -0
  205. cecli/resources/providers.json +67 -0
  206. cecli/run_cmd.py +143 -0
  207. cecli/scrape.py +295 -0
  208. cecli/sendchat.py +250 -0
  209. cecli/sessions.py +281 -0
  210. cecli/special.py +203 -0
  211. cecli/tools/__init__.py +72 -0
  212. cecli/tools/command.py +103 -0
  213. cecli/tools/command_interactive.py +113 -0
  214. cecli/tools/context_manager.py +175 -0
  215. cecli/tools/delete_block.py +154 -0
  216. cecli/tools/delete_line.py +120 -0
  217. cecli/tools/delete_lines.py +144 -0
  218. cecli/tools/extract_lines.py +281 -0
  219. cecli/tools/finished.py +35 -0
  220. cecli/tools/git_branch.py +132 -0
  221. cecli/tools/git_diff.py +49 -0
  222. cecli/tools/git_log.py +43 -0
  223. cecli/tools/git_remote.py +39 -0
  224. cecli/tools/git_show.py +37 -0
  225. cecli/tools/git_status.py +32 -0
  226. cecli/tools/grep.py +242 -0
  227. cecli/tools/indent_lines.py +195 -0
  228. cecli/tools/insert_block.py +263 -0
  229. cecli/tools/list_changes.py +71 -0
  230. cecli/tools/load_skill.py +51 -0
  231. cecli/tools/ls.py +77 -0
  232. cecli/tools/remove_skill.py +51 -0
  233. cecli/tools/replace_all.py +113 -0
  234. cecli/tools/replace_line.py +135 -0
  235. cecli/tools/replace_lines.py +180 -0
  236. cecli/tools/replace_text.py +186 -0
  237. cecli/tools/show_numbered_context.py +137 -0
  238. cecli/tools/thinking.py +52 -0
  239. cecli/tools/undo_change.py +82 -0
  240. cecli/tools/update_todo_list.py +148 -0
  241. cecli/tools/utils/base_tool.py +64 -0
  242. cecli/tools/utils/helpers.py +359 -0
  243. cecli/tools/utils/output.py +119 -0
  244. cecli/tools/utils/registry.py +145 -0
  245. cecli/tools/view_files_matching.py +138 -0
  246. cecli/tools/view_files_with_symbol.py +117 -0
  247. cecli/tui/__init__.py +83 -0
  248. cecli/tui/app.py +971 -0
  249. cecli/tui/io.py +566 -0
  250. cecli/tui/styles.tcss +117 -0
  251. cecli/tui/widgets/__init__.py +19 -0
  252. cecli/tui/widgets/completion_bar.py +331 -0
  253. cecli/tui/widgets/file_list.py +76 -0
  254. cecli/tui/widgets/footer.py +165 -0
  255. cecli/tui/widgets/input_area.py +320 -0
  256. cecli/tui/widgets/key_hints.py +16 -0
  257. cecli/tui/widgets/output.py +354 -0
  258. cecli/tui/widgets/status_bar.py +279 -0
  259. cecli/tui/worker.py +160 -0
  260. cecli/urls.py +16 -0
  261. cecli/utils.py +499 -0
  262. cecli/versioncheck.py +90 -0
  263. cecli/voice.py +90 -0
  264. cecli/waiting.py +38 -0
  265. cecli/watch.py +316 -0
  266. cecli/watch_prompts.py +12 -0
  267. cecli/website/Gemfile +8 -0
  268. cecli/website/_includes/blame.md +162 -0
  269. cecli/website/_includes/get-started.md +22 -0
  270. cecli/website/_includes/help-tip.md +5 -0
  271. cecli/website/_includes/help.md +24 -0
  272. cecli/website/_includes/install.md +5 -0
  273. cecli/website/_includes/keys.md +4 -0
  274. cecli/website/_includes/model-warnings.md +67 -0
  275. cecli/website/_includes/multi-line.md +22 -0
  276. cecli/website/_includes/python-m-aider.md +5 -0
  277. cecli/website/_includes/recording.css +228 -0
  278. cecli/website/_includes/recording.md +34 -0
  279. cecli/website/_includes/replit-pipx.md +9 -0
  280. cecli/website/_includes/works-best.md +1 -0
  281. cecli/website/_sass/custom/custom.scss +103 -0
  282. cecli/website/docs/config/adv-model-settings.md +2498 -0
  283. cecli/website/docs/config/agent-mode.md +320 -0
  284. cecli/website/docs/config/aider_conf.md +548 -0
  285. cecli/website/docs/config/api-keys.md +90 -0
  286. cecli/website/docs/config/custom-commands.md +187 -0
  287. cecli/website/docs/config/dotenv.md +493 -0
  288. cecli/website/docs/config/editor.md +127 -0
  289. cecli/website/docs/config/mcp.md +210 -0
  290. cecli/website/docs/config/model-aliases.md +173 -0
  291. cecli/website/docs/config/options.md +890 -0
  292. cecli/website/docs/config/reasoning.md +210 -0
  293. cecli/website/docs/config/skills.md +172 -0
  294. cecli/website/docs/config/tui.md +126 -0
  295. cecli/website/docs/config.md +44 -0
  296. cecli/website/docs/faq.md +379 -0
  297. cecli/website/docs/git.md +76 -0
  298. cecli/website/docs/index.md +47 -0
  299. cecli/website/docs/install/codespaces.md +39 -0
  300. cecli/website/docs/install/docker.md +48 -0
  301. cecli/website/docs/install/optional.md +100 -0
  302. cecli/website/docs/install/replit.md +8 -0
  303. cecli/website/docs/install.md +115 -0
  304. cecli/website/docs/languages.md +264 -0
  305. cecli/website/docs/legal/contributor-agreement.md +111 -0
  306. cecli/website/docs/legal/privacy.md +104 -0
  307. cecli/website/docs/llms/anthropic.md +77 -0
  308. cecli/website/docs/llms/azure.md +48 -0
  309. cecli/website/docs/llms/bedrock.md +132 -0
  310. cecli/website/docs/llms/cohere.md +34 -0
  311. cecli/website/docs/llms/deepseek.md +32 -0
  312. cecli/website/docs/llms/gemini.md +49 -0
  313. cecli/website/docs/llms/github.md +111 -0
  314. cecli/website/docs/llms/groq.md +36 -0
  315. cecli/website/docs/llms/lm-studio.md +39 -0
  316. cecli/website/docs/llms/ollama.md +75 -0
  317. cecli/website/docs/llms/openai-compat.md +39 -0
  318. cecli/website/docs/llms/openai.md +58 -0
  319. cecli/website/docs/llms/openrouter.md +78 -0
  320. cecli/website/docs/llms/other.md +117 -0
  321. cecli/website/docs/llms/vertex.md +50 -0
  322. cecli/website/docs/llms/warnings.md +10 -0
  323. cecli/website/docs/llms/xai.md +53 -0
  324. cecli/website/docs/llms.md +54 -0
  325. cecli/website/docs/more/analytics.md +127 -0
  326. cecli/website/docs/more/edit-formats.md +116 -0
  327. cecli/website/docs/more/infinite-output.md +192 -0
  328. cecli/website/docs/more-info.md +8 -0
  329. cecli/website/docs/recordings/auto-accept-architect.md +31 -0
  330. cecli/website/docs/recordings/dont-drop-original-read-files.md +35 -0
  331. cecli/website/docs/recordings/index.md +21 -0
  332. cecli/website/docs/recordings/model-accepts-settings.md +69 -0
  333. cecli/website/docs/recordings/tree-sitter-language-pack.md +80 -0
  334. cecli/website/docs/repomap.md +112 -0
  335. cecli/website/docs/scripting.md +100 -0
  336. cecli/website/docs/sessions.md +213 -0
  337. cecli/website/docs/troubleshooting/aider-not-found.md +24 -0
  338. cecli/website/docs/troubleshooting/edit-errors.md +76 -0
  339. cecli/website/docs/troubleshooting/imports.md +62 -0
  340. cecli/website/docs/troubleshooting/models-and-keys.md +54 -0
  341. cecli/website/docs/troubleshooting/support.md +79 -0
  342. cecli/website/docs/troubleshooting/token-limits.md +96 -0
  343. cecli/website/docs/troubleshooting/warnings.md +12 -0
  344. cecli/website/docs/troubleshooting.md +11 -0
  345. cecli/website/docs/usage/browser.md +57 -0
  346. cecli/website/docs/usage/caching.md +49 -0
  347. cecli/website/docs/usage/commands.md +133 -0
  348. cecli/website/docs/usage/conventions.md +119 -0
  349. cecli/website/docs/usage/copypaste.md +136 -0
  350. cecli/website/docs/usage/images-urls.md +48 -0
  351. cecli/website/docs/usage/lint-test.md +118 -0
  352. cecli/website/docs/usage/modes.md +211 -0
  353. cecli/website/docs/usage/not-code.md +179 -0
  354. cecli/website/docs/usage/notifications.md +87 -0
  355. cecli/website/docs/usage/tips.md +79 -0
  356. cecli/website/docs/usage/tutorials.md +30 -0
  357. cecli/website/docs/usage/voice.md +121 -0
  358. cecli/website/docs/usage/watch.md +294 -0
  359. cecli/website/docs/usage.md +102 -0
  360. cecli/website/share/index.md +101 -0
  361. cecli_dev-0.95.5.dist-info/METADATA +549 -0
  362. cecli_dev-0.95.5.dist-info/RECORD +366 -0
  363. cecli_dev-0.95.5.dist-info/WHEEL +5 -0
  364. cecli_dev-0.95.5.dist-info/entry_points.txt +4 -0
  365. cecli_dev-0.95.5.dist-info/licenses/LICENSE.txt +202 -0
  366. 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.