Basic interface for all CLI commands.
virtual bool run(const ParsedOptions &options)=0
Executes the main logic of the command.
virtual bool validate(const ParsedOptions &options)=0
Validate the arguments already analyzed.
virtual ~ICommand()=default
virtual bool do_run(const std::string command_name, const ParsedOptions &options, const OptionsCollector *collector=nullptr)=0
virtual const CliOption * options() const =0
virtual std::string_view description() const =0