目录

gitlink-deps

一个项目依赖追踪的 GitLink AI Agent Skill。扫描仓库的依赖声明文件(go.mod、package.json、requirements.txt、pom.xml、Cargo.toml 等),解析依赖清单、统计数量、识别技术栈、提示版本锁定与供应链风险。

GitLink 智能化服务开源项目贡献赛 子赛题二(编写和丰富 GitLink Skills) 参赛作品。

作者:Ct201314

它解决什么

接手一个项目、做技术审计、排查供应链风险时,第一件事往往是搞清楚”它依赖了什么”。gitlink-deps 把这件事自动化:

  • 多语言识别:支持 Go、Node.js、Python、Rust、Java 等主流生态的依赖文件
  • 依赖解析:提取依赖名称、版本,区分直接依赖与间接依赖
  • 风险提示:标记未锁定版本(^/~/*/latest)、依赖数量过多等供应链风险

安装

作为 Agent Skill

SKILL.mdscripts/ 放入 Agent 技能目录(Claude Code、Cursor、Kiro CLI 等),向 Agent 提出诉求即可触发,例如:

「Gitlink/gitlink-cli 用了哪些依赖?有没有版本风险?」

直接运行脚本

python scripts/deps.py --owner Gitlink --repo gitlink-cli
python scripts/deps.py --owner Gitlink --repo gitlink-cli --format json

目录结构

gitlink-deps/
├── SKILL.md
├── scripts/
│   ├── glapi.py              GitLink 公开 API 客户端(自包含)
│   └── deps.py               依赖扫描脚本
├── examples/                 真实依赖报告
├── tests/test_deps.py        单元测试(12 个用例)
├── requirements.txt
└── LICENSE

真实验证

Gitlink/gitlink-cli(Go 项目)上运行,正确解析 go.mod,识别 22 个依赖(7 直接 + 15 间接),含 cobra、go-keyring、sqlite 等真实依赖,产物见 examples/

单元测试:

python -m pytest tests/ -q   # 12 passed

设计要点

  • 多解析器:为 go.mod、package.json、requirements.txt、Cargo.toml、pom.xml 各写了专用解析器,准确提取依赖与版本。
  • 直接/间接区分:go.mod 的 // indirect、package.json 的 devDependencies 都会被正确归类。
  • 零第三方依赖:纯标准库实现,Agent 沙箱或内网可运行。

许可证

Mulan PSL v2,与 gitlink-cli 主仓库保持一致。

关于

依赖追踪 Skill:扫描 go.mod/package.json/requirements.txt/pom.xml,提取依赖清单与风险提示。GitLink 开源贡献赛子赛题二参赛作品。

53.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号