Skip to content

Repository files navigation

Release Monitor

A Slack bot that monitors repositories for new releases and posts updates to your channels.

  • Periodic digest - one message per channel per configured interval, grouped by repo
  • Immediate notifications - get notified right away for every new stable release
  • Instant security alerts - security releases are posted immediately to all subscribers regardless of their notification mode
  • Per-channel subscriptions - each channel manages its own list independently

Commands

Command Description
/releases add github owner/repo [mode] Subscribe this channel to a repository
/releases remove github owner/repo Unsubscribe this channel
/releases modify mode github owner/repo <mode> Change the notification mode of an existing subscription
/releases list Show all subscriptions in this channel

Notification modes

Mode Behaviour
digest Batched into the periodic digest (default)
immediately Posted as soon as a new stable release is discovered
security-only Only security releases are posted immediately; others are skipped entirely

Installation

See installation.md for a full setup guide.

Development

Dev dependencies are hosted on GitHub Packages. Create an .npmrc with a GitHub PAT that has the read:packages scope:

@aboutbits:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN
bun install
bun run dev          # hot reload
bun test             # run tests
bun run db:generate  # generate migrations after schema changes
bun run db:migrate   # apply migrations manually

Migrations are also applied automatically on startup, so db:migrate is only needed when running outside of the app (e.g. to inspect the schema before starting).

All tables live in the main PostgreSQL schema (hardcoded in src/db/schema.ts and drizzle.config.ts). The public schema is intentionally avoided: it is on every role's default search_path and has historically been a namespace-pollution and privilege-escalation vector. To use a different schema, change the string in both files and regenerate the migrations with bun run db:generate.

Deployment

The app ships as a Docker image. Migrations run automatically on startup.

docker run -d \
  --env-file .env \
  --restart unless-stopped \
  ghcr.io/aboutbits/aboutbits-release-monitor:latest

About

A Slack bot that monitors repositories for new releases and posts updates to your channels.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages