SuperAPI AI 工具集

repo-report

编程与开发

查看项目

更新于 10-15 20:06

技能介绍

用途:对本地 Git 仓库做画像,生成指标报告、代表性代码、示例 PR 和卫生标记,用于了解仓库规模、语言构成、活跃度与潜在风险。

主要能力:统计代码行数、语言构成、已合并 PR 及其复杂度层级、测试与代码比例等;输出可分享的交付物 zip,内含 report.pdf(带图表)、metrics.xlsx(Summary、Timeline、Languages、Sample PRs、Sample files、Hygiene 六个工作表)、repo_report.json(机器可读全量数据)、metrics.csv、report.md、report.html 以及独立 chart-*.svg 图表。JSON 中包含 highlights、files/history/environment、code_excerpts(按控制流密度选取的约 40 行真实代码)、sample_prs(最多 3 个已合并 PR,含统计、touches_tests、references_issue 和截断的 diff_excerpt)、timeline_monthly 和 cleanup_flags。

使用方式:确认本地 Git 检出后运行 python3 scripts/repo_report.py /path/to/repo --out ./report。仅用标准库,无需安装包。PDF 渲染依赖已安装的 Chrome/Chromium/Edge headless、weasyprint 或 wkhtmltopdf;若都没有则写出 report.html 供打开打印。--no-bundle 只写 JSON、CSV 和 Markdown;--merge-sample 调低可加速超大历史;--excerpt-files / --sample-prs 可替换样本,--no-excerpts 可完全去掉代码。

适用场景:需要快速了解仓库概况、准备分享材料或检查卫生问题时。

限制:没有 Git 历史时多数指标不可用,仍会运行文件扫描;% Rich PRs 是下界,因为评审线程在代码托管平台而非 Git 中;函数和类计数是正则估算;代码摘录会自动脱敏疑似密钥,但脱敏不等于判断,分享前需人工复核。cleanup_flags 应优先处理,密钥或 PII 必须在分享前从工作树和 Git 历史中移除。