Sobre o projeto

Cobra é uma biblioteca para criar aplicativos CLI modernos poderosos em Go. Ela fornece uma interface simples para criar interfaces de linha de comando semelhantes às ferramentas git e go, e é usada por projetos como Kubernetes, Hugo e GitHub CLI. Principais capacidades descritas no README: - CLIs baseadas em subcomandos fáceis, como `app server` e `app fetch` - Flags totalmente compatíveis com POSIX, incluindo versões curtas e longas - Subcomandos aninhados - Flags globais, locais e em cascata - Sugestões inteligentes para comandos digitados incorretamente (por exemplo, sugerindo `app server` para `app srver`) - Geração automática de ajuda para comandos e flags - Agrupamento de ajuda para subcomandos - Reconhecimento automático de flags de ajuda como `-h` e `--help` - Autocompletar de shell gerado automaticamente para bash, zsh, fish e powershell - Páginas de manual geradas automaticamente - Aliases de comando - Flexibilidade para definir saída de ajuda e uso personalizada - Integração opcional com viper para aplicativos 12-factor O Cobra é construído em torno de comandos, argumentos e flags. Comandos representam ações, args são coisas, e flags modificam essas ações. O padrão recomendado é `APPNAME VERB NOUN --ADJECTIVE` ou `APPNAME COMMAND ARG --FLAG`. A instalação é feita com `go get -u github.com/spf13/cobra@latest`, depois importando `github.com/spf13/cobra`. Uma ferramenta complementar, `cobra-cli`, pode ser instalada com `go install github.com/spf13/cobra-cli@latest` para gerar a estrutura do aplicativo e arquivos de comando. A funcionalidade de flags é fornecida pela biblioteca pflag, um fork do pacote padrão de flags do Go que adiciona conformidade POSIX mantendo a mesma interface. O Cobra é lançado sob a licença Apache 2.0.