{"id":24755358,"url":"https://github.com/nobe4/go-cli-comparison","last_synced_at":"2025-03-23T06:14:12.905Z","repository":{"id":272493042,"uuid":"915833572","full_name":"nobe4/go-cli-comparison","owner":"nobe4","description":"Comparison of the various way to build a CLI in Go ","archived":false,"fork":false,"pushed_at":"2025-01-22T13:16:01.000Z","size":19,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T13:47:22.240Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nobe4.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-12T23:06:25.000Z","updated_at":"2025-01-22T13:16:04.000Z","dependencies_parsed_at":"2025-01-14T20:10:15.754Z","dependency_job_id":"50b5e635-fb19-404d-8ff4-50db478dacfc","html_url":"https://github.com/nobe4/go-cli-comparison","commit_stats":null,"previous_names":["nobe4/go-cli-comparison"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nobe4%2Fgo-cli-comparison","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nobe4%2Fgo-cli-comparison/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nobe4%2Fgo-cli-comparison/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nobe4%2Fgo-cli-comparison/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nobe4","download_url":"https://codeload.github.com/nobe4/go-cli-comparison/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245061376,"owners_count":20554563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-28T12:38:51.777Z","updated_at":"2025-03-23T06:14:12.882Z","avatar_url":"https://github.com/nobe4.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `go-cli-comparison`\n\nOverly engineered comparison of the various way to build a CLI in Go\n\n# The comparison tables\n\n\u003c!-- marker:comparison-tables --\u003e\n| library | tests | updated | stars |\n| --- | --- | --- | --- |\n|[akamensky/argparse](https://github.com/akamensky/argparse)|[✅]()[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L10-L13)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L16-L19)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L22-L25)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L26-L29)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L30-L33)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L36-L39)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L40-L43)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L44-L47)|2 years ago|620|\n|[alexflint/go-arg](https://github.com/alexflint/go-arg)|[✅]()[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L10-L13)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L16-L19)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L22-L25)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L26-L29)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L30-L33)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L36-L39)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L40-L43)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L44-L47)|this year|2K|\n|[flag](https://pkg.go.dev/flag)|[✅]()[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L10-L13)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L16-L19)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L22-L25)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L26-L29)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L30-L33)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L36-L39)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L40-L43)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L44-L47)|||\n|[hedzr/cmdr](https://github.com/hedzr/cmdr)|[✅]()[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L10-L13)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L16-L19)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L22-L25)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L26-L29)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L30-L33)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L36-L39)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L40-L43)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L44-L47)|this week|137|\n|[integrii/flaggy](https://github.com/integrii/flaggy)|[✅]()[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L10-L13)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L16-L19)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L22-L25)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L26-L29)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L30-L33)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L36-L39)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L40-L43)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L44-L47)|1 year ago|860|\n|[jessevdk/go-flags](https://github.com/jessevdk/go-flags)|[✅]()[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L10-L13)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L16-L19)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L22-L25)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L26-L29)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L30-L33)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L36-L39)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L40-L43)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L44-L47)|this year|2K|\n|[spf13/cobra](https://github.com/spf13/cobra)|[✅]()[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L10-L13)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L16-L19)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L22-L25)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L26-L29)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L30-L33)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L36-L39)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L40-L43)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L44-L47)|this week|38K|\n\n\n| test | libraries |\n| --- | --- |\n|[]()|[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/akamensky_argparse/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/alexflint_go-arg/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/flag/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/hedzr_cmdr/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/integrii_flaggy/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/jessevdk_go-flags/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/spf13_cobra/main.go)|\n|[-a ](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L10-L13)|[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/akamensky_argparse/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/alexflint_go-arg/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/flag/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/hedzr_cmdr/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/integrii_flaggy/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/jessevdk_go-flags/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/spf13_cobra/main.go)|\n|[-b -b -b ](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L16-L19)|[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/akamensky_argparse/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/alexflint_go-arg/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/flag/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/hedzr_cmdr/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/integrii_flaggy/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/jessevdk_go-flags/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/spf13_cobra/main.go)|\n|[-c a ](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L22-L25)|[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/akamensky_argparse/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/alexflint_go-arg/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/flag/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/hedzr_cmdr/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/integrii_flaggy/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/jessevdk_go-flags/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/spf13_cobra/main.go)|\n|[-ca ](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L26-L29)|[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/akamensky_argparse/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/alexflint_go-arg/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/flag/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/hedzr_cmdr/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/integrii_flaggy/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/jessevdk_go-flags/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/spf13_cobra/main.go)|\n|[-c=a ](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L30-L33)|[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/akamensky_argparse/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/alexflint_go-arg/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/flag/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/hedzr_cmdr/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/integrii_flaggy/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/jessevdk_go-flags/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/spf13_cobra/main.go)|\n|[-d a ](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L36-L39)|[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/akamensky_argparse/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/alexflint_go-arg/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/flag/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/hedzr_cmdr/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/integrii_flaggy/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/jessevdk_go-flags/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/spf13_cobra/main.go)|\n|[-d a -d a ](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L40-L43)|[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/akamensky_argparse/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/alexflint_go-arg/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/flag/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/hedzr_cmdr/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/integrii_flaggy/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/jessevdk_go-flags/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/spf13_cobra/main.go)|\n|[-d a -d b ](https://github.com/nobe4/go-cli-comparison/blob/main/internal/spec/list.go#L44-L47)|[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/akamensky_argparse/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/alexflint_go-arg/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/flag/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/hedzr_cmdr/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/integrii_flaggy/main.go)[❌](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/jessevdk_go-flags/main.go)[✅](https://github.com/nobe4/go-cli-comparison/blob/main/libraries/spf13_cobra/main.go)|\n\n\n\u003c!-- marker:comparison-tables --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnobe4%2Fgo-cli-comparison","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnobe4%2Fgo-cli-comparison","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnobe4%2Fgo-cli-comparison/lists"}