इस प्रोजेक्ट के बारे में
Cobra एक लाइब्रेरी है जो Go में शक्तिशाली आधुनिक CLI एप्लिकेशन बनाने के लिए सरल इंटरफ़ेस प्रदान करती है, जो git और go टूल जैसी कमांड-लाइन इंटरफ़ेस बनाती है, और Kubernetes, Hugo, और GitHub CLI जैसी परियोजनाओं द्वारा उपयोग की जाती है।
README में वर्णित मुख्य क्षमताएं:
- आसान सबकमांड-आधारित CLI जैसे `app server` और `app fetch`
- पूर्ण POSIX-अनुपालित फ्लैग, छोटे और लंबे दोनों संस्करणों सहित
- नेस्टेड सबकमांड
- ग्लोबल, लोकल, और कैस्केडिंग फ्लैग
- गलत टाइप की गई कमांड के लिए बुद्धिमान सुझाव (उदाहरण के लिए, `app srver` के लिए `app server` का सुझाव)
- कमांड और फ्लैग के लिए स्वचालित मदद जनरेशन
- सबकमांड की मदद का समूहन
- `-h` और `--help` जैसी मदद फ्लैग की स्वचालित पहचान
- bash, zsh, fish, और powershell के लिए स्वचालित शेल ऑटोकम्प्लीशन जनरेशन
- स्वचालित रूप से जनरेटेड मैन पेज
- कमांड एलियास
- कस्टम मदद और उपयोग आउटपुट को परिभाषित करने की लचीलापन
- 12-फैक्टर ऐप्स के लिए viper के साथ वैकल्पिक एकीकरण
Cobra कमांड, तर्क, और फ्लैग के आसपास बनाई गई है। कमांड कार्यों का प्रतिनिधित्व करती हैं, तर्क वस्तुएँ हैं, और फ्लैग उन कार्यों को संशोधित करते हैं। अनुशंसित पैटर्न है `APPNAME VERB NOUN --ADJECTIVE` या `APPNAME COMMAND ARG --FLAG`।
स्थापना `go get -u github.com/spf13/cobra@latest` के साथ की जाती है, फिर `github.com/spf13/cobra` को आयात किया जाता है। एक साथी टूल, `cobra-cli`, को `go install github.com/spf13/cobra-cli@latest` के साथ स्थापित किया जा सकता है, जो एप्लिकेशन स्कैफ़ोल्डिंग और कमांड फ़ाइलें उत्पन्न करता है।
फ्लैग कार्यक्षमता pflag लाइब्रेरी द्वारा प्रदान की जाती है, जो Go मानक फ्लैग पैकेज का एक फॉर्क है जो POSIX अनुपालन जोड़ते हुए उसी इंटरफ़ेस को बनाए रखता है। Cobra Apache 2.0 लाइसेंस के तहत जारी की गई है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.