code: func startRefresh(publicPathEnv string, ctx context.Context) (*refresh.Manager, error) {
  	cfgFile := filepath.Join(cnf.AppPath, "watch.toml")
  
  	_, err := os.Stat(cfgFile)
  	if err != nil && !os.IsNotExist(err) {
  		return nil, err
  	}
  
  	c := &refreshConfig{
  		AppRoot:            ".",
  		IgnoredFolders:     []string{"vendor", "log", "logs", "tmp", "node_modules", "bin", "templates"},
  		IncludedExtensions: []string{".go", ".toml"},
  		BuildPath:          os.TempDir(),
  		BuildDelay:         200,
  		BinaryName:         "watch-build",
  		CommandFlags:       []string{},
  		CommandEnv: []string{
  			fmt.Sprintf("%s_ENV=%s", cnf.AppEnvName, cnf.ActiveEnv),
  		},
  		EnableColors: true,
  	}
  
  	// Only read the config file if it exists, otherwise use the defaults above.
  	if !os.IsNotExist(err) {
  		_, err = toml.DecodeFile(cfgFile, c)
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	// Append the APPNAME_SERVER_PUBLIC_PATH environment var to refresh libs CommandEnv.
  	c.CommandEnv = append(c.CommandEnv, publicPathEnv)
  
  	rc := &refresh.Configuration{
  		AppRoot:            c.AppRoot,
  		IgnoredFolders:     c.IgnoredFolders,
  		IncludedExtensions: c.IncludedExtensions,
  		BuildPath:          c.BuildPath,
  		BuildDelay:         c.BuildDelay,
  		BinaryName:         c.BinaryName,
  		CommandFlags:       c.CommandFlags,
  		CommandEnv:         c.CommandEnv,
  		EnableColors:       c.EnableColors,
  		LogName:            c.LogName,
  	}
  
  	r := refresh.NewWithContext(rc, ctx)
  
  	return r, nil
  }
docs: // startRefresh starts the refresh server to watch go files for recompilation.