Попробуйте сторонние библиотеки (packagist), посмотрите как они это делают. Наверняка, там много разных проверок. А в случае ошибки - получите понятную причину.
В таких случаях обычно как бывает? Сейчас нужен легкий и простой сайт-визка, завтра нужно прикрутить товары, а потом вообще сделать из всего этого онлайн-магазин.
Поэтому беря (как подсказали выше) решения типа SPA, нужно быть готовым к переделке всего заново.
Проблема в том что такая абстракция превратится в новый фреймворк, который будет явно лишним. Потом попробуйте его адаптировать к чему-то другому - утилизируете миллион часов. Если еще есть возможность переписать и необходимость, то лучше это делать прямо сейчас.
Во всем нужно соблюдать меру, еще ее называют золотой серидиной. Ваш проект, кстати, ничем не лучше Яндекса. Вы перегнули в другую сторону. Может быть для вас будем открытием то что можно настроить сжатие и сайт будет грузиться быстрее. Особенно если не валять дурака и купить себе нормальный интернет.
ПО важно писать с хорошей архитектурой и поддерживаемостью, рано или поздно к этому все придет.
1. Генерирую расширение.
2. Кидаю его в папку vendor.
3. Регаю репо на гитхабе.
4. Заливаю код в репо.
5. Добавляю пакет на packagist.
6. Настраиваю автоматическую синхронизацию в гитхабе с packagist.
7. Добавляю зависимость в композер и делаю composer update.
8. ...
9. PROFIT!!!
p.s. и да, если не трогать настройку нэймспейсов, то не нужно обновлять каждый раз.