用途
GitHub Contribution Period Analysis 用于针对单个目标 GitHub 用户,在指定的 UTC 时间窗口内构建一份基于证据的 Markdown 报告,聚焦于实际代码贡献信号,即已合并的 PR 与 commit 活动。分析范围覆盖用户自己的仓库以及其他仓库,但受凭证访问权限限制。
主要能力
报告纳入的贡献类型包括:
- 作者本人提交的已合并 PR。
- 由目标用户执行合并的 PR(维护者合并工作)。
- 作者本人提交的 commit。
报告排除的活动类型包括:评论、审查、star、watch、fork。
生成的报告包含以下内容:
- 范围与覆盖说明。
- 汇总指标。
- 从 PR/commit 证据推断的实质性工作分类。
- 带代表性证据链接的工作内容亮点。
- 仓库分解。
- 每个变更仓库的具体改动细节(针对每一个发生变更的仓库)。
- 贡献时间线。
- Top 贡献表格。
- 包含 PR/commit URL 的证据附录。
使用方式
- 准备 GitHub API 访问所需的认证。
- 运行 scripts/github_contribution_report.py,传入目标用户与时间窗口。
- 查看生成的 Markdown 报告并检查证据链接。
命令示例:
python3 scripts/github_contribution_report.py \
--user <github-login> \
--start 2026-03-01 \
--end 2026-03-08 \
--output /tmp/github-contribution-report.md
适用场景
适用于需要按时间段评估某个 GitHub 用户实际代码贡献(合并 PR 与 commit)的场景,例如生成周期性的贡献报告、审查维护者的合并工作、或汇总某人在多个仓库中的具体改动。
限制
- 仅 SSH 密钥用于 git 传输,不能直接授权 GitHub REST API 调用。
- 私有仓库覆盖需要经过认证的 API 访问,通常通过 GITHUB_TOKEN/G_TOKEN 或 gh auth token。
- GitHub Search API 每个查询有 1000 条上限。对于非常活跃的用户,需要拆分时间范围并运行多次报告。
参考资料与脚本
参考资料:
- references/env.md
- references/data-model.md
- references/markdown-template.md
脚本:
- scripts/github_contribution_report.py