آموزش ساخت ابزار CLI با کتابخانه Cobra در زبان Go

مقدمه

ابزارهای خط فرمان (CLI) یکی از پرکاربردترین و محبوب‌ترین روش‌ها برای تعامل با نرم‌افزارها هستند. زبان برنامه‌نویسی Go به خاطر سرعت، سادگی و قابلیت‌های بالای خود، گزینه‌ای عالی برای توسعه ابزارهای CLI محسوب می‌شود. در این مقاله، نحوه ساخت یک ابزار CLI ساده با استفاده از کتابخانه Cobra را مرحله به مرحله توضیح می‌دهیم.

چرا Cobra؟

کتابخانه Cobra یکی از معروف‌ترین و قدرتمندترین فریمورک‌ها برای ساخت ابزارهای CLI در Go است. این کتابخانه امکانات زیر را فراهم می‌کند:

  • مدیریت دستورات و زیر دستورات.
  • تولید خودکار مستندات.
  • پشتیبانی از فلگ‌ها (Flags) برای تنظیمات.

مراحل ساخت ابزار CLI

1. نصب Cobra

ابتدا باید کتابخانه Cobra را نصب کنید. برای این کار دستور زیر را اجرا کنید:

go get -u github.com/spf13/cobra/cobra

این دستور، ابزار cobra را روی سیستم شما نصب می‌کند.

2. ایجاد پروژه جدید

یک پوشه جدید برای پروژه خود ایجاد کرده و وارد آن شوید:

mkdir mycli
cd mycli

سپس ماژول Go را مقداردهی اولیه کنید:

go mod init mycli

این دستور فایل go.mod را ایجاد می‌کند که وابستگی‌های پروژه را مدیریت می‌کند.

3. ایجاد اسکلت اولیه پروژه با Cobra

با استفاده از ابزار cobra اسکلت اولیه پروژه CLI خود را ایجاد کنید:

cobra init --pkg-name mycli

این دستور پوشه‌ها و فایل‌های مورد نیاز مانند main.go و ساختار پایه پروژه را ایجاد می‌کند.

4. افزودن دستورات جدید

برای افزودن یک دستور جدید به ابزار CLI، از دستور زیر استفاده کنید:

cobra add greet

این کار فایل جدیدی مانند greet.go ایجاد می‌کند که مربوط به دستور اضافه‌شده است. در فایل greet.go، کد مربوط به اجرای دستور greet را اضافه کنید:

package cmd
import (
    "fmt"
    "github.com/spf13/cobra"
)
var greetCmd = &cobra.Command{
    Use:   "greet",
    Short: "چاپ پیام خوشامدگویی",
    Run: func(cmd *cobra.Command, args []string) {
        fmt.Println("سلام! خوش آمدید به ابزار CLI ما")
    },
}
func init() {
    rootCmd.AddCommand(greetCmd)
}

در اینجا، هر بار که کاربر دستور greet را اجرا کند، پیام خوشامدگویی چاپ خواهد شد.

5. اجرای پروژه CLI

برای اجرای پروژه، کافی است وارد پوشه اصلی شده و دستور زیر را اجرا کنید:

go run main.go greet

نتیجه باید مشابه زیر باشد:

سلام! خوش آمدید به ابزار CLI ما

نتیجه‌گیری و نکات پایانی

ساخت ابزارهای خط فرمان با استفاده از کتابخانه Cobra بسیار ساده است و شما می‌توانید آن را برای پروژه‌های کوچک تا بزرگ خود گسترش دهید. علاوه بر این، قابلیت اضافه کردن فلگ‌ها، مستندات و مدیریت دستورات پیچیده‌تر نیز وجود دارد. اگر علاقه‌مند هستید که ابزارهای پیشرفته‌تری بسازید، پیشنهاد می‌کنیم مستندات رسمی Cobra را مطالعه کنید.