@@ -130,41 +130,12 @@ the next flag as a filename.
130130
131131### ` gh-pulse `
132132
133- The daily "what moved on GitHub" email, with charts. Every repo the ` gh ` token
134- can see (yours plus every org you belong to, forks excluded) is checked for
135- movement since the previous run: stars, forks, commits, pull requests, issues,
136- releases, and the traffic GitHub shows at ` /graphs/traffic ` (views, unique
137- visitors, clones, referrers, popular content). Repos with movement are ranked
138- by a weighted score; each one comes with its traffic, the top ones with a
139- 14-day chart, and new or lost followers are named.
140-
141- ``` sh
142- gh-pulse # scan, email, snapshot
143- gh-pulse --dry-run # scan and write the HTML, send nothing
144- gh-pulse --top 12 # how many ranked repos get a chart and detail
145- gh-pulse --repo profullstack/nixamp # only this repo (repeatable)
146- ```
147-
148- Movement is measured against the previous snapshot rather than a clock,
149- because GitHub publishes traffic in UTC-day buckets one to two days late:
150- each run counts the growth of the 14-day buckets since the last run, so a
151- skipped day is neither lost nor double counted (the header says how long the
152- window was). Every run writes ` ~/.local/share/gh-pulse/snapshots/<date>.json.gz `
153- with the raw per-repo counts and traffic buckets; GitHub keeps nothing past 14
154- days, so those files are the long-run history. ` out/latest.html ` , ` .txt ` and
155- ` .json ` next to them are the last report.
156-
157- Mail goes through Resend: ` RESEND_API_KEY ` from the environment, or from
158- ` ~/.config/logicsrc/shell.env ` when unset (the cron case). The from address
159- must sit on a verified Resend domain; ` GH_PULSE_FROM ` overrides it and
160- ` GH_PULSE_TO ` (or ` --to ` ) the recipient. The chart rasteriser is a small npm
161- dependency in ` lib/gh-pulse/ ` , installed on first run.
162-
163- A daily cron entry looks like:
164-
165- ```
166- 5 13 * * * /home/anthony/scripts/bin/gh-pulse >>/home/anthony/.local/share/gh-pulse/cron.log 2>&1
167- ```
133+ Moved to [ profullstack/cli-tools] ( https://github.com/profullstack/cli-tools#gh-pulse )
134+ on 2026-09-13, the same day it landed here, so that the email, the `gh-pulse
135+ show` terminal view, ` open` , ` text` and ` json` are one implementation with one
136+ name on ` PATH ` . The snapshots under ` ~/.local/share/gh-pulse ` are the same files
137+ either way. ` curl -fsSL https://raw.githubusercontent.com/profullstack/cli-tools/master/install.sh | sh `
138+ installs it.
168139
169140### ` gh-prs-merge `
170141
@@ -353,7 +324,6 @@ an installer is unavailable and you need the old contents back.
353324
354325` gh ` (authenticated), ` jq ` , and ` awk ` . ` provision-ssh-keys ` needs only OpenSSH
355326(` ssh ` , ` ssh-keyscan ` , ` ssh-keygen ` ) locally and ` bash ` on the remote host.
356- ` gh-pulse ` wants ` node ` 20+ and ` npm ` (once, for its chart dependency).
357327` domainjson ` additionally wants ` node ` ,
358328` dig ` , and the OpenRDAP CLI (` go install github.com/openrdap/rdap/cmd/rdap@latest ` ,
359329run from ` ~/go/bin/rdap ` or on ` PATH ` ). ` ssh-logins ` needs ` journalctl ` and
0 commit comments