Eris Client
C

Eris Client

एक C-आधारित CLI जो आपके git वर्कफ़्लो को सरल कमांड्स में लपेटता है — निर्देशित पारंपरिक कमिट्स, एक-बार कमिट और पुश, शाखा निर्माण, रिबेसिंग, और पुनः चलाने योग्य प्रोजेक्ट मैक्रोज़।

GitHub|

एरिस एक डेवलपर 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 install

यह बाइनरी बनाता है, इसे /usr/local/bin/eris में कॉपी करता है, और आपके .bashrc या .zshrc (स्वचालित रूप से पता लगाया जाता है) में एक एलियास जोड़ता है। फिर:

source ~/.zshrc   # या ~/.bashrc

निर्भरताएँ (cmake, gcc, libcurl, libssl, आदि) यदि गायब हों तो बिल्ड के दौरान स्वचालित रूप से जाँची और स्थापित की जाती हैं।


स्रोत से बिल्ड करें

make # कॉन्फ़िगर + बिल्ड (डिबग)
make CONFIG=Release
make JOBS=8

आवश्यकताएँ: cmake, gcc/g++, libcurl-dev, libssl-dev, pkg-config
वैकल्पिक: Prolog राउटर के लिए SWI-Prolog (libswipl-dev) — यदि यह मौजूद नहीं है तो यह एक C राउटर पर वापस चला जाता है।


दस्तावेज़