repo-scan
每个生态系统都有自己的依赖管理器,但没有工具能跨 C++、Android、iOS 和 Web 告诉你:有多少代码真正属于你,哪些是第三方代码,哪些是冗余负担。
适用场景
- 接手大型遗留代码库,需要了解整体结构
- 重大重构前——识别核心代码、重复代码和废弃代码
- 审计直接嵌入源码(而非通过包管理器声明)的第三方依赖
- 为单体仓库重组准备架构决策记录
安装
安装任何代理技能前,请先审查源码。
安装后,请重新加载智能体运行环境,然后再次调用 repo-scan。此 ECC 指针仅安装外部技能,本身不会执行扫描。
核心能力
分析深度级别
工作原理
- 分类仓库表面:枚举文件,将每个文件标记为项目代码、嵌入的第三方代码或构建产物。
- 检测嵌入的库:检查目录名、头文件、许可证文件和版本标记,识别捆绑的依赖及其可能版本。
- 为每个模块评分:按模块或子系统分组文件,根据所有权、重复度和维护成本分配四种判定之一。
- 突出结构风险:指出冗余产物、重复的封装器、过时的供应商代码,以及应提取、重建或废弃的模块。
- 生成报告:返回简洁摘要及交互式 HTML 输出,支持按模块下钻,便于异步审查审计结果。
示例
在一个 50,000 文件的 C++ 单体仓库中:
- 发现仍在使用 FFmpeg 2.x(2015 年版本)
- 发现同一 SDK 封装器重复了 3 次
- 识别出 636 MB 已提交的 Debug/ipch/obj 构建产物
- 分类结果:3 MB 项目代码 vs 596 MB 第三方代码
最佳实践
- 首次审计时从
standard深度开始 - 对包含 100+ 模块的单体仓库使用
fast快速盘点 - 对标记为需重构的模块增量运行
deep - 审查跨模块分析结果,检测子项目间的重复代码


