-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Feature: Add GitHub as a first-class data source #134
Description
Summary
Add GitHub as a dedicated data source alongside Reddit, X/Twitter, YouTube, HN, etc. Currently GitHub content only surfaces incidentally through Web Search results — there's no structured search of GitHub Issues, Discussions, PRs, trending repos, or release notes.
Motivation
For developer/tech-oriented topics, GitHub is often the primary signal source:
- Issues & Discussions — real-time bug reports, feature debates, and community sentiment (e.g., "What are people complaining about in framework X?")
- Trending repos — what's gaining traction right now
- Release notes / tags — track what shipped in the last 30 days
- PRs & commits — understand velocity and direction of a project
For a research tool focused on "what happened in the last 30 days", missing GitHub means missing a huge chunk of the developer conversation.
Proposed Approach
-
Zero-config baseline — Use the GitHub Search API (unauthenticated: 10 req/min, authenticated via
gh auth: 30 req/min). Search Issues, Discussions, and repos filtered bycreated:>YYYY-MM-DDorpushed:>YYYY-MM-DD. -
Optional env var —
GITHUB_TOKENin~/.config/last30days/.envfor higher rate limits and private repo access. -
Search strategies by topic type:
- General topic (e.g., "AI agents"): search repos by stars/recent activity + trending
- Specific project (e.g., "langchain"): search Issues, Discussions, PRs, releases in that repo
- Ecosystem scan (e.g., "Rust async"): combine repo search + issue search across multiple repos
-
Output signals:
- Top Issues/Discussions by reactions (👍, ❤️, 🚀)
- New releases with changelogs
- Trending repos (stars gained in period)
- Notable PRs (merged, high discussion)
Prior Art
The gh CLI and GitHub REST/GraphQL APIs make this straightforward. The skill already shells out to external tools (yt-dlp, bird-cli), so calling gh or curl to the API fits the existing pattern.
Compatibility
- No new dependencies if using
ghCLI (widely installed) - Falls back gracefully if
ghnot available (skip source, like other optional sources) - Fits the existing progressive unlock model: works without auth, better with
GITHUB_TOKEN