Skip to main content
Merlin CLI commands are defined in the commands directory. Each command is its own file. The following top-level directory structure is used:
  • agent - Commands that are only accessible in the Merlin[agent]» menu, used to interact with Agent
  • all - Commands that are accessible on all menus in the CLI
  • listeners - Commands that are only accessible in the Merlin[listeners]» menu, used to interact with listeners
  • mainMenu - Commands that are only accessible in the Merlin» menu
  • modules - Commands that are only accessible in the Merlin[modules]» menu, used to interact with modules
  • multi - Commands that are accessible in multiple menus, but not all (e.g., info)
The commands/template/template.go file can be used as a template for new commands
New commands must implement the Command interface which has the following functions:
Once a new command file has been added to the directory, it must be added to the load function in commands/repository/repository.go