Go to file
2022-04-22 15:44:59 -04:00
.github Merge pull request #1366 from urfave/revert-1352-stalebot-config 2022-04-22 10:56:21 -04:00
altsrc Update altsrc/map_input_source.go 2020-10-22 10:00:45 +03:00
autocomplete Added manual and script for PowerShell autocomplete 2020-05-18 11:19:00 +08:00
docs Switch branch references from master to main 2022-04-21 16:14:27 -04:00
internal Pass non-empty string slice to example app Run (#1364) 2022-04-22 06:35:07 -04:00
testdata Bump github.com/cpuguy83/go-md2man/v2 to v2.0.1 (#1321) 2022-01-03 22:46:55 -05:00
.flake8 Allow slightly longer lines in Python scripts 2017-02-14 21:17:32 -08:00
.gitignore Add missing "fmt" import in example 2022-04-20 14:45:04 -04:00
app_test.go Extend flag categorization to top-level (global) flags 2022-04-22 15:44:59 -04:00
app.go Extend flag categorization to top-level (global) flags 2022-04-22 15:44:59 -04:00
args.go add is set method to flag interface - refer #294 2019-09-15 18:46:52 +05:30
category.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
cli.go Merge master @1.22.1 with v2 2019-09-13 05:17:24 +05:30
CODE_OF_CONDUCT.md Merge master @1.22.1 with v2 2019-09-13 05:17:24 +05:30
command_test.go added test for successfully used -v flag on command with subcommands 2020-06-18 09:34:54 +03:00
command.go Merge branch 'add-flag-category-support' of ssh://github.com/michaeljs1990/cli into michaeljs1990-add-flag-category-support 2022-04-22 13:56:03 -04:00
context_test.go fix: Nil pointer when getting context's flagSet(#1325) (#1327) 2022-01-16 19:22:57 -05:00
context.go fix: Nil pointer when getting context's flagSet(#1325) (#1327) 2022-01-16 19:22:57 -05:00
docs_test.go Fix reversed Got/Expected in expectFileContent in docs_test.go (#1320) 2022-01-03 18:20:18 -05:00
docs.go Remove extraneous line from generated markdown (#1311) 2021-11-06 07:37:42 -04:00
errors_test.go Update docs and tests around cli.Exit 2020-03-24 20:32:39 -04:00
errors.go Cleanup context.go 2021-04-05 07:57:41 -04:00
fish_test.go fish.go: support PathFlag.TakesFile [#1156] 2020-06-22 17:24:44 -07:00
fish.go Revert "Refactor fishAddFileFlag for better flexibility [#1156]" 2020-10-22 14:22:01 -07:00
flag_bool.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_duration.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_float64_slice.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_float64.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_generic.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_int64_slice.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_int64.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_int_slice.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_int.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_path.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_string_slice.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_string.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_test.go Add tests around flag stringifying for all modified types 2022-04-21 23:02:44 -04:00
flag_timestamp.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_uint64.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag_uint.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
flag.go Porting remainder of #796 2022-04-22 15:01:40 -04:00
funcs.go Resolved a grammatical error (#1281) 2021-06-13 09:36:57 -04:00
go.mod Update dependencies and go.mod spec 2022-04-21 19:11:01 -04:00
go.sum Merge branch 'add-flag-category-support' of ssh://github.com/michaeljs1990/cli into michaeljs1990-add-flag-category-support 2022-04-22 13:56:03 -04:00
help_test.go Writing tests around changes from #1186 2022-04-21 20:07:06 -04:00
help.go Writing tests around changes from #1186 2022-04-21 20:07:06 -04:00
helpers_test.go Add Destination field to TimestampFlag 2021-03-07 03:36:56 +00:00
LICENSE Update license text 2016-06-21 12:52:25 -04:00
parse.go revert testing change 2019-11-27 20:37:23 -08:00
README.md Switch branch references from master to main 2022-04-21 16:14:27 -04:00
sort_test.go Merge master @1.22.1 with v2 2019-09-13 05:17:24 +05:30
sort.go Merge master @1.22.1 with v2 2019-09-13 05:17:24 +05:30
template.go Extend flag categorization to top-level (global) flags 2022-04-22 15:44:59 -04:00

cli

GoDoc codebeat Go Report Card codecov

cli is a simple, fast, and fun package for building command line apps in Go. The goal is to enable developers to write fast and distributable command line applications in an expressive way.

Usage Documentation

Usage documentation exists for each major version. Don't know what version you're on? You're probably using the version from the main branch, which is currently v2.

Guides for migrating to newer versions:

Installation

Using this package requires a working Go environment. See the install instructions for Go.

Go Modules are required when using this package. See the go blog guide on using Go Modules.

Using v2 releases

$ go get github.com/urfave/cli/v2
...
import (
  "github.com/urfave/cli/v2" // imports as package "cli"
)
...

Using v1 releases

$ go get github.com/urfave/cli
...
import (
  "github.com/urfave/cli"
)
...

GOPATH

Make sure your PATH includes the $GOPATH/bin directory so your commands can be easily used:

export PATH=$PATH:$GOPATH/bin

Supported platforms

cli is tested against multiple versions of Go on Linux, and against the latest released version of Go on OS X and Windows. This project uses Github Actions for builds. To see our currently supported go versions and platforms, look at the ./.github/workflows/cli.yml.