Sobre el proyecto

GitHub Trending Reporter es un pequeño proyecto de automatización que convierte la página diaria de GitHub Trending en un sitio de informes navegables y anotados por IA. En una ejecución programada, recopila la lista de repositorios en tendencia, busca detalles adicionales a través de la API de GitHub, solicita a un modelo de lenguaje extenso (LLM) que produzca resúmenes concisos y observaciones de tendencias, escribe los resultados como informes Markdown y datos JSON, y luego construye y despliega un sitio de Docusaurus en GitHub Pages. Toda la secuencia es impulsada por un flujo de trabajo de GitHub Actions, por lo que no se requiere ningún paso manual una vez configurados los secretos. Capacidades clave descritas en el README: - Raspado automático de GitHub Trending, con opciones para filtrar por lenguaje de programación y elegir rangos de tiempo diarios, semanales o mensuales. - Análisis opcional basado en LLM que añade un resumen escrito por IA (aproximadamente 15-25 caracteres) a cada entrada de repositorio. - Presentación visual a través de un front-end de Docusaurus, con informes almacenados como archivos Markdown y datos brutos almacenados como JSON. - Automatización de extremo a extremo a través de GitHub Actions, que cubre la recopilación, el enriquecimiento, el análisis, la generación de informes y el despliegue del sitio. - Un punto final de datos publicado, para que la misma salida JSON pueda ser consumida por agentes o aplicaciones externas en lugar de leerse solo en el sitio web. El repositorio está organizado en un lado de Python (main.py, trending_scraper.py, llm_analyzer.py, data_pusher.py, config.py, requirements.txt) y un lado de Docusaurus/Node (src, docusaurus.config.js, package.json), con reports/ y data/ conteniendo la salida generada y .github/workflows/daily_report.yml conteniendo el trabajo programado. Ejecutarlo localmente para la generación de informes requiere instalar las dependencias de Python, copiar .env.example a .env y proporcionar una clave de API, luego invocar main.py con los flags --local y --no-push. La vista previa del sitio web utiliza el flujo estándar de npm install y npm start. La configuración se realiza a través de variables de entorno para la clave del LLM, la URL base y el nombre del modelo, además de tokens de GitHub utilizados para obtener información detallada del repositorio y para enviar los datos generados. Se esperan los mismos valores como secretos de GitHub Actions. Las opciones de línea de comandos incluyen un filtro de lenguaje, una opción 'since' para la ventana de tendencias, flags para omitir el envío o guardar localmente, un parámetro de fecha explícito en formato AAAA-MM-DD y un interruptor para omitir el análisis detallado por proyecto. Para integraciones, el proyecto documenta dos patrones de URL: una página de informe HTML bajo reports/AAAA/MM/AAAA-MM-DD y un archivo JSON bruto bajo data/AAAA/MM/AAAA-MM-DD.json. La carga útil de JSON contiene la fecha, la marca de tiempo de generación, el recuento total de repositorios y un array de repositorios con campos como full_name, url, description, llm_summary, language, stars, stars_today, forks, topics y license. Un breve ejemplo de Python muestra cómo obtener ese JSON con requests e imprimir las entradas principales. El README acredita al proyecto ai-git-trending como su inspiración y establece que su enfoque de raspado, flujo de trabajo de análisis de LLM, esquema de generación de informes y arquitectura general sirvieron como referencias. Los enlaces relacionados apuntan a GitHub Trending, Docusaurus y ese proyecto fuente. El stack se describe como Python más Docusaurus.