cli README

The project's README from github.com/urfave/cli. As one markdown file: README.md.

Welcome to urfave/cli

Go Reference Go Report Card codecov Tests status

urfave/cli is a declarative, simple, fast, and fun package for building command line tools in Go featuring:

Documentation

See the hosted documentation website at https://cli.urfave.org. Contents of this website are built from the ./docs directory.

Support

Check the Q&A discussions. If you don't find answer to your question, create a new discussion.

If you found a bug or have a feature request, create a new issue.

Please keep in mind that this project is run by unpaid volunteers.

License

See LICENSE.

cli (urfave/cli)

Searching Database…

24.3K ·GitHub
Что это такое?urfave/cli — это пакет для Go, с помощью которого создают консольные утилиты. Вы объявляете команды, подкоманды и флаги прямо в Go-коде, а пакет сам берёт на себя разбор аргументов, справку и автодополнение в shell.
То есть это библиотека, которую я подключаю в свой Go-проект, а не программа, которую скачивают и запускают?Верно — это Go-пакет, который становится частью вашей консольной утилиты. Он определяет, как ваше приложение разбирает флаги, как устроены подкоманды и как выводится справка; сам по себе он ничего не делает.
Как добавить его в проект?Выполните go get github.com/urfave/cli/v3 в своём Go-модуле, затем опишите команды и флаги в коде. На сайте документации пошагово разобрано создание первого приложения.
Потянет ли он за собой кучу зависимостей?Нет. Единственная зависимость — стандартная библиотека Go, так что подключение остаётся лёгким.
Какие флаги можно объявлять?Флаги для простых типов, срезов простых типов, времени, длительности и не только. Работают и составные короткие флаги: пользователь может ввести -abc вместо -a -b -c.
Может ли моя утилита брать настройки не только из командной строки?Да. Значения можно брать из переменных окружения, обычных текстовых файлов и структурированных форматов — последние обрабатываются отдельным модулем urfave/cli-altsrc (JSON, TOML и YAML).
Автодополнение в shell для пользователей моей утилиты будет работать сразу, из коробки?Да — пакет сам генерирует динамическое автодополнение для bash, zsh, fish и powershell.
Мне придётся самому писать man-страницы или документацию в Markdown для моих команд?Нет — urfave/cli умеет генерировать документацию в форматах man и Markdown через модуль urfave/cli-docs.
What are similar projects?cheat, inshellisense, yq, terminalizer, oh-my-posh, gvm, ipatool, viper
Creator
urfave
Size
12.5 MB
Stars
24.3K
Age
13y
Commits · 90 Days