code: func GetApplication(params base.Parameters) *cli.Application {
  	return &cli.Application{
  		Name:  "lucicfg",
  		Title: "LUCI config generator (" + lucicfg.UserAgent + ")",
  
  		Context: func(ctx context.Context) context.Context {
  			loggerConfig := gologger.LoggerConfig{
  				Format: `[P%{pid} %{time:15:04:05.000} %{shortfile} %{level:.1s}] %{message}`,
  				Out:    os.Stderr,
  			}
  			return loggerConfig.Use(ctx)
  		},
  
  		Commands: []*subcommands.Command{
  			subcommands.Section("Config generation\n"),
  			generate.Cmd(params),
  			validate.Cmd(params),
  
  			subcommands.Section("Aiding in the migration\n"),
  			diff.Cmd(params),
  
  			subcommands.Section("Authentication for LUCI Config\n"),
  			authcli.SubcommandInfo(params.AuthOptions, "auth-info", true),
  			authcli.SubcommandLogin(params.AuthOptions, "auth-login", false),
  			authcli.SubcommandLogout(params.AuthOptions, "auth-logout", false),
  
  			subcommands.Section("Misc\n"),
  			subcommands.CmdHelp,
  			versioncli.CmdVersion(lucicfg.UserAgent),
  		},
  	}
  }
docs: // GetApplication returns lucicfg cli.Application.