threepointone/klocker

GitHub: threepointone/klocker

一个 TypeScript 脚本,通过 GitHub API 统计用户每日代码行变动并生成 CSV 数据与可视化折线图。

Stars: 2 | Forks: 0

# GitHub 个人主页代码行变动图 本项目包含一个 TypeScript 脚本,用于估算用户在过去 12 个月(或您选择的任意时间段)内**每天的代码行变动数**(`新增 + 删除`)。图表将每日的变动绘制为折线,并在每周的开始处用红色标记标出该周的总计。 默认情况下,名为 `package-lock.json` 的文件变动将不计入总数。 ## 功能说明 1. 尝试从用户的贡献图中读取仓库(GraphQL)。 2. 如果 GraphQL 不可用,则回退到用户拥有的仓库。 3. 获取该用户在每个仓库中对应时间范围内的 commit。 4. 获取 commit 统计数据并按天进行汇总。 5. 生成以下文件: - `weekly_churn.csv`(每天一行) - `weekly_churn.png`(带有每周总计标记的每日折线/面积图) ## 用法 ``` bun install ``` 运行: ``` bun start -- ``` 推荐方式(以避免严格的速率限制): ``` export GITHUB_TOKEN=ghp_your_token_here bun start -- ``` 实用参数: ``` bun start -- \ --months 6 \ --csv weekly_out.csv \ --plot weekly_out.png \ --max-repos 100 \ --sleep-between-calls 0.05 ``` 跳过 PNG 输出: ``` bun start -- --no-plot ``` ## 注意事项 / 限制 - 这是基于 GitHub API 的 commit 统计数据进行的估算,按天(UTC)分组。每周标记的总计使用 UTC 时区下周一作为每周的开始。 - 大型历史记录可能会快速消耗 API 配额,因为 commit 统计需要针对每个 commit 进行详细的调用。 - 如果没有配置 `GITHUB_TOKEN`,脚本很可能会触及速率限制。 - 对于拥有大量仓库/commit 的高频用户,您可能需要缩小范围或在运行时加入暂停。
标签:Bun, TypeScript, 代码统计, 安全插件, 开发者生产力, 数字取证, 自动化攻击, 自动化脚本