{"repo":"jpillora/opts","free":true,"listed":false,"github":"https://github.com/jpillora/opts","clone":"git clone https://github.com/jpillora/opts.git","description":"A Go (golang) package for building frictionless command-line interfaces","language":"Go","stars":172,"topics":["go","golang","cli","command-line"],"license":"MIT","category":"cli-tools","readme_excerpt":"A Go (golang) package for building frictionless command-line interfaces --- Creating command-line interfaces should be simple: Try it out https://play.golang.org/p/D0jWFwmxRgt Features (with examples) - Easy to use (eg-helloworld) - Promotes separation of CLI code and library code (eg-app) - Automatically generated --help text via struct tags (eg-help) - Default values by modifying the struct prior to Parse() (eg-defaults) - Default values from a JSON config file, unmarshalled via your config struct (eg-config) - Default values from environment, defined by your field names (eg-env) - Repeated flags using slices (eg-repeated-flag) - Group your flags in the help output (eg-groups) - Group your commands in the help output via group struct tag or Group() builder method - Sub-commands by nesting structs (eg-commands-inline) - Sub-commands by providing child Opts (eg-commands-main) - Infers program name from executable name - Infers command names from struct or package name - Define custom flags types via opts.Setter or flag.Value (eg-custom-flag) - Customizable help text by modifying the default templates (eg-help) - Built-in shell auto-completion (eg-complete) Find these examples and more in the opts-examples repository. Package API See https://godoc.org/github.com/jpillora/opts#Opts Struct Tag API opts tries to set sane defaults so, for the most part, you'll get the desired behaviour by simply providing a configuration struct. However, you can customise this behaviour by providi","default_branch":null,"files":null,"tree":[],"storefront":"/r/jpillora","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jpillora/opts/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}