Впервые решил потыкать этот ваш Grunt, а ставится он как я понял только с помощью npm, который тянет в свою очередь nodejs и еще кучу зависимостей. Если с этим еще можно смириться (поставил раз глобально и забыл), то как оно ведёт себя в локально в проекте меня совершенно не устраивает.
Ставлю плагин для объединения зависимостей, установленных через bower и в итоге оно зачем-то мне поставило grunt локально (не в зависимостях требуемого плагина), хотя он уже стоит глобально, а еще накачало зависимостей на 40 мегабайт. Неужели такая задача, как склейка файлов требует такого количества кода? Никогда не поверю. А что будет, когда понадобится что-то по сложнее?
Теперь вот думаю, что стоит подыскать что-то попроще.
На замену bower есть bowerphp, который хоть еще и в альфе, но со своей задачей вроде как справляется.
А вот с заменой гранта я ничего не придумал. Я слышал про assetic, который позволяет объединять файлы и пропускать через фильтры, но хотелось бы готовое консольное приложение: скачал phar, скормил конфиг, получил результат.
Пробовал искать. Пока безуспешно. Писать свой велосипед нет ни желания ни времени.