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

Mushin एक GitHub App है जिसे Cloudflare Worker के रूप में लागू किया गया है, जो webhook events को सुनता है और कॉन्फ़िगर करने योग्य शर्तें पूरी होने पर Dependabot pull requests को स्वतः मर्ज करता है। यह semver-स्तर की गेटिंग (patch, minor, major), प्राथमिकता के साथ बहु-स्रोत कॉन्फ़िगरेशन (PR labels > .github/mushin.yml > GitHub custom properties > defaults), CI gate जो केवल तब मर्ज करता है जब सभी आवश्यक checks पास हों (neutral check-run निष्कर्ष गैर-अवरोधक होते हैं), और अज्ञात update प्रकारों को संभालने के लिए जानकारीपूर्ण टिप्पणियाँ पोस्ट करने की सुविधा देता है, जिसमें डुप्लिकेट से बचने के लिए upsert लॉजिक होता है। सेटअप के लिए विशिष्ट अनुमतियों (Pull requests, Contents, Checks, Commit statuses, Metadata) और webhook events (pull_request, check_suite, check_run) वाला GitHub App बनाना आवश्यक है। डिप्लॉयमेंट में Cloudflare Worker secrets (GITHUB_APP_ID, GITHUB_WEBHOOK_SECRET, GITHUB_PRIVATE_KEY) सेट करना और private key को PKCS#8 प्रारूप में बदलना शामिल है। कॉन्फ़िगरेशन GitHub custom properties, .github/mushin.yml फ़ाइल, या प्रति-PR ओवरराइड के लिए PR labels के माध्यम से किया जा सकता है। Mushin किसी PR को तब मर्ज करता है जब वह खुला हो, draft न हो, dependabot[bot] द्वारा लिखा गया हो, skip false हो, सभी CI checks पास हों, और update प्रकार कॉन्फ़िगर की गई सीमा के भीतर हो (या merge_unknown true हो)। अन्यथा यह छोड़ देता है और जब update प्रकार अज्ञात हो और merge_unknown false हो तो टिप्पणी करता है। परियोजना में परीक्षण, type-checking, और स्थानीय रूप से चलाने के लिए development commands शामिल हैं, और Dependabot metadata parser को सीधे dependabot/fetch-metadata रिपॉज़िटरी से आयात करती है। README में पैकेज नाम से संबंधित एक false positive npm audit advisory का भी उल्लेख है।