chatmcp-cli 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. aider/__init__.py +20 -0
  2. aider/__main__.py +4 -0
  3. aider/_version.py +21 -0
  4. aider/analytics.py +250 -0
  5. aider/args.py +926 -0
  6. aider/args_formatter.py +228 -0
  7. aider/coders/__init__.py +34 -0
  8. aider/coders/architect_coder.py +48 -0
  9. aider/coders/architect_prompts.py +40 -0
  10. aider/coders/ask_coder.py +9 -0
  11. aider/coders/ask_prompts.py +35 -0
  12. aider/coders/base_coder.py +2483 -0
  13. aider/coders/base_prompts.py +60 -0
  14. aider/coders/chat_chunks.py +64 -0
  15. aider/coders/context_coder.py +53 -0
  16. aider/coders/context_prompts.py +75 -0
  17. aider/coders/editblock_coder.py +657 -0
  18. aider/coders/editblock_fenced_coder.py +10 -0
  19. aider/coders/editblock_fenced_prompts.py +143 -0
  20. aider/coders/editblock_func_coder.py +141 -0
  21. aider/coders/editblock_func_prompts.py +27 -0
  22. aider/coders/editblock_prompts.py +174 -0
  23. aider/coders/editor_diff_fenced_coder.py +9 -0
  24. aider/coders/editor_diff_fenced_prompts.py +11 -0
  25. aider/coders/editor_editblock_coder.py +8 -0
  26. aider/coders/editor_editblock_prompts.py +18 -0
  27. aider/coders/editor_whole_coder.py +8 -0
  28. aider/coders/editor_whole_prompts.py +10 -0
  29. aider/coders/help_coder.py +16 -0
  30. aider/coders/help_prompts.py +46 -0
  31. aider/coders/patch_coder.py +706 -0
  32. aider/coders/patch_prompts.py +161 -0
  33. aider/coders/search_replace.py +757 -0
  34. aider/coders/shell.py +37 -0
  35. aider/coders/single_wholefile_func_coder.py +102 -0
  36. aider/coders/single_wholefile_func_prompts.py +27 -0
  37. aider/coders/udiff_coder.py +429 -0
  38. aider/coders/udiff_prompts.py +115 -0
  39. aider/coders/udiff_simple.py +14 -0
  40. aider/coders/udiff_simple_prompts.py +25 -0
  41. aider/coders/wholefile_coder.py +144 -0
  42. aider/coders/wholefile_func_coder.py +134 -0
  43. aider/coders/wholefile_func_prompts.py +27 -0
  44. aider/coders/wholefile_prompts.py +67 -0
  45. aider/commands.py +1665 -0
  46. aider/copypaste.py +72 -0
  47. aider/deprecated.py +126 -0
  48. aider/diffs.py +128 -0
  49. aider/dump.py +29 -0
  50. aider/editor.py +147 -0
  51. aider/exceptions.py +107 -0
  52. aider/format_settings.py +26 -0
  53. aider/gui.py +545 -0
  54. aider/help.py +163 -0
  55. aider/help_pats.py +19 -0
  56. aider/history.py +143 -0
  57. aider/io.py +1175 -0
  58. aider/linter.py +304 -0
  59. aider/llm.py +47 -0
  60. aider/main.py +1267 -0
  61. aider/mdstream.py +243 -0
  62. aider/models.py +1286 -0
  63. aider/onboarding.py +428 -0
  64. aider/openrouter.py +128 -0
  65. aider/prompts.py +64 -0
  66. aider/queries/tree-sitter-language-pack/README.md +7 -0
  67. aider/queries/tree-sitter-language-pack/arduino-tags.scm +5 -0
  68. aider/queries/tree-sitter-language-pack/c-tags.scm +9 -0
  69. aider/queries/tree-sitter-language-pack/chatito-tags.scm +16 -0
  70. aider/queries/tree-sitter-language-pack/commonlisp-tags.scm +122 -0
  71. aider/queries/tree-sitter-language-pack/cpp-tags.scm +15 -0
  72. aider/queries/tree-sitter-language-pack/csharp-tags.scm +26 -0
  73. aider/queries/tree-sitter-language-pack/d-tags.scm +26 -0
  74. aider/queries/tree-sitter-language-pack/dart-tags.scm +92 -0
  75. aider/queries/tree-sitter-language-pack/elisp-tags.scm +5 -0
  76. aider/queries/tree-sitter-language-pack/elixir-tags.scm +54 -0
  77. aider/queries/tree-sitter-language-pack/elm-tags.scm +19 -0
  78. aider/queries/tree-sitter-language-pack/gleam-tags.scm +41 -0
  79. aider/queries/tree-sitter-language-pack/go-tags.scm +42 -0
  80. aider/queries/tree-sitter-language-pack/java-tags.scm +20 -0
  81. aider/queries/tree-sitter-language-pack/javascript-tags.scm +88 -0
  82. aider/queries/tree-sitter-language-pack/lua-tags.scm +34 -0
  83. aider/queries/tree-sitter-language-pack/ocaml-tags.scm +115 -0
  84. aider/queries/tree-sitter-language-pack/ocaml_interface-tags.scm +98 -0
  85. aider/queries/tree-sitter-language-pack/pony-tags.scm +39 -0
  86. aider/queries/tree-sitter-language-pack/properties-tags.scm +5 -0
  87. aider/queries/tree-sitter-language-pack/python-tags.scm +14 -0
  88. aider/queries/tree-sitter-language-pack/r-tags.scm +21 -0
  89. aider/queries/tree-sitter-language-pack/racket-tags.scm +12 -0
  90. aider/queries/tree-sitter-language-pack/ruby-tags.scm +64 -0
  91. aider/queries/tree-sitter-language-pack/rust-tags.scm +60 -0
  92. aider/queries/tree-sitter-language-pack/solidity-tags.scm +43 -0
  93. aider/queries/tree-sitter-language-pack/swift-tags.scm +51 -0
  94. aider/queries/tree-sitter-language-pack/udev-tags.scm +20 -0
  95. aider/queries/tree-sitter-languages/README.md +23 -0
  96. aider/queries/tree-sitter-languages/c-tags.scm +9 -0
  97. aider/queries/tree-sitter-languages/c_sharp-tags.scm +46 -0
  98. aider/queries/tree-sitter-languages/cpp-tags.scm +15 -0
  99. aider/queries/tree-sitter-languages/dart-tags.scm +91 -0
  100. aider/queries/tree-sitter-languages/elisp-tags.scm +8 -0
  101. aider/queries/tree-sitter-languages/elixir-tags.scm +54 -0
  102. aider/queries/tree-sitter-languages/elm-tags.scm +19 -0
  103. aider/queries/tree-sitter-languages/go-tags.scm +30 -0
  104. aider/queries/tree-sitter-languages/hcl-tags.scm +77 -0
  105. aider/queries/tree-sitter-languages/java-tags.scm +20 -0
  106. aider/queries/tree-sitter-languages/javascript-tags.scm +88 -0
  107. aider/queries/tree-sitter-languages/kotlin-tags.scm +27 -0
  108. aider/queries/tree-sitter-languages/ocaml-tags.scm +115 -0
  109. aider/queries/tree-sitter-languages/ocaml_interface-tags.scm +98 -0
  110. aider/queries/tree-sitter-languages/php-tags.scm +26 -0
  111. aider/queries/tree-sitter-languages/python-tags.scm +12 -0
  112. aider/queries/tree-sitter-languages/ql-tags.scm +26 -0
  113. aider/queries/tree-sitter-languages/ruby-tags.scm +64 -0
  114. aider/queries/tree-sitter-languages/rust-tags.scm +60 -0
  115. aider/queries/tree-sitter-languages/scala-tags.scm +65 -0
  116. aider/queries/tree-sitter-languages/typescript-tags.scm +41 -0
  117. aider/reasoning_tags.py +82 -0
  118. aider/repo.py +623 -0
  119. aider/repomap.py +847 -0
  120. aider/report.py +200 -0
  121. aider/resources/__init__.py +3 -0
  122. aider/resources/model-metadata.json +468 -0
  123. aider/resources/model-settings.yml +1767 -0
  124. aider/run_cmd.py +132 -0
  125. aider/scrape.py +284 -0
  126. aider/sendchat.py +61 -0
  127. aider/special.py +203 -0
  128. aider/urls.py +17 -0
  129. aider/utils.py +338 -0
  130. aider/versioncheck.py +113 -0
  131. aider/voice.py +187 -0
  132. aider/waiting.py +221 -0
  133. aider/watch.py +318 -0
  134. aider/watch_prompts.py +12 -0
  135. aider/website/Gemfile +8 -0
  136. aider/website/_includes/blame.md +162 -0
  137. aider/website/_includes/get-started.md +22 -0
  138. aider/website/_includes/help-tip.md +5 -0
  139. aider/website/_includes/help.md +24 -0
  140. aider/website/_includes/install.md +5 -0
  141. aider/website/_includes/keys.md +4 -0
  142. aider/website/_includes/model-warnings.md +67 -0
  143. aider/website/_includes/multi-line.md +22 -0
  144. aider/website/_includes/python-m-aider.md +5 -0
  145. aider/website/_includes/recording.css +228 -0
  146. aider/website/_includes/recording.md +34 -0
  147. aider/website/_includes/replit-pipx.md +9 -0
  148. aider/website/_includes/works-best.md +1 -0
  149. aider/website/_sass/custom/custom.scss +103 -0
  150. aider/website/docs/config/adv-model-settings.md +1881 -0
  151. aider/website/docs/config/aider_conf.md +527 -0
  152. aider/website/docs/config/api-keys.md +90 -0
  153. aider/website/docs/config/dotenv.md +478 -0
  154. aider/website/docs/config/editor.md +127 -0
  155. aider/website/docs/config/model-aliases.md +103 -0
  156. aider/website/docs/config/options.md +843 -0
  157. aider/website/docs/config/reasoning.md +209 -0
  158. aider/website/docs/config.md +44 -0
  159. aider/website/docs/faq.md +378 -0
  160. aider/website/docs/git.md +76 -0
  161. aider/website/docs/index.md +47 -0
  162. aider/website/docs/install/codespaces.md +39 -0
  163. aider/website/docs/install/docker.md +57 -0
  164. aider/website/docs/install/optional.md +100 -0
  165. aider/website/docs/install/replit.md +8 -0
  166. aider/website/docs/install.md +115 -0
  167. aider/website/docs/languages.md +264 -0
  168. aider/website/docs/legal/contributor-agreement.md +111 -0
  169. aider/website/docs/legal/privacy.md +104 -0
  170. aider/website/docs/llms/anthropic.md +77 -0
  171. aider/website/docs/llms/azure.md +48 -0
  172. aider/website/docs/llms/bedrock.md +132 -0
  173. aider/website/docs/llms/cohere.md +34 -0
  174. aider/website/docs/llms/deepseek.md +32 -0
  175. aider/website/docs/llms/gemini.md +49 -0
  176. aider/website/docs/llms/github.md +105 -0
  177. aider/website/docs/llms/groq.md +36 -0
  178. aider/website/docs/llms/lm-studio.md +39 -0
  179. aider/website/docs/llms/ollama.md +75 -0
  180. aider/website/docs/llms/openai-compat.md +39 -0
  181. aider/website/docs/llms/openai.md +58 -0
  182. aider/website/docs/llms/openrouter.md +78 -0
  183. aider/website/docs/llms/other.md +103 -0
  184. aider/website/docs/llms/vertex.md +50 -0
  185. aider/website/docs/llms/warnings.md +10 -0
  186. aider/website/docs/llms/xai.md +53 -0
  187. aider/website/docs/llms.md +54 -0
  188. aider/website/docs/more/analytics.md +122 -0
  189. aider/website/docs/more/edit-formats.md +116 -0
  190. aider/website/docs/more/infinite-output.md +137 -0
  191. aider/website/docs/more-info.md +8 -0
  192. aider/website/docs/recordings/auto-accept-architect.md +31 -0
  193. aider/website/docs/recordings/dont-drop-original-read-files.md +35 -0
  194. aider/website/docs/recordings/index.md +21 -0
  195. aider/website/docs/recordings/model-accepts-settings.md +69 -0
  196. aider/website/docs/recordings/tree-sitter-language-pack.md +80 -0
  197. aider/website/docs/repomap.md +112 -0
  198. aider/website/docs/scripting.md +100 -0
  199. aider/website/docs/troubleshooting/aider-not-found.md +24 -0
  200. aider/website/docs/troubleshooting/edit-errors.md +76 -0
  201. aider/website/docs/troubleshooting/imports.md +62 -0
  202. aider/website/docs/troubleshooting/models-and-keys.md +54 -0
  203. aider/website/docs/troubleshooting/support.md +79 -0
  204. aider/website/docs/troubleshooting/token-limits.md +96 -0
  205. aider/website/docs/troubleshooting/warnings.md +12 -0
  206. aider/website/docs/troubleshooting.md +11 -0
  207. aider/website/docs/usage/browser.md +57 -0
  208. aider/website/docs/usage/caching.md +49 -0
  209. aider/website/docs/usage/commands.md +132 -0
  210. aider/website/docs/usage/conventions.md +119 -0
  211. aider/website/docs/usage/copypaste.md +121 -0
  212. aider/website/docs/usage/images-urls.md +48 -0
  213. aider/website/docs/usage/lint-test.md +118 -0
  214. aider/website/docs/usage/modes.md +211 -0
  215. aider/website/docs/usage/not-code.md +179 -0
  216. aider/website/docs/usage/notifications.md +87 -0
  217. aider/website/docs/usage/tips.md +79 -0
  218. aider/website/docs/usage/tutorials.md +30 -0
  219. aider/website/docs/usage/voice.md +121 -0
  220. aider/website/docs/usage/watch.md +294 -0
  221. aider/website/docs/usage.md +92 -0
  222. aider/website/share/index.md +101 -0
  223. chatmcp_cli-0.1.0.dist-info/METADATA +502 -0
  224. chatmcp_cli-0.1.0.dist-info/RECORD +228 -0
  225. chatmcp_cli-0.1.0.dist-info/WHEEL +5 -0
  226. chatmcp_cli-0.1.0.dist-info/entry_points.txt +3 -0
  227. chatmcp_cli-0.1.0.dist-info/licenses/LICENSE.txt +202 -0
  228. chatmcp_cli-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,101 @@
1
+ ---
2
+ nav_exclude: true
3
+ ---
4
+
5
+ <meta http-equiv="Content-Security-Policy"
6
+ content="default-src 'self';
7
+ script-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://cdnjs.cloudflare.com;
8
+ connect-src http: https:;
9
+ style-src 'self' 'unsafe-inline';">
10
+
11
+ # Shared aider chat transcript
12
+
13
+ A user has shared the following transcript of a pair programming chat session
14
+ created using <a href="https://aider.chat">aider</a>.
15
+ Aider is a command line tool that lets you pair program with GPT-3.5 or
16
+ GPT-4, to edit code stored in your local git repository.
17
+
18
+ The transcript is based on <a id="mdurl" href="">this chat transcript data</a>.
19
+
20
+ <div class="chat-transcript" id="shared-transcript">
21
+ </div>
22
+
23
+ ## Transcript format
24
+
25
+ <div class="chat-transcript" markdown="1">
26
+
27
+ > This is output from the aider tool.
28
+
29
+ #### These are chat messages written by the user.
30
+
31
+ Chat responses from GPT are in a blue font like this,
32
+ and often include colorized "diffs" where GPT is editing code:
33
+
34
+
35
+ ```python
36
+ hello.py
37
+ <<<<<<< ORIGINAL
38
+ print("hello")
39
+ =======
40
+ print("goodbye")
41
+ >>>>>>> UPDATED
42
+ ```
43
+ </div>
44
+
45
+ <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
46
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/dompurify/3.0.6/purify.min.js"></script>
47
+ <script>
48
+ function isValidUrl(url) {
49
+ try {
50
+ const urlObj = new URL(url);
51
+ return urlObj.protocol === 'http:' || urlObj.protocol === 'https:';
52
+ } catch {
53
+ return false;
54
+ }
55
+ }
56
+
57
+ // Configure marked with secure defaults
58
+ marked.setOptions({
59
+ headerIds: false,
60
+ mangle: false
61
+ });
62
+
63
+ window.onload = function() {
64
+ var urlParams = new URLSearchParams(window.location.search);
65
+ var conv = urlParams.get('mdurl');
66
+ if (!conv || !isValidUrl(conv)) {
67
+ document.querySelector('#shared-transcript').innerHTML =
68
+ '<div style="color: red; padding: 1em;">Error: Invalid or missing URL provided</div>';
69
+ return;
70
+ }
71
+ document.getElementById('mdurl').href = conv;
72
+ // Check if the URL is a non-raw GitHub gist
73
+ var gistRegex = /^https:\/\/gist\.github\.com\/([^\/]+)\/([a-f0-9]+)$/;
74
+ var match = gistRegex.exec(conv);
75
+ if (match) {
76
+ // If it is, convert it into a raw URL
77
+ conv = 'https://gist.githubusercontent.com/' + match[1] + '/' + match[2] + '/raw';
78
+ }
79
+ fetch(conv)
80
+ .then(response => response.text())
81
+ .then(markdown => {
82
+ // Ensure every line that starts with '>' ends with exactly 2 spaces
83
+ markdown = markdown.split('\n').map(function(line) {
84
+ if (line.startsWith('>')) {
85
+ return line.trimEnd() + ' ';
86
+ }
87
+ return line;
88
+ }).join('\n');
89
+ var html = marked.parse(markdown);
90
+ var sanitizedHtml = DOMPurify.sanitize(html);
91
+ var divElement = document.querySelector('#shared-transcript');
92
+ divElement.innerHTML = sanitizedHtml;
93
+ })
94
+ .catch(error => {
95
+ console.error('Error fetching markdown:', error);
96
+ document.querySelector('#shared-transcript').innerHTML =
97
+ '<div style="color: red; padding: 1em;">Error: Failed to load chat transcript</div>';
98
+ });
99
+ }
100
+ </script>
101
+
@@ -0,0 +1,502 @@
1
+ Metadata-Version: 2.4
2
+ Name: chatmcp-cli
3
+ Version: 0.1.0
4
+ Summary: ChatMCP CLI - AI pair programming with MCP server integration
5
+ Project-URL: Homepage, https://github.com/soulful-ai/platforma
6
+ Project-URL: Repository, https://github.com/soulful-ai/platforma
7
+ Project-URL: Documentation, https://github.com/soulful-ai/platforma/tree/main/packages/chatmcp_cli
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Environment :: Console
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: Apache Software License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python
17
+ Classifier: Topic :: Software Development
18
+ Requires-Python: <3.13,>=3.10
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE.txt
21
+ Requires-Dist: aiohappyeyeballs==2.6.1
22
+ Requires-Dist: aiohttp==3.11.18
23
+ Requires-Dist: aiosignal==1.3.2
24
+ Requires-Dist: annotated-types==0.7.0
25
+ Requires-Dist: anyio==4.9.0
26
+ Requires-Dist: attrs==25.3.0
27
+ Requires-Dist: backoff==2.2.1
28
+ Requires-Dist: beautifulsoup4==4.13.4
29
+ Requires-Dist: cachetools==5.5.2
30
+ Requires-Dist: certifi==2025.4.26
31
+ Requires-Dist: cffi==1.17.1
32
+ Requires-Dist: charset-normalizer==3.4.2
33
+ Requires-Dist: click==8.1.8
34
+ Requires-Dist: configargparse==1.7.1
35
+ Requires-Dist: diff-match-patch==20241021
36
+ Requires-Dist: diskcache==5.6.3
37
+ Requires-Dist: distro==1.9.0
38
+ Requires-Dist: filelock==3.18.0
39
+ Requires-Dist: flake8==7.2.0
40
+ Requires-Dist: frozenlist==1.6.0
41
+ Requires-Dist: fsspec==2025.3.2
42
+ Requires-Dist: gitdb==4.0.12
43
+ Requires-Dist: gitpython==3.1.44
44
+ Requires-Dist: google-ai-generativelanguage==0.6.15
45
+ Requires-Dist: google-api-core[grpc]==2.24.2
46
+ Requires-Dist: google-api-python-client==2.169.0
47
+ Requires-Dist: google-auth==2.40.1
48
+ Requires-Dist: google-auth-httplib2==0.2.0
49
+ Requires-Dist: google-generativeai==0.8.5
50
+ Requires-Dist: googleapis-common-protos==1.70.0
51
+ Requires-Dist: grep-ast==0.9.0
52
+ Requires-Dist: grpcio==1.71.0
53
+ Requires-Dist: grpcio-status==1.71.0
54
+ Requires-Dist: h11==0.16.0
55
+ Requires-Dist: hf-xet==1.1.0
56
+ Requires-Dist: httpcore==1.0.9
57
+ Requires-Dist: httplib2==0.22.0
58
+ Requires-Dist: httpx==0.28.1
59
+ Requires-Dist: huggingface-hub==0.31.1
60
+ Requires-Dist: idna==3.10
61
+ Requires-Dist: importlib-metadata==7.2.1
62
+ Requires-Dist: importlib-resources==6.5.2
63
+ Requires-Dist: jinja2==3.1.6
64
+ Requires-Dist: jiter==0.9.0
65
+ Requires-Dist: json5==0.12.0
66
+ Requires-Dist: jsonschema==4.23.0
67
+ Requires-Dist: jsonschema-specifications==2025.4.1
68
+ Requires-Dist: litellm==1.68.1
69
+ Requires-Dist: markdown-it-py==3.0.0
70
+ Requires-Dist: markupsafe==3.0.2
71
+ Requires-Dist: mccabe==0.7.0
72
+ Requires-Dist: mdurl==0.1.2
73
+ Requires-Dist: mixpanel==4.10.1
74
+ Requires-Dist: mslex==1.3.0
75
+ Requires-Dist: multidict==6.4.3
76
+ Requires-Dist: networkx==3.4.2
77
+ Requires-Dist: numpy==1.26.4
78
+ Requires-Dist: openai==1.75.0
79
+ Requires-Dist: oslex==0.1.3
80
+ Requires-Dist: packaging==24.2
81
+ Requires-Dist: pathspec==0.12.1
82
+ Requires-Dist: pexpect==4.9.0
83
+ Requires-Dist: pillow==11.2.1
84
+ Requires-Dist: posthog==4.0.1
85
+ Requires-Dist: prompt-toolkit==3.0.51
86
+ Requires-Dist: propcache==0.3.1
87
+ Requires-Dist: proto-plus==1.26.1
88
+ Requires-Dist: protobuf==5.29.4
89
+ Requires-Dist: psutil==7.0.0
90
+ Requires-Dist: ptyprocess==0.7.0
91
+ Requires-Dist: pyasn1==0.6.1
92
+ Requires-Dist: pyasn1-modules==0.4.2
93
+ Requires-Dist: pycodestyle==2.13.0
94
+ Requires-Dist: pycparser==2.22
95
+ Requires-Dist: pydantic==2.11.4
96
+ Requires-Dist: pydantic-core==2.33.2
97
+ Requires-Dist: pydub==0.25.1
98
+ Requires-Dist: pyflakes==3.3.2
99
+ Requires-Dist: pygments==2.19.1
100
+ Requires-Dist: pypandoc==1.15
101
+ Requires-Dist: pyparsing==3.2.3
102
+ Requires-Dist: pyperclip==1.9.0
103
+ Requires-Dist: python-dateutil==2.9.0.post0
104
+ Requires-Dist: python-dotenv==1.1.0
105
+ Requires-Dist: pyyaml==6.0.2
106
+ Requires-Dist: referencing==0.36.2
107
+ Requires-Dist: regex==2024.11.6
108
+ Requires-Dist: requests==2.32.3
109
+ Requires-Dist: rich==14.0.0
110
+ Requires-Dist: rpds-py==0.24.0
111
+ Requires-Dist: rsa==4.9.1
112
+ Requires-Dist: scipy==1.15.3
113
+ Requires-Dist: shtab==1.7.2
114
+ Requires-Dist: six==1.17.0
115
+ Requires-Dist: smmap==5.0.2
116
+ Requires-Dist: sniffio==1.3.1
117
+ Requires-Dist: socksio==1.0.0
118
+ Requires-Dist: sounddevice==0.5.1
119
+ Requires-Dist: soundfile==0.13.1
120
+ Requires-Dist: soupsieve==2.7
121
+ Requires-Dist: tiktoken==0.9.0
122
+ Requires-Dist: tokenizers==0.21.1
123
+ Requires-Dist: tqdm==4.67.1
124
+ Requires-Dist: tree-sitter-c-sharp==0.23.1
125
+ Requires-Dist: tree-sitter-embedded-template==0.23.2
126
+ Requires-Dist: tree-sitter-language-pack==0.7.3
127
+ Requires-Dist: tree-sitter-yaml==0.7.0
128
+ Requires-Dist: typing-extensions==4.13.2
129
+ Requires-Dist: typing-inspection==0.4.0
130
+ Requires-Dist: uritemplate==4.1.1
131
+ Requires-Dist: urllib3==2.4.0
132
+ Requires-Dist: watchfiles==1.0.5
133
+ Requires-Dist: wcwidth==0.2.13
134
+ Requires-Dist: yarl==1.20.0
135
+ Requires-Dist: zipp==3.21.0
136
+ Requires-Dist: tree-sitter==0.23.2; python_version < "3.10"
137
+ Requires-Dist: tree-sitter==0.24.0; python_version >= "3.10"
138
+ Provides-Extra: dev
139
+ Requires-Dist: build==1.2.2.post1; extra == "dev"
140
+ Requires-Dist: cachetools==5.5.2; extra == "dev"
141
+ Requires-Dist: certifi==2025.4.26; extra == "dev"
142
+ Requires-Dist: cfgv==3.4.0; extra == "dev"
143
+ Requires-Dist: charset-normalizer==3.4.2; extra == "dev"
144
+ Requires-Dist: click==8.1.8; extra == "dev"
145
+ Requires-Dist: codespell==2.4.1; extra == "dev"
146
+ Requires-Dist: cogapp==3.4.1; extra == "dev"
147
+ Requires-Dist: contourpy==1.3.2; extra == "dev"
148
+ Requires-Dist: cycler==0.12.1; extra == "dev"
149
+ Requires-Dist: dill==0.4.0; extra == "dev"
150
+ Requires-Dist: distlib==0.3.9; extra == "dev"
151
+ Requires-Dist: filelock==3.18.0; extra == "dev"
152
+ Requires-Dist: fonttools==4.57.0; extra == "dev"
153
+ Requires-Dist: google-api-core[grpc]==2.24.2; extra == "dev"
154
+ Requires-Dist: google-auth==2.40.1; extra == "dev"
155
+ Requires-Dist: google-cloud-bigquery==3.31.0; extra == "dev"
156
+ Requires-Dist: google-cloud-core==2.4.3; extra == "dev"
157
+ Requires-Dist: google-crc32c==1.7.1; extra == "dev"
158
+ Requires-Dist: google-resumable-media==2.7.2; extra == "dev"
159
+ Requires-Dist: googleapis-common-protos==1.70.0; extra == "dev"
160
+ Requires-Dist: grpcio==1.71.0; extra == "dev"
161
+ Requires-Dist: grpcio-status==1.71.0; extra == "dev"
162
+ Requires-Dist: identify==2.6.10; extra == "dev"
163
+ Requires-Dist: idna==3.10; extra == "dev"
164
+ Requires-Dist: imgcat==0.6.0; extra == "dev"
165
+ Requires-Dist: iniconfig==2.1.0; extra == "dev"
166
+ Requires-Dist: kiwisolver==1.4.8; extra == "dev"
167
+ Requires-Dist: lox==0.13.0; extra == "dev"
168
+ Requires-Dist: markdown-it-py==3.0.0; extra == "dev"
169
+ Requires-Dist: matplotlib==3.10.3; extra == "dev"
170
+ Requires-Dist: mdurl==0.1.2; extra == "dev"
171
+ Requires-Dist: multiprocess==0.70.18; extra == "dev"
172
+ Requires-Dist: nodeenv==1.9.1; extra == "dev"
173
+ Requires-Dist: numpy==1.26.4; extra == "dev"
174
+ Requires-Dist: packaging==24.2; extra == "dev"
175
+ Requires-Dist: pandas==2.2.3; extra == "dev"
176
+ Requires-Dist: pathos==0.3.4; extra == "dev"
177
+ Requires-Dist: pillow==11.2.1; extra == "dev"
178
+ Requires-Dist: pip==25.1.1; extra == "dev"
179
+ Requires-Dist: pip-tools==7.4.1; extra == "dev"
180
+ Requires-Dist: platformdirs==4.3.8; extra == "dev"
181
+ Requires-Dist: pluggy==1.5.0; extra == "dev"
182
+ Requires-Dist: pox==0.3.6; extra == "dev"
183
+ Requires-Dist: ppft==1.7.7; extra == "dev"
184
+ Requires-Dist: pre-commit==4.2.0; extra == "dev"
185
+ Requires-Dist: proto-plus==1.26.1; extra == "dev"
186
+ Requires-Dist: protobuf==5.29.4; extra == "dev"
187
+ Requires-Dist: pyasn1==0.6.1; extra == "dev"
188
+ Requires-Dist: pyasn1-modules==0.4.2; extra == "dev"
189
+ Requires-Dist: pygments==2.19.1; extra == "dev"
190
+ Requires-Dist: pyparsing==3.2.3; extra == "dev"
191
+ Requires-Dist: pyproject-hooks==1.2.0; extra == "dev"
192
+ Requires-Dist: pytest==8.3.5; extra == "dev"
193
+ Requires-Dist: pytest-env==1.1.5; extra == "dev"
194
+ Requires-Dist: python-dateutil==2.9.0.post0; extra == "dev"
195
+ Requires-Dist: pytz==2025.2; extra == "dev"
196
+ Requires-Dist: pyyaml==6.0.2; extra == "dev"
197
+ Requires-Dist: requests==2.32.3; extra == "dev"
198
+ Requires-Dist: rich==14.0.0; extra == "dev"
199
+ Requires-Dist: rsa==4.9.1; extra == "dev"
200
+ Requires-Dist: semver==3.0.4; extra == "dev"
201
+ Requires-Dist: setuptools==80.3.1; extra == "dev"
202
+ Requires-Dist: shellingham==1.5.4; extra == "dev"
203
+ Requires-Dist: six==1.17.0; extra == "dev"
204
+ Requires-Dist: typer==0.15.3; extra == "dev"
205
+ Requires-Dist: typing-extensions==4.13.2; extra == "dev"
206
+ Requires-Dist: tzdata==2025.2; extra == "dev"
207
+ Requires-Dist: urllib3==2.4.0; extra == "dev"
208
+ Requires-Dist: uv==0.7.3; extra == "dev"
209
+ Requires-Dist: virtualenv==20.31.2; extra == "dev"
210
+ Requires-Dist: wheel==0.45.1; extra == "dev"
211
+ Provides-Extra: help
212
+ Requires-Dist: aiohappyeyeballs==2.6.1; extra == "help"
213
+ Requires-Dist: aiohttp==3.11.18; extra == "help"
214
+ Requires-Dist: aiosignal==1.3.2; extra == "help"
215
+ Requires-Dist: annotated-types==0.7.0; extra == "help"
216
+ Requires-Dist: anyio==4.9.0; extra == "help"
217
+ Requires-Dist: attrs==25.3.0; extra == "help"
218
+ Requires-Dist: banks==2.1.2; extra == "help"
219
+ Requires-Dist: certifi==2025.4.26; extra == "help"
220
+ Requires-Dist: charset-normalizer==3.4.2; extra == "help"
221
+ Requires-Dist: click==8.1.8; extra == "help"
222
+ Requires-Dist: colorama==0.4.6; extra == "help"
223
+ Requires-Dist: dataclasses-json==0.6.7; extra == "help"
224
+ Requires-Dist: deprecated==1.2.18; extra == "help"
225
+ Requires-Dist: dirtyjson==1.0.8; extra == "help"
226
+ Requires-Dist: filelock==3.18.0; extra == "help"
227
+ Requires-Dist: filetype==1.2.0; extra == "help"
228
+ Requires-Dist: frozenlist==1.6.0; extra == "help"
229
+ Requires-Dist: fsspec==2025.3.2; extra == "help"
230
+ Requires-Dist: greenlet==3.2.2; extra == "help"
231
+ Requires-Dist: griffe==1.7.3; extra == "help"
232
+ Requires-Dist: h11==0.16.0; extra == "help"
233
+ Requires-Dist: hf-xet==1.1.0; extra == "help"
234
+ Requires-Dist: httpcore==1.0.9; extra == "help"
235
+ Requires-Dist: httpx==0.28.1; extra == "help"
236
+ Requires-Dist: huggingface-hub[inference]==0.31.1; extra == "help"
237
+ Requires-Dist: idna==3.10; extra == "help"
238
+ Requires-Dist: jinja2==3.1.6; extra == "help"
239
+ Requires-Dist: joblib==1.5.0; extra == "help"
240
+ Requires-Dist: llama-index-core==0.12.26; extra == "help"
241
+ Requires-Dist: llama-index-embeddings-huggingface==0.5.3; extra == "help"
242
+ Requires-Dist: markupsafe==3.0.2; extra == "help"
243
+ Requires-Dist: marshmallow==3.26.1; extra == "help"
244
+ Requires-Dist: mpmath==1.3.0; extra == "help"
245
+ Requires-Dist: multidict==6.4.3; extra == "help"
246
+ Requires-Dist: mypy-extensions==1.1.0; extra == "help"
247
+ Requires-Dist: nest-asyncio==1.6.0; extra == "help"
248
+ Requires-Dist: networkx==3.4.2; extra == "help"
249
+ Requires-Dist: nltk==3.9.1; extra == "help"
250
+ Requires-Dist: numpy==1.26.4; extra == "help"
251
+ Requires-Dist: packaging==24.2; extra == "help"
252
+ Requires-Dist: pillow==11.2.1; extra == "help"
253
+ Requires-Dist: platformdirs==4.3.8; extra == "help"
254
+ Requires-Dist: propcache==0.3.1; extra == "help"
255
+ Requires-Dist: pydantic==2.11.4; extra == "help"
256
+ Requires-Dist: pydantic-core==2.33.2; extra == "help"
257
+ Requires-Dist: pyyaml==6.0.2; extra == "help"
258
+ Requires-Dist: regex==2024.11.6; extra == "help"
259
+ Requires-Dist: requests==2.32.3; extra == "help"
260
+ Requires-Dist: safetensors==0.5.3; extra == "help"
261
+ Requires-Dist: scikit-learn==1.6.1; extra == "help"
262
+ Requires-Dist: scipy==1.15.3; extra == "help"
263
+ Requires-Dist: sentence-transformers==4.1.0; extra == "help"
264
+ Requires-Dist: sniffio==1.3.1; extra == "help"
265
+ Requires-Dist: sqlalchemy[asyncio]==2.0.40; extra == "help"
266
+ Requires-Dist: sympy==1.14.0; extra == "help"
267
+ Requires-Dist: tenacity==9.1.2; extra == "help"
268
+ Requires-Dist: threadpoolctl==3.6.0; extra == "help"
269
+ Requires-Dist: tiktoken==0.9.0; extra == "help"
270
+ Requires-Dist: tokenizers==0.21.1; extra == "help"
271
+ Requires-Dist: torch==2.2.2; extra == "help"
272
+ Requires-Dist: tqdm==4.67.1; extra == "help"
273
+ Requires-Dist: transformers==4.51.3; extra == "help"
274
+ Requires-Dist: typing-extensions==4.13.2; extra == "help"
275
+ Requires-Dist: typing-inspect==0.9.0; extra == "help"
276
+ Requires-Dist: typing-inspection==0.4.0; extra == "help"
277
+ Requires-Dist: urllib3==2.4.0; extra == "help"
278
+ Requires-Dist: wrapt==1.17.2; extra == "help"
279
+ Requires-Dist: yarl==1.20.0; extra == "help"
280
+ Provides-Extra: browser
281
+ Requires-Dist: altair==5.5.0; extra == "browser"
282
+ Requires-Dist: attrs==25.3.0; extra == "browser"
283
+ Requires-Dist: blinker==1.9.0; extra == "browser"
284
+ Requires-Dist: cachetools==5.5.2; extra == "browser"
285
+ Requires-Dist: certifi==2025.4.26; extra == "browser"
286
+ Requires-Dist: charset-normalizer==3.4.2; extra == "browser"
287
+ Requires-Dist: click==8.1.8; extra == "browser"
288
+ Requires-Dist: gitdb==4.0.12; extra == "browser"
289
+ Requires-Dist: gitpython==3.1.44; extra == "browser"
290
+ Requires-Dist: idna==3.10; extra == "browser"
291
+ Requires-Dist: jinja2==3.1.6; extra == "browser"
292
+ Requires-Dist: jsonschema==4.23.0; extra == "browser"
293
+ Requires-Dist: jsonschema-specifications==2025.4.1; extra == "browser"
294
+ Requires-Dist: markupsafe==3.0.2; extra == "browser"
295
+ Requires-Dist: narwhals==1.38.2; extra == "browser"
296
+ Requires-Dist: numpy==1.26.4; extra == "browser"
297
+ Requires-Dist: packaging==24.2; extra == "browser"
298
+ Requires-Dist: pandas==2.2.3; extra == "browser"
299
+ Requires-Dist: pillow==11.2.1; extra == "browser"
300
+ Requires-Dist: protobuf==5.29.4; extra == "browser"
301
+ Requires-Dist: pyarrow==20.0.0; extra == "browser"
302
+ Requires-Dist: pydeck==0.9.1; extra == "browser"
303
+ Requires-Dist: python-dateutil==2.9.0.post0; extra == "browser"
304
+ Requires-Dist: pytz==2025.2; extra == "browser"
305
+ Requires-Dist: referencing==0.36.2; extra == "browser"
306
+ Requires-Dist: requests==2.32.3; extra == "browser"
307
+ Requires-Dist: rpds-py==0.24.0; extra == "browser"
308
+ Requires-Dist: six==1.17.0; extra == "browser"
309
+ Requires-Dist: smmap==5.0.2; extra == "browser"
310
+ Requires-Dist: streamlit==1.45.0; extra == "browser"
311
+ Requires-Dist: tenacity==9.1.2; extra == "browser"
312
+ Requires-Dist: toml==0.10.2; extra == "browser"
313
+ Requires-Dist: tornado==6.4.2; extra == "browser"
314
+ Requires-Dist: typing-extensions==4.13.2; extra == "browser"
315
+ Requires-Dist: tzdata==2025.2; extra == "browser"
316
+ Requires-Dist: urllib3==2.4.0; extra == "browser"
317
+ Provides-Extra: playwright
318
+ Requires-Dist: greenlet==3.2.2; extra == "playwright"
319
+ Requires-Dist: playwright==1.52.0; extra == "playwright"
320
+ Requires-Dist: pyee==13.0.0; extra == "playwright"
321
+ Requires-Dist: typing-extensions==4.13.2; extra == "playwright"
322
+ Dynamic: license-file
323
+
324
+ <p align="center">
325
+ <a href="https://aider.chat/"><img src="https://aider.chat/assets/logo.svg" alt="Aider Logo" width="300"></a>
326
+ </p>
327
+
328
+ <h1 align="center">
329
+ AI Pair Programming in Your Terminal
330
+ </h1>
331
+
332
+
333
+ <p align="center">
334
+ Aider lets you pair program with LLMs to start a new project or build on your existing codebase.
335
+ </p>
336
+
337
+ <p align="center">
338
+ <img
339
+ src="https://aider.chat/assets/screencast.svg"
340
+ alt="aider screencast"
341
+ >
342
+ </p>
343
+
344
+ <p align="center">
345
+ <!--[[[cog
346
+ from scripts.homepage import get_badges_md
347
+ text = get_badges_md()
348
+ cog.out(text)
349
+ ]]]-->
350
+ <a href="https://github.com/Aider-AI/aider/stargazers"><img alt="GitHub Stars" title="Total number of GitHub stars the Aider project has received"
351
+ src="https://img.shields.io/github/stars/Aider-AI/aider?style=flat-square&logo=github&color=f1c40f&labelColor=555555"/></a>
352
+ <a href="https://pypi.org/project/aider-chat/"><img alt="PyPI Downloads" title="Total number of installations via pip from PyPI"
353
+ src="https://img.shields.io/badge/📦%20Installs-2.4M-2ecc71?style=flat-square&labelColor=555555"/></a>
354
+ <img alt="Tokens per week" title="Number of tokens processed weekly by Aider users"
355
+ src="https://img.shields.io/badge/📈%20Tokens%2Fweek-15B-3498db?style=flat-square&labelColor=555555"/>
356
+ <a href="https://openrouter.ai/#options-menu"><img alt="OpenRouter Ranking" title="Aider's ranking among applications on the OpenRouter platform"
357
+ src="https://img.shields.io/badge/🏆%20OpenRouter-Top%2020-9b59b6?style=flat-square&labelColor=555555"/></a>
358
+ <a href="https://aider.chat/HISTORY.html"><img alt="Singularity" title="Percentage of the new code in Aider's last release written by Aider itself"
359
+ src="https://img.shields.io/badge/🔄%20Singularity-79%25-e74c3c?style=flat-square&labelColor=555555"/></a>
360
+ <!--[[[end]]]-->
361
+ </p>
362
+
363
+ ## Features
364
+
365
+ ### [Cloud and local LLMs](https://aider.chat/docs/llms.html)
366
+
367
+ <a href="https://aider.chat/docs/llms.html"><img src="https://aider.chat/assets/icons/brain.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
368
+ Aider works best with Claude 3.7 Sonnet, DeepSeek R1 & Chat V3, OpenAI o1, o3-mini & GPT-4o, but can connect to almost any LLM, including local models.
369
+
370
+ <br>
371
+
372
+ ### [Maps your codebase](https://aider.chat/docs/repomap.html)
373
+
374
+ <a href="https://aider.chat/docs/repomap.html"><img src="https://aider.chat/assets/icons/map-outline.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
375
+ Aider makes a map of your entire codebase, which helps it work well in larger projects.
376
+
377
+ <br>
378
+
379
+ ### [100+ code languages](https://aider.chat/docs/languages.html)
380
+
381
+ <a href="https://aider.chat/docs/languages.html"><img src="https://aider.chat/assets/icons/code-tags.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
382
+ Aider works with most popular programming languages: python, javascript, rust, ruby, go, cpp, php, html, css, and dozens more.
383
+
384
+ <br>
385
+
386
+ ### [Git integration](https://aider.chat/docs/git.html)
387
+
388
+ <a href="https://aider.chat/docs/git.html"><img src="https://aider.chat/assets/icons/source-branch.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
389
+ Aider automatically commits changes with sensible commit messages. Use familiar git tools to easily diff, manage and undo AI changes.
390
+
391
+ <br>
392
+
393
+ ### [Use in your IDE](https://aider.chat/docs/usage/watch.html)
394
+
395
+ <a href="https://aider.chat/docs/usage/watch.html"><img src="https://aider.chat/assets/icons/monitor.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
396
+ Use aider from within your favorite IDE or editor. Ask for changes by adding comments to your code and aider will get to work.
397
+
398
+ <br>
399
+
400
+ ### [Images & web pages](https://aider.chat/docs/usage/images-urls.html)
401
+
402
+ <a href="https://aider.chat/docs/usage/images-urls.html"><img src="https://aider.chat/assets/icons/image-multiple.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
403
+ Add images and web pages to the chat to provide visual context, screenshots, reference docs, etc.
404
+
405
+ <br>
406
+
407
+ ### [Voice-to-code](https://aider.chat/docs/usage/voice.html)
408
+
409
+ <a href="https://aider.chat/docs/usage/voice.html"><img src="https://aider.chat/assets/icons/microphone.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
410
+ Speak with aider about your code! Request new features, test cases or bug fixes using your voice and let aider implement the changes.
411
+
412
+ <br>
413
+
414
+ ### [Linting & testing](https://aider.chat/docs/usage/lint-test.html)
415
+
416
+ <a href="https://aider.chat/docs/usage/lint-test.html"><img src="https://aider.chat/assets/icons/check-all.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
417
+ Automatically lint and test your code every time aider makes changes. Aider can fix problems detected by your linters and test suites.
418
+
419
+ <br>
420
+
421
+ ### [Copy/paste to web chat](https://aider.chat/docs/usage/copypaste.html)
422
+
423
+ <a href="https://aider.chat/docs/usage/copypaste.html"><img src="https://aider.chat/assets/icons/content-copy.svg" width="32" height="32" align="left" valign="middle" style="margin-right:10px"></a>
424
+ Work with any LLM via its web chat interface. Aider streamlines copy/pasting code context and edits back and forth with a browser.
425
+
426
+ ## Getting Started
427
+
428
+ ```bash
429
+ python -m pip install aider-install
430
+ aider-install
431
+
432
+ # Change directory into your codebase
433
+ cd /to/your/project
434
+
435
+ # DeepSeek
436
+ aider --model deepseek --api-key deepseek=<key>
437
+
438
+ # Claude 3.7 Sonnet
439
+ aider --model sonnet --api-key anthropic=<key>
440
+
441
+ # o3-mini
442
+ aider --model o3-mini --api-key openai=<key>
443
+ ```
444
+
445
+ See the [installation instructions](https://aider.chat/docs/install.html) and [usage documentation](https://aider.chat/docs/usage.html) for more details.
446
+
447
+ ## More Information
448
+
449
+ ### Documentation
450
+ - [Installation Guide](https://aider.chat/docs/install.html)
451
+ - [Usage Guide](https://aider.chat/docs/usage.html)
452
+ - [Tutorial Videos](https://aider.chat/docs/usage/tutorials.html)
453
+ - [Connecting to LLMs](https://aider.chat/docs/llms.html)
454
+ - [Configuration Options](https://aider.chat/docs/config.html)
455
+ - [Troubleshooting](https://aider.chat/docs/troubleshooting.html)
456
+ - [FAQ](https://aider.chat/docs/faq.html)
457
+
458
+ ### Community & Resources
459
+ - [LLM Leaderboards](https://aider.chat/docs/leaderboards/)
460
+ - [GitHub Repository](https://github.com/Aider-AI/aider)
461
+ - [Discord Community](https://discord.gg/Y7X7bhMQFV)
462
+ - [Release notes](https://aider.chat/HISTORY.html)
463
+ - [Blog](https://aider.chat/blog/)
464
+
465
+ ## Kind Words From Users
466
+
467
+ - *"My life has changed... Aider... It's going to rock your world."* — [Eric S. Raymond on X](https://x.com/esrtweet/status/1910809356381413593)
468
+ - *"The best free open source AI coding assistant."* — [IndyDevDan on YouTube](https://youtu.be/YALpX8oOn78)
469
+ - *"The best AI coding assistant so far."* — [Matthew Berman on YouTube](https://www.youtube.com/watch?v=df8afeb1FY8)
470
+ - *"Aider ... has easily quadrupled my coding productivity."* — [SOLAR_FIELDS on Hacker News](https://news.ycombinator.com/item?id=36212100)
471
+ - *"It's a cool workflow... Aider's ergonomics are perfect for me."* — [qup on Hacker News](https://news.ycombinator.com/item?id=38185326)
472
+ - *"It's really like having your senior developer live right in your Git repo - truly amazing!"* — [rappster on GitHub](https://github.com/Aider-AI/aider/issues/124)
473
+ - *"What an amazing tool. It's incredible."* — [valyagolev on GitHub](https://github.com/Aider-AI/aider/issues/6#issue-1722897858)
474
+ - *"Aider is such an astounding thing!"* — [cgrothaus on GitHub](https://github.com/Aider-AI/aider/issues/82#issuecomment-1631876700)
475
+ - *"It was WAY faster than I would be getting off the ground and making the first few working versions."* — [Daniel Feldman on X](https://twitter.com/d_feldman/status/1662295077387923456)
476
+ - *"THANK YOU for Aider! It really feels like a glimpse into the future of coding."* — [derwiki on Hacker News](https://news.ycombinator.com/item?id=38205643)
477
+ - *"It's just amazing. It is freeing me to do things I felt were out my comfort zone before."* — [Dougie on Discord](https://discord.com/channels/1131200896827654144/1174002618058678323/1174084556257775656)
478
+ - *"This project is stellar."* — [funkytaco on GitHub](https://github.com/Aider-AI/aider/issues/112#issuecomment-1637429008)
479
+ - *"Amazing project, definitely the best AI coding assistant I've used."* — [joshuavial on GitHub](https://github.com/Aider-AI/aider/issues/84)
480
+ - *"I absolutely love using Aider ... It makes software development feel so much lighter as an experience."* — [principalideal0 on Discord](https://discord.com/channels/1131200896827654144/1133421607499595858/1229689636012691468)
481
+ - *"I have been recovering from ... surgeries ... aider ... has allowed me to continue productivity."* — [codeninja on Reddit](https://www.reddit.com/r/OpenAI/s/nmNwkHy1zG)
482
+ - *"I am an aider addict. I'm getting so much more work done, but in less time."* — [dandandan on Discord](https://discord.com/channels/1131200896827654144/1131200896827654149/1135913253483069470)
483
+ - *"Aider... blows everything else out of the water hands down, there's no competition whatsoever."* — [SystemSculpt on Discord](https://discord.com/channels/1131200896827654144/1131200896827654149/1178736602797846548)
484
+ - *"Aider is amazing, coupled with Sonnet 3.5 it's quite mind blowing."* — [Josh Dingus on Discord](https://discord.com/channels/1131200896827654144/1133060684540813372/1262374225298198548)
485
+ - *"Hands down, this is the best AI coding assistant tool so far."* — [IndyDevDan on YouTube](https://www.youtube.com/watch?v=MPYFPvxfGZs)
486
+ - *"[Aider] changed my daily coding workflows. It's mind-blowing how ...(it)... can change your life."* — [maledorak on Discord](https://discord.com/channels/1131200896827654144/1131200896827654149/1258453375620747264)
487
+ - *"Best agent for actual dev work in existing codebases."* — [Nick Dobos on X](https://twitter.com/NickADobos/status/1690408967963652097?s=20)
488
+ - *"One of my favorite pieces of software. Blazing trails on new paradigms!"* — [Chris Wall on X](https://x.com/chris65536/status/1905053299251798432)
489
+ - *"Aider has been revolutionary for me and my work."* — [Starry Hope on X](https://x.com/starryhopeblog/status/1904985812137132056)
490
+ - *"Try aider! One of the best ways to vibe code."* — [Chris Wall on X](https://x.com/Chris65536/status/1905053418961391929)
491
+ - *"Aider is hands down the best. And it's free and opensource."* — [AriyaSavakaLurker on Reddit](https://www.reddit.com/r/ChatGPTCoding/comments/1ik16y6/whats_your_take_on_aider/mbip39n/)
492
+ - *"Aider is also my best friend."* — [jzn21 on Reddit](https://www.reddit.com/r/ChatGPTCoding/comments/1heuvuo/aider_vs_cline_vs_windsurf_vs_cursor/m27dcnb/)
493
+ - *"Try Aider, it's worth it."* — [jorgejhms on Reddit](https://www.reddit.com/r/ChatGPTCoding/comments/1heuvuo/aider_vs_cline_vs_windsurf_vs_cursor/m27cp99/)
494
+ - *"I like aider :)"* — [Chenwei Cui on X](https://x.com/ccui42/status/1904965344999145698)
495
+ - *"Aider is the precision tool of LLM code gen... Minimal, thoughtful and capable of surgical changes ... while keeping the developer in control."* — [Reilly Sweetland on X](https://x.com/rsweetland/status/1904963807237259586)
496
+ - *"Cannot believe aider vibe coded a 650 LOC feature across service and cli today in 1 shot."* - [autopoietist on Discord](https://discord.com/channels/1131200896827654144/1131200896827654149/1355675042259796101)
497
+ - *"Oh no the secret is out! Yes, Aider is the best coding tool around. I highly, highly recommend it to anyone."* — [Joshua D Vander Hook on X](https://x.com/jodavaho/status/1911154899057795218)
498
+ - *"thanks to aider, i have started and finished three personal projects within the last two days"* — [joseph stalzyn on X](https://x.com/anitaheeder/status/1908338609645904160)
499
+ - *"Been using aider as my daily driver for over a year ... I absolutely love the tool, like beyond words."* — [koleok on Discord](https://discord.com/channels/1131200896827654144/1273248471394291754/1356727448372252783)
500
+ - *"Aider ... is the tool to benchmark against."* — [BeetleB on Hacker News](https://news.ycombinator.com/item?id=43930201)
501
+ - *"aider is really cool"* — [kache on X](https://x.com/yacineMTB/status/1911224442430124387)
502
+