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
+26
View File
@@ -0,0 +1,26 @@
# cline/cline 研究域 Agent 指南
本目录维护 `cline/cline` 的独立研究域。
## 目录职责
```text
cline-cline/
├── README.md # 研究域入口和判断层
├── AGENTS.md # 本目录维护规则
├── domain.yml # 事实摘要层:仓库元数据、研究角色、来源证据
├── analysis.md # L1 结构化研究结论、可借鉴点、风险和下一轮任务
├── deep-dive.md # L2 源码/结构深度研究、关键机制和可迁移模式
└── raw/ # 原始事实层:拉取到本地的一手材料快照
```
## 维护规则
- 本目录只研究 `cline/cline`,不要混入其他仓库的横向比较正文。
- 动态事实必须写入 `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`
+58
View File
@@ -0,0 +1,58 @@
# cline/cline 研究域
## 字多不看
- 本目录研究 `cline/cline` 这个外部仓库。
- 当前优先级:P1;研究角色:IDE/SDK/CLI 自主编码 Agent。
- 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。
## 正文
### 研究定位
`cline/cline` 的当前研究定位是:IDE/SDK/CLI 自主编码 Agent。
### 当前判断
适合研究 IDE 内 agent、跨文件修改、工具调用和错误反馈闭环。
### 观察字段
- GitHub URLhttps://github.com/cline/cline
- 当前研究方向:`coding-agent-tooling`
- 当前优先级:P1
- 当前归档状态:`false`
- 主要语言:`TypeScript`
### 后续观察
- 是否有稳定文档结构、命令入口和可复用工作流。
- 是否能反哺本仓库的 concepts、references、workflow 或 skills。
- 是否存在许可证、归档状态、维护活跃度或生态迁移风险。
+44
View File
@@ -0,0 +1,44 @@
# cline/cline 研究分析
## 本轮结论
- Cline 是多表面 coding agent 产品,覆盖 VS Code Extension、CLI、Kanban、SDK 和 JetBrains Plugin。
- 它的研究重点不是单一模型调用,而是 agent 工具面、编辑器集成、规则/技能、评估和产品化分层。
- 本仓应重点吸收它的多入口架构、规则文件约定、evals 目录和 extension/webview 分离。
## 本地证据
- 研究对象:`cline/cline`
- 当前研究角色:IDE/SDK/CLI 自主编码 Agent
- 本轮成熟度:L1 初步理解
- 原始仓库:`raw/repository/`
- 原始来源清单:`raw/sources.yml`
- 事实摘要:`domain.yml`
## 结构观察
- 根目录包含 `.agents/``.claude/``.cline/``.clinerules/``apps/``sdk/``evals/``package.json`
- `apps/``sdk/` 表明它已经从单一 VS Code 插件演化成多产品面。
- README 明确列出 CLI、Kanban、VS Code Extension、JetBrains Plugin、SDK、Plan and Act、Rules and Skills。
## 可借鉴点
- 把 Agent 能力拆成产品表面、SDK、规则、技能和评估,而不是把所有逻辑塞进一个入口。
- 规则文件和技能目录是让用户控制 agent 行为的关键资产。
- IDE agent 需要 plan/act 分离,降低自动执行的不可控风险。
## 风险和边界
- 产品面很多,架构复杂度高,直接模仿会带来过高维护成本。
- 前端、扩展宿主、模型工具调用和评估同时演进,研究需要分层拆解。
- 作为快速迭代项目,某些目录和命令可能频繁变化。
## 下一轮研究任务
- 拆读 `apps/``sdk/``evals/` 的边界,形成 IDE agent 架构图。
- 提炼 Cline 的 rules/skills 模式,和本仓 `skills/` 体系对照。
## 沉淀判断
- 本轮只完成 L1 理解,不直接迁入 concepts、references、workflow 或 skills。
- 只有经过 L2 源码阅读、实验验证或交叉对照后的结论,才进入稳定层。
+88
View File
@@ -0,0 +1,88 @@
# cline/cline 深度研究
## 研究级别
- 当前级别:L2 源码/结构深度研究。
- 研究对象:`cline/cline`
- 证据来源:本目录 `raw/` 下的 GitHub 元数据、README 快照和本地仓库工作树。
- 观察日期:2026-07-03。
## L2 结论
`cline/cline` 已经不是单一 VS Code 插件,而是向多入口 agent 平台演化的代码库。它同时包含
VS Code 扩展、CLI、hub 服务、SDK、示例应用、规则系统、技能入口、测试平台和发布脚本。
对本仓最重要的启发是:当 AI coding 工具成熟后,产品边界会从“一个插件”扩展为
IDE、CLI、SDK、hooks、规则、技能、示例和测试平台组成的系统。也就是说,agent 能力必须被
平台化和契约化,不能只依赖单个入口。
## 源码证据
- `raw/repository/apps/vscode/src/extension.ts`VS Code 扩展入口。
- `raw/repository/apps/vscode/webview-ui/`:前端交互界面。
- `raw/repository/apps/cli/src/main.ts`CLI 入口。
- `raw/repository/apps/cli/src/index.ts`CLI 对外模块入口。
- `raw/repository/apps/cline-hub/src/server.ts`hub 服务入口。
- `raw/repository/apps/cline-hub/src/webview-protocol.ts`webview 协议边界。
- `raw/repository/sdk/ARCHITECTURE.md`SDK 架构说明。
- `raw/repository/sdk/AGENTS.md`:SDK 目录的 Agent 维护规则。
- `raw/repository/apps/examples/multi-agent/README.md`:多 agent 示例。
- `raw/repository/apps/examples/code-review-bot/README.md`:代码审查机器人示例。
- `raw/repository/.clinerules/general.md`:项目级规则示例。
- `raw/repository/.agents/skills/cline-sdk/SKILL.md`:技能化能力入口。
## 关键机制
### 多入口产品结构
Cline 同时维护 IDE、CLI、hub 和 SDK。这个结构说明 agent 产品的用户入口会多样化:
开发者可能在编辑器里交互,也可能在终端、自动化服务或自定义应用里调用同一套能力。
### SDK 化是生态扩展前提
`sdk/` 和 examples 表明 Cline 不只服务自己的 UI,还希望让外部开发者复用能力。成熟 agent
生态需要 SDK、示例、协议和测试,而不是只暴露一个不可组合的插件。
### 规则、技能和 hooks 承载操作边界
`.clinerules/``.agents/skills/` 和相关配置说明,agent 的行为边界需要显式文件承载。
这与本仓的 `AGENTS.md``skills/` 和治理文档方向一致。
### 测试平台和发布脚本是产品能力
当 agent 工具跨 IDE、CLI 和 SDK 后,测试与发布不再是附属流程,而是维持平台一致性的必要
控制面。没有测试平台,多入口很快会出现行为漂移。
## 可迁移模式
- 把本仓能力区分为人类阅读入口、AI 上下文入口、脚本入口和 skill 入口。
- 对每个入口说明协议、输入、输出、风险和验证方式。
- 为重要工作流提供 examples,而不是只写抽象原则。
- 把规则文件、skills、hooks、CLI 和文档索引视为同一套 agent 平台的不同表面。
- 长期考虑为本仓沉淀可复用 SDK/CLI 风格的读取与校验工具。
## 对本仓的影响
本仓已经有 `docs/``prompts/``skills/``scripts/``metadata/``assets/ai-citation/` 等多个入口。
Cline 的结构提醒我们:这些入口不能各自为政,应该用统一契约说明它们如何协同。
当前最值得推进的是:
- `metadata/` 继续作为机器索引事实源。
- `llms.txt``assets/ai-citation/llms-full.txt` 继续作为 AI 读取入口。
- `scripts/` 继续作为仓库控制面。
- `skills/` 继续作为 Agent 可复用能力层。
- `docs/research/` 继续作为研究对象网络。
## 风险和待验证项
- Cline 代码库较大,且产品线较多;本轮没有验证所有 package 的构建和测试。
- 多入口平台化会带来复杂度,本仓不应为了“看起来平台化”提前增加不必要代码。
- 本仓当前仍以文档知识库为主,迁移时应优先吸收契约和治理模式,而非复制应用结构。
## 下一步 L3 验证任务
- 梳理本仓所有入口:人类入口、AI 入口、脚本入口、skill 入口、资源入口。
- 为每类入口写清输入、输出、owner、验证命令和更新策略。
-`docs/references/` 中沉淀“多入口 agent 仓库结构模板”。
- 用 Cline examples 的思路,为本仓关键工作流增加最小可运行示例。
+32
View File
@@ -0,0 +1,32 @@
version: 1
repo:
name: cline/cline
source_name: cline/cline
url: https://github.com/cline/cline
research:
domain_id: cline-cline
domain_name: cline/cline 研究域
primary_direction: coding-agent-tooling
role: IDE/SDK/CLI 自主编码 Agent
priority: 1
why_study: 适合研究 IDE 内 agent、跨文件修改、工具调用和错误反馈闭环。
github_observed:
observed_at: '2026-07-03'
source: gh repo view
stars: 64218
forks: 6822
archived: false
language: TypeScript
license: apache-2.0
default_branch: main
pushed_at: '2026-07-02T21:53:59Z'
updated_at: '2026-07-02T20:47:18Z'
latest_release: v4.0.6
homepage: https://cline.bot
topics: []
source_evidence:
file: ChatGPT-中文Vibe Coding仓库 (2).md
line: 58
maintenance:
fact_policy: GitHub 动态字段只代表 observed_at 当日快照,更新结论前必须重新核验。
split_policy: 本目录已经是一等研究域;更深分析放入本目录新增文档。
+12
View File
@@ -0,0 +1,12 @@
# raw/ Agent 指南
本目录是 `cline/cline` 的原始事实层。
## 维护规则
- 只保存从研究对象拉取的一手材料,不写分析判断。
- `repository/` 是本地 Git 工作树,刷新时由脚本 clone 或 fast-forward pull。
- 不手工改写 `*.raw.*` 文件内容;需要刷新时运行 `python3 scripts/fetch-research-raw.py`
- `sources.yml` 必须记录拉取时间、来源命令和每个文件的状态。
- 外部 README 原文必须保存为 `.txt`,避免本仓库 Markdown 链接检查误判。
- 分析、判断、采用建议和沉淀路径写回上一级 `README.md``analysis.md``decisions.md`
+16
View File
@@ -0,0 +1,16 @@
# raw 事实层
本目录保存 `cline/cline` 的本地原始材料快照。
这里不写分析结论,只保存可复查的一手资料:
- `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,9 @@
{
"TypeScript": 15526503,
"JavaScript": 262022,
"Rust": 43944,
"CSS": 43921,
"HTML": 35842,
"Shell": 19413,
"Python": 7735
}
@@ -0,0 +1,79 @@
{
"url": "https://api.github.com/repos/cline/cline/releases/348214539",
"assets_url": "https://api.github.com/repos/cline/cline/releases/348214539/assets",
"upload_url": "https://uploads.github.com/repos/cline/cline/releases/348214539/assets{?name,label}",
"html_url": "https://github.com/cline/cline/releases/tag/v4.0.6",
"id": 348214539,
"author": {
"login": "github-actions[bot]",
"id": 41898282,
"node_id": "MDM6Qm90NDE4OTgyODI=",
"avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github-actions%5Bbot%5D",
"html_url": "https://github.com/apps/github-actions",
"followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
"following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
"gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
"organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
"repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
"events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
"received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
"type": "Bot",
"user_view_type": "public",
"site_admin": false
},
"node_id": "RE_kwDOMSqWwc4UwVUL",
"tag_name": "v4.0.6",
"target_commitish": "main",
"name": "v4.0.6",
"draft": false,
"immutable": false,
"prerelease": false,
"created_at": "2026-07-02T17:43:54Z",
"updated_at": "2026-07-02T18:12:44Z",
"published_at": "2026-07-02T18:12:42Z",
"assets": [
{
"url": "https://api.github.com/repos/cline/cline/releases/assets/464582381",
"id": 464582381,
"node_id": "RA_kwDOMSqWwc4bsPbt",
"name": "cline-4.0.6.vsix",
"label": "",
"uploader": {
"login": "github-actions[bot]",
"id": 41898282,
"node_id": "MDM6Qm90NDE4OTgyODI=",
"avatar_url": "https://avatars.githubusercontent.com/in/15368?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/github-actions%5Bbot%5D",
"html_url": "https://github.com/apps/github-actions",
"followers_url": "https://api.github.com/users/github-actions%5Bbot%5D/followers",
"following_url": "https://api.github.com/users/github-actions%5Bbot%5D/following{/other_user}",
"gists_url": "https://api.github.com/users/github-actions%5Bbot%5D/gists{/gist_id}",
"starred_url": "https://api.github.com/users/github-actions%5Bbot%5D/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/github-actions%5Bbot%5D/subscriptions",
"organizations_url": "https://api.github.com/users/github-actions%5Bbot%5D/orgs",
"repos_url": "https://api.github.com/users/github-actions%5Bbot%5D/repos",
"events_url": "https://api.github.com/users/github-actions%5Bbot%5D/events{/privacy}",
"received_events_url": "https://api.github.com/users/github-actions%5Bbot%5D/received_events",
"type": "Bot",
"user_view_type": "public",
"site_admin": false
},
"content_type": "application/octet-stream",
"state": "uploaded",
"size": 10424642,
"digest": "sha256:b622aff22c6b99397cde8341720364d935a38dbaea5be0e8c93529b4c052bf81",
"download_count": 8,
"created_at": "2026-07-02T18:12:43Z",
"updated_at": "2026-07-02T18:12:44Z",
"browser_download_url": "https://github.com/cline/cline/releases/download/v4.0.6/cline-4.0.6.vsix"
}
],
"tarball_url": "https://api.github.com/repos/cline/cline/tarball/v4.0.6",
"zipball_url": "https://api.github.com/repos/cline/cline/zipball/v4.0.6",
"body": "\n### Fixed\n\n- Generalize the model capability warning so it applies more broadly.\n\n**Full Changelog**: https://github.com/cline/cline/compare/v4.0.5...v4.0.6\n"
}
@@ -0,0 +1,201 @@
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 2026 Cline Bot Inc.
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,239 @@
<p align="center">
<img src="assets/icons/icon.png" width="80" alt="Cline" />
</p>
<h1 align="center">Cline</h1>
<p align="center">
The open source coding agent in your IDE and terminal.
</p>
<div align="center">
<div align="center">
<table>
<tbody>
<td align="center">
<a href="https://docs.cline.bot" target="_blank"><strong>Docs</strong></a>
</td>
<td align="center">
<a href="https://discord.gg/cline" target="_blank"><strong>Discord</strong></a>
</td>
<td align="center">
<a href="https://www.reddit.com/r/cline/" target="_blank"><strong>r/cline</strong></a>
</td>
<td align="center">
<a href="https://github.com/cline/cline/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop" target="_blank"><strong>Feature Requests</strong></a>
</td>
<td align="center">
<a href="https://cline.bot/join-us" target="_blank"><strong>Join us!</strong></a>
</td>
</tbody>
</table>
</div>
</div>
<br>
<div align="center">
<table>
<tr>
<td align="center" width="50%">
### CLI
Run Cline in your terminal.
Interactive chat or fully headless
for CI/CD and scripting.
```
npm i -g cline
```
<a href="./apps/cli/README.md">Learn more</a>
<br><br>
</td>
<td align="center" width="50%">
### Kanban
Run many agents in parallel from a
web-based task board. Each card gets its own
worktree, auto-commit, and dependency chains.
```
npm i -g kanban
```
<a href="https://github.com/cline/kanban">Learn more</a>
<br><br>
</td>
</tr>
<tr>
<td align="center" width="50%">
### VS Code Extension
AI coding assistant in your editor.
Create files, run commands, browse the web,
and use tools with human-in-the-loop approval.
<a href="https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev">Install from VS Marketplace</a>
<br><br>
</td>
<td align="center" width="50%">
### JetBrains Plugin
The same Cline experience in IntelliJ IDEA,
PyCharm, WebStorm, GoLand, and the rest of
the JetBrains family.
<a href="https://plugins.jetbrains.com/plugin/28247-cline">Install from JetBrains Marketplace</a>
<br><br>
</td>
</tr>
</table>
</div>
<div align="center">
<table>
<tr>
<td align="center">
### SDK
Build your own AI agents and integrations powered by the same engine that runs the CLI, Kanban, VS Code extension, and JetBrains plugin. Custom tools, multi-agent teams, connectors, scheduled automations, and more.
```
npm install @cline/sdk
```
<a href="https://docs.cline.bot/cline-sdk/overview">Documentation</a>
<br><br>
</td>
</tr>
</table>
</div>
---
## Index
| Product | Description | Location | CHANGELOG |
|---------|------------|--------------|--------------|
| **SDK** | Node.js programmatic agent API and extension exports. | [`sdk/`](https://github.com/cline/cline/tree/main/sdk) | [CHANGELOG.md](https://github.com/cline/cline/blob/main/sdk/CHANGELOG.md) |
| **CLI** | Terminal UI, headless mode, shell commands, and CLI-specific flows. | [`apps/cli/`](https://github.com/cline/cline/tree/main/apps/cli) | [CHANGELOG.md](https://github.com/cline/cline/blob/main/apps/cli/CHANGELOG.md) |
| **VS Code Extension** | The Marketplace extension and extension host integration. | [`/`](https://github.com/cline/cline/tree/main) (WIP migrating) | [CHANGELOG.md](https://github.com/cline/cline/blob/main/CHANGELOG.md) |
| **JetBrains Plugin** | JetBrains-hosted client that talks to the shared agent core. | Currently we are not open-sourcing JetBrains plugins | - |
| **Kanban** | Web-based multi-agent task board. | [`cline/kanban`](https://github.com/cline/kanban) | [CHANGELOG.md](https://github.com/cline/kanban/blob/main/CHANGELOG.md) |
| **Docs site** | Public documentation pages. | [`docs/`](https://docs.cline.bot/) | - |
## Edits Code Across Your Project
Cline reads your project structure, understands the relationships between files, and makes coordinated changes across your codebase. It monitors linter and compiler errors as it works, fixing issues like missing imports, type mismatches, and syntax errors before you even see them. In VS Code and JetBrains, every edit shows up as a diff you can review, modify, or revert. All changes are tracked with checkpoints, so you can easily undo the agent's work.
## Runs Bash Commands
Cline executes commands directly in your terminal and watches the output in real time. Install packages, run build scripts, execute tests, deploy applications, manage databases. For long-running processes like dev servers, Cline continues working in the background and reacts to new output as it appears, catching compile errors, test failures, and server crashes as they happen.
## Plan and Act
Toggle between Plan mode and Act mode. In Plan mode, Cline explores your codebase, asks clarifying questions, and lays out a strategy. Once you're aligned, switch to Act mode and Cline executes the plan. Every file edit and terminal command requires your approval, so you stay in control of what actually changes. Or toggle auto-approve and let Cline run autonomously.
## Rules and Skills
Define project-specific rules in `.clinerules` files that guide how Cline works in your codebase: coding standards, architecture conventions, deployment procedures, testing requirements. Rules are picked up automatically by the CLI, VS Code extension, and JetBrains plugin. Use skills to let the model load specific rules when needed.
## Works With Every Model
Cline is not locked to a single AI provider. Use whichever model fits your workflow:
| Provider | Models |
|----------|--------|
| Anthropic | Claude Opus, Sonnet, Haiku |
| OpenAI | GPT series model |
| Google | Gemini series model |
| OpenRouter | 200+ models from any provider |
| Vercel AI Gateway | Models through Vercel AI Gateway |
| AWS Bedrock | Claude, Llama, and more |
| Azure / GCP Vertex | All hosted models |
| Cerebras / Groq | Fast inference models |
| Ollama / LM Studio | Run local models on your machine |
| Any OpenAI-compatible API | Self-hosted or third-party endpoints |
## Extend With Plugins or MCP Servers
Extend Cline's capabilities with plugins. Using the SDK, register tools and lifecycle hooks programmatically through the plugin system for logging, auditing, policy enforcement, or adding domain-specific capabilities. Simple plugin example below.
```typescript
import { Agent, createTool } from "@cline/sdk"
const deployTool = createTool({
name: "deploy",
description: "Deploy the current branch to staging.",
inputSchema: { type: "object", properties: { env: { type: "string" } }, required: ["env"] },
execute: async (input) => {
// your deployment logic
},
})
const agent = new Agent({ tools: [deployTool], /* ... */ })
```
...or use [MCP servers](https://github.com/modelcontextprotocol) to connect to databases, query APIs, manage cloud infrastructure, and interact with external systems. Use [community-built servers](https://github.com/modelcontextprotocol/servers) or ask Cline to create custom tools on the fly. In the CLI, manage servers with `cline mcp`.
## Multi-Agent Teams
Coordinate multiple agents working together on complex tasks. A coordinator agent breaks the work into subtasks and delegates to specialist agents, each with their own tools and context. Team state persists across sessions so you can pick up where you left off.
```bash
cline --team-name auth-sprint "Plan and implement user authentication with tests"
```
## Scheduled Agents
Run agents on cron schedules for recurring automations. Daily PR summaries, weekly dependency checks, codebase health reports. Schedules persist across restarts and run independently of any terminal session.
```bash
cline schedule create "PR summary" \
--cron "0 9 * * MON-FRI" \
--prompt "List all open PRs and their review status" \
--workspace /path/to/repo
```
## Connect to Slack, Telegram, Discord, and More
Chat with your agent from any messaging platform: Telegram, Slack, Discord, Google Chat, WhatsApp, and Linear. Each conversation thread maps to an agent session with full context. Set up access control to restrict who can interact with your agent.
```bash
# Connect to Telegram
cline connect telegram -k $BOT_TOKEN
# Connect to Slack through webhook
cline connect slack --bot-token $SLACK_TOKEN --signing-secret $SECRET --base-url $URL
# Connect to Slack using socket mode
cline connect slack --bot-token $SLACK_TOKEN --app-token $SLACK_APP_TOKEN
```
## Headless CLI for CI/CD
Run Cline with zero interaction for scripting and automation. Pipe input, get JSON output, chain commands, integrate into CI/CD pipelines.
```bash
cline "Run tests and fix any failures"
git diff origin/main | cline "Review these changes for issues"
cline --json "List all TODO comments" | jq -r 'select(.type == "agent_event" and .event.text) | .event.text'
```
## Contributing
Start with the [Contributing Guide](CONTRIBUTING.md). Join our [Discord](https://discord.gg/cline) and head to the `#contributors` channel to connect with other contributors. Check our [careers page](https://cline.bot/join-us) for full-time roles.
## License
[Apache 2.0 © 2026 Cline Bot Inc.](./LICENSE)
@@ -0,0 +1,35 @@
{
"createdAt": "2024-07-06T07:28:10Z",
"defaultBranchRef": {
"name": "main"
},
"description": "Autonomous coding agent as an SDK, IDE extension, or CLI assistant.",
"forkCount": 6822,
"homepageUrl": "https://cline.bot",
"isArchived": false,
"isFork": false,
"isMirror": false,
"latestRelease": {
"name": "v4.0.6",
"publishedAt": "2026-07-02T18:12:42Z",
"tagName": "v4.0.6",
"url": "https://github.com/cline/cline/releases/tag/v4.0.6"
},
"licenseInfo": {
"key": "apache-2.0",
"name": "Apache License 2.0",
"nickname": ""
},
"nameWithOwner": "cline/cline",
"primaryLanguage": {
"name": "TypeScript"
},
"pushedAt": "2026-07-02T22:41:08Z",
"repositoryTopics": null,
"stargazerCount": 64219,
"updatedAt": "2026-07-02T22:40:29Z",
"url": "https://github.com/cline/cline",
"watchers": {
"totalCount": 276
}
}
@@ -0,0 +1,530 @@
[
{
"name": ".agents",
"path": ".agents",
"sha": "7a3eeb9b5e2b8e29b7e4b78257a4d41d144e71b7",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.agents?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.agents",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/7a3eeb9b5e2b8e29b7e4b78257a4d41d144e71b7",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.agents?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/7a3eeb9b5e2b8e29b7e4b78257a4d41d144e71b7",
"html": "https://github.com/cline/cline/tree/main/.agents"
}
},
{
"name": ".changeset",
"path": ".changeset",
"sha": "18bbe48482fb8a2cf664875fd5b0974ec6a77bf2",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.changeset?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.changeset",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/18bbe48482fb8a2cf664875fd5b0974ec6a77bf2",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.changeset?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/18bbe48482fb8a2cf664875fd5b0974ec6a77bf2",
"html": "https://github.com/cline/cline/tree/main/.changeset"
}
},
{
"name": ".claude",
"path": ".claude",
"sha": "df764f7f42d7530eebf9cd485d1d660117b8b147",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.claude?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.claude",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/df764f7f42d7530eebf9cd485d1d660117b8b147",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.claude?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/df764f7f42d7530eebf9cd485d1d660117b8b147",
"html": "https://github.com/cline/cline/tree/main/.claude"
}
},
{
"name": ".cline",
"path": ".cline",
"sha": "af750cd904b3b860efa07741c0f99a022b708ce3",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.cline?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.cline",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/af750cd904b3b860efa07741c0f99a022b708ce3",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.cline?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/af750cd904b3b860efa07741c0f99a022b708ce3",
"html": "https://github.com/cline/cline/tree/main/.cline"
}
},
{
"name": ".clinerules",
"path": ".clinerules",
"sha": "d7161894935d400d7b0122ee5a553da3f9950545",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.clinerules?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.clinerules",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/d7161894935d400d7b0122ee5a553da3f9950545",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.clinerules?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/d7161894935d400d7b0122ee5a553da3f9950545",
"html": "https://github.com/cline/cline/tree/main/.clinerules"
}
},
{
"name": ".codex",
"path": ".codex",
"sha": "81c2f677f7d89b8e04f7df77d2a3099f4f168550",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.codex?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.codex",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/81c2f677f7d89b8e04f7df77d2a3099f4f168550",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.codex?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/81c2f677f7d89b8e04f7df77d2a3099f4f168550",
"html": "https://github.com/cline/cline/tree/main/.codex"
}
},
{
"name": ".gitattributes",
"path": ".gitattributes",
"sha": "9f1ff5fcce328496fed06f20d53b4e767f7a39ab",
"size": 122,
"url": "https://api.github.com/repos/cline/cline/contents/.gitattributes?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/.gitattributes",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/9f1ff5fcce328496fed06f20d53b4e767f7a39ab",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/.gitattributes",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.gitattributes?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/9f1ff5fcce328496fed06f20d53b4e767f7a39ab",
"html": "https://github.com/cline/cline/blob/main/.gitattributes"
}
},
{
"name": ".github",
"path": ".github",
"sha": "a1485c6bd07ad193f2437ee762886d9dd8e575cd",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.github?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.github",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/a1485c6bd07ad193f2437ee762886d9dd8e575cd",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.github?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/a1485c6bd07ad193f2437ee762886d9dd8e575cd",
"html": "https://github.com/cline/cline/tree/main/.github"
}
},
{
"name": ".gitignore",
"path": ".gitignore",
"sha": "5f967a7308e09d6238ce6e74e9128695f591099f",
"size": 1441,
"url": "https://api.github.com/repos/cline/cline/contents/.gitignore?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/.gitignore",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/5f967a7308e09d6238ce6e74e9128695f591099f",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/.gitignore",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.gitignore?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/5f967a7308e09d6238ce6e74e9128695f591099f",
"html": "https://github.com/cline/cline/blob/main/.gitignore"
}
},
{
"name": ".gitleaks.toml",
"path": ".gitleaks.toml",
"sha": "c0626f558c147f1ae9028dbdfda9e0a9be8ea564",
"size": 64,
"url": "https://api.github.com/repos/cline/cline/contents/.gitleaks.toml?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/.gitleaks.toml",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/c0626f558c147f1ae9028dbdfda9e0a9be8ea564",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/.gitleaks.toml",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.gitleaks.toml?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/c0626f558c147f1ae9028dbdfda9e0a9be8ea564",
"html": "https://github.com/cline/cline/blob/main/.gitleaks.toml"
}
},
{
"name": ".gitmodules",
"path": ".gitmodules",
"sha": "929ec96242e4546878c3d5bc8f6a2b07cae567cd",
"size": 106,
"url": "https://api.github.com/repos/cline/cline/contents/.gitmodules?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/.gitmodules",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/929ec96242e4546878c3d5bc8f6a2b07cae567cd",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/.gitmodules",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.gitmodules?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/929ec96242e4546878c3d5bc8f6a2b07cae567cd",
"html": "https://github.com/cline/cline/blob/main/.gitmodules"
}
},
{
"name": ".greptile",
"path": ".greptile",
"sha": "2abebbd25ee4b05dada72123e38784f3f8d132de",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.greptile?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.greptile",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/2abebbd25ee4b05dada72123e38784f3f8d132de",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.greptile?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/2abebbd25ee4b05dada72123e38784f3f8d132de",
"html": "https://github.com/cline/cline/tree/main/.greptile"
}
},
{
"name": ".husky",
"path": ".husky",
"sha": "42900e6fd2e9843f66373a466f7e99284afc2325",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.husky?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.husky",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/42900e6fd2e9843f66373a466f7e99284afc2325",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.husky?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/42900e6fd2e9843f66373a466f7e99284afc2325",
"html": "https://github.com/cline/cline/tree/main/.husky"
}
},
{
"name": ".kanban",
"path": ".kanban",
"sha": "3b3fefa11ee0ba6e6b4421776f362bb65bdbd8b6",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.kanban?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.kanban",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/3b3fefa11ee0ba6e6b4421776f362bb65bdbd8b6",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.kanban?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/3b3fefa11ee0ba6e6b4421776f362bb65bdbd8b6",
"html": "https://github.com/cline/cline/tree/main/.kanban"
}
},
{
"name": ".nvmrc",
"path": ".nvmrc",
"sha": "8fdd954df9831dfd29ceec0d74829b02f3f5d8c3",
"size": 2,
"url": "https://api.github.com/repos/cline/cline/contents/.nvmrc?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/.nvmrc",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/8fdd954df9831dfd29ceec0d74829b02f3f5d8c3",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/.nvmrc",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.nvmrc?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/8fdd954df9831dfd29ceec0d74829b02f3f5d8c3",
"html": "https://github.com/cline/cline/blob/main/.nvmrc"
}
},
{
"name": ".tool-versions",
"path": ".tool-versions",
"sha": "05b561a70e3cbd8f9b8ef0dab234b8b3e97754f2",
"size": 19,
"url": "https://api.github.com/repos/cline/cline/contents/.tool-versions?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/.tool-versions",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/05b561a70e3cbd8f9b8ef0dab234b8b3e97754f2",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/.tool-versions",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.tool-versions?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/05b561a70e3cbd8f9b8ef0dab234b8b3e97754f2",
"html": "https://github.com/cline/cline/blob/main/.tool-versions"
}
},
{
"name": ".vscode",
"path": ".vscode",
"sha": "6bcafa31e9a3de82744eb25dcd9e48b54ce77d8d",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/.vscode?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/.vscode",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/6bcafa31e9a3de82744eb25dcd9e48b54ce77d8d",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.vscode?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/6bcafa31e9a3de82744eb25dcd9e48b54ce77d8d",
"html": "https://github.com/cline/cline/tree/main/.vscode"
}
},
{
"name": ".worktreeinclude",
"path": ".worktreeinclude",
"sha": "3e4e48b0b5fe6b468434d6767749b399319f2da2",
"size": 10,
"url": "https://api.github.com/repos/cline/cline/contents/.worktreeinclude?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/.worktreeinclude",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/3e4e48b0b5fe6b468434d6767749b399319f2da2",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/.worktreeinclude",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/.worktreeinclude?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/3e4e48b0b5fe6b468434d6767749b399319f2da2",
"html": "https://github.com/cline/cline/blob/main/.worktreeinclude"
}
},
{
"name": "CHANGELOG.md",
"path": "CHANGELOG.md",
"sha": "ef03a66620bf98bd60af5061ec3d8b18ad3fee67",
"size": 98472,
"url": "https://api.github.com/repos/cline/cline/contents/CHANGELOG.md?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/CHANGELOG.md",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/ef03a66620bf98bd60af5061ec3d8b18ad3fee67",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/CHANGELOG.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/CHANGELOG.md?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/ef03a66620bf98bd60af5061ec3d8b18ad3fee67",
"html": "https://github.com/cline/cline/blob/main/CHANGELOG.md"
}
},
{
"name": "CODE_OF_CONDUCT.md",
"path": "CODE_OF_CONDUCT.md",
"sha": "3547e4628bbecb535306117ce22a9ae54ec83ae0",
"size": 3373,
"url": "https://api.github.com/repos/cline/cline/contents/CODE_OF_CONDUCT.md?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/CODE_OF_CONDUCT.md",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/3547e4628bbecb535306117ce22a9ae54ec83ae0",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/CODE_OF_CONDUCT.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/CODE_OF_CONDUCT.md?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/3547e4628bbecb535306117ce22a9ae54ec83ae0",
"html": "https://github.com/cline/cline/blob/main/CODE_OF_CONDUCT.md"
}
},
{
"name": "CONTRIBUTING.md",
"path": "CONTRIBUTING.md",
"sha": "f823b6833ac4a55f8c62b6c5357e2f900f4e8859",
"size": 8764,
"url": "https://api.github.com/repos/cline/cline/contents/CONTRIBUTING.md?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/CONTRIBUTING.md",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/f823b6833ac4a55f8c62b6c5357e2f900f4e8859",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/CONTRIBUTING.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/CONTRIBUTING.md?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/f823b6833ac4a55f8c62b6c5357e2f900f4e8859",
"html": "https://github.com/cline/cline/blob/main/CONTRIBUTING.md"
}
},
{
"name": "LICENSE",
"path": "LICENSE",
"sha": "05ae14a377caf4df24e26edde0c4f7b22ef3ef30",
"size": 11344,
"url": "https://api.github.com/repos/cline/cline/contents/LICENSE?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/LICENSE",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/05ae14a377caf4df24e26edde0c4f7b22ef3ef30",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/LICENSE",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/LICENSE?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/05ae14a377caf4df24e26edde0c4f7b22ef3ef30",
"html": "https://github.com/cline/cline/blob/main/LICENSE"
}
},
{
"name": "README.md",
"path": "README.md",
"sha": "328181237cd8d95b8e3a25850236d576e930c884",
"size": 9094,
"url": "https://api.github.com/repos/cline/cline/contents/README.md?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/README.md",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/328181237cd8d95b8e3a25850236d576e930c884",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/README.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/README.md?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/328181237cd8d95b8e3a25850236d576e930c884",
"html": "https://github.com/cline/cline/blob/main/README.md"
}
},
{
"name": "SECURITY.md",
"path": "SECURITY.md",
"sha": "4807686929f85d6e15eb364a303b857c3af0103b",
"size": 952,
"url": "https://api.github.com/repos/cline/cline/contents/SECURITY.md?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/SECURITY.md",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/4807686929f85d6e15eb364a303b857c3af0103b",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/SECURITY.md",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/SECURITY.md?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/4807686929f85d6e15eb364a303b857c3af0103b",
"html": "https://github.com/cline/cline/blob/main/SECURITY.md"
}
},
{
"name": "apps",
"path": "apps",
"sha": "3b76387f10e79e95031b636996178ba675814393",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/apps?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/apps",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/3b76387f10e79e95031b636996178ba675814393",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/apps?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/3b76387f10e79e95031b636996178ba675814393",
"html": "https://github.com/cline/cline/tree/main/apps"
}
},
{
"name": "assets",
"path": "assets",
"sha": "e4bf38205adcc40200a9cb8abb3acf3b66e489af",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/assets?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/assets",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/e4bf38205adcc40200a9cb8abb3acf3b66e489af",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/assets?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/e4bf38205adcc40200a9cb8abb3acf3b66e489af",
"html": "https://github.com/cline/cline/tree/main/assets"
}
},
{
"name": "biome.json",
"path": "biome.json",
"sha": "d3f6055e801b6b344c369608e342e1fdf1c36380",
"size": 4598,
"url": "https://api.github.com/repos/cline/cline/contents/biome.json?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/biome.json",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/d3f6055e801b6b344c369608e342e1fdf1c36380",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/biome.json",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/biome.json?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/d3f6055e801b6b344c369608e342e1fdf1c36380",
"html": "https://github.com/cline/cline/blob/main/biome.json"
}
},
{
"name": "bun.lock",
"path": "bun.lock",
"sha": "0039da676352591a02649dc8b977295c3fafbb56",
"size": 977222,
"url": "https://api.github.com/repos/cline/cline/contents/bun.lock?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/bun.lock",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/0039da676352591a02649dc8b977295c3fafbb56",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/bun.lock",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/bun.lock?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/0039da676352591a02649dc8b977295c3fafbb56",
"html": "https://github.com/cline/cline/blob/main/bun.lock"
}
},
{
"name": "docs",
"path": "docs",
"sha": "938f719bb649c6f4b6fc27bc35bbaf30c798ee70",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/docs?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/docs",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/938f719bb649c6f4b6fc27bc35bbaf30c798ee70",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/docs?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/938f719bb649c6f4b6fc27bc35bbaf30c798ee70",
"html": "https://github.com/cline/cline/tree/main/docs"
}
},
{
"name": "evals",
"path": "evals",
"sha": "2dfc0234caaee3f637e152f781533981c498ef54",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/evals?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/evals",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/2dfc0234caaee3f637e152f781533981c498ef54",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/evals?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/2dfc0234caaee3f637e152f781533981c498ef54",
"html": "https://github.com/cline/cline/tree/main/evals"
}
},
{
"name": "package.json",
"path": "package.json",
"sha": "5687bf7bd86a98da4b623e4588904ded82f06dc2",
"size": 3932,
"url": "https://api.github.com/repos/cline/cline/contents/package.json?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/package.json",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/5687bf7bd86a98da4b623e4588904ded82f06dc2",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/package.json",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/package.json?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/5687bf7bd86a98da4b623e4588904ded82f06dc2",
"html": "https://github.com/cline/cline/blob/main/package.json"
}
},
{
"name": "sdk",
"path": "sdk",
"sha": "5efb73aa9e074dd9da1c33a9fdb84ed3c28e2cb4",
"size": 0,
"url": "https://api.github.com/repos/cline/cline/contents/sdk?ref=main",
"html_url": "https://github.com/cline/cline/tree/main/sdk",
"git_url": "https://api.github.com/repos/cline/cline/git/trees/5efb73aa9e074dd9da1c33a9fdb84ed3c28e2cb4",
"download_url": null,
"type": "dir",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/sdk?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/trees/5efb73aa9e074dd9da1c33a9fdb84ed3c28e2cb4",
"html": "https://github.com/cline/cline/tree/main/sdk"
}
},
{
"name": "vitest.config.ts",
"path": "vitest.config.ts",
"sha": "f798e90e73bcbe76f08d362f89a1337fd66b9b8d",
"size": 312,
"url": "https://api.github.com/repos/cline/cline/contents/vitest.config.ts?ref=main",
"html_url": "https://github.com/cline/cline/blob/main/vitest.config.ts",
"git_url": "https://api.github.com/repos/cline/cline/git/blobs/f798e90e73bcbe76f08d362f89a1337fd66b9b8d",
"download_url": "https://raw.githubusercontent.com/cline/cline/main/vitest.config.ts",
"type": "file",
"_links": {
"self": "https://api.github.com/repos/cline/cline/contents/vitest.config.ts?ref=main",
"git": "https://api.github.com/repos/cline/cline/git/blobs/f798e90e73bcbe76f08d362f89a1337fd66b9b8d",
"html": "https://github.com/cline/cline/blob/main/vitest.config.ts"
}
}
]
+37
View File
@@ -0,0 +1,37 @@
version: 1
domain_id: cline-cline
object:
type: github_repository
name: cline/cline
url: https://github.com/cline/cline
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/cline/cline.git docs/research/cline-cline/raw/repository'
- path: github-repo.raw.json
kind: repository-metadata
status: ok
source: 'gh repo view cline/cline --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/cline/cline/readme -H Accept: application/vnd.github.raw'
- path: github-license.raw.txt
kind: license
status: ok
source: 'gh api repos/cline/cline/license -H Accept: application/vnd.github.raw'
- path: github-root-contents.raw.json
kind: root-contents
status: ok
source: 'gh api repos/cline/cline/contents'
- path: github-languages.raw.json
kind: languages
status: ok
source: 'gh api repos/cline/cline/languages'
- path: github-latest-release.raw.json
kind: latest-release
status: ok
source: 'gh api repos/cline/cline/releases/latest'