প্রকল্প সম্পর্কে
Cobra হলো Go-তে শক্তিশালী আধুনিক CLI (কমান্ড-লাইন ইন্টারফেস) অ্যাপ্লিকেশন তৈরির জন্য একটি লাইব্রেরি। এটি git এবং go টুলের মতো কমান্ড-লাইন ইন্টারফেস তৈরির জন্য একটি সহজ ইন্টারফেস প্রদান করে, এবং Kubernetes, Hugo, GitHub CLI-এর মতো প্রজেক্টগুলোতে এটি ব্যবহৃত হয়।
README-তে বর্ণিত মূল ক্ষমতাগুলো হলো:
- `app server` এবং `app fetch`-এর মতো সহজ সাবকমান্ড-ভিত্তিক CLI তৈরি
- ছোট এবং বড় দুটো ভার্সনসহ সম্পূর্ণ POSIX-অনুবর্তী ফ্ল্যাগ
- নেস্টেড সাবকমান্ড
- গ্লোবাল, লোকাল এবং কেসকেডিং ফ্ল্যাগ
- ভুল টাইপ করা কমান্ডের জন্য স্মার্ট সুপারিশ (যেমন `app srver`-এর জন্য `app server` সাজেশন)
- কমান্ড এবং ফ্ল্যাগের জন্য স্বয়ংক্রিয় হেল্প জেনারেশন
- সাবকমান্ডগুলোর জন্য হেল্প গ্রুপিং
- `-h` এবং `--help`-এর মতো হেল্প ফ্ল্যাগের স্বয়ংক্রিয় চেনাশোনা
- bash, zsh, fish এবং powershell-এর জন্য স্বয়ংক্রিয় শেল অটোকমপ্লিংশন জেনারেশন
- স্বয়ংক্রিয়ভাবে জেনারেটেড man পেজ
- কমান্ড অ্যালিয়াস
- কাস্টম হেল্প এবং ইউসেজ আউটপুট সংজ্ঞায়িত করার নমনীয়তা
- 12-ফ্যাক্টর অ্যাপের জন্য viper-এর সাথে ঐচ্ছিক ইন্টিগ্রেশন
Cobra কমান্ড, আর্গুমেন্ট এবং ফ্ল্যাগ-এর চারপাশে তৈরি। কমান্ড অ্যাকশন নির্দেশ করে, args হলো কিছু জিনিস, আর ফ্ল্যাগ সেই অ্যাকশন পরিবর্তন করে। সুপারিশকৃত প্যাটার্ন হলো `APPNAME VERB NOUN --ADJECTIVE` বা `APPNAME COMMAND ARG --FLAG`।
ইনস্টলেশন করা হয় `go get -u github.com/spf13/cobra@latest` দিয়ে, তারপর `github.com/spf13/cobra` ইমপোর্ট করে। `cobra-cli` নামক একটি companion টুল `go install github.com/spf13/cobra-cli@latest` দিয়ে ইনস্টল করা যায় যা অ্যাপ্লিকেশনের স্কেফোল্ডিং এবং কমান্ড ফাইল জেনারেট করতে সাহায্য করে।
ফ্ল্যাগ ফাংশনালিটি pflag লাইব্রেরি দ্বারা প্রদত্ত, যা Go-র স্ট্যান্ডার্ড flag প্যাকেজের একটি ফর্ক এবং একই ইন্টারফেস বজায় রেখে POSIX কমপ্লায়েন্স যোগ করে। Cobra Apache 2.0 লাইসেন্সের অধীনে প্রকাশিত হয়েছে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.