このプロジェクトについて
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 は、コマンド、引数、フラグを中心に構築されています。コマンドはアクションを表し、引数はオブジェクト、フラグはそれらのアクションを変更します。推奨されるパターンは `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` でインストールし、アプリケーションのスキャフォールドとコマンドファイルを生成できます。
フラグ機能は、同じインターフェースを保ちながら POSIX 準拠を追加した Go 標準 flag パッケージのフォークである pflag ライブラリによって提供されます。Cobra は Apache 2.0 ライセンスでリリースされています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.