Eris Client
एक C-आधारित CLI जो आपके git वर्कफ़्लो को सरल कमांड में लपेटती है। इसमें कमिट टेम्पलेट, एक-शॉट कमिट और पुश, ब्रांचिंग, रीबेसिंग, टास्क और टू-डू, तथा रीप्ले करने योग्य प्रोजेक्ट मैक्रो जोड़ती है।
एरिस एक डेवलपर CLI है जो आपके गिट वर्कफ़्लो को एक संरचित कमिट फ़्लो, प्रोजेक्ट-स्थानीय मैक्रोज़, और एक प्रोलॉग-संचालित कमांड राउटर के साथ लपेटता है जो चेनिंग और निगेशन को सपोर्ट करता है।
आप दिन-प्रतिदिन के काम के लिए कच्चे गिट के बजाय eris चलाते हैं।
यह क्या करता है
eris init [name] — वर्तमान फ़ोल्डर में एक .eris/ निर्देशिका सेट करता है, मैक्रोज़ फ़ाइल लिखता है, और .eris/ को गिट के लोकल एक्सक्लूड में जोड़ता है ताकि यह कभी भी आपके रेपो में न दिखे।
eris commit / eris copush — एक ही बार में इंटरैक्टिव कमिट + पुश। यह आपको एक मेनू से पारंपरिक कमिट प्रकार (feat, fix, refactor, आदि) चुनने के लिए कहता है, फिर एक संदेश मांगता है, उसे type: message के रूप में स्वरूपित करता है, सब कुछ स्टेज करता है, कमिट करता है, और पुश करता है। यह प्रोजेक्ट के अंदर कहीं से भी काम करता है।
eris ignore <file> — किसी फ़ाइल को .eris/.eris.ignore में जोड़ता है ताकि उसे copush के दौरान छोड़ दिया जाए। यह प्रति-प्रोजेक्ट है, वैश्विक नहीं।
eris alias add <name> do <cmd> do <cmd> — एक नामित मैक्रो (.eris/.eris.macros में शेल कमांड का अनुक्रम) को सहेजता है।
eris alias run <name> / eris run <name> — एक सहेजा गया मैक्रो चलाता है।
eris rebuild — CMake का उपयोग करके eris बाइनरी को ही पुनर्निर्माण करता है।
eris root — पता लगाए गए eris प्रोजेक्ट रूट को प्रिंट करता है।
कमांड चेनिंग
कमांड राउटर प्रोलॉग में लिखा गया है। यह आर्गुमेंट सूची में सीधे &&, ||, और not का समर्थन करता है:
eris init myapp && eris commit # केवल तभी commit करें जब init सफल हो
eris init || true # विफलता को अनदेखा करें
eris not init # जब init विफल हो तो सफल हो
मैक्रोज़
मैक्रोज़ प्रोजेक्ट रूट पर .eris/.eris.macros में संग्रहीत होते हैं:
[deploy]
make build
git push origin main
ssh prod "systemctl restart app"
do सेपरेटर के साथ जोड़ें (कोट करने की आवश्यकता नहीं है):
eris alias add deploy do make build do git push origin main
उद्धरण चिह्नों के साथ जोड़ें (उन कमांड के लिए जिनमें सेमीकोलन या शेल सिंटैक्स होता है):
eris alias add test "npm run lint" "npm test"
चलाएँ:
eris run deploy
इंस्टॉल
make
यह बाइनरी बनाता है और इसे ~/.local/bin/eris में सिमलिंक करता है (LINK_DIR=... के साथ ओवरराइड करें), इसलिए eris sudo के बिना तुरंत काम करता है। इसके बजाय सिस्टम-व्यापी इंस्टॉल के लिए:
sudo make install
यह बाइनरी बनाता है, इसे (PATH) /usr/local/bin पर इंस्टॉल करता है (साथ ही इसकी Prolog राउटर फ़ाइलें भी), और /usr/local/bin/eris को इसकी ओर सिमलिंक करता है। जब तक /usr/local/bin आपके PATH में है, तब तक किसी शेल एलियास की आवश्यकता नहीं है। रूट के बिना इंस्टॉल करने के लिए, एक यूज़र प्रीफ़िक्स का उपयोग करें:
make install PREFIX=$HOME/.local # बाइनरी ~/.local/bin में इंस्टॉल होती है
निर्भरताएँ (cmake, gcc, libcurl, libssl, आदि) यदि मौजूद नहीं हैं तो बिल्ड के दौरान स्वचालित रूप से जाँची और इंस्टॉल की जाती हैं।
स्रोत से बिल्ड करें
make # कॉन्फ़िगर + बिल्ड (डिबग)
make CONFIG=Release
make JOBS=8
आवश्यकताएँ: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config।
वैकल्पिक: प्रोलॉग राउटर के लिए SWI-Prolog (libswipl-dev) — यदि यह मौजूद नहीं है तो यह एक C राउटर पर वापस चला जाता है।
