Mirrored from GitHub (github.com/urfave/cli)
  • Go 99.7%
  • Makefile 0.2%
  • PowerShell 0.1%
Find a file
dearchap b79d76894b
Merge pull request #2316 from morozov/fix-completion-double-dash
fix: show flag completions when completing a double-dash prefix
2026-04-18 14:48:22 -04:00
.github chore(deps): bump codecov/codecov-action from 5 to 6 2026-03-31 09:56:07 +08:00
autocomplete Merge pull request #2317 from barry3406/fix/completion-shebang 2026-04-18 14:48:07 -04:00
docs fix(ci): update docs after bash completion update 2026-04-08 17:22:24 +02:00
examples Split internal/ into examples/ and scripts/ 2024-10-24 13:47:04 +03:00
scripts Rename mkdocs requirements to appease dependabot 2025-08-13 09:26:38 -04:00
testdata Replace interface{} with any 2026-03-20 15:55:28 -07:00
.gitignore Split internal/ into examples/ and scripts/ 2024-10-24 13:47:04 +03:00
.golangci.yaml chore: update golangci-lint configuration 2025-04-27 01:53:22 +02:00
args.go Add more tests to improve code coverage 2025-11-30 12:00:23 -05:00
args_test.go Add more tests to improve code coverage 2025-11-30 12:00:23 -05:00
category.go Fix:(issue_1860) Remove hidden flags from flag categories 2024-02-17 19:58:18 -05:00
cli.go format all codebase with gofumpt 2024-05-01 12:58:18 +01:00
cli_test.go Add tracing test 2024-10-21 12:06:45 -04:00
CODE_OF_CONDUCT.md Use google group email addresses 2022-05-07 09:30:42 -04:00
command.go Fix:(issue_2275) Make flag action execution consistent 2026-03-24 20:14:44 -04:00
command_parse.go fix: show flag completions when completing a double-dash prefix 2026-04-16 07:57:01 -07:00
command_run.go fix: apply SliceFlagSeparator to env var sources 2026-04-12 15:23:08 +10:00
command_setup.go fix: parallel running - improve clonning of global flags 2025-10-26 12:21:15 +01:00
command_stop_on_nth_arg_test.go feat: allow the user to stop processing flags after seeing N args 2025-06-24 17:45:54 -07:00
command_test.go Merge pull request #2316 from morozov/fix-completion-double-dash 2026-04-18 14:48:22 -04:00
completion.go feat: support dynamic fish completion 2026-02-28 17:24:30 +03:00
completion_test.go Merge pull request #2316 from morozov/fix-completion-double-dash 2026-04-18 14:48:22 -04:00
docs.go Use strings.Builder 2026-03-20 15:55:43 -07:00
errors.go fix: don't print empty line to stderr when Exit message is empty 2026-04-13 04:06:26 +08:00
errors_test.go fix: don't print empty line to stderr when Exit message is empty 2026-04-13 04:06:26 +08:00
examples_test.go Merge pull request #2287 from markshep-wbg/fix-command-help 2026-04-08 09:26:44 -04:00
fish.go feat: ShellComplete for fish 2026-02-22 19:38:09 +01:00
fish_test.go feat: ShellComplete for fish 2026-02-22 19:38:09 +01:00
flag.go flag: replace regexp use 2026-03-20 18:44:34 -07:00
flag_bool.go Replace interface{} with any 2026-03-20 15:55:28 -07:00
flag_bool_with_inverse.go flag: prevent BoolWithInverseFlag.String from panicking without a tab 2026-04-14 03:39:33 +05:00
flag_bool_with_inverse_test.go flag: prevent BoolWithInverseFlag.String from panicking without a tab 2026-04-14 03:39:33 +05:00
flag_duration.go Fix: use the correct type name in the tracef message 2026-01-25 19:48:29 -05:00
flag_ext.go fix(extFlag): extFlag doesn't set default value prior to parsing 2025-04-19 14:36:33 +02:00
flag_float.go Add more coverage 2025-11-28 20:01:35 -05:00
flag_float_slice.go refactor: merge getIntSlice and getFloatSlice 2025-04-27 03:27:26 +02:00
flag_float_slice_test.go feat: float32, float64 2025-04-27 01:51:58 +02:00
flag_float_test.go tests: add more tests 2025-04-27 02:31:23 +02:00
flag_generic.go Add more coverage 2025-11-28 20:01:35 -05:00
flag_impl.go Fix:(issue_2281) Remove incorrect check for local flag for set 2026-03-21 14:18:04 -04:00
flag_int.go Add more coverage 2025-11-28 20:01:35 -05:00
flag_int_slice.go refactor: merge getIntSlice and getFloatSlice 2025-04-27 03:27:26 +02:00
flag_int_slice_test.go feat!: add more integers and unsigned integers 2025-04-19 14:36:23 +02:00
flag_int_test.go feat!: add more integers and unsigned integers 2025-04-19 14:36:23 +02:00
flag_map_impl.go Replace interface{} with any 2026-03-20 15:55:28 -07:00
flag_mutex.go Add mutex flags for post parse 2025-03-22 19:14:06 -04:00
flag_mutex_test.go feat!: add more integers and unsigned integers 2025-04-19 14:36:23 +02:00
flag_number_slice.go refactor: merge getIntSlice and getFloatSlice 2025-04-27 03:27:26 +02:00
flag_number_slice_test.go refactor: merge getIntSlice and getFloatSlice 2025-04-27 03:27:26 +02:00
flag_slice_base.go Replace interface{} with any 2026-03-20 15:55:28 -07:00
flag_string.go Add more coverage 2025-11-28 20:01:35 -05:00
flag_string_map.go format all codebase with gofumpt 2024-05-01 12:58:18 +01:00
flag_string_slice.go format all codebase with gofumpt 2024-05-01 12:58:18 +01:00
flag_test.go Replace interface{} with any 2026-03-20 15:55:28 -07:00
flag_timestamp.go Add more coverage 2025-11-28 20:01:35 -05:00
flag_uint.go Add more coverage 2025-11-28 20:01:35 -05:00
flag_uint_slice.go feat!: add more integers and unsigned integers 2025-04-19 14:36:23 +02:00
flag_uint_slice_test.go feat!: add more integers and unsigned integers 2025-04-19 14:36:23 +02:00
flag_uint_test.go feat!: add more integers and unsigned integers 2025-04-19 14:36:23 +02:00
flag_validation_test.go feat!: add more integers and unsigned integers 2025-04-19 14:36:23 +02:00
funcs.go feat: add ConfigureShellCompletionCommand 2025-04-27 07:46:17 +09:00
go.mod chore(deps): bump github.com/stretchr/testify from 1.11.0 to 1.11.1 2025-09-09 11:43:40 +08:00
go.sum chore(deps): bump github.com/stretchr/testify from 1.11.0 to 1.11.1 2025-09-09 11:43:40 +08:00
godoc-current.txt Replace interface{} with any 2026-03-20 15:55:28 -07:00
help.go fix: show flag completions when completing a double-dash prefix 2026-04-16 07:57:01 -07:00
help_test.go fix: show flag completions when completing a double-dash prefix 2026-04-16 07:57:01 -07:00
helpers_test.go Fix:(issue_1695) Change tests to use assert and require 2023-12-26 17:17:41 -05:00
LICENSE Some docs housekeeping and minor cleanups 2023-06-12 08:40:47 -04:00
Makefile Split internal/ into examples/ and scripts/ 2024-10-24 13:47:04 +03:00
mkdocs-requirements.txt chore(deps): bump the python-packages group across 1 directory with 3 updates 2026-03-31 10:00:19 +08:00
mkdocs.yml Rename mkdocs requirements to appease dependabot 2025-08-13 09:26:38 -04:00
README.md chore(README): correct cli-altsrc link in README 2024-07-05 11:38:44 +08:00
sort.go Consider case when sorting strings 2017-10-28 03:00:11 -04:00
sort_test.go Fix:(issue_1695) Change tests to use assert and require 2023-12-26 17:17:41 -05:00
staticcheck.conf enable all staticcheck lints 2024-04-30 20:31:19 +01:00
suggestions.go Use for range for integers 2026-03-20 15:55:43 -07:00
suggestions_test.go replacing the jaro-winkler algorithm usage with an internal function for suggestion. 2024-04-30 02:24:48 +03:00
template.go add space between arguments usage 2025-10-09 13:31:03 +08:00
value_source.go Support root level map keys in map sources 2025-01-29 12:05:26 +01:00
value_source_test.go Support root level map keys in map sources 2025-01-29 12:05:26 +01:00

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:

  • commands and subcommands with alias and prefix match support
  • flexible and permissive help system
  • dynamic shell completion for bash, zsh, fish, and powershell
  • no dependencies except Go standard library
  • input flags for simple types, slices of simple types, time, duration, and others
  • compound short flag support (-a -b -c can be shortened to -abc)
  • documentation generation in man and Markdown (supported via the urfave/cli-docs module)
  • input lookup from:
    • environment variables
    • plain text files
    • structured file formats (supported via the urfave/cli-altsrc module)

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.