cheergo

module
v0.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2025 License: ISC

README

Cheergo

Stay in the loop when your projects get noticed.

Cheergo notifies you when your GitHub repositories are starred or followed, so you never miss a moment of recognition.

Build status  License 

✨ Why Cheergo?

Ever wondered who’s cheering for your open source work? Cheergo keeps you connected to your community by sending you notifications whenever someone stars or follows your repositories. Whether you’re a solo dev or part of a team, Cheergo helps you celebrate every milestone.

🚀 Features

  • Flexible delivery: Send alerts to email, Telegram, Slack, Discord, and more (powered by Shoutrrr)
  • Smart summaries: Get concise, AI-generated notifications with OpenAI/OpenRouter (optional)
  • Easy setup: Configure via CLI flags or environment variables

🛠️ How It Works

  1. Cheergo checks your GitHub account for new stars and followers.
  2. It compares the latest state with your previous data (stored locally in a YAML file).
  3. When it detects something new, it crafts a notification, optionally using an LLM for a smart summary.
  4. The message is sent to your chosen channel via Shoutrrr.

📦 Installation

Recommended: Download the latest binary from the releases page.

Or build from source:

go install github.com/eikendev/cheergo/cmd/...@latest

⚡ Quick Start

  1. Set up your notification channel (see Shoutrrr docs for supported services).

  2. Run cheergo with your GitHub username and Shoutrrr URL:

cheergo run --github-user YOUR_GITHUB_USERNAME --shoutrrr-url YOUR_SHOUTRRR_URL
  1. To enable AI-powered summaries, add your OpenAI/OpenRouter API key:
cheergo run --github-user ... --shoutrrr-url ... --llm-api-key YOUR_API_KEY

All options can also be set via environment variables (see below).

⚙️ Configuration

Option CLI Flag Env Variable Default Description
Storage file --storage CHEERGO_STORAGE storage.yml Path to local storage file
Shoutrrr URL --shoutrrr-url CHEERGO_SHOUTRRR_URL (required) Notification channel URL
GitHub user --github-user CHEERGO_GITHUB_USER (required) GitHub username to monitor
LLM API key --llm-api-key CHEERGO_LLM_API_KEY (optional) OpenAI/OpenRouter API key for summaries
LLM base URL --llm-base-url CHEERGO_LLM_BASE_URL https://openrouter.ai/api/v1 LLM API endpoint
LLM model --llm-model CHEERGO_LLM_MODEL google/gemini-2.5-flash-lite-preview-06-17 LLM model to use
Verbose logging --verbose CHEERGO_VERBOSE false Enable debug logging

🔔 Supported Notification Channels

Cheergo uses Shoutrrr for notifications, supporting:

  • Email (SMTP)
  • Telegram
  • Slack
  • Discord
  • Microsoft Teams
  • Matrix
  • Rocket.Chat
  • ...and many more!

Just provide the appropriate Shoutrrr URL for your service.

🧩 Libraries Used

Directories

Path Synopsis
cmd
cheergo command
Package main is the entry point for the cheergo CLI tool.
Package main is the entry point for the cheergo CLI tool.
internal
commands
Package commands contains functions that are exposed as dedicated commands of the tool.
Package commands contains functions that are exposed as dedicated commands of the tool.
diff
Package diff provides functionality to analyze updates.
Package diff provides functionality to analyze updates.
logging
Package logging provides utilities for configuring and managing application logging.
Package logging provides utilities for configuring and managing application logging.
notify
Package notify provides notification delivery mechanisms.
Package notify provides notification delivery mechanisms.
repository
Package repository provides functionality related to a GitHub repository.
Package repository provides functionality related to a GitHub repository.
storage
Package storage provides convenience functions related to the file system.
Package storage provides convenience functions related to the file system.
summarizer
Package summarizer provides interfaces and implementations for generating human-readable summaries of repository changes.
Package summarizer provides interfaces and implementations for generating human-readable summaries of repository changes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL