Commit 0db616b
Add gh-pulse, the daily GitHub movement + traffic email
Every repo the gh token can see (own + every org, forks excluded) is
checked for movement since the previous run: stars, forks, commits, PRs,
issues, releases, and the /graphs/traffic numbers (views, unique visitors,
clones, referrers, popular content). Movers are ranked by a weighted score
and emailed through Resend with 14-day charts (SVG rendered to PNG with
@resvg/resvg-js, inline via cid), and new/lost followers are named.
GitHub publishes traffic in UTC-day buckets one to two days late, so the
window is the growth of each bucket since the previous snapshot rather
than a clock: nothing is missed or double counted when a run is skipped.
Every run writes a gzipped snapshot of the raw counts and buckets to
~/.local/share/gh-pulse/snapshots; GitHub keeps nothing past 14 days, so
those files are the long-run history.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011gfb1vcQH5rf82HfbJvf1Z1 parent 9564613 commit 0db616b
5 files changed
Lines changed: 906 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
128 | 128 | | |
129 | 129 | | |
130 | 130 | | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
131 | 169 | | |
132 | 170 | | |
133 | 171 | | |
| |||
315 | 353 | | |
316 | 354 | | |
317 | 355 | | |
| 356 | + | |
318 | 357 | | |
319 | 358 | | |
320 | 359 | | |
| |||
0 commit comments