En realidad, lo único que necesita en una configuración de Magento 2 es un composer.jsonarchivo que requiera el paquete magento/product-community-editiondel repositorio de Composer https://repo.magento.com/ .
Ahora, cuando lo ejecutes composer install, descargará muchos paquetes de Magento y paquetes de terceros (Composer, Symfony, Zend, etc.) y los colocará en la vendor/carpeta. Gracias al instalador de Magento Composer, también copiará muchos archivos de Magento 2 en la raíz. Pero en realidad todo tu código proviene vendor/.
Ahora, la app/codecarpeta no está allí por defecto. Puede crear usted mismo y añadir sus locales módulos existe en esta estructura: app/code/<VendorName>/<ModuleName>.
También podría desarrollar sus módulos en un repositorio VCS (es decir, GIT) en algún lugar y agregarlos a su sitio, composer.jsonlo que hará que también se instalen en el vendor/directorio.