code: func New(params *Parameters) *cli.Application {
  	return &cli.Application{
  		Name:  "crimson",
  		Title: "Machine Database client",
  		Commands: []*subcommands.Command{
  			subcommands.CmdHelp,
  			{}, // Create an empty command to separate groups of similar commands.
  
  			// Authentication.
  			authcli.SubcommandInfo(params.AuthOptions, "auth-info", true),
  			authcli.SubcommandLogin(params.AuthOptions, "auth-login", false),
  			authcli.SubcommandLogout(params.AuthOptions, "auth-logout", false),
  			{},
  
  			// Static entities.
  			getDatacentersCmd(params),
  			getIPsCmd(params),
  			getKVMsCmd(params),
  			getOSesCmd(params),
  			getPlatformsCmd(params),
  			getRacksCmd(params),
  			getSwitchesCmd(params),
  			getVLANsCmd(params),
  			{},
  
  			// Machines.
  			addMachineCmd(params),
  			deleteMachineCmd(params),
  			editMachineCmd(params),
  			getMachinesCmd(params),
  			renameMachineCmd(params),
  			{},
  
  			// Network interfaces.
  			addNICCmd(params),
  			deleteNICCmd(params),
  			editNICCmd(params),
  			getNICsCmd(params),
  			{},
  
  			// DRACs.
  			addDRACCmd(params),
  			editDRACCmd(params),
  			getDRACsCmd(params),
  			{},
  
  			// Physical hosts.
  			addPhysicalHostCmd(params),
  			editPhysicalHostCmd(params),
  			getPhysicalHostsCmd(params),
  			{},
  
  			// VM slots.
  			getVMSlotsCmd(params),
  			{},
  
  			// Virtual hosts.
  			addVMCmd(params),
  			editVMCmd(params),
  			getVMsCmd(params),
  			{},
  
  			// Hostnames.
  			deleteHostCmd(params),
  			{},
  
  			// States.
  			getStatesCmd(params),
  		},
  	}
  }
docs: // New returns the Machine Database command-line application.