package commands import ( "fmt" "github.com/spf13/pflag" ) type Command interface { Name() string FlagSet() *pflag.FlagSet Run() error } func New(name string, args []string) (Command, error) { switch name { case "config": return newConfig(args) } return nil, fmt.Errorf("Unknown command: %s", name) }