public function execute(string $projectFolder) {
    $shell = $this->getShell()->setDirectory(implode(DIRECTORY_SEPARATOR, [rtrim($this->getBaseFolder(), '\/'), ltrim($projectFolder, '\/')]));
    $shell->run($this->getCommandBuilder()->reset()->addParam('prototype'));
    $shell->run($this->getCommandBuilder()->reset()->addParam('update'));
  }
public function execute(string $projectFolder) {
    $shell = $this->getShell()->setDirectory(implode(DIRECTORY_SEPARATOR, [rtrim($this->getBaseFolder(), '\/'), ltrim($projectFolder, '\/')]));
    $shell->run($this->getCommandBuilder()->reset()->addParam('prototype'));
    $shell->run($this->getCommandBuilder()->reset()->addParam('update'));
  }
public function execute ( string $ projectFolder ) { $ shell = $ this -> getShell ( ) -> setDirectory ( implode ( DIRECTORY_SEPARATOR , [ rtrim ( $ this -> getBaseFolder ( ) , '\/' ) , ltrim ( $ projectFolder , '\/' ) ] ) ) ; $ shell -> run ( $ this -> getCommandBuilder ( ) -> reset ( ) -> addParam ( 'prototype' ) ) ; $ shell -> run ( $ this -> getCommandBuilder ( ) -> reset ( ) -> addParam ( 'update' ) ) ; }
Builds the project path from the basePath and the given project folder, then executes the composer prototyp and composer update commands with the commandBuilder and the
shell.

The commandBuilder is reset before every use so this could be executed multiple times

@param string $projectFolder
Builds the project path from the basePath and the given project folder then executes the composer prototyp and composer update commands with the commandBuilder and the shell .