{"id":50794388,"url":"https://github.com/korbinjoe/trending8","last_synced_at":"2026-06-12T13:31:57.826Z","repository":{"id":359265185,"uuid":"1242564077","full_name":"korbinjoe/trending8","owner":"korbinjoe","description":"What's actually hot on GitHub right now? A 3-minute daily feed of repos gaining momentum—early gems included, junk filtered. Free \u0026 self-hostable.","archived":false,"fork":false,"pushed_at":"2026-06-08T02:46:43.000Z","size":1040,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-08T04:22:35.895Z","etag":null,"topics":["developer-tools","github","github-trending","open-source","postgresql","repository-analytics","stars","trending","typescript"],"latest_commit_sha":null,"homepage":"https://trending8.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/korbinjoe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":null,"buy_me_a_coffee":"korbinzhao","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"thanks_dev":null,"custom":null}},"created_at":"2026-05-18T14:39:51.000Z","updated_at":"2026-06-08T02:46:47.000Z","dependencies_parsed_at":"2026-05-21T11:02:36.716Z","dependency_job_id":null,"html_url":"https://github.com/korbinjoe/trending8","commit_stats":null,"previous_names":["korbinzhao/github-trending-plus","korbinjoe/github-trending-plus","korbinjoe/trending8"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/korbinjoe/trending8","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korbinjoe%2Ftrending8","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korbinjoe%2Ftrending8/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korbinjoe%2Ftrending8/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korbinjoe%2Ftrending8/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/korbinjoe","download_url":"https://codeload.github.com/korbinjoe/trending8/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/korbinjoe%2Ftrending8/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34247461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["developer-tools","github","github-trending","open-source","postgresql","repository-analytics","stars","trending","typescript"],"created_at":"2026-06-12T13:31:57.692Z","updated_at":"2026-06-12T13:31:57.764Z","avatar_url":"https://github.com/korbinjoe.png","language":"TypeScript","funding_links":["https://buymeacoffee.com/korbinzhao"],"categories":[],"sub_categories":[],"readme":"# GitHub Trending+\n\n[![CI](https://github.com/korbinzhao/github-trending-plus/actions/workflows/ci.yml/badge.svg)](https://github.com/korbinzhao/github-trending-plus/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)\n[![Live Demo](https://img.shields.io/badge/demo-live-22c55e)](https://github-trending-plus-web.vercel.app)\n[![Node](https://img.shields.io/badge/node-%3E%3D20-339933)](./package.json)\n\n**Discover what’s actually heating up on GitHub** — an unofficial, self-hostable alternative to [github.com/trending](https://github.com/trending).\n\nRank 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.\n\n\u003e Not affiliated with GitHub, Inc. Community-maintained · [MIT](./LICENSE)\n\n![GitHub Trending+ homepage — velocity, early signal, and Product Hunt feeds](./docs/images/homepage.png)\n\n**[Live demo →](https://github-trending-plus-web.vercel.app)** · **[Ranking rules](https://github-trending-plus-web.vercel.app/about)** · **[RSS feed](https://github-trending-plus-web.vercel.app/feeds/all.xml)**\n\n---\n\n## Why not just GitHub Trending?\n\n| | Official GitHub Trending | GitHub Trending+ |\n|---|--------------------------|------------------|\n| Ranking basis | Mostly recent stars in a window | **Velocity** (Δ stars) + **Early Signal** (relative growth under 5k stars) |\n| Health \u0026 noise | Limited | Commit health, bus-factor hints, **Awesome / shell filters** |\n| Cross-platform | GitHub only | Optional **Product Hunt** tab for launch-window signal |\n| Transparency | Opaque | Published formulas on the About page |\n| Self-host | N/A | **Docker + Postgres**, full monorepo |\n\nUse it when you want a **daily 3-minute scan** of repos gaining traction *now*, not yesterday’s inertia.\n\n---\n\n## Features\n\n- **Velocity** — absolute star gain for today / week / month / 6 months / year (UTC)\n- **Early Signal** — high relative growth for repos under 5k stars\n- **Product Hunt** — PH upvotes + launch dates; GitHub-linked and product-only entries\n- **Health \u0026 filters** — commit activity, shell-risk hints, hide empty shells, language \u0026 topic filters\n- **Repo detail** — star velocity copy, health panel, alternatives strip, PH badge when linked\n- **Compare** — side-by-side alternatives with star-history deep links\n- **Fuzzy search** — typo-tolerant keyword search over ingested repos (`pg_trgm`)\n- **RSS** — `/feeds/all.xml` for readers and automation\n- **i18n** — English, 中文, 日本語, 한국어, Español, Français, Deutsch, Português, Русский, العربية, हिन्दी\n- **Privacy-first favorites** — browser `localStorage` only (no accounts, no server PII)\n\n---\n\n## Quick start\n\n**Requirements:** Node.js 20+, pnpm 9+, Docker (local Postgres).\n\n```bash\ngit clone https://github.com/korbinzhao/github-trending-plus.git\ncd github-trending-plus\ncp .env.example .env\n# Edit .env: GITHUB_TOKEN, CRON_SECRET, DATABASE_URL\n\ndocker compose up -d\npnpm install\npnpm db:push\npnpm db:trgm\npnpm dev\n```\n\nOpen http://localhost:3000. Run a first ingest:\n\n```bash\ncurl -X POST \"http://localhost:3000/api/cron/ingest?ranking=true\" \\\n  -H \"Authorization: Bearer $CRON_SECRET\"\n```\n\nOptional Product Hunt ingest (skips automatically when credentials are unset):\n\n```bash\npnpm ph-ingest:once\n# Historical PH backfill (one-time):\npnpm ph-backfill:once\n```\n\nSee [docs/SELF_HOSTING.md](./docs/SELF_HOSTING.md) for details and [apps/web/README.md](./apps/web/README.md) for API routes.\n\n---\n\n## Tech stack\n\n| Layer | Stack |\n|-------|--------|\n| App | Next.js 15 (App Router), React, next-intl |\n| Data | PostgreSQL, Drizzle ORM, `pg_trgm` |\n| Ingest | GitHub GraphQL API, optional Product Hunt API, OSS Insight backfill |\n| Deploy | Vercel + Neon ([guide](./docs/DEPLOYMENT.md)) or self-hosted VPS |\n\n---\n\n## Monorepo layout\n\n| Package | Role |\n|---------|------|\n| `apps/web` | Next.js UI + API routes + Cron entrypoints |\n| `packages/core` | Ranking, health scoring, shared types |\n| `packages/github` | GraphQL ingest, OSS Insight backfill |\n| `packages/db` | Drizzle schema + Postgres client |\n| `packages/producthunt` | Optional PH ingest \u0026 backfill |\n\nArchitecture: [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md)\n\n---\n\n## Documentation\n\n| Doc | Purpose |\n|-----|---------|\n| [docs/SELF_HOSTING.md](./docs/SELF_HOSTING.md) | Local / VPS self-host |\n| [docs/DEPLOYMENT.md](./docs/DEPLOYMENT.md) | Vercel + Neon production |\n| [docs/SECRET_AUDIT.md](./docs/SECRET_AUDIT.md) | Pre-release secret scan log |\n| [docs/RELEASE_CHECKLIST.md](./docs/RELEASE_CHECKLIST.md) | Maintainer steps before/after going public |\n\n---\n\n## Environment variables\n\nCopy [`.env.example`](./.env.example). **Server-only** (never `NEXT_PUBLIC_*`):\n\n- `DATABASE_URL`, `GITHUB_TOKEN`, `CRON_SECRET`\n- `PRODUCTHUNT_*` (optional)\n- `NEXT_PUBLIC_SITE_URL` (public canonical/RSS base URL only)\n\n---\n\n## Third-party services \u0026 compliance\n\nYou are responsible for complying with each provider’s terms when operating an instance.\n\n| Service | Required | Notes |\n|---------|----------|-------|\n| [GitHub GraphQL API](https://docs.github.com/en/graphql) | Yes (ingest) | Use a PAT with **minimum read scopes** for public repos. Respect [GitHub Terms](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service). |\n| [OSS Insight API](https://ossinsight.io/) | Optional (star-daily backfill) | Public API; throttled in code. Follow their usage policy. |\n| [Product Hunt API](https://api.producthunt.com/v2/docs) | Optional | Ingest skips when credentials are unset (`ph_ingest_skipped`). |\n\n**Trademark:** Do not imply endorsement by GitHub. This project is community-maintained.\n\nRanking formula lives in `packages/core` (see About page). License field on cards reflects **each repo’s** SPDX, not this software’s MIT license.\n\n---\n\n## Star \u0026 share\n\nIf this project helps you discover repos faster, consider **starring the repo** and sharing the [live demo](https://github-trending-plus-web.vercel.app) — it helps other developers find it on GitHub search and awesome lists.\n\n---\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md). Security issues: [SECURITY.md](./SECURITY.md).\n\n## License\n\n[MIT](./LICENSE) — Copyright (c) 2026 GitHub Trending+ Contributors.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkorbinjoe%2Ftrending8","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkorbinjoe%2Ftrending8","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkorbinjoe%2Ftrending8/lists"}