code: func application(p Params) *cli.Application {
  	p.Auth.Scopes = []string{
  		auth.OAuthScopeEmail,
  		gerrit.OAuthScope,
  	}
  
  	return &cli.Application{
  		Name:  "bb",
  		Title: "A CLI client for buildbucket.",
  		Context: func(ctx context.Context) context.Context {
  			return logCfg.Use(ctx)
  		},
  		Commands: []*subcommands.Command{
  			cmdAdd(p),
  			cmdGet(p),
  			cmdLS(p),
  			cmdLog(p),
  			cmdCancel(p),
  			cmdBatch(p),
  			cmdCollect(p),
  
  			{},
  			authcli.SubcommandLogin(p.Auth, "auth-login", false),
  			authcli.SubcommandLogout(p.Auth, "auth-logout", false),
  			authcli.SubcommandInfo(p.Auth, "auth-info", false),
  
  			{},
  			subcommands.CmdHelp,
  		},
  	}
  }
docs: // application creates the application and configures its subcommands.
  // Ignores p.Auth.Scopes.