Skip to content
Ferran Buireu edited this page Feb 15, 2026 · 7 revisions

⭐ GitHub Star Tracker

Track star count changes across your repositories — automatically and get notified!

GitHub Star Tracker is a GitHub Action that monitors star counts across all your repositories, generates historical reports with charts and forecasts, and optionally sends email notifications when activity is detected.


What It Does

  • Fetches star counts for your repos via the GitHub API
  • Compares against the previous snapshot to compute deltas
  • Generates a Markdown report, SVG badge, animated SVG charts, and an HTML email digest
  • Commits everything to an isolated data branch (your main branch is never touched)
  • Optionally tracks individual stargazers and produces growth forecasts
  • Sends email notifications when thresholds are met

Quick Navigation

Page Description
Getting Started Token setup, first workflow, first run
How It Works Execution flow, architecture, data pipeline
Technical Stack Technologies, design decisions, DDD layers
Personal Access Token (PAT) Classic & fine-grained token creation
Configuration All available options, file-based config, precedence
API Reference Complete inputs, outputs, and data formats
Examples Real-world workflows and advanced recipes
Star Trend Charts SVG charts, QuickChart URLs, chart types
Email Notifications Built-in SMTP and external action setup
Viewing Reports Data branch, badges, action outputs
Data Management Snapshots, history rotation, generated files
Internationalization (i18n) Multi-language support (en, es, ca, it)
Known Limitations Technical constraints and design trade-offs
Troubleshooting Common issues and solutions

Key Features

Tracking & Automation

  • Automated scheduling (daily, weekly, or on-demand)
  • Up to 52 weeks of historical star data (configurable)
  • Smart filters: visibility, archived, forks, regex exclusions, min-stars, whitelist
  • Individual stargazer tracking (opt-in)
  • Growth forecasts using linear regression and weighted moving average

Reports & Visualizations

  • Animated SVG charts committed to the data branch (star history, per-repo, comparison, forecast)
  • QuickChart.io URLs in HTML email reports
  • SVG star count badge
  • Markdown and HTML report formats

Notifications

  • Built-in SMTP email support
  • Configurable notification thresholds: every run, every N stars, or adaptive (auto)
  • Compatible with external notification actions (Slack, Discord, etc.)

Developer Experience

  • Multi-language: English, Spanish, Catalan, Italian
  • Flexible config: action inputs, YAML file, or both
  • Action outputs for downstream workflow steps
  • 100% TypeScript with strict mode, 95%+ test coverage, zero runtime deps (bundled)

Minimal Setup

name: Track Stars
on:
  schedule:
    - cron: '0 0 * * *'
  workflow_dispatch:

permissions:
  contents: write

jobs:
  track:
    runs-on: ubuntu-latest
    steps:
      - uses: fbuireu/github-star-tracker@v1
        with:
          github-token: ${{ secrets.GITHUB_STAR_TRACKER_TOKEN }}

Note: GITHUB_STAR_TRACKER_TOKEN must be a Personal Access Token with repo or public_repo scope. The default GITHUB_TOKEN is not sufficient.

See Getting Started for the full setup walkthrough.


License

AGPL-3.0 — Made by Ferran Buireu

Clone this wiki locally