public function command(
        string $name,
        string $desc = '',
        string $alias = '',
        bool $allowUnknown = false,
        bool $default = false
    ): Command {
        $command = new Command($name, $desc, $allowUnknown, $this);

        $this->add($command, $alias, $default);

        return $command;
    }
public function command(
        string $name,
        string $desc = '',
        string $alias = '',
        bool $allowUnknown = false,
        bool $default = false
    ): Command {
        $command = new Command($name, $desc, $allowUnknown, $this);

        $this->add($command, $alias, $default);

        return $command;
    }
public function command ( string $ name , string $ desc = '' , string $ alias = '' , bool $ allowUnknown = false , bool $ default = false ) : Command { $ command = new Command ( $ name , $ desc , $ allowUnknown , $ this ) ; $ this -> add ( $ command , $ alias , $ default ) ; return $ command ; }
Add a command by its name desc alias etc.

@param string $name
@param string $desc
@param string $alias
@param bool   $allowUnknown
@param bool   $default

@return Command
Add a command by its name desc alias etc .