A GitHub releases client for programs that install from release assets: a cached release list, version and asset selection, remote zip listing and the user's gh login. Package github, module github.com/Rethunk-Tech/go-github.
For installers, launchers and updaters that ask about many repositories under GitHub's 60-an-hour limit without a
token (5,000 with one). Answers are cached on disk, a stale list stands in when GitHub fails, and nothing runs gh
unless you set DefaultAuth.Run. Key and the cache file names are stable across releases of this module; leave
Client.CacheDir empty to disable caching.
go get github.com/Rethunk-Tech/go-githubA worked example and the contracts: HUMANS.md.
- Cached release lists (one hour, stale on failure) and release notes (kept forever).
Selecta release by version and keep the assets you want;Installabledrops source, checksum and other-OS builds.KeyandShaperecognise one download across releases.ZipNamesreads a remote zip's file list with a few ranged requests.ObserveandCurrentRatetrack the quota;RateLimitednames the wait.- Opt-in
ghlogin for the higher limit, sent only over https to GitHub.
| Doc | Audience |
|---|---|
| HUMANS.md | Running and using the package |
| AGENTS.md | Internals, invariants, and why |
| CONTRIBUTING.md | Process — commits, tests, docs |
| SECURITY.md | Vulnerability disclosure |
| CHANGELOG.md | Release notes |
MIT — see LICENSE. © 2026 Rethunk.Tech, LLC.