About this project

GitHub Trending Reporter is a small automation project that turns the daily GitHub Trending page into a browsable, AI-annotated report site. On a scheduled run it collects the trending repository list, looks up additional details through the GitHub API, asks a large language model to produce concise summaries and trend observations, writes the results as Markdown reports and JSON data, and then builds and deploys a Docusaurus site to GitHub Pages. The whole sequence is driven by a GitHub Actions workflow, so no manual step is required once secrets are configured. Key capabilities described in the README: - Automatic scraping of GitHub Trending, with options to filter by programming language and to choose daily, weekly or monthly time ranges. - Optional LLM-based analysis that adds an AI-written summary (roughly 15-25 characters) to each repository entry. - Visual presentation through a Docusaurus front end, with reports stored as Markdown files and raw data stored as JSON. - End-to-end automation via GitHub Actions, covering collection, enrichment, analysis, report generation and site deployment. - A published data endpoint, so the same JSON output can be consumed by external agents or applications rather than only read on the website. The repository is organised into a Python side (main.py, trending_scraper.py, llm_analyzer.py, data_pusher.py, config.py, requirements.txt) and a Docusaurus/Node side (src, docusaurus.config.js, package.json), with reports/ and data/ holding generated output and .github/workflows/daily_report.yml holding the scheduled job. Running it locally for report generation requires installing the Python dependencies, copying .env.example to .env and supplying an API key, then invoking main.py with the --local and --no-push flags. Website preview uses the standard npm install and npm start flow. Configuration is through environment variables for the LLM key, base URL and model name, plus GitHub tokens used for fetching detailed repository information and for pushing generated data. The same values are expected as GitHub Actions secrets. Command-line options include a language filter, a since option for the trending window, flags to skip pushing or to save locally, an explicit date parameter in YYYY-MM-DD form, and a switch to skip per-project detailed analysis. For integrations, the project documents two URL patterns: an HTML report page under reports/YYYY/MM/YYYY-MM-DD and a raw JSON file under data/YYYY/MM/YYYY-MM-DD.json. The JSON payload contains the date, generation timestamp, total repository count and a repository array with fields such as full_name, url, description, llm_summary, language, stars, stars_today, forks, topics and license. A short Python example shows fetching that JSON with requests and printing the top entries. The README credits the project ai-git-trending as its inspiration and states that its scraping approach, LLM analysis workflow, report generation scheme and overall architecture served as references. Related links point to GitHub Trending, Docusaurus and that source project. The stack is described as Python plus Docusaurus.