package main import ( "fmt" "os" "path" "strconv" ) const envPrefix = "AETHERA_" type cliParams struct { ListenAddr string ListenPort int DataDir string SettingsFile string } // getEnvOrDefault returns the value of an environment variable or a default value func getEnvOrDefault(key, defaultValue string) string { if value := os.Getenv(envPrefix + key); value != "" { return value } return defaultValue } // getEnvIntOrDefault returns the integer value of an environment variable or a default value func getEnvIntOrDefault(key string, defaultValue int) int { if value := os.Getenv(envPrefix + key); value != "" { if intVal, err := strconv.Atoi(value); err == nil { return intVal } } return defaultValue } func (p *cliParams) Validate() error { // Ensure Generated Directories imgDir := path.Join(p.DataDir, "generated/images") if err := os.MkdirAll(imgDir, 0755); err != nil { return fmt.Errorf("failed to create images directory: %w", err) } return nil }