code: func commandChain(chain []*cli.Command, args []string) string {
  	s := make([]string, 0)
  	for _, c := range chain {
  		s = append(s, c.Command)
  	}
  	s = append(s, args...)
  	if len(s) > 0 && len(args) == 0 {
  		s = append(s, "")
  	}
  	return strings.Join(s, " ")
  }
docs: // commandChain builds a command chain from the given command slice.