
关于
代理技能:仓库扫描
name: repo-scan description: 跨技术栈源代码资产审计 — 对每个文件进行分类,检测嵌入的第三方库,并为每个模块提供可操作的四级评定结果和交互式 HTML 报告。 origin: community
repo-scan
每个生态系统都有自己的依赖管理器,但没有工具能跨 C++、Android、iOS 和 Web 告诉你:多少代码真正属于你,哪些是第三方的,哪些是无用负担。
适用场景
- 接手大型遗留代码库,需要结构概览
- 重大重构前 — 识别核心代码、重复代码和死代码
- 审计直接嵌入源码中的第三方依赖(未在包管理器中声明的)
- 为单体仓库重组准备架构决策记录
安装
# Fetch only the pinned commit for reproducibility
mkdir -p ~/.claude/skills/repo-scan
git init repo-scan
cd repo-scan
git remote add origin https://github.com/haibindev/repo-scan.git
git fetch --depth 1 origin 2742664
git checkout --detach FETCH_HEAD
cp -r . ~/.claude/skills/repo-scan
安装任何代理技能前请先审查源代码。
核心能力
| 能力 | 描述 | |---|---| | 跨技术栈扫描 | C/C++、Java/Android、iOS (OC/Swift)、Web (TS/JS/Vue) 一次扫描 | | 文件分类 | 每个文件标记为项目代码、第三方代码或构建产物 | | 库检测 | 50+ 已知库(FFmpeg、Boost、OpenSSL...)含版本提取 | | 四级评定 | 核心资产 / 提取合并 / 重建 / 弃用 | | HTML 报告 | 带下钻导航的交互式暗色主题页面 | | 单体仓库支持 | 层级扫描,含汇总和子项目报告 |
分析深度级别
| 级别 | 读取文件数 | 使用场景 |
|---|---|---|
| fast | 每模块 1-2 个 | 大型目录的快速清单 |
| standard | 每模块 2-5 个 | 默认审计,含完整依赖和架构检查 |
| deep | 每模块 5-10 个 | 增加线程安全、内存管理、API 一致性检查 |
| full | 所有文件 | 合并前的全面审查 |
工作原理
- 分类仓库表面:枚举文件,然后将每个文件标记为项目代码、嵌入的第三方代码或构建产物。
- 检测嵌入库:检查目录名、头文件、许可证文件和版本标记,以识别捆绑的依赖及可能的版本。
- 为每个模块评分:按模块或子系统分组文件,然后根据所有权、重复度和维护成本分配四级评定之一。
- 突出结构风险:标出无用构建产物、重复的封装层、过时的 vendor 代码,以及应该被提取、重建或弃用的模块。
- 生成报告:返回简洁摘要加上交互式 HTML 输出,含每模块下钻功能,以便异步审查审计结果。
示例
在一个 50,000 文件的 C++ 单体仓库上:
- 发现仍在生产中使用的 FFmpeg 2.x(2015年版本)
- 发现同一 SDK 封装被重复了 3 次
- 识别出 636 MB 已提交的 Debug/ipch/obj 构建产物
- 分类结果:3 MB 项目代码 vs 596 MB 第三方代码
最佳实践
- 首次审计使用
standard深度 - 对 100+ 模块的单体仓库使用
fast获取快速清单 - 对标记为需要重构的模块增量运行
deep - 审查跨模块分析以检测子项目间的重复
链接
兼容工具
Claude CodeCursor
标签
AI与机器学习
