Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/fbuireu/github-star-tracker/llms.txt

Use this file to discover all available pages before exploring further.

This page documents all available action inputs for GitHub Star Tracker. You can configure these in your workflow’s with: section.

Required Inputs

github-token
string
required
Personal Access Token (PAT) with repo or public_repo scope.Important: The default GITHUB_TOKEN does not work because it cannot push to protected branches or access all repositories.
with:
  github-token: ${{ secrets.PAT_TOKEN }}
Store your PAT as a repository secret and never commit it directly to your code.

GitHub Configuration

github-api-url
string
default:""
GitHub API base URL for GitHub Enterprise Server (e.g., https://github.example.com/api/v3).Auto-detected on GHES runners. Only needed if you’re using GitHub Enterprise Server.
with:
  github-api-url: https://github.example.com/api/v3
config-path
string
default:"star-tracker.yml"
Path to the configuration file (relative to repository root).
with:
  config-path: .github/star-tracker.yml

Repository Filtering

These inputs override corresponding values in the configuration file.
visibility
string
default:"all"
Repository visibility filter. Available options:
  • public - Only public repositories
  • private - Only private repositories
  • all - Both public and private repositories
  • owned - Only repositories you own (excludes organization repos where you’re a member)
with:
  visibility: public
include-archived
boolean
default:"false"
Include archived repositories in tracking.
with:
  include-archived: true
include-forks
boolean
default:"false"
Include forked repositories in tracking.
with:
  include-forks: true
exclude-repos
string
default:""
Comma-separated list of repository names or regex patterns to exclude.Regular expressions must be wrapped in forward slashes with optional flags: /pattern/flags
with:
  exclude-repos: old-repo, /^test-.*/, /^draft/i
Examples:
  • old-repo - Exact match
  • /^test-.*/ - Repos starting with “test-”
  • /draft/i - Repos containing “draft” (case-insensitive)
only-repos
string
default:""
Comma-separated list of repository names to exclusively track.When set, only these repositories will be tracked (ignoring all other filters).
with:
  only-repos: my-main-repo, my-other-repo
When only-repos is set, all other filtering options (visibility, include-archived, etc.) are ignored.
min-stars
number
default:"0"
Only track repositories with at least this many stars.
with:
  min-stars: 5

Data Storage

data-branch
string
default:"star-tracker-data"
Branch name for storing tracking data and historical snapshots.
with:
  data-branch: star-tracker-data
This branch is automatically created and managed by the action.
max-history
number
default:"52"
Maximum number of snapshots to keep in history.Older snapshots are automatically removed. Default is 52 (one year of weekly runs).
with:
  max-history: 100

Reports and Charts

include-charts
boolean
default:"true"
Include SVG charts in reports.Charts include:
  • Star history timeline
  • Repository comparison
  • Growth forecast
  • Individual repository trends
with:
  include-charts: false
locale
string
default:"en"
Language for reports and emails.Available locales:
  • en - English (English)
  • es - Spanish (Español)
  • ca - Catalan (Català)
  • it - Italian (Italiano)
with:
  locale: es
top-repos
number
default:"10"
Number of top repositories to feature in charts and forecasts (ranked by star count).
with:
  top-repos: 15
track-stargazers
boolean
default:"false"
Track individual stargazers and show new ones in reports.When enabled, the action will:
  • Track who stars your repositories
  • Show new stargazers since the last run
  • Include stargazer information in reports
with:
  track-stargazers: true
Tracking stargazers increases API calls and may take longer for repositories with many stars.

Email Notifications

smtp-host
string
default:""
SMTP server host. Providing this enables built-in email notifications.
with:
  smtp-host: smtp.gmail.com
smtp-port
number
default:"587"
SMTP server port.Common ports:
  • 587 - TLS/STARTTLS (recommended)
  • 465 - SSL
  • 25 - Unencrypted (not recommended)
with:
  smtp-port: 587
smtp-username
string
default:""
SMTP authentication username.
with:
  smtp-username: ${{ secrets.SMTP_USERNAME }}
smtp-password
string
default:""
SMTP authentication password.
with:
  smtp-password: ${{ secrets.SMTP_PASSWORD }}
Always store SMTP credentials as GitHub secrets.
email-to
string
default:""
Email recipient address.
with:
  email-to: [email protected]
email-from
string
default:"GitHub Star Tracker"
Email sender name or address.
with:
  email-from: Star Tracker <[email protected]>
send-on-no-changes
boolean
default:"false"
Send email even when no star changes are detected.
with:
  send-on-no-changes: true
notification-threshold
string
default:"auto"
Star change threshold before sending notification.Options:
  • 0 - Send on every run (regardless of changes)
  • <number> - Send when stars change by at least this amount (e.g., 5)
  • auto - Adaptive threshold based on total stars and history
with:
  notification-threshold: 5
The auto mode intelligently adjusts the threshold based on your repository activity patterns.

Complete Example

Here’s a workflow with all commonly used inputs:
.github/workflows/star-tracker.yml
name: Track GitHub Stars

on:
  schedule:
    - cron: '0 0 * * 0'  # Weekly on Sunday at midnight
  workflow_dispatch:

jobs:
  track:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        
      - name: Track stars
        uses: fbuireu/github-star-tracker@v2
        with:
          # Required
          github-token: ${{ secrets.PAT_TOKEN }}
          
          # Repository filtering
          visibility: public
          include-archived: false
          include-forks: false
          min-stars: 5
          
          # Data storage
          data-branch: star-tracker-data
          max-history: 52
          
          # Reports
          include-charts: true
          locale: en
          top-repos: 10
          track-stargazers: true
          
          # Email notifications
          smtp-host: smtp.gmail.com
          smtp-port: 587
          smtp-username: ${{ secrets.SMTP_USERNAME }}
          smtp-password: ${{ secrets.SMTP_PASSWORD }}
          email-to: [email protected]
          email-from: Star Tracker
          notification-threshold: auto

Next Steps

Filtering

Learn advanced repository filtering techniques

Notifications

Configure email notifications and thresholds

Build docs developers (and LLMs) love