Add gh-pulse: daily GitHub movement + traffic email with charts - #10
Merged
Merged
Conversation
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_011gfb1vcQH5rf82HfbJvf1Z
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
ralyodio
added a commit
that referenced
this pull request
Sep 13, 2026
PR #10 landed gh-pulse in this repo and profullstack/cli-tools#69 landed the same tool, ported to TypeScript, with the terminal view, open, text and json on top of the email. Two implementations of one name on PATH is the drift cli-tools list marks with `!`, so this copy goes and the README points at the other. No release was cut between the two, so nothing installed on any box changes. Claude-Session: https://claude.ai/code/session_011gfb1vcQH5rf82HfbJvf1Z Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
bin/gh-pulsescans every repo theghtoken can see (own account plus every org, forks excluded), ranks the ones that moved since the previous run, and emails the ranking with each mover's traffic and 14-day charts.~/.local/share/gh-pulse/snapshots/<date>.json.gz(raw per-repo counts + buckets). GitHub keeps nothing past 14 days, so this is the long-run record.@resvg/resvg-js, installed on first run intolib/gh-pulse/). Failure sends a plain "FAILED" mail so a broken cron is not silent.Tested
scripts-checkpasses.Cron (13:05 UTC daily) is installed on this box; it falls back to the build worktree until this is merged, tagged and
scripts-upgradehas moved~/scriptsto the new tag.🤖 Generated with Claude Code
https://claude.ai/code/session_011gfb1vcQH5rf82HfbJvf1Z