Repolode
remkop

remkop/picocli

Framework de Java para crear aplicaciones de línea de comandos mediante anotaciones o una API programática, con subcomandos, colores ANSI y autocompletado de shell.

Estrellas
5,453
Forks
498
Issues abiertos
186
Último commit
hace 3 meses

¿Qué es?

Picocli es una biblioteca de Java para crear aplicaciones de línea de comandos. Los desarrolladores anotan campos o métodos con opciones y parámetros, y picocli convierte los argumentos de entrada en valores fuertemente tipados. Admite subcomandos al estilo de git y subcomandos anidados, opciones cortas agrupadas al estilo POSIX, convertidores de tipos personalizados y solicitudes de contraseña. Genera automáticamente la ayuda de uso, que se puede personalizar con colores ANSI.

La biblioteca también permite abordar necesidades de análisis más avanzadas, como opciones mutuamente excluyentes o dependientes, grupos de argumentos, opciones negables, opciones de tipo mapa como -Dkey=value y archivos @-files para líneas de comandos muy largas. Picocli puede generar scripts de autocompletado para bash y zsh, y ofrece integración con JLine para shells interactivos.

El proyecto se distribuye como un único archivo fuente que se puede copiar en una aplicación, por lo que los usuarios finales no necesitan picocli como dependencia. También es posible compilar aplicaciones como imágenes nativas de GraalVM, y el proyecto incluye un procesador de anotaciones para ese fin. Funciona desde Java 5 en adelante y se puede usar desde Groovy, Kotlin y Scala.

Funciones clave

  • 01API basadas en anotaciones y programáticas para definir comandos, opciones y parámetros.
  • 02Subcomandos al estilo de git y subcomandos anidados.
  • 03Ayuda de uso con colores generada automáticamente.
  • 04Scripts de autocompletado con TAB para bash y zsh.
  • 05Distribución en un solo archivo que se puede incluir como código fuente.
  • 06Compatibilidad con imágenes nativas de GraalVM mediante un procesador de anotaciones.

Casos de uso

  • Crear una herramienta de línea de comandos en Java o Kotlin con subcomandos y texto de ayuda.
  • Distribuir una CLI como ejecutable nativo con un inicio rápido mediante GraalVM.
  • Añadir autocompletado de shell a una aplicación de línea de comandos Java existente.
  • Migrar un analizador de CLI Java existente a una API moderna basada en anotaciones.

En colecciones

Temas

Preguntas frecuentes

¿Qué es picocli?
Framework de Java para crear aplicaciones de línea de comandos mediante anotaciones o una API programática, con subcomandos, colores ANSI y autocompletado de shell. Picocli es una biblioteca de Java para crear aplicaciones de línea de comandos. Los desarrolladores anotan campos o métodos con opciones y parámetros, y picocli convierte los argumentos de entrada en valores fuertemente tipados. Admite subcomandos al estilo de git y subcomandos anidados, opciones cortas agrupadas al estilo POSIX, convertidores de tipos personalizados y solicitudes de contraseña. Genera automáticamente la ayuda de uso, que se puede personalizar con colores ANSI.
¿picocli es gratuito? ¿Qué licencia tiene?
picocli es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿picocli sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de picocli fue el 16 ago 2026.
¿Para qué puedo usar picocli?
Crear una herramienta de línea de comandos en Java o Kotlin con subcomandos y texto de ayuda. Distribuir una CLI como ejecutable nativo con un inicio rápido mediante GraalVM. Añadir autocompletado de shell a una aplicación de línea de comandos Java existente. Migrar un analizador de CLI Java existente a una API moderna basada en anotaciones.
¿Dónde consigo picocli?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/remkop/picocli

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados