General Questions
Why can't I use the default GITHUB_TOKEN?
Why can't I use the default GITHUB_TOKEN?
GITHUB_TOKEN provided by GitHub Actions has a limitation: it can only access the repository where the workflow is running.GitHub Star Tracker needs to:- Query all your repositories across your account or organization
- Access repository metadata and star counts
- Optionally fetch stargazer information
repo or public_repo scope.How often should I run the workflow?
How often should I run the workflow?
- Daily (most common): Good balance between freshness and API usage
- Weekly: For projects with slower growth
- Hourly: Only if you have very active repositories and need real-time tracking
Does this action count against my GitHub Actions minutes?
Does this action count against my GitHub Actions minutes?
- Free plan: 2,000 minutes/month
- Pro plan: 3,000 minutes/month
- Team plan: 10,000 minutes/month
- Enterprise: 50,000 minutes/month
- Without stargazer tracking: ~1-2 minutes per run
- With stargazer tracking: ~3-5 minutes per run
Is my data private?
Is my data private?
- Historical data is stored in a Git branch (
star-tracker-data) in your repository - If your repository is private, so is the data branch
- If your repository is public, the data branch is also public
- Repository names and star counts
- Timestamps of when snapshots were taken
- Optionally: Stargazer usernames and avatar URLs (if tracking enabled)
- No data is sent to external services
- No telemetry or analytics
- Your GitHub token is never logged or stored
Can I track organization repositories?
Can I track organization repositories?
owned visibility option to control whether to include organization repos.- Your PAT must have access to the organization
- For private org repos, use a Classic PAT with
reposcope, or - Use a Fine-grained PAT with resource owner set to the organization
What's the difference between Classic and Fine-grained tokens?
What's the difference between Classic and Fine-grained tokens?
- ✅ Simpler to set up
- ✅ Works with all organizations
- ⚠️ Broader permissions (all repos)
- Uses:
repoorpublic_reposcope
- ✅ More granular control
- ✅ Can limit to specific repositories
- ⚠️ More complex setup
- ⚠️ Not all organizations support them yet
Features & Functionality
Can I embed the charts in my README?
Can I embed the charts in my README?
- Charts automatically adapt to viewer’s theme preference
- No configuration needed
- Uses CSS
prefers-color-schememedia query
How does stargazer tracking work?
How does stargazer tracking work?
- List of new stargazers since last run
- GitHub usernames with avatar images
- Timestamps of when they starred
- Links to their profiles
- ⚠️ Requires additional API calls (one per repository)
- ⚠️ Slower workflow execution (3-5 minutes instead of 1-2)
- ⚠️ May hit rate limits if you have many repositories
What are the different notification threshold modes?
What are the different notification threshold modes?
notification-threshold setting controls when email notifications are sent.Options:| Value | Behavior | When to Use |
|---|---|---|
0 | Send on every change | You want to know about every star gained or lost |
N (number) | Send only when change ≥ N | Reduce noise, only significant changes (e.g., 5) |
auto | Adaptive threshold | Intelligent notifications based on repo activity |
- Small repos (< 100 stars): Threshold = 1
- Medium repos (100-1000): Threshold = 5
- Large repos (> 1000): Threshold = 10
Can I export data to Google Sheets or other tools?
Can I export data to Google Sheets or other tools?
star-tracker-data branch contains:snapshots.json: Historical datalatest.json: Most recent snapshot
- Import CSV to Google Sheets
- Send JSON to a webhook
- Store in a database
- Build custom dashboards
What languages are supported?
What languages are supported?
- 🇬🇧 English (
en) - default - 🇪🇸 Spanish (
es) - 🇮🇹 Italian (
it) - (Catalan) Catalan (
ca)
- Report headers and labels
- Email subject and body
- Chart titles and legends
- Notification messages
Can I track only specific repositories?
Can I track only specific repositories?
only-repos option to exclusively track certain repositories.Technical Questions
How much repository storage does this use?
How much repository storage does this use?
- Initial commit: ~50-100 KB
- Per snapshot: ~5-20 KB (depending on number of repos)
- Charts: ~50-150 KB total (SVG files)
- 52 weeks of history: Typically < 5 MB
- GitHub gives 1 GB free storage
- Average user: < 0.5% of quota
max-history setting (default: 52).Does this work with GitHub Enterprise Server (GHES)?
Does this work with GitHub Enterprise Server (GHES)?
- If running on a GHES runner, the API URL is detected automatically
- No configuration needed
- GHES version 3.0 or later
- PAT with appropriate permissions
What API rate limits apply?
What API rate limits apply?
| Type | Limit | Applies To |
|---|---|---|
| Authenticated | 5,000 requests/hour | Users with PAT |
| Unauthenticated | 60 requests/hour | Without token |
- Fetching repositories: 1-3 requests (paginated)
- Without stargazer tracking: ~1-5 requests total
- With stargazer tracking: ~1-5 + (1 per repository) requests
- 50 repositories, no stargazer tracking: ~5 requests
- 50 repositories, with stargazer tracking: ~55 requests
- Running daily: ~1,650 requests/month (well under 5,000/hour limit)
Can I run this action locally for testing?
Can I run this action locally for testing?
act (GitHub Actions emulator)- Enable debug logging: Add repository secret
ACTIONS_STEP_DEBUG=true - Set a near-term cron schedule for testing
- Revert to normal schedule after testing
How are charts generated?
How are charts generated?
- Built-in TypeScript chart generator
- No image processing libraries required
- Animated using SVG
<animate>elements - Dark/light mode via CSS media queries
- Star History: Line chart showing total stars over time
- Repository Comparison: Bar chart of top N repositories
- Growth Forecast: Predictive line chart with confidence intervals
- Fast generation (no dependencies to install)
- Small file size (50-150 KB)
- Scalable vector graphics (look sharp at any size)
- Accessible (can be read by screen readers)
What Node.js version is required?
What Node.js version is required?
- Development requires Node.js 24+
- Uses pnpm for package management
- See Contributing Guide for setup instructions
- No configuration needed
- GitHub Actions runners provide Node.js 24 automatically
Troubleshooting
Why are some repositories missing from reports?
Why are some repositories missing from reports?
-
Visibility filter
-
Minimum stars threshold
-
Archived repositories
-
Forked repositories
-
Exclusion patterns
Why aren't charts showing in my README?
Why aren't charts showing in my README?
-
Wrong URL format
-
Branch doesn’t exist yet
- Run the workflow at least once
- Check that it completed successfully
-
Private repository
- Images from private repos won’t display publicly
- Solution: Move to a public repo or use a different hosting method
-
Browser cache
- Force refresh: Ctrl+F5 (Windows/Linux) or Cmd+Shift+R (Mac)
- Add cache-busting:
?v=1at the end of the URL
Why am I not receiving email notifications?
Why am I not receiving email notifications?
- ✅ SMTP settings are correct
- ✅ Email credentials are in repository secrets
- ✅ Notification threshold is appropriate
- ✅ Check spam folder
- ✅ For Gmail: Use an App Password, not your account password