Pacote declarativo em Go para criar ferramentas de linha de comando, com subcomandos, flags, conclusão no shell e geração de ajuda.
remkop/picocli
Framework Java para criar aplicativos de linha de comando com annotations ou uma API programática, com suporte a subcomandos, cores ANSI e autocompletar no shell.
- Estrelas
- 5,456
- Forks
- 499
- Issues abertas
- 186
- Último commit
- há 3 meses
O que é?
Picocli é uma biblioteca Java para criar aplicativos de linha de comando. Desenvolvedores anotam campos ou métodos com opções e parâmetros, e o picocli converte os argumentos de entrada em valores fortemente tipados. A biblioteca oferece suporte a subcomandos no estilo do git e a sub-subcomandos aninhados, opções curtas agrupadas no padrão POSIX, conversores de tipos personalizados e prompts de senha. A ajuda de uso é gerada automaticamente e pode ser estilizada com cores ANSI.
A biblioteca também atende a necessidades de parsing mais avançadas, incluindo opções mutuamente exclusivas ou dependentes, grupos de argumentos, opções negáveis, opções de mapa como -Dkey=value e arquivos @ para linhas de comando muito longas. O picocli pode gerar scripts de autocompletar para bash e zsh e oferece integração com JLine para shells interativos.
O projeto é distribuído como um único arquivo-fonte que pode ser copiado para um aplicativo, assim os usuários finais não precisam ter o picocli como dependência. Os aplicativos também podem ser compilados como imagens nativas do GraalVM, e o projeto inclui um annotation processor para isso. Funciona a partir do Java 5 e pode ser usado com Groovy, Kotlin e Scala.
Recursos principais
- 01APIs baseadas em annotations e programáticas para definir comandos, opções e parâmetros.
- 02Subcomandos no estilo do git e sub-subcomandos aninhados.
- 03Ajuda de uso colorida, gerada automaticamente.
- 04Scripts de autocompletar com TAB para bash e zsh.
- 05Distribuição em um único arquivo que pode ser incluído como código-fonte.
- 06Suporte a imagens nativas do GraalVM com um annotation processor.
Casos de uso
- Criar uma ferramenta de linha de comando em Java ou Kotlin com subcomandos e texto de ajuda.
- Distribuir uma CLI como executável nativo com inicialização rápida via GraalVM.
- Adicionar autocompletar no shell a um aplicativo Java de linha de comando existente.
- Migrar o parser de uma CLI Java existente para uma API moderna baseada em annotations.
Em coleções
Tópicos
Perguntas frequentes
- O que é picocli?
- Framework Java para criar aplicativos de linha de comando com annotations ou uma API programática, com suporte a subcomandos, cores ANSI e autocompletar no shell. Picocli é uma biblioteca Java para criar aplicativos de linha de comando. Desenvolvedores anotam campos ou métodos com opções e parâmetros, e o picocli converte os argumentos de entrada em valores fortemente tipados. A biblioteca oferece suporte a subcomandos no estilo do git e a sub-subcomandos aninhados, opções curtas agrupadas no padrão POSIX, conversores de tipos personalizados e prompts de senha. A ajuda de uso é gerada automaticamente e pode ser estilizada com cores ANSI.
- picocli é gratuito? Qual é a licença?
- picocli é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- picocli ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de picocli foi em 16 de ago. de 2026.
- Para que posso usar picocli?
- Criar uma ferramenta de linha de comando em Java ou Kotlin com subcomandos e texto de ajuda. Distribuir uma CLI como executável nativo com inicialização rápida via GraalVM. Adicionar autocompletar no shell a um aplicativo Java de linha de comando existente. Migrar o parser de uma CLI Java existente para uma API moderna baseada em annotations.
- Onde consigo picocli?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/remkop/picocli
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Toolkit Python para criar interfaces de linha de comando compostas, com comandos aninhados, páginas de ajuda automáticas e subcomandos carregados sob demanda.
Biblioteca Swift com segurança de tipos para declarar e interpretar argumentos, opções e flags de linha de comando, com ajuda gerada automaticamente.
Gerenciador de templates e snippets de comandos para Bash, Zsh, Fish, Nushell e PowerShell, como um IntelliSense para o terminal.
Um shell interativo de linha de comando fácil de usar para macOS, Linux e outros sistemas Unix-like, com destaque de sintaxe e sugestões automáticas desde o início.
Adiciona ao shell nativo cmd.exe do Windows edição de linha no estilo Bash, com Readline, conclusão, histórico e prompts configuráveis por scripts Lua.