PHP проекты сейчас стали все более и более сложными, а одного бекенда подчас недостаточно — поэтому мы обычно работаем уже в связке фронт и бекенда и кучи маленьких «плагинчиков», «сборщиков» и «компиляторов». Зачем каждый из них и что делается — простыми словами, без лишнего.

1) composer.json для подтягивания библиотек php (vendor — тут внешние классы, src_back — наши классы бекенда)
- composer install — вытягивает vendor
- composer update — обновляет, периодически запускайте, особенно если не находит класс который явно есть
2) tsconfig.json для настройки автокомпиляции ts в js (src_front/ts => public/js/all.js)
ничего делать не надо только в phpstorm настроить автокомпиляцию на изменения
3) package.json для настройки действий нпм, к примеру автокомпиляции scss в css
- чтобы локально не гадить много — запустите глобальную установку пакетов npm install -g gulp gulp-autoprefixer gulp-load-plugins gulp-sass bower-installer
- npm install — спокойно запускаем (все равно подгадит в папке node_modules)
4) bower.json для вытягивания библиотек фронтенда (фактически аналог composer для scss, js, если пакеты в npm вам не очень нравятся — на самом деле — практически одно)
- .bowerrc настройка папки куда выкачивать
- bower install — вытягивает если нет, и обновляет если есть собственно все указанные библиотеки
Теперь для запуска достаточно написать
- npm run-script start для запуска со слежением
- npm run-script build для единоразового построения
Но даже этого можно не делать, а воспользоваться функцией Php Storm, где есть также локальные «вотчеры» file watchers — для них php_storm_scss.bat
