In all Magento 2 courses and tutorials recommended to create vendor and then theme in the /app/design/frontend/VENDORNAME/THEMENAME. http://devdocs.magento.com/guides/v2.1/frontend-dev-guide/themes/theme-create.html for example. But luma and blank theme are located in /vendors/magento/theme-frontend-luma and /vendors/magento/theme-frontend-blank.

Should and may we place theme in vendors? When and why we should do so? If I place new theme it will not be added to DB. Is there any installation procedure, that differs from creation in /app/design/frontend/?

2 Answers 2


The idea is that you build your theme in app/design/frontend/VENDORNAME/THEMENAME then package it using composer and store it in a repository of your choice. This can be git based or a composer repository private or public.

Then you can add this package to a new install of Magento 2 and install it in the /vendor/ directory.


If you use git clone to install the development version of Mage2 you will find that all code is stored under /app/.


vendors directory is about all the code that wasn't done by you, it's the core & community code. You must never edit or put anything in the vendor directory.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.