Skip to content

Feature: Add GitHub as a first-class data source #134

@zerone0x

Description

@zerone0x

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

  1. 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 by created:>YYYY-MM-DD or pushed:>YYYY-MM-DD.

  2. Optional env varGITHUB_TOKEN in ~/.config/last30days/.env for higher rate limits and private repo access.

  3. 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
  4. 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 gh CLI (widely installed)
  • Falls back gracefully if gh not available (skip source, like other optional sources)
  • Fits the existing progressive unlock model: works without auth, better with GITHUB_TOKEN

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions