GitHub Actions + Gemma के साथ CodeRabbit के पेड PR रिव्यू का मुफ़्त विकल्प
(github.com/bssm-oss)GemmaCI नाम का एक open source प्रोजेक्ट बनाया है।
एक पंक्ति में कहें तो, यह CodeRabbit जैसे AI PR reviewer को GitHub Actions के भीतर मुफ़्त में चलाने का प्रोजेक्ट है।
CodeRabbit एक अच्छा टूल है, लेकिन private repo में PR review को गंभीरता से इस्तेमाल करना हो तो पेड प्लान चाहिए। आधिकारिक दस्तावेज़ों के अनुसार Free प्लान मुख्य रूप से PR summarization पर केंद्रित है, और PR review Pro या उससे ऊपर के प्लान में मिलता है। Pro की कीमत सालाना भुगतान पर $24/mo/user और मासिक भुगतान पर $30/mo/user है।
इसीलिए यह सोचकर बनाया कि “क्या छोटी टीमों, student projects, और व्यक्तिगत side projects में CodeRabbit के मुख्य अनुभव का मुफ़्त विकल्प नहीं बनाया जा सकता?”
GemmaCI, GitHub Actions में Ollama + Gemma मॉडल चलाकर PR diff का रिव्यू करता है।
फ़िलहाल इसमें ये सुविधाएँ हैं:
- PR summary comment बनाना
- बदली गई लाइनों पर inline review comment लिखना
- high / critical finding मिलने पर CI check fail करना
- evidence, confidence, recommendation आधारित review output
- Ollama / model cache से cold start लागत कम करना
- सिर्फ़ एक workflow file जोड़कर इस्तेमाल करना
- PR diff, model output, और artifact — सभी को untrusted data मानने वाला security model
जिन बातों को सबसे ज़्यादा महत्व दिया गया, वे हैं “मुफ़्त” और “सुरक्षा”।
यह सिर्फ़ diff को LLM को देकर उससे comment लिखवाने वाला तरीका नहीं है; model output का schema validation किया जाता है, और केवल वही findings पोस्ट की जाती हैं जिनका आधार वास्तव में changed line में मौजूद हो।
इसके अलावा, डिफ़ॉल्ट रूप से pull_request_target का इस्तेमाल नहीं किया जाता। इसका कारण यह है कि PR लेखक द्वारा बदले गए workflow या script के write permission के साथ चलने के जोखिम से बचा जा सके। publish चरण में भी केवल trusted base branch code ही चलाया जाता है, और artifact तथा model output को फिर से validate किया जाता है।
इसे वास्तविक GitHub Actions runner में smoke PR खोलकर verify किया गया।
सत्यापित बिंदु:
- GitHub-hosted runner पर workflow execution
- Ollama install करना और Gemma model review job चलाना
- PR summary comment पोस्ट करना
- बदली गई लाइन पर inline comment पोस्ट करना
- high severity finding मिलने पर check fail होना
टेस्ट PR में जानबूझकर unsafeDivide function डाला गया था, और GemmaCI ने “0 से division की validation missing है” को high severity finding के रूप में पकड़कर inline comment छोड़ा।
यह अभी CodeRabbit का पूरी तरह 1:1 विकल्प नहीं है। बड़े मॉडल इस्तेमाल करने वाले SaaS reviewer जैसी quality या integration features की उम्मीद नहीं करनी चाहिए।
लेकिन लक्ष्य स्पष्ट है।
“ऐसे छोटे repo में भी, जहाँ पैसे देना व्यावहारिक न लगे, सिर्फ़ एक workflow file से मुफ़्त AI PR review जोड़ा जा सके।”
GitHub:
https://github.com/bssm-oss/gemmaci
Feedback, issues, और PR का स्वागत है।
अभी कोई टिप्पणी नहीं है.