docs: add research domains and resource registry

- add local external resources registry
- add research domain contract and per-repository research domains
- add raw fact snapshot governance and validation scripts

Validation:
- make test
- git diff --check HEAD~1..HEAD

Note:
- welcome workflow failed because its action input names are stale; core content CI passed.
This commit is contained in:
tradecatlabs
2026-07-03 08:20:22 +08:00
committed by GitHub
parent 2253a46935
commit a8099f52fe
254 changed files with 28589 additions and 165 deletions
@@ -0,0 +1,12 @@
# raw/ Agent 指南
本目录是 `Aider-AI/aider` 的原始事实层。
## 维护规则
- 只保存从研究对象拉取的一手材料,不写分析判断。
- `repository/` 是本地 Git 工作树,刷新时由脚本 clone 或 fast-forward pull。
- 不手工改写 `*.raw.*` 文件内容;需要刷新时运行 `python3 scripts/fetch-research-raw.py`
- `sources.yml` 必须记录拉取时间、来源命令和每个文件的状态。
- 外部 README 原文必须保存为 `.txt`,避免本仓库 Markdown 链接检查误判。
- 分析、判断、采用建议和沉淀路径写回上一级 `README.md``analysis.md``decisions.md`
@@ -0,0 +1,16 @@
# raw 事实层
本目录保存 `Aider-AI/aider` 的本地原始材料快照。
这里不写分析结论,只保存可复查的一手资料:
- `sources.yml`:来源清单、拉取时间、命令和文件状态。
- `repository/`Git 仓库工作树;本目录由 `.gitignore` 忽略,只作为本地研究材料。
- `github-repo.raw.json`GitHub 仓库元数据。
- `github-readme.raw.md.txt`GitHub README 原文快照。
- `github-license.raw.txt`GitHub license 原文快照;仓库无 license 时可能不存在。
- `github-root-contents.raw.json`:默认分支根目录内容快照。
- `github-languages.raw.json`GitHub language 统计快照。
- `github-latest-release.raw.json`:最新 release 快照;无 release 时可能不存在。
`repository/` 是外部源码快照,不参与本仓库 Markdown、链接、README/AGENTS 覆盖检查。原始 README 使用 `.txt` 后缀保存,避免其中的外部相对链接被本仓库 Markdown 链接检查误判。
@@ -0,0 +1,12 @@
{
"Python": 1333453,
"CSS": 67532,
"Shell": 66537,
"Tree-sitter Query": 64845,
"JavaScript": 60909,
"HTML": 44976,
"PowerShell": 19648,
"Dockerfile": 4405,
"SCSS": 1957,
"Ruby": 196
}
@@ -0,0 +1,54 @@
{
"url": "https://api.github.com/repos/Aider-AI/aider/releases/238790002",
"assets_url": "https://api.github.com/repos/Aider-AI/aider/releases/238790002/assets",
"upload_url": "https://uploads.github.com/repos/Aider-AI/aider/releases/238790002/assets{?name,label}",
"html_url": "https://github.com/Aider-AI/aider/releases/tag/v0.86.0",
"id": 238790002,
"author": {
"login": "paul-gauthier",
"id": 69695708,
"node_id": "MDQ6VXNlcjY5Njk1NzA4",
"avatar_url": "https://avatars.githubusercontent.com/u/69695708?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/paul-gauthier",
"html_url": "https://github.com/paul-gauthier",
"followers_url": "https://api.github.com/users/paul-gauthier/followers",
"following_url": "https://api.github.com/users/paul-gauthier/following{/other_user}",
"gists_url": "https://api.github.com/users/paul-gauthier/gists{/gist_id}",
"starred_url": "https://api.github.com/users/paul-gauthier/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/paul-gauthier/subscriptions",
"organizations_url": "https://api.github.com/users/paul-gauthier/orgs",
"repos_url": "https://api.github.com/users/paul-gauthier/repos",
"events_url": "https://api.github.com/users/paul-gauthier/events{/privacy}",
"received_events_url": "https://api.github.com/users/paul-gauthier/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false
},
"node_id": "RE_kwDOJhC06c4OO6Vy",
"tag_name": "v0.86.0",
"target_commitish": "main",
"name": "Aider v0.86.0",
"draft": false,
"immutable": false,
"prerelease": false,
"created_at": "2025-08-09T15:54:51Z",
"updated_at": "2025-08-09T17:42:19Z",
"published_at": "2025-08-09T17:42:19Z",
"assets": [],
"tarball_url": "https://api.github.com/repos/Aider-AI/aider/tarball/v0.86.0",
"zipball_url": "https://api.github.com/repos/Aider-AI/aider/zipball/v0.86.0",
"body": "- Added support for all GPT-5 models.\r\n- Added support for Grok-4 via `xai/grok-4` and `openrouter/x-ai/grok-4` model names.\r\n- Added support for `gemini/gemini-2.5-flash-lite-preview-06-17` model, by Tamir Zahavi-Brunner.\r\n- `/clear` now prints “All chat history cleared.” so you know it worked, by Zexin Yuan.\r\n- `/undo` output now shows only the first line of each commit message, making it easier to read.\r\n- Added support for `openrouter/moonshotai/kimi-k2` model, by Jack Harrington.\r\n- Display model announcements with no-arg `/model` command.\r\n- Fixed an issue where new settings for an existing model didn't replace the old ones, by Andrew Grigorev.\r\n- Fixed analytics to support the latest PostHog SDK event-capture API.\r\n- Bumped dependencies to pick up latest litellm==1.75.0.\r\n\r\n- Aider wrote 88% of the code in this release.",
"reactions": {
"url": "https://api.github.com/repos/Aider-AI/aider/releases/238790002/reactions",
"total_count": 51,
"+1": 0,
"-1": 0,
"laugh": 0,
"hooray": 0,
"confused": 0,
"heart": 2,
"rocket": 46,
"eyes": 3
}
}
@@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@@ -0,0 +1,180 @@
<p align="center">
<a href="https://aider.chat/"><img src="https://aider.chat/assets/logo.svg" alt="Aider Logo" width="300"></a>
</p>
<h1 align="center">
AI Pair Programming in Your Terminal
</h1>
<p align="center">
Aider lets you pair program with LLMs to start a new project or build on your existing codebase.
</p>
<p align="center">
<img
src="https://aider.chat/assets/screencast.svg"
alt="aider screencast"
>
</p>
<p align="center">
<!--[[[cog
from scripts.homepage import get_badges_md
text = get_badges_md()
cog.out(text)
]]]-->
<a href="https://github.com/Aider-AI/aider/stargazers"><img alt="GitHub Stars" title="Total number of GitHub stars the Aider project has received"
src="https://img.shields.io/github/stars/Aider-AI/aider?style=flat-square&logo=github&color=f1c40f&labelColor=555555"/></a>
<a href="https://pypi.org/project/aider-chat/"><img alt="PyPI Downloads" title="Total number of installations via pip from PyPI"
src="https://img.shields.io/badge/📦%20Installs-6.8M-2ecc71?style=flat-square&labelColor=555555"/></a>
<img alt="Tokens per week" title="Number of tokens processed weekly by Aider users"
src="https://img.shields.io/badge/📈%20Tokens%2Fweek-15B-3498db?style=flat-square&labelColor=555555"/>
<a href="https://openrouter.ai/#options-menu"><img alt="OpenRouter Ranking" title="Aider's ranking among applications on the OpenRouter platform"
src="https://img.shields.io/badge/🏆%20OpenRouter-Top%2020-9b59b6?style=flat-square&labelColor=555555"/></a>
<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"
src="https://img.shields.io/badge/🔄%20Singularity-88%25-e74c3c?style=flat-square&labelColor=555555"/></a>
<!--[[[end]]]-->
</p>
## Features
### [Cloud and local LLMs](https://aider.chat/docs/llms.html)
<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>
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.
<br>
### [Maps your codebase](https://aider.chat/docs/repomap.html)
<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>
Aider makes a map of your entire codebase, which helps it work well in larger projects.
<br>
### [100+ code languages](https://aider.chat/docs/languages.html)
<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>
Aider works with most popular programming languages: python, javascript, rust, ruby, go, cpp, php, html, css, and dozens more.
<br>
### [Git integration](https://aider.chat/docs/git.html)
<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>
Aider automatically commits changes with sensible commit messages. Use familiar git tools to easily diff, manage and undo AI changes.
<br>
### [Use in your IDE](https://aider.chat/docs/usage/watch.html)
<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>
Use aider from within your favorite IDE or editor. Ask for changes by adding comments to your code and aider will get to work.
<br>
### [Images & web pages](https://aider.chat/docs/usage/images-urls.html)
<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>
Add images and web pages to the chat to provide visual context, screenshots, reference docs, etc.
<br>
### [Voice-to-code](https://aider.chat/docs/usage/voice.html)
<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>
Speak with aider about your code! Request new features, test cases or bug fixes using your voice and let aider implement the changes.
<br>
### [Linting & testing](https://aider.chat/docs/usage/lint-test.html)
<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>
Automatically lint and test your code every time aider makes changes. Aider can fix problems detected by your linters and test suites.
<br>
### [Copy/paste to web chat](https://aider.chat/docs/usage/copypaste.html)
<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>
Work with any LLM via its web chat interface. Aider streamlines copy/pasting code context and edits back and forth with a browser.
## Getting Started
```bash
python -m pip install aider-install
aider-install
# Change directory into your codebase
cd /to/your/project
# DeepSeek
aider --model deepseek --api-key deepseek=<key>
# Claude 3.7 Sonnet
aider --model sonnet --api-key anthropic=<key>
# o3-mini
aider --model o3-mini --api-key openai=<key>
```
See the [installation instructions](https://aider.chat/docs/install.html) and [usage documentation](https://aider.chat/docs/usage.html) for more details.
## More Information
### Documentation
- [Installation Guide](https://aider.chat/docs/install.html)
- [Usage Guide](https://aider.chat/docs/usage.html)
- [Tutorial Videos](https://aider.chat/docs/usage/tutorials.html)
- [Connecting to LLMs](https://aider.chat/docs/llms.html)
- [Configuration Options](https://aider.chat/docs/config.html)
- [Troubleshooting](https://aider.chat/docs/troubleshooting.html)
- [FAQ](https://aider.chat/docs/faq.html)
### Community & Resources
- [LLM Leaderboards](https://aider.chat/docs/leaderboards/)
- [GitHub Repository](https://github.com/Aider-AI/aider)
- [Discord Community](https://discord.gg/Y7X7bhMQFV)
- [Release notes](https://aider.chat/HISTORY.html)
- [Blog](https://aider.chat/blog/)
## Kind Words From Users
- *"My life has changed... Aider... It's going to rock your world."* — [Eric S. Raymond on X](https://x.com/esrtweet/status/1910809356381413593)
- *"The best free open source AI coding assistant."* — [IndyDevDan on YouTube](https://youtu.be/YALpX8oOn78)
- *"The best AI coding assistant so far."* — [Matthew Berman on YouTube](https://www.youtube.com/watch?v=df8afeb1FY8)
- *"Aider ... has easily quadrupled my coding productivity."* — [SOLAR_FIELDS on Hacker News](https://news.ycombinator.com/item?id=36212100)
- *"It's a cool workflow... Aider's ergonomics are perfect for me."* — [qup on Hacker News](https://news.ycombinator.com/item?id=38185326)
- *"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)
- *"What an amazing tool. It's incredible."* — [valyagolev on GitHub](https://github.com/Aider-AI/aider/issues/6#issue-1722897858)
- *"Aider is such an astounding thing!"* — [cgrothaus on GitHub](https://github.com/Aider-AI/aider/issues/82#issuecomment-1631876700)
- *"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)
- *"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)
- *"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)
- *"This project is stellar."* — [funkytaco on GitHub](https://github.com/Aider-AI/aider/issues/112#issuecomment-1637429008)
- *"Amazing project, definitely the best AI coding assistant I've used."* — [joshuavial on GitHub](https://github.com/Aider-AI/aider/issues/84)
- *"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)
- *"I have been recovering from ... surgeries ... aider ... has allowed me to continue productivity."* — [codeninja on Reddit](https://www.reddit.com/r/OpenAI/s/nmNwkHy1zG)
- *"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)
- *"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)
- *"Aider is amazing, coupled with Sonnet 3.5 it's quite mind blowing."* — [Josh Dingus on Discord](https://discord.com/channels/1131200896827654144/1133060684540813372/1262374225298198548)
- *"Hands down, this is the best AI coding assistant tool so far."* — [IndyDevDan on YouTube](https://www.youtube.com/watch?v=MPYFPvxfGZs)
- *"[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)
- *"Best agent for actual dev work in existing codebases."* — [Nick Dobos on X](https://twitter.com/NickADobos/status/1690408967963652097?s=20)
- *"One of my favorite pieces of software. Blazing trails on new paradigms!"* — [Chris Wall on X](https://x.com/chris65536/status/1905053299251798432)
- *"Aider has been revolutionary for me and my work."* — [Starry Hope on X](https://x.com/starryhopeblog/status/1904985812137132056)
- *"Try aider! One of the best ways to vibe code."* — [Chris Wall on X](https://x.com/Chris65536/status/1905053418961391929)
- *"Freaking love Aider."* — [hztar on Hacker News](https://news.ycombinator.com/item?id=44035015)
- *"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/)
- *"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/)
- *"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/)
- *"I like aider :)"* — [Chenwei Cui on X](https://x.com/ccui42/status/1904965344999145698)
- *"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)
- *"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)
- *"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)
- *"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)
- *"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)
- *"Aider ... is the tool to benchmark against."* — [BeetleB on Hacker News](https://news.ycombinator.com/item?id=43930201)
- *"aider is really cool"* — [kache on X](https://x.com/yacineMTB/status/1911224442430124387)
@@ -0,0 +1,75 @@
{
"createdAt": "2023-05-09T18:57:49Z",
"defaultBranchRef": {
"name": "main"
},
"description": "aider is AI pair programming in your terminal",
"forkCount": 4680,
"homepageUrl": "https://aider.chat/",
"isArchived": false,
"isFork": false,
"isMirror": false,
"latestRelease": {
"name": "Aider v0.86.0",
"publishedAt": "2025-08-09T17:42:19Z",
"tagName": "v0.86.0",
"url": "https://github.com/Aider-AI/aider/releases/tag/v0.86.0"
},
"licenseInfo": {
"key": "apache-2.0",
"name": "Apache License 2.0",
"nickname": ""
},
"nameWithOwner": "Aider-AI/aider",
"primaryLanguage": {
"name": "Python"
},
"pushedAt": "2026-05-22T14:02:20Z",
"repositoryTopics": [
{
"name": "chatgpt"
},
{
"name": "cli"
},
{
"name": "command-line"
},
{
"name": "gpt-4"
},
{
"name": "openai"
},
{
"name": "gpt-3"
},
{
"name": "gpt-35-turbo"
},
{
"name": "claude-3"
},
{
"name": "gpt-4o"
},
{
"name": "anthropic"
},
{
"name": "gemini"
},
{
"name": "llama"
},
{
"name": "sonnet"
}
],
"stargazerCount": 46962,
"updatedAt": "2026-07-02T21:52:05Z",
"url": "https://github.com/Aider-AI/aider",
"watchers": {
"totalCount": 255
}
}
@@ -0,0 +1,322 @@
[
{
"name": ".dockerignore",
"path": ".dockerignore",
"sha": "830cf8498c3b82005ac8c599502f838ed190e0f0",
"size": 61,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/.dockerignore?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/.dockerignore",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/830cf8498c3b82005ac8c599502f838ed190e0f0",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/.dockerignore",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/.dockerignore?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/830cf8498c3b82005ac8c599502f838ed190e0f0",
"html": "https://github.com/Aider-AI/aider/blob/main/.dockerignore"
}
},
{
"name": ".flake8",
"path": ".flake8",
"sha": "3963261f7b7c8706945140ca6891638e51980353",
"size": 50,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/.flake8?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/.flake8",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/3963261f7b7c8706945140ca6891638e51980353",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/.flake8",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/.flake8?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/3963261f7b7c8706945140ca6891638e51980353",
"html": "https://github.com/Aider-AI/aider/blob/main/.flake8"
}
},
{
"name": ".github",
"path": ".github",
"sha": "30b8800114cd6523ecfd9ff7809de59b385e0631",
"size": 0,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/.github?ref=main",
"html_url": "https://github.com/Aider-AI/aider/tree/main/.github",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/trees/30b8800114cd6523ecfd9ff7809de59b385e0631",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/.github?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/trees/30b8800114cd6523ecfd9ff7809de59b385e0631",
"html": "https://github.com/Aider-AI/aider/tree/main/.github"
}
},
{
"name": ".gitignore",
"path": ".gitignore",
"sha": "fd1fa9a4da7f765e7a9c3515d329d9e7860b552c",
"size": 239,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/.gitignore?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/.gitignore",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/fd1fa9a4da7f765e7a9c3515d329d9e7860b552c",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/.gitignore",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/.gitignore?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/fd1fa9a4da7f765e7a9c3515d329d9e7860b552c",
"html": "https://github.com/Aider-AI/aider/blob/main/.gitignore"
}
},
{
"name": ".pre-commit-config.yaml",
"path": ".pre-commit-config.yaml",
"sha": "ca81b8a7339e47023be3ddac1babed2006f95fd6",
"size": 602,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/.pre-commit-config.yaml?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/.pre-commit-config.yaml",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/ca81b8a7339e47023be3ddac1babed2006f95fd6",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/.pre-commit-config.yaml",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/.pre-commit-config.yaml?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/ca81b8a7339e47023be3ddac1babed2006f95fd6",
"html": "https://github.com/Aider-AI/aider/blob/main/.pre-commit-config.yaml"
}
},
{
"name": "CNAME",
"path": "CNAME",
"sha": "83254ef2d2bd88ccafab3613c8c312d551b37ef3",
"size": 10,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/CNAME?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/CNAME",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/83254ef2d2bd88ccafab3613c8c312d551b37ef3",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/CNAME",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/CNAME?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/83254ef2d2bd88ccafab3613c8c312d551b37ef3",
"html": "https://github.com/Aider-AI/aider/blob/main/CNAME"
}
},
{
"name": "CONTRIBUTING.md",
"path": "CONTRIBUTING.md",
"sha": "abe35a1c0ee51421144b4513149c63068ade2af0",
"size": 7863,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/CONTRIBUTING.md?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/CONTRIBUTING.md",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/abe35a1c0ee51421144b4513149c63068ade2af0",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/CONTRIBUTING.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/CONTRIBUTING.md?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/abe35a1c0ee51421144b4513149c63068ade2af0",
"html": "https://github.com/Aider-AI/aider/blob/main/CONTRIBUTING.md"
}
},
{
"name": "HISTORY.md",
"path": "HISTORY.md",
"sha": "3d523bdccde17e21b8a5f466a7f8b58b56ca5ad1",
"size": 77044,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/HISTORY.md?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/HISTORY.md",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/3d523bdccde17e21b8a5f466a7f8b58b56ca5ad1",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/HISTORY.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/HISTORY.md?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/3d523bdccde17e21b8a5f466a7f8b58b56ca5ad1",
"html": "https://github.com/Aider-AI/aider/blob/main/HISTORY.md"
}
},
{
"name": "LICENSE.txt",
"path": "LICENSE.txt",
"sha": "d645695673349e3947e8e5ae42332d0ac3164cd7",
"size": 11358,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/LICENSE.txt?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/LICENSE.txt",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/d645695673349e3947e8e5ae42332d0ac3164cd7",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/LICENSE.txt",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/LICENSE.txt?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/d645695673349e3947e8e5ae42332d0ac3164cd7",
"html": "https://github.com/Aider-AI/aider/blob/main/LICENSE.txt"
}
},
{
"name": "MANIFEST.in",
"path": "MANIFEST.in",
"sha": "9ab273215b7a269aacce50c21dd746cdb6700b70",
"size": 588,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/MANIFEST.in?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/MANIFEST.in",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/9ab273215b7a269aacce50c21dd746cdb6700b70",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/MANIFEST.in",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/MANIFEST.in?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/9ab273215b7a269aacce50c21dd746cdb6700b70",
"html": "https://github.com/Aider-AI/aider/blob/main/MANIFEST.in"
}
},
{
"name": "README.md",
"path": "README.md",
"sha": "816c876cb67021fa9f8d37267c8e57923eabdb07",
"size": 12406,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/README.md?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/README.md",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/816c876cb67021fa9f8d37267c8e57923eabdb07",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/README.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/README.md?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/816c876cb67021fa9f8d37267c8e57923eabdb07",
"html": "https://github.com/Aider-AI/aider/blob/main/README.md"
}
},
{
"name": "aider",
"path": "aider",
"sha": "38f181379921560c25c44d3c73ed45f7c6a08b4e",
"size": 0,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/aider?ref=main",
"html_url": "https://github.com/Aider-AI/aider/tree/main/aider",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/trees/38f181379921560c25c44d3c73ed45f7c6a08b4e",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/aider?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/trees/38f181379921560c25c44d3c73ed45f7c6a08b4e",
"html": "https://github.com/Aider-AI/aider/tree/main/aider"
}
},
{
"name": "benchmark",
"path": "benchmark",
"sha": "9545fafb919a443b3840f0eb9efe1ded5a9fd773",
"size": 0,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/benchmark?ref=main",
"html_url": "https://github.com/Aider-AI/aider/tree/main/benchmark",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/trees/9545fafb919a443b3840f0eb9efe1ded5a9fd773",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/benchmark?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/trees/9545fafb919a443b3840f0eb9efe1ded5a9fd773",
"html": "https://github.com/Aider-AI/aider/tree/main/benchmark"
}
},
{
"name": "docker",
"path": "docker",
"sha": "75183fa5fbe4f545bf585479137a9e23de28bb30",
"size": 0,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/docker?ref=main",
"html_url": "https://github.com/Aider-AI/aider/tree/main/docker",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/trees/75183fa5fbe4f545bf585479137a9e23de28bb30",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/docker?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/trees/75183fa5fbe4f545bf585479137a9e23de28bb30",
"html": "https://github.com/Aider-AI/aider/tree/main/docker"
}
},
{
"name": "pyproject.toml",
"path": "pyproject.toml",
"sha": "653fc2175129b0298c6fc9d46a1279b66ba36aa1",
"size": 1580,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/pyproject.toml?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/pyproject.toml",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/653fc2175129b0298c6fc9d46a1279b66ba36aa1",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/pyproject.toml",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/pyproject.toml?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/653fc2175129b0298c6fc9d46a1279b66ba36aa1",
"html": "https://github.com/Aider-AI/aider/blob/main/pyproject.toml"
}
},
{
"name": "pytest.ini",
"path": "pytest.ini",
"sha": "7e37e17793017b32db7fe57a76de907ef0bd41df",
"size": 194,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/pytest.ini?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/pytest.ini",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/7e37e17793017b32db7fe57a76de907ef0bd41df",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/pytest.ini",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/pytest.ini?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/7e37e17793017b32db7fe57a76de907ef0bd41df",
"html": "https://github.com/Aider-AI/aider/blob/main/pytest.ini"
}
},
{
"name": "requirements.txt",
"path": "requirements.txt",
"sha": "cddf41382622a5348e84fb1cb1cd8dfddde6e64c",
"size": 12329,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/requirements.txt?ref=main",
"html_url": "https://github.com/Aider-AI/aider/blob/main/requirements.txt",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/blobs/cddf41382622a5348e84fb1cb1cd8dfddde6e64c",
"download_url": "https://raw.githubusercontent.com/Aider-AI/aider/main/requirements.txt",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/requirements.txt?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/blobs/cddf41382622a5348e84fb1cb1cd8dfddde6e64c",
"html": "https://github.com/Aider-AI/aider/blob/main/requirements.txt"
}
},
{
"name": "requirements",
"path": "requirements",
"sha": "dbf88363c16feca71c88d79b129a0965310b3c86",
"size": 0,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/requirements?ref=main",
"html_url": "https://github.com/Aider-AI/aider/tree/main/requirements",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/trees/dbf88363c16feca71c88d79b129a0965310b3c86",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/requirements?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/trees/dbf88363c16feca71c88d79b129a0965310b3c86",
"html": "https://github.com/Aider-AI/aider/tree/main/requirements"
}
},
{
"name": "scripts",
"path": "scripts",
"sha": "4afed1d082a5a4e16d64c1a4e5b8421b7dc07b3a",
"size": 0,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/scripts?ref=main",
"html_url": "https://github.com/Aider-AI/aider/tree/main/scripts",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/trees/4afed1d082a5a4e16d64c1a4e5b8421b7dc07b3a",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/scripts?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/trees/4afed1d082a5a4e16d64c1a4e5b8421b7dc07b3a",
"html": "https://github.com/Aider-AI/aider/tree/main/scripts"
}
},
{
"name": "tests",
"path": "tests",
"sha": "2259b1114fc3ef34139f5ed04079ba49fe5c8f13",
"size": 0,
"url": "https://api.github.com/repos/Aider-AI/aider/contents/tests?ref=main",
"html_url": "https://github.com/Aider-AI/aider/tree/main/tests",
"git_url": "https://api.github.com/repos/Aider-AI/aider/git/trees/2259b1114fc3ef34139f5ed04079ba49fe5c8f13",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/Aider-AI/aider/contents/tests?ref=main",
"git": "https://api.github.com/repos/Aider-AI/aider/git/trees/2259b1114fc3ef34139f5ed04079ba49fe5c8f13",
"html": "https://github.com/Aider-AI/aider/tree/main/tests"
}
}
]
@@ -0,0 +1,37 @@
version: 1
domain_id: aider-ai-aider
object:
type: github_repository
name: Aider-AI/aider
url: https://github.com/Aider-AI/aider
pulled_at: '2026-07-02T22:47:14+00:00'
puller: scripts/fetch-research-raw.py
files:
- path: repository/
kind: git-working-tree
status: ok
source: 'git clone --depth=1 --single-branch --no-tags https://github.com/Aider-AI/aider.git docs/research/aider-ai-aider/raw/repository'
- path: github-repo.raw.json
kind: repository-metadata
status: ok
source: 'gh repo view Aider-AI/aider --json nameWithOwner,url,description,homepageUrl,isArchived,isFork,isMirror,defaultBranchRef,licenseInfo,primaryLanguage,repositoryTopics,stargazerCount,forkCount,watchers,createdAt,updatedAt,pushedAt,latestRelease --jq .'
- path: github-readme.raw.md.txt
kind: readme
status: ok
source: 'gh api repos/Aider-AI/aider/readme -H Accept: application/vnd.github.raw'
- path: github-license.raw.txt
kind: license
status: ok
source: 'gh api repos/Aider-AI/aider/license -H Accept: application/vnd.github.raw'
- path: github-root-contents.raw.json
kind: root-contents
status: ok
source: 'gh api repos/Aider-AI/aider/contents'
- path: github-languages.raw.json
kind: languages
status: ok
source: 'gh api repos/Aider-AI/aider/languages'
- path: github-latest-release.raw.json
kind: latest-release
status: ok
source: 'gh api repos/Aider-AI/aider/releases/latest'