Repolode
remkop

remkop/picocli

Java-фреймворк для создания CLI-приложений с помощью аннотаций или программного API, с поддержкой подкоманд, цветов ANSI и автодополнения в shell.

Звёзды
5,453
Форки
498
Открытые issues
186
Последний коммит
3 месяца назад

Что это?

Picocli — Java-библиотека для создания приложений командной строки. Разработчики помечают поля или методы аннотациями для опций и параметров, а picocli преобразует введённые аргументы в значения с заданными типами. Библиотека поддерживает подкоманды в стиле git и вложенные подподкоманды, группировку коротких POSIX-опций, пользовательские преобразователи типов и запросы пароля. Справка по использованию генерируется автоматически и может быть оформлена с помощью цветов ANSI.

Библиотека также подходит для более сложных сценариев разбора аргументов: взаимно исключающие и зависимые опции, группы аргументов, опции, которые можно отключить префиксом, map-опции вроде -Dkey=value и @-файлы для очень длинных командных строк. Picocli умеет генерировать скрипты автодополнения для bash и zsh и поддерживает интеграцию с JLine для интерактивных shell.

Проект распространяется в виде одного исходного файла, который можно скопировать в приложение, поэтому конечным пользователям не понадобится зависимость picocli. Приложения также можно компилировать в native image GraalVM; для этого в проект входит annotation processor. Библиотека работает начиная с Java 5 и может использоваться из Groovy, Kotlin и Scala.

Ключевые возможности

  • 01Аннотации и программный API для определения команд, опций и параметров.
  • 02Подкоманды в стиле git и вложенные подподкоманды.
  • 03Автоматически генерируемая справка с цветным оформлением.
  • 04Скрипты автодополнения по TAB для bash и zsh.
  • 05Распространение в виде одного файла, который можно включить в исходный код.
  • 06Поддержка native image GraalVM с annotation processor.

Сценарии использования

  • Создание CLI-инструмента на Java или Kotlin с подкомандами и справкой.
  • Поставка CLI в виде native executable с быстрым запуском благодаря GraalVM.
  • Добавление автодополнения в shell к существующему приложению командной строки на Java.
  • Перевод существующего Java-парсера CLI на более современный API с аннотациями.

В подборках

Темы

Частые вопросы

Что такое picocli?
Java-фреймворк для создания CLI-приложений с помощью аннотаций или программного API, с поддержкой подкоманд, цветов ANSI и автодополнения в shell. Picocli — Java-библиотека для создания приложений командной строки. Разработчики помечают поля или методы аннотациями для опций и параметров, а picocli преобразует введённые аргументы в значения с заданными типами. Библиотека поддерживает подкоманды в стиле git и вложенные подподкоманды, группировку коротких POSIX-опций, пользовательские преобразователи типов и запросы пароля. Справка по использованию генерируется автоматически и может быть оформлена с помощью цветов ANSI.
picocli можно использовать бесплатно? Какая у него лицензия?
picocli распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
picocli всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в picocli — 16 авг. 2026 г..
Для чего можно использовать picocli?
Создание CLI-инструмента на Java или Kotlin с подкомандами и справкой. Поставка CLI в виде native executable с быстрым запуском благодаря GraalVM. Добавление автодополнения в shell к существующему приложению командной строки на Java. Перевод существующего Java-парсера CLI на более современный API с аннотациями.
Где скачать picocli?
Исходный код и инструкции по установке — на GitHub: https://github.com/remkop/picocli

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Типобезопасная библиотека Swift для объявления и разбора аргументов командной строки, опций и флагов с автоматической генерацией справки.

3,8 тыс.+3 за неделю433SwiftApache-2.0Активно поддерживаетсяОбновлён 8 дней назад