इस प्रोजेक्ट के बारे में

GitHub Trending Reporter एक छोटा ऑटोमेशन प्रोजेक्ट है जो दैनिक GitHub Trending पेज को एक ब्राउज़ करने योग्य, AI-एनोटेटेड रिपोर्ट साइट में बदल देता है। एक निर्धारित रन पर, यह ट्रेंडिंग रिपॉजिटरी सूची एकत्र करता है, GitHub API के माध्यम से अतिरिक्त विवरण खोजता है, संक्षिप्त सारांश और ट्रेंड अवलोकन तैयार करने के लिए एक लार्ज लैंग्वेज मॉडल (LLM) से पूछता है, परिणामों को Markdown रिपोर्ट और JSON डेटा के रूप में लिखता है, और फिर GitHub Pages पर एक Docusaurus साइट बनाता और तैनात करता है। पूरी प्रक्रिया GitHub Actions वर्कफ़्लो द्वारा संचालित होती है, इसलिए एक बार सीक्रेट्स कॉन्फ़िगर हो जाने के बाद किसी मैनुअल स्टेप की आवश्यकता नहीं होती है। README में वर्णित मुख्य क्षमताएं: - प्रोग्रामिंग भाषा द्वारा फ़िल्टर करने और दैनिक, साप्ताहिक या मासिक समय सीमा चुनने के विकल्पों के साथ GitHub Trending की स्वचालित स्क्रैपिंग। - वैकल्पिक LLM-आधारित विश्लेषण जो प्रत्येक रिपॉजिटरी प्रविष्टि में AI-लिखित सारांश (लगभग 15-25 अक्षर) जोड़ता है। - Docusaurus फ्रंट एंड के माध्यम से विजुअल प्रेजेंटेशन, जिसमें रिपोर्ट Markdown फाइलों के रूप में और रॉ डेटा JSON के रूप में संग्रहीत होते हैं। - संग्रह, संवर्धन, विश्लेषण, रिपोर्ट जनरेशन और साइट परिनियोजन को कवर करते हुए GitHub Actions के माध्यम से एंड-टू-एंड ऑटोमेशन। - एक प्रकाशित डेटा एंडपॉइंट, ताकि उसी JSON आउटपुट का उपयोग बाहरी एजेंटों या एप्लिकेशन द्वारा किया जा सके, न कि केवल वेबसाइट पर पढ़ा जाए। रिपॉजिटरी को एक Python साइड (main.py, trending_scraper.py, llm_analyzer.py, data_pusher.py, config.py, requirements.txt) और एक Docusaurus/Node साइड (src, docusaurus.config.js, package.json) में व्यवस्थित किया गया है, जिसमें reports/ और data/ जनरेटेड आउटपुट रखते हैं और .github/workflows/daily_report.yml निर्धारित जॉब को संभालता है। रिपोर्ट जनरेशन के लिए इसे स्थानीय रूप से चलाने के लिए Python डिपेंडेंसी इंस्टॉल करने, .env.example को .env में कॉपी करने और API की प्रदान करने, फिर --local और --no-push फ्लैग के साथ main.py को कॉल करने की आवश्यकता होती है। वेबसाइट प्रिव्यू मानक npm install और npm start फ्लो का उपयोग करता है। कॉन्फ़िगरेशन LLM की, बेस URL और मॉडल नाम के लिए एनवायरनमेंट वेरिएबल्स के माध्यम से होता है, साथ ही विस्तृत रिपॉजिटरी जानकारी प्राप्त करने और जनरेटेड डेटा पुश करने के लिए GitHub टोकन का उपयोग किया जाता है। वही मान GitHub Actions सीक्रेट्स के रूप में अपेक्षित हैं। कमांड-लाइन विकल्पों में लैंग्वेज फ़िल्टर, ट्रेंडिंग विंडो के लिए since विकल्प, पुश करने को छोड़ने या स्थानीय रूप से सहेजने के लिए फ्लैग, YYYY-MM-DD फॉर्म में एक स्पष्ट डेट पैरामीटर, और प्रति-प्रोजेक्ट विस्तृत विश्लेषण को छोड़ने के लिए एक स्विच शामिल है। इंटीग्रेशन के लिए, प्रोजेक्ट दो URL पैटर्न दस्तावेज़ित करता है: reports/YYYY/MM/YYYY-MM-DD के तहत एक HTML रिपोर्ट पेज और data/YYYY/MM/YYYY-MM-DD.json के तहत एक रॉ JSON फ़ाइल। JSON पेलोड में तारीख, जनरेशन टाइमस्टैम्प, कुल रिपॉजिटरी काउंट और एक रिपॉजिटरी ऐरे होता है जिसमें full_name, url, description, llm_summary, language, stars, stars_today, forks, topics और license जैसे फ़ील्ड होते हैं। एक छोटा Python उदाहरण requests के साथ उस JSON को प्राप्त करना और टॉप प्रविष्टियों को प्रिंट करना दिखाता है। README प्रोजेक्ट ai-git-trending को अपनी प्रेरणा के रूप में श्रेय देता है और बताता है कि इसके स्क्रैपिंग दृष्टिकोण, LLM विश्लेषण वर्कफ़्लो, रिपोर्ट जनरेशन स्कीम और समग्र आर्किटेक्चर ने संदर्भ के रूप में कार्य किया। संबंधित लिंक GitHub Trending, Docusaurus और उस स्रोत प्रोजेक्ट की ओर इशारा करते हैं। स्टैक को Python और Docusaurus के रूप में वर्णित किया गया है।