Имею опыт глубокой кастомизации Бутстрапа. Глупая была затея.
Родился такой монстр, который просрал плюсы и сочетал минусы обоих подходов (популярный фреймворк vs самописный велосипед).
Сильно изменив Бутстрап, убиваются:
- его обновления и багофиксы
- совместимость со сторонними плагинами
- низкий порог вхождения новых людей
- возможность гуглить решения в случае багов
Но и самописным велосипедом это тоже не является, потому что сильно завязано на исходную архитектуру. То есть нет полной свободы и гибкости, присущей кастомным решениям. БЭМ-ом там, конечно, тоже не пахнет, откуда идут большие проблемы с независимостью.
Бутстрап нужно использовать либо как есть, либо с минимальными скинами-стилизациями поверх.