code: func Initialize(env *pflag.Flag) (*Configuration, error) {
  	c := &Configuration{}
  
  	path, err := getAppPath()
  	if err != nil {
  		return nil, err
  	}
  	c.AppPath = path
  
  	c.AppName = getAppName(c.AppPath)
  	c.AppEnvName = strmangle.EnvAppName(c.AppName)
  	c.ActiveEnv = getActiveEnv(c.AppPath, c.AppName)
  	// If ActiveEnv is not set via env var or config file,
  	// OR the user has passed in an override value through a flag,
  	// then set it to the flag value.
  	if env != nil && (c.ActiveEnv == "" || env.Changed) {
  		c.ActiveEnv = env.Value.String()
  	}
  	c.ModeViper = NewModeViper(c.AppPath, c.AppEnvName, c.ActiveEnv)
  
  	return c, nil
  }
docs: // Initialize the config