Hello. I just write some Python tool to easily start BrowserSync on a Yii2 instalation running on a local web server.
Requirements:
- 
NodeJS (in you local machine) 
- 
BrowserSync.io installed Globally 
- 
Local webserver running the instalation 
Because I can’t post the link to my Github repository, this is the code:
#!/usr/bin/python
# Imports.
import sys
import os
import argparse
def start_bs(tool, domain, template_name = False) :
    if tool == 'joomla':
        os.system('browser-sync start --proxy "'+domain+'" --files "templates/'+template_name+'/css/*.scss" "templates/'+template_name+'/js/*.js" "templates/'+template_name+'/index.php"')
        pass
    if tool == 'yii2-a':
        os.system('browser-sync start --proxy "'+domain+'" --files "frontend/web/css/*.scss" "frontend/web/js/*.js" "frontend/views/*/*.php" "backend/web/css/*.scss" "backend/web/js/*.js" "backend/views/*/*.php"')
        pass
    if tool == 'yii2-b':
        os.system('browser-sync start --proxy "'+domain+'" --files "web/css/*.scss" "web/js/*.js" "views/*/*.php"')
        pass
# Dealing with arguments.
parser = argparse.ArgumentParser(description='Start BrowserSync for Joomla 3 site development, or Advanced Yii2 Development')
parser.add_argument('tool', action='store',  help='Define the tool (joomla, yii2-b or yii2-a)')
parser.add_argument('domain', action='store',  help='Define the local domain')
parser.add_argument('-tn', action='store',  help='(optional) For Joomla, the name of the template folder')
arguments = parser.parse_args()
# Main Script
if arguments.tool == 'joomla':
    if arguments.tn :
        start_bs(arguments.tool, arguments.domain, arguments.tn)
    else:
        parser.error("If tool is Joomla, the template name is required: startbs.py [-h] tool domain -tn template_name")
else:
    start_bs(arguments.tool, arguments.domain)