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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.