SkillAgentSearch skills...

Starcharts

Plot your repository stars over time.

Install / Use

/learn @caarlos0/Starcharts
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

starcharts

Build Status Coverage Status

Plot your repo stars over time!

Features

Smart Sampling Mode (Large Repository Optimization)

For large repositories with massive amounts of stars, this project uses Smart Sampling Mode to efficiently fetch star history data and render trend charts.

How it works:

  1. Auto Detection: First requests the first page of GitHub API data and parses the Link Header to get total page count
  2. Mode Switching:
    • When total pages ≤ maxSamplePages (default 15 pages, ~1500 stars), fetches all data
    • When total pages > maxSamplePages, automatically switches to sampling mode
  3. Uniform Sampling: Evenly selects sample points across all pages to ensure coverage of the complete star growth timeline
  4. Data Point Extraction: Extracts the timestamp and corresponding star count from the first Stargazer of each sampled page
  5. Trend Completion: Adds current time and total star count as the final data point to ensure the chart extends to the latest state

Usage

go run main.go

Then browse http://localhost:3000/me/myrepo .

Configuration

Configure via environment variables:

| Variable | Default | Description | |----------|---------|-------------| | REDIS_URL | redis://localhost:6379 | Redis cache URL | | GITHUB_TOKENS | - | GitHub API Token (supports multiple, comma-separated) | | GITHUB_PAGE_SIZE | 100 | Number of stars per page | | GITHUB_MAX_SAMPLE_PAGES | 15 | Max sample pages (triggers sampling mode when exceeded) | | GITHUB_MAX_RATE_LIMIT_USAGE | 80 | API Rate Limit usage threshold percentage | | LISTEN | 127.0.0.1:3000 | Server listen address |

Example

starcharts stargazers over time

View on GitHub
GitHub Stars1.4k
CategoryDevelopment
Updated22h ago
Forks140

Languages

Go

Security Score

85/100

Audited on Apr 5, 2026

No findings