Repolode
remkop

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

#java#cli#command-line#argument-parsing#graalvm#autocomplete#subcommands#annotations#ansi#ansi-colors

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