code: func Execute(args []string) Response {
  	hugoCmd := newCommandsBuilder().addAll().build()
  	cmd := hugoCmd.getCommand()
  	cmd.SetArgs(args)
  
  	c, err := cmd.ExecuteC()
  
  	var resp Response
  
  	if c == cmd && hugoCmd.c != nil {
  		// Root command executed
  		resp.Result = hugoCmd.c.hugo
  	}
  
  	if err == nil {
  		errCount := int(loggers.GlobalErrorCounter.Count())
  		if errCount > 0 {
  			err = fmt.Errorf("logged %d errors", errCount)
  		} else if resp.Result != nil {
  			errCount = resp.Result.NumLogErrors()
  			if errCount > 0 {
  				err = fmt.Errorf("logged %d errors", errCount)
  			}
  		}
  
  	}
  
  	resp.Err = err
  	resp.Cmd = c
  
  	return resp
  }
docs: // Execute adds all child commands to the root command HugoCmd and sets flags appropriately.
  // The args are usually filled with os.Args[1:].