Полнофункциональная библиотека Rust для создания парсеров аргументов командной строки с декларативным или процедурным описанием.
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 обновляется ежедневно.
Похожие проекты
Декларативный пакет Go для создания CLI-приложений с подкомандами, флагами, автодополнением команд и генерацией справки.
Инструментарий на Python для создания составных CLI с вложенными командами, автоматической генерацией справки и ленивой загрузкой подкоманд.
Типобезопасная библиотека Swift для объявления и разбора аргументов командной строки, опций и флагов с автоматической генерацией справки.
Менеджер шаблонов команд и сниппетов для Bash, Zsh, Fish, Nushell и PowerShell — IntelliSense для терминала.
Удобная интерактивная командная оболочка для macOS, Linux и других Unix-подобных систем со встроенной подсветкой синтаксиса и автоподсказками.