Всё правильно вы предполагаете.
Git с версионностью по semver под каждый модуль.
Документация в том же репозитории (лучше в виде readme.md файлов, чем wiki — чтобы версия доков совпадала с версией кода).
NPM — обязательно, bower — по желанию (т.к. по сути это то же самое, что npm).
NPM можно использовать и для серверных и для фронтенд пакетов: после установки в конечный проект перемещать нужные папки и файлы в нужное место в этом проекте или инклюдить прямо из node_modules (перемещать при помощи Grunt / Gulp)
Только когда оформите все модули github + semver + npm, сможете собрать свой yeoman генератор.