code: func (c *TokenCommand) Initialize(app *kingpin.Application, config *service.Config) {
  	c.config = config
  
  	tokens := app.Command("tokens", "List or revoke invitation tokens")
  
  	// tctl tokens add ..."
  	c.tokenAdd = tokens.Command("add", "Create a invitation token")
  	c.tokenAdd.Flag("type", "Type of token to add").Required().StringVar(&c.tokenType)
  	c.tokenAdd.Flag("value", "Value of token to add").StringVar(&c.value)
  	c.tokenAdd.Flag("ttl", fmt.Sprintf("Set expiration time for token, default is %v hour, maximum is %v hours",
  		int(defaults.SignupTokenTTL/time.Hour), int(defaults.MaxSignupTokenTTL/time.Hour))).
  		Default(fmt.Sprintf("%v", defaults.SignupTokenTTL)).DurationVar(&c.ttl)
  
  	// "tctl tokens rm ..."
  	c.tokenDel = tokens.Command("rm", "Delete/revoke an invitation token").Alias("del")
  	c.tokenDel.Arg("token", "Token to delete").StringVar(&c.value)
  
  	// "tctl tokens ls"
  	c.tokenList = tokens.Command("ls", "List node and user invitation tokens")
  	c.tokenList.Flag("format", "Output format, 'text' or 'json'").Hidden().Default(teleport.Text).StringVar(&c.format)
  }
docs: // Initialize allows TokenCommand to plug itself into the CLI parser