关于 repo-audit
通过热点文件检测、代码归属分析和密钥扫描来分析 Git 历史的命令行技能,适用于需要评估变更风险、贡献者活动和凭据泄露情况的维护者与审查者。
主要功能
- 01查找频繁变更的文件
- 02报告贡献者归属与活动
- 03扫描 Git 历史中的密钥
- 04按路径、日期、作者或分支筛选
- 05以表格、CSV 或 JSON 导出结果
适用场景
- 01确定高风险代码审查优先级
- 02找出适合重构的文件
- 03按代码熟悉度分配审查者
- 04检查仓库历史中的凭据泄露
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zebbern/ claude-code-guide --skill repo-audit安装后在 Claude Code 中输入/repo-audit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEscripts/hotfiles.shownership.shsecret-scan.sh详细介绍
仓库审计 — 深入分析 Git 历史
对 Git 仓库进行三维分析:热点文件检测、代码归属分析和机密泄露扫描。
功能概览
1. 热点文件分析(scripts/hotfiles.sh)
找出仓库中变更最频繁的文件,帮助发现:
- 高风险代码区域(频繁变更可能意味着不稳定)
- 代码审查时值得重点关注的文件
- 可能需要拆分或重构的模块
用法:
bash scripts/hotfiles.sh [options]
| 选项 | 说明 | 默认值 |
|---|---|---|
--repo PATH | 仓库路径 | 当前目录 |
--top N | 显示排名前 N 的文件 | 20 |
--since DATE | 起始日期(例如 2024-01-01) | 无 |
--until DATE | 截止日期 | 无 |
--author AUTHOR | 按作者筛选 | 无 |
--format FORMAT | 输出格式:table / csv / json | table |
2. 代码归属分析(scripts/ownership.sh)
分析实际的代码归属情况,并针对指定范围内的每位贡献者报告:
- 提交次数和占比
- 变更行数(新增/删除)
- 最后活跃日期
用法:
bash scripts/ownership.sh [options]
| 选项 | 说明 | 默认值 |
|---|---|---|
--repo PATH | 仓库路径 | 当前目录 |
--path SUBPATH | 分析指定的子目录或文件 | 整个仓库 |
--top N | 显示排名前 N 的贡献者 | 10 |
--since DATE | 起始日期 | 无 |
--format FORMAT | 输出格式:table / csv / json | table |
3. 机密泄露扫描(scripts/secret-scan.sh)
扫描完整的 Git 历史(包括已删除的提交),查找常见机密和敏感信息:
- AWS 访问密钥/Secret Key
- GitHub / GitLab / Slack 令牌
- SSH 私钥
- 通用 API 密钥、密码和机密模式
用法:
bash scripts/secret-scan.sh [options]
| 选项 | 说明 | 默认值 |
|---|---|---|
--repo PATH | 仓库路径 | 当前目录 |
--branch BRANCH | 扫描指定分支 | 所有分支 |
--since DATE | 起始日期 | 无 |
--format FORMAT | 输出格式:table / csv / json | table |
--severity LEVEL | 最低严重级别:low / medium / high | low |
使用场景
- 安全审计:部署到生产环境前,扫描历史记录以查找泄露的机密
- 优化代码审查:找出热点文件,并优先审查高风险区域
- 团队协作:了解谁最熟悉代码的哪些部分,并据此分配审查任务
- 技术债评估:频繁变更的文件是重构的重点候选对象
依赖项
git(>= 2.20)bash(>= 4.0)- 标准 Unix 工具:
awk、sort、head、grep
无需额外依赖或付费 API。
评论
支持 Markdown