mirror of
https://github.com/tradecatlabs/vibe-coding-cn.git
synced 2026-08-20 06:18:05 +00:00
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:
@@ -0,0 +1,26 @@
|
||||
# Aider-AI/aider 研究域 Agent 指南
|
||||
|
||||
本目录维护 `Aider-AI/aider` 的独立研究域。
|
||||
|
||||
## 目录职责
|
||||
|
||||
```text
|
||||
aider-ai-aider/
|
||||
├── README.md # 研究域入口和判断层
|
||||
├── AGENTS.md # 本目录维护规则
|
||||
├── domain.yml # 事实摘要层:仓库元数据、研究角色、来源证据
|
||||
├── analysis.md # L1 结构化研究结论、可借鉴点、风险和下一轮任务
|
||||
├── deep-dive.md # L2 源码/结构深度研究、关键机制和可迁移模式
|
||||
└── raw/ # 原始事实层:拉取到本地的一手材料快照
|
||||
```
|
||||
|
||||
## 维护规则
|
||||
|
||||
- 本目录只研究 `Aider-AI/aider`,不要混入其他仓库的横向比较正文。
|
||||
- 动态事实必须写入 `domain.yml.github_observed`,并更新 `observed_at`。
|
||||
- `raw/` 保存原始事实层,必须通过 `python3 scripts/fetch-research-raw.py` 刷新。
|
||||
- 不手工改写 `raw/*.raw.*` 文件;稳定事实摘要再同步到 `domain.yml`。
|
||||
- README 只写判断、定位、使用方式和后续观察点,不堆外部 README 全文。
|
||||
- `analysis.md` 写 L1 结构化理解;`deep-dive.md` 写 L2 源码证据、关键机制和可迁移模式。
|
||||
- 如果需要横向比较,在 `docs/research/README.md` 或新的对比文档中处理,不把本目录重新变成聚合域。
|
||||
- 修改后运行 `make sync-doc-toc` 和 `make test`。
|
||||
@@ -0,0 +1,58 @@
|
||||
# Aider-AI/aider 研究域
|
||||
|
||||
## 字多不看
|
||||
|
||||
- 本目录研究 `Aider-AI/aider` 这个外部仓库。
|
||||
- 当前优先级:P1;研究角色:终端 AI 结对编程工具。
|
||||
- GitHub 动态事实放在 `domain.yml`,观测日期为 2026-07-03。
|
||||
|
||||
## 快速导航
|
||||
|
||||
| 文档 | 定位 |
|
||||
|:---|:---|
|
||||
| [domain.yml](domain.yml) | 仓库事实快照、研究方向、优先级和来源证据。 |
|
||||
| [analysis.md](analysis.md) | 本研究域的结构化研究结果、可借鉴点、风险和下一轮任务。 |
|
||||
| [deep-dive.md](deep-dive.md) | L2 源码/结构深度研究、关键机制和可迁移模式。 |
|
||||
| [AGENTS.md](AGENTS.md) | 本研究域维护规则。 |
|
||||
|
||||
<details>
|
||||
<summary><strong>完整细粒度目录(点击展开/收起)</strong></summary>
|
||||
|
||||
### 细粒度目录
|
||||
|
||||
- [domain.yml](domain.yml) - 仓库事实快照、研究方向、优先级和来源证据。
|
||||
- [analysis.md](analysis.md) - 本研究域的结构化研究结果、可借鉴点、风险和下一轮任务。
|
||||
- [deep-dive.md](deep-dive.md) - L2 源码/结构深度研究、关键机制和可迁移模式。
|
||||
- [AGENTS.md](AGENTS.md) - 本研究域维护规则。
|
||||
|
||||
</details>
|
||||
|
||||
## 使用方式
|
||||
|
||||
- 先读本 README 的判断,再读 `analysis.md` 和 `deep-dive.md` 的研究结论,最后读 `domain.yml`。
|
||||
- 需要引用 stars、forks、release、归档状态时,先重新核验 GitHub。
|
||||
- 如果形成稳定方法论,再迁入 concepts、references、workflow 或 skills。
|
||||
|
||||
## 正文
|
||||
|
||||
### 研究定位
|
||||
|
||||
`Aider-AI/aider` 的当前研究定位是:终端 AI 结对编程工具。
|
||||
|
||||
### 当前判断
|
||||
|
||||
适合研究 Git 友好、模型无关、终端工作流和真实 repo 修改。
|
||||
|
||||
### 观察字段
|
||||
|
||||
- GitHub URL:https://github.com/Aider-AI/aider
|
||||
- 当前研究方向:`coding-agent-tooling`
|
||||
- 当前优先级:P1
|
||||
- 当前归档状态:`false`
|
||||
- 主要语言:`Python`
|
||||
|
||||
### 后续观察
|
||||
|
||||
- 是否有稳定文档结构、命令入口和可复用工作流。
|
||||
- 是否能反哺本仓库的 concepts、references、workflow 或 skills。
|
||||
- 是否存在许可证、归档状态、维护活跃度或生态迁移风险。
|
||||
@@ -0,0 +1,44 @@
|
||||
# Aider-AI/aider 研究分析
|
||||
|
||||
## 本轮结论
|
||||
|
||||
- Aider 是成熟的终端 AI 结对编程工具,核心价值在 Git 友好、本地仓库理解、多模型适配和测试/提交闭环。
|
||||
- 它不是 IDE 产品,而是 terminal-first 的 repo editing loop;这让它特别适合研究“AI 如何安全修改真实仓库”。
|
||||
- 本仓应重点吸收它的 Git 工作流、repo map、lint/test 反馈循环和命令行交互边界。
|
||||
|
||||
## 本地证据
|
||||
|
||||
- 研究对象:`Aider-AI/aider`
|
||||
- 当前研究角色:终端 AI 结对编程工具
|
||||
- 本轮成熟度:L1 初步理解
|
||||
- 原始仓库:`raw/repository/`
|
||||
- 原始来源清单:`raw/sources.yml`
|
||||
- 事实摘要:`domain.yml`
|
||||
|
||||
## 结构观察
|
||||
|
||||
- 根目录包含 `aider/`、`benchmark/`、`tests/`、`scripts/`、`requirements/` 和 `pyproject.toml`。
|
||||
- `aider/` 是主实现目录,`tests/` 和 `benchmark/` 说明它不仅是演示工具,而是有持续验证和性能/能力评估意识。
|
||||
- README 强调 cloud/local LLM、codebase map、Git integration、linting/testing、copy/paste to web chat 等能力。
|
||||
|
||||
## 可借鉴点
|
||||
|
||||
- 把 Git 状态作为 AI 修改的核心护栏:每轮修改都能被 diff、commit、回滚和审查。
|
||||
- 把测试和 lint 作为对话内反馈,而不是任务结束后的附属动作。
|
||||
- 终端工具可以避免复杂 UI,但必须把 repo context、命令回显和失败恢复做扎实。
|
||||
|
||||
## 风险和边界
|
||||
|
||||
- 终端优先意味着非程序员上手门槛高于 IDE 插件。
|
||||
- 多模型和多语言支持会带来配置面复杂度。
|
||||
- 其很多文档在官网侧,研究时要同步看本地源码和外部文档。
|
||||
|
||||
## 下一轮研究任务
|
||||
|
||||
- 重点阅读 `aider/` 的 repo map、Git 操作和 test/lint 调用路径。
|
||||
- 把 Aider 的 terminal loop 抽象为本仓 `workflow/` 可复用闭环。
|
||||
|
||||
## 沉淀判断
|
||||
|
||||
- 本轮只完成 L1 理解,不直接迁入 concepts、references、workflow 或 skills。
|
||||
- 只有经过 L2 源码阅读、实验验证或交叉对照后的结论,才进入稳定层。
|
||||
@@ -0,0 +1,88 @@
|
||||
# Aider-AI/aider 深度研究
|
||||
|
||||
## 研究级别
|
||||
|
||||
- 当前级别:L2 源码/结构深度研究。
|
||||
- 研究对象:`Aider-AI/aider`。
|
||||
- 证据来源:本目录 `raw/` 下的 GitHub 元数据、README 快照和本地仓库工作树。
|
||||
- 观察日期:2026-07-03。
|
||||
|
||||
## L2 结论
|
||||
|
||||
`Aider-AI/aider` 的核心不是“聊天式写代码”,而是终端里的 Git 驱动编辑循环。它把仓库状态、
|
||||
代码上下文、编辑格式、命令执行、lint/test、模型配置和用户交互拆成独立模块,让 agent 的每次
|
||||
修改都尽量落在可 diff、可回滚、可验证的 Git 工作流中。
|
||||
|
||||
对本仓最重要的启发是:AI 编码工具的质量边界,主要由编辑协议、仓库上下文选择、验证门禁和
|
||||
Git 状态管理决定,而不是由提示词长短决定。
|
||||
|
||||
## 源码证据
|
||||
|
||||
- `raw/repository/aider/main.py`:CLI 主入口,负责把参数、模型、仓库和交互流程组装起来。
|
||||
- `raw/repository/aider/args.py`:参数层,说明用户可控配置是产品接口的一部分。
|
||||
- `raw/repository/aider/repo.py`:Git 仓库状态层,承载 diff、commit、dirty state 等行为。
|
||||
- `raw/repository/aider/repomap.py`:仓库地图层,负责从代码库中压缩可用上下文。
|
||||
- `raw/repository/aider/commands.py`:命令系统,承载终端内的人机交互入口。
|
||||
- `raw/repository/aider/run_cmd.py`:本地命令执行层,连接 AI 建议和真实环境。
|
||||
- `raw/repository/aider/linter.py`:lint 反馈层,把工具结果变成修复循环的一部分。
|
||||
- `raw/repository/aider/models.py`:模型配置层,说明多模型支持需要独立治理。
|
||||
- `raw/repository/aider/sendchat.py`:模型调用层,连接上下文、消息和模型响应。
|
||||
- `raw/repository/aider/coders/base_coder.py`:coder 抽象基类,定义编辑策略共同边界。
|
||||
- `raw/repository/aider/coders/architect_coder.py`:架构/规划型 coder。
|
||||
- `raw/repository/aider/coders/editblock_coder.py`:基于 edit block 的局部编辑策略。
|
||||
- `raw/repository/aider/coders/udiff_coder.py`:基于 unified diff 的编辑策略。
|
||||
- `raw/repository/aider/coders/patch_coder.py`:基于 patch 的编辑策略。
|
||||
- `raw/repository/tests/`:测试层,覆盖命令、仓库、lint、repo map 和核心工作流。
|
||||
|
||||
## 关键机制
|
||||
|
||||
### Git 是工作流中心
|
||||
|
||||
Aider 把 Git 状态放在核心位置。它不是让 AI 随意改文件,而是围绕当前仓库、diff、commit、
|
||||
脏工作树和可回滚状态组织工作。这一点适合所有 coding agent:写代码只是动作,Git 才是
|
||||
工程协作的事实边界。
|
||||
|
||||
### 编辑格式是产品接口
|
||||
|
||||
`coders/` 中存在多种 coder:whole file、edit block、unified diff、patch、architect 等。
|
||||
这说明“AI 如何表达修改”不是实现细节,而是影响可靠性、可审查性和失败模式的产品接口。
|
||||
|
||||
### repo map 是上下文压缩层
|
||||
|
||||
`repomap.py` 体现了一个关键设计:大仓库不能简单把所有文件塞进上下文,必须有面向任务的结构化
|
||||
摘要和检索策略。上下文质量决定修改质量,垃圾上下文会直接制造垃圾结果。
|
||||
|
||||
### lint/test 是反馈回路
|
||||
|
||||
`linter.py`、`run_cmd.py` 和测试目录说明 Aider 将工具反馈接入循环。成熟 agent 不只是生成补丁,
|
||||
还要能读取失败、缩小范围、再次修复。
|
||||
|
||||
## 可迁移模式
|
||||
|
||||
- 将“编辑格式”视为正式协议:全文件、diff、patch、结构化 block 的适用边界要写清楚。
|
||||
- 将 Git 状态作为 AI 修改的事实源:修改前检查 dirty state,修改后保留 diff 和验证证据。
|
||||
- 为大文档/大仓库建立 repo map 或文档 map,而不是让 AI 盲读整个仓库。
|
||||
- 把 lint、test、link check 和脚本校验结果作为修复循环输入。
|
||||
- 对不同任务区分规划型、编辑型、审查型和问答型 agent 行为。
|
||||
|
||||
## 对本仓的影响
|
||||
|
||||
本仓现在已经有 Markdown 门禁、链接检查、raw 研究域和 AI 引用入口。Aider 的模式提醒我们:
|
||||
|
||||
- 文档修改也需要 Git 状态意识,避免把用户未提交修改误当作自己的改动。
|
||||
- 大量 Markdown 文档需要“文档地图”,否则索引和引用会漂移。
|
||||
- 研究域 L2/L3 产物应当可 diff、可审查、可回滚,而不是只在对话里口头总结。
|
||||
- 提交前门禁应继续保持 `make test` 的统一入口。
|
||||
|
||||
## 风险和待验证项
|
||||
|
||||
- 本轮只做源码结构研究,没有运行 Aider 的测试套件或交互流程。
|
||||
- Aider 的 Python 实现细节不应被本仓直接复制;本仓主要迁移工作流和治理边界。
|
||||
- 不同编辑格式的真实成功率需要通过任务集 benchmark 验证,不能只靠结构判断。
|
||||
|
||||
## 下一步 L3 验证任务
|
||||
|
||||
- 为本仓建立“文档地图/研究地图”的生成或校验机制,降低长文档索引漂移。
|
||||
- 把 Git dirty state、门禁命令和验证证据纳入研究域 closeout 模板。
|
||||
- 在 `docs/workflow/` 沉淀“AI 修改 -> diff 审查 -> 门禁 -> 提交”的最小闭环。
|
||||
- 对本仓常见 Markdown 修改任务设计小型 benchmark,比较全文件编辑和局部 patch 的稳定性。
|
||||
@@ -0,0 +1,45 @@
|
||||
version: 1
|
||||
repo:
|
||||
name: Aider-AI/aider
|
||||
source_name: aider-ai/aider
|
||||
url: https://github.com/Aider-AI/aider
|
||||
research:
|
||||
domain_id: aider-ai-aider
|
||||
domain_name: Aider-AI/aider 研究域
|
||||
primary_direction: coding-agent-tooling
|
||||
role: 终端 AI 结对编程工具
|
||||
priority: 1
|
||||
why_study: 适合研究 Git 友好、模型无关、终端工作流和真实 repo 修改。
|
||||
github_observed:
|
||||
observed_at: '2026-07-03'
|
||||
source: gh repo view
|
||||
stars: 46962
|
||||
forks: 4680
|
||||
archived: false
|
||||
language: Python
|
||||
license: apache-2.0
|
||||
default_branch: main
|
||||
pushed_at: '2026-05-22T14:02:20Z'
|
||||
updated_at: '2026-07-02T21:52:05Z'
|
||||
latest_release: v0.86.0
|
||||
homepage: https://aider.chat/
|
||||
topics:
|
||||
- chatgpt
|
||||
- cli
|
||||
- command-line
|
||||
- gpt-4
|
||||
- openai
|
||||
- gpt-3
|
||||
- gpt-35-turbo
|
||||
- claude-3
|
||||
- gpt-4o
|
||||
- anthropic
|
||||
- gemini
|
||||
- llama
|
||||
- sonnet
|
||||
source_evidence:
|
||||
file: ChatGPT-中文Vibe Coding仓库 (2).md
|
||||
line: 57
|
||||
maintenance:
|
||||
fact_policy: GitHub 动态字段只代表 observed_at 当日快照,更新结论前必须重新核验。
|
||||
split_policy: 本目录已经是一等研究域;更深分析放入本目录新增文档。
|
||||
@@ -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'
|
||||
Reference in New Issue
Block a user