How TrueStars works
What it ranks
Every day TrueStars ranks the GitHub repos that gained the most stars the day before (the ranking) and lays them out to browse on Explore. It shows whether each one is rising, at its peak or cooling, the reasons it may be trending that we can see, and a check for signs that its stars are not real. Days run midnight to midnight US Pacific time, the same days GitHub uses.
Where the numbers come from
Finding repos. Each run looks at new repos with the most stars this month and this week, and at the most-starred repos created on each of the last three days, so new risers show up early (GitHub search). It also looks at the repos starred most often in the last 24 hours of GH Archive, a public log of GitHub activity. GH Archive now records only a sample of stars, so it is used only to find repos, never to count.
Counting stars. Daily star counts come from GitHub's star-history API, so they are exact.
Rising, at its peak, steady or cooling
Each repo is compared with its own best day, using full days only:
- At its peak: the ranking day was its best day so far. We keep 13 weeks of daily counts, so for an older repo it says At a 3-month high.
- Rising: below its best day, but at least 1.5 times its average over the 3 days before, and at least 20 stars more.
- Cooling: under 80% of its best day in the 7 days before.
- Steady: none of these.
A run is the days in a row with at least 10% of the repo's best day: “day 4 of its run” counts them. A second wave means it is back above half its best day after dropping below a quarter of it. Most runs are short: in our data a new repo's best day comes a median of 2 days after it is created, and half of that is gone 2 days later.
Rising now
The list at the top of the ranking shows repos getting at least 3 times their usual daily stars (their average over the 7 days before, counted as at least 5), and at least 50 stars: on the last full day, or at today's pace once a fifth of the day has passed. It is refreshed on both daily updates. Tested on our own history, this rule picked out 23 of Nov 3's top 30 a median of two days before their best day. It says a repo is speeding up, not that it will trend.
Why a repo may be trending
Each repo shows the reasons we can see:
- a Hacker News post with 20+ points in the last 14 days, with how much its stars jumped after it;
- a YouTube video from the last 30 days with 1,000+ views whose description links the repo, with how much its stars jumped after it when the video had more views than the stars that came after it;
- 20+ posts on X that linked the repo in the last 7 days, reposts not counted;
- 5+ posts on Bluesky that linked the repo in the last 7 days;
- a release in the last week, shown only when a day after it brought at least 2 times the repo's usual daily stars;
- a wave: 3 or more repos in the ranking that share a GitHub topic, such as DeepSeek Harness, agent skills or Claude Code;
- a repo created in the last two weeks (“Brand new”) or the last 30 days (“Launched N days ago”);
- an owner that is a well-known company or AI lab, or a person with 1,000+ followers.
YouTube and X are checked once a day for the top 60 and top 50 repos, and Bluesky for up to 200 repos with no red flags, through their official APIs. Stars also come from places we can't see, such as Reddit, Discord and newsletters, so a repo with no reason shown may still have a good one.
The star charts on Explore and the repo pages mark these on the day they happened: Hacker News posts with 5+ points, YouTube videos, releases and days with Bluesky posts. The dashed outline on today's bar is the pace it is on by midnight Pacific.
Explore and TrueStars Heat
The home page, Explore, shows the repos with no red flags on shelves (speeding up, just launched, best day yet, waves and more), ordered by TrueStars Heat: our own score, from 0 to 100, of how hot a repo is right now and whether it keeps going. It adds four parts:
- Stars now, up to 50. Stars on the last full day, or today's pace once a fifth of the day has passed. 10 a day scores 0 and 3,000 or more scores 50; each tenfold step adds the same.
- Speeding up, up to 15. That pace against its average over the 7 days before. Its usual pace or slower scores 0, ten times or more scores 15.
- Staying power, up to 20. How much of the last 7 full days' stars came outside the best of them. A one-day spike scores 0; seven even days score 20.
- Still climbing, up to 15. At its peak 15, rising 12, steady 6, cooling 0.
Staying power was added on Nov 5, 2026, after the daily.dev article on spotting rising repos early: growth week after week says more than a one-day spike.
The fake-star check
GitHub no longer shows who starred a repo, so the check uses what is still public. Real projects usually draw forks, watchers and issues along with their stars; bought stars usually come alone. A repo gets a red flag when:
- it has fewer than 1 fork per 100 stars,
- fewer than 0.5 issues or pull requests per 1,000 stars (when issues are turned on),
- fewer than 0.5 watchers per 1,000 stars, or
- its stars stopped dead: a day with 100+ stars, then, within two days, under 1% of that a day. Real interest fades over several days.
Forks and watchers are checked from 50 stars up, issues and pull requests from 300. An owner account younger than 90 days, an owner with no followers, or fewer than 3 commits is normal for an honest launch, so those count only when one of the checks above also fails.
Repos with 2 or more red flags are left out of the ranking. Those with 300 stars or more stay visible under “Has red flags”. A flag is a reason to look closer, not proof of cheating. We never call a repo fake.
The badge
Every repo that makes the ranking gets a page and a badge showing its best daily rank. The badge updates itself every day. Copy it from the repo's page.
Not affiliated with GitHub
TrueStars is independent and uses GitHub's public API.