A self-hosted release monitor

GitHub releases in.
Signal out.

Repo Rat watches public GitHub releases, filters for noteworthy changes, and sends concise reports to Discord or a local JSONL log. Run it in GitHub Actions or on your own machine.

No API key required. Repo Rat's deterministic heuristic judge works out of the box. An OpenAI-compatible model is optional.

A report, not a firehose

One release. The useful bit.

Each noteworthy release gets a short summary and one direct release link.

Illustrative Repo Rat Discord report with a repository and version, a concise release summary, and one GitHub release URL.
An illustrative example. Discord may also expand GitHub links into previews.

Example message text

acme/tool v2.4.0 — Faster local builds
Adds parallel dependency downloads.
https://github.com/acme/tool/releases/tag/v2.4.0

Small, stateful, self-hosted

How it works

Repo Rat checks releases, remembers what it has processed in SQLite, judges what matters, then delivers a report or writes a JSONL record.

GitHub releases flow through SQLite state and a significance judge, then to Discord or a local JSONL log.

A few GitHub settings

Your Discord, your watchlist.

Fork Repo Rat and let your own GitHub Actions workflow do the polling.

  1. Fork this repositoryKeep the workflow and config in your own copy.
  2. Add a webhook secretIn your fork, add DISCORD_WEBHOOK_URL under Settings → Secrets and variables → Actions → Secrets.
  3. Choose a watchlistOptionally set REPO_RAT_STARRED_USERNAME as an Actions variable to include that account's public starred repositories. The config file can also list repositories explicitly.
  4. Enable ActionsRun the workflow from the Actions tab; the first normal poll quietly seeds the baseline. Scheduled polling is off by default, so add a schedule trigger if you want it to run on its own.

Read the backfill warning · Read the full setup guide, including local installation

Before you click “backfill”

Historical releases can mean a lot of messages.

Backfill reports releases that an earlier normal poll seeded. It may send many messages at once, so leave it off for ordinary setup and use it only when you want those older reports.

Discord may expand GitHub URLs into rich link previews, which can make a busy backfill look even busier.

Open source. Your workflow.

Know what it keeps.

Repo Rat reads public release information and, if you opt in, a user's public starred repositories. Its checked-in SQLite state contains public release metadata and judgments, not webhook or API credentials. OPENAI_API_KEY is optional; without it, the heuristic judge still works.

Explore the architecture and data flow