Discover what’s actually heating up on GitHub — an unofficial, self-hostable alternative to github.com/trending.
Rank open-source repositories by star velocity (Δ stars) and commit health, filter noise (Awesome lists, zombie repos), and surface early movers before they hit the mainstream chart. Optional Product Hunt launch signals, transparent rules, RSS, and 11-language UI.
Not affiliated with GitHub, Inc. Community-maintained · MIT
Live demo → · Ranking rules · RSS feed
| Official GitHub Trending | GitHub Trending+ | |
|---|---|---|
| Ranking basis | Mostly recent stars in a window | Velocity (Δ stars) + Early Signal (relative growth under 5k stars) |
| Health & noise | Limited | Commit health, bus-factor hints, Awesome / shell filters |
| Cross-platform | GitHub only | Optional Product Hunt tab for launch-window signal |
| Transparency | Opaque | Published formulas on the About page |
| Self-host | N/A | Docker + Postgres, full monorepo |
Use it when you want a daily 3-minute scan of repos gaining traction now, not yesterday’s inertia.
- Velocity — absolute star gain for today / week / month / 6 months / year (UTC)
- Early Signal — high relative growth for repos under 5k stars
- Product Hunt — PH upvotes + launch dates; GitHub-linked and product-only entries
- Health & filters — commit activity, shell-risk hints, hide empty shells, language & topic filters
- Repo detail — star velocity copy, health panel, alternatives strip, PH badge when linked
- Compare — side-by-side alternatives with star-history deep links
- Fuzzy search — typo-tolerant keyword search over ingested repos (
pg_trgm) - RSS —
/feeds/all.xmlfor readers and automation - i18n — English, 中文, 日本語, 한국어, Español, Français, Deutsch, Português, Русский, العربية, हिन्दी
- Privacy-first favorites — browser
localStorageonly (no accounts, no server PII)
Requirements: Node.js 20+, pnpm 9+, Docker (local Postgres).
git clone https://github.com/korbinzhao/github-trending-plus.git
cd github-trending-plus
cp .env.example .env
# Edit .env: GITHUB_TOKEN, CRON_SECRET, DATABASE_URL
docker compose up -d
pnpm install
pnpm db:push
pnpm db:trgm
pnpm devOpen http://localhost:3000. Run a first ingest:
curl -X POST "http://localhost:3000/api/cron/ingest?ranking=true" \
-H "Authorization: Bearer $CRON_SECRET"Optional Product Hunt ingest (skips automatically when credentials are unset):
pnpm ph-ingest:once
# Historical PH backfill (one-time):
pnpm ph-backfill:onceSee docs/SELF_HOSTING.md for details and apps/web/README.md for API routes.
| Layer | Stack |
|---|---|
| App | Next.js 15 (App Router), React, next-intl |
| Data | PostgreSQL, Drizzle ORM, pg_trgm |
| Ingest | GitHub GraphQL API, optional Product Hunt API, OSS Insight backfill |
| Deploy | Vercel + Neon (guide) or self-hosted VPS |
| Package | Role |
|---|---|
apps/web |
Next.js UI + API routes + Cron entrypoints |
packages/core |
Ranking, health scoring, shared types |
packages/github |
GraphQL ingest, OSS Insight backfill |
packages/db |
Drizzle schema + Postgres client |
packages/producthunt |
Optional PH ingest & backfill |
Architecture: docs/ARCHITECTURE.md
| Doc | Purpose |
|---|---|
| docs/SELF_HOSTING.md | Local / VPS self-host |
| docs/DEPLOYMENT.md | Vercel + Neon production |
| docs/SECRET_AUDIT.md | Pre-release secret scan log |
| docs/RELEASE_CHECKLIST.md | Maintainer steps before/after going public |
Copy .env.example. Server-only (never NEXT_PUBLIC_*):
DATABASE_URL,GITHUB_TOKEN,CRON_SECRETPRODUCTHUNT_*(optional)NEXT_PUBLIC_SITE_URL(public canonical/RSS base URL only)
You are responsible for complying with each provider’s terms when operating an instance.
| Service | Required | Notes |
|---|---|---|
| GitHub GraphQL API | Yes (ingest) | Use a PAT with minimum read scopes for public repos. Respect GitHub Terms. |
| OSS Insight API | Optional (star-daily backfill) | Public API; throttled in code. Follow their usage policy. |
| Product Hunt API | Optional | Ingest skips when credentials are unset (ph_ingest_skipped). |
Trademark: Do not imply endorsement by GitHub. This project is community-maintained.
Ranking formula lives in packages/core (see About page). License field on cards reflects each repo’s SPDX, not this software’s MIT license.
If this project helps you discover repos faster, consider starring the repo and sharing the live demo — it helps other developers find it on GitHub search and awesome lists.
See CONTRIBUTING.md. Security issues: SECURITY.md.
MIT — Copyright (c) 2026 GitHub Trending+ Contributors.
