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

Commitizen टीमों को commit-message सम्मेलनों को लागू करने और संवाद करने में सहायता करता है, और यह तब होता है जब commit बनाया जा रहा होता है। किसी हुक द्वारा अमान्य संदेश को अस्वीकार करने की प्रतीक्षा करने के बजाय, योगदानकर्ता आवश्यक फ़ील्ड्स के लिए प्रॉम्प्ट्स का उत्तर देते हैं, और चुना गया adapter फ़ॉर्मेटेड commit संदेश उत्पन्न करता है। यह टूल npm के माध्यम से वितरित किया जाता है और इसे npm install -g commitizen के साथ वैश्विक रूप से इंस्टॉल किया जा सकता है, npx cz के साथ सीधे चलाया जा सकता है, या प्रोजेक्ट devDependency के रूप में इंस्टॉल किया जा सकता है ताकि प्रत्येक योगदानकर्ता समान संस्करण का उपयोग करे। कॉन्फ़िगर की गई रिपॉजिटरी में, उपयोगकर्ता git commit के स्थान पर git cz, cz, या git-cz चला सकते हैं। इसे npm स्क्रिप्ट के माध्यम से भी उजागर किया जा सकता है। किसी रिपॉजिटरी को Commitizen-friendly बनाने के लिए एक adapter चुना जाता है। प्रलेखित सेटअप npm, Yarn, या pnpm के साथ commitizen init cz-conventional-changelog का उपयोग करता है, जो adapter इंस्टॉल करता है, इसे package.json में सहेजता है, और config.commitizen.path सेटिंग जोड़ता है। कॉन्फ़िगरेशन को इसके बजाय .czrc फ़ाइल में रखा जा सकता है। adapter पथ npm पैकेज, स्थानीय JavaScript फ़ाइलों, index.js युक्त डायरेक्टरीज़, सापेक्ष पथ, या निरपेक्ष पथों को हल कर सकता है। Commitizen adapter-आधारित है, इसलिए प्रोजेक्ट्स cz-conventional-changelog, cz-customizable, cz-emoji, cz-commitlint, cz-git, Jira-उन्मुख adapters जैसे प्रकाशित विकल्पों का उपयोग कर सकते हैं या अपना स्वयं का निर्माण कर सकते हैं। कस्टम adapters एक Inquirer.js इंस्टेंस प्राप्त करते हैं और commit callback के माध्यम से अंतिम commit स्ट्रिंग लौटाते हैं। अनुरक्षकों के लिए जो चाहते हैं कि प्रॉम्प्ट्स सामान्य git commit के दौरान दिखाई दें, Commitizen को --hook विकल्प का उपयोग करके prepare-commit-msg Git हुक से लागू किया जा सकता है। README पारंपरिक Git हुक और Husky दोनों के लिए उदाहरण प्रदान करता है, जिसमें /dev/tty से इनपुट को पुनर्निर्देशित करना शामिल है ताकि हुक इंटरैक्टिव हो सके। Commitizen का उद्देश्य commit हुक और संबंधित टूल के साथ मिलकर काम करना है, न कि उन्हें बदलना। अन्य क्षमताओं में रिपॉजिटरीज़ के बीच उपयोग के लिए ~/.czrc के माध्यम से वैश्विक कॉन्फ़िगरेशन, git cz -a जैसे मानक git commit विकल्पों का समर्थन, और बहु-रिपॉजिटरी पैटर्न शामिल है जहाँ एक टीम एक छोटा कस्टम Node.js CLI प्रकाशित कर सकती है जो एक निश्चित adapter के साथ Commitizen को बूटस्ट्रैप करता है। git cz --retry कमांड विफल हुक या टेस्ट रन के बाद पिछले प्रयास किए गए commit को पुनः उपयोग कर सकता है, जिसमें retry डेटा रिपॉजिटरी पथ से जुड़ा होता है और अपग्रेड या cache-file हटाने से साफ़ हो सकता है। README परीक्षण किए गए Node.js संस्करण 12, 14, और 16 सूचीबद्ध करता है और npm 6 या अधिक की आवश्यकता है, साथ ही यह नोट करता है कि यह पुराने Node.js संस्करणों पर भी काम कर सकता है। उल्लिखित संबंधित प्रोजेक्ट्स में changelog उत्पन्न करने के लिए conventional-changelog और commit संदेशों को लिंट करने के लिए commitlint शामिल हैं।