package config import ( "os" "path/filepath" ) type Config struct { Port string GinMode string DataDir string } func Load() *Config { cfg := &Config{ Port: getEnv("PORT", "8080"), GinMode: getEnv("GIN_MODE", "debug"), DataDir: getEnv("DATA_DIR", "data"), } // Ensure data directories exist os.MkdirAll(cfg.DataDir, 0o755) os.MkdirAll(filepath.Join(cfg.DataDir, "repos"), 0o755) return cfg } func (c *Config) DBPath() string { return filepath.Join(c.DataDir, "pr-helper.db") } func (c *Config) ReposDir() string { return filepath.Join(c.DataDir, "repos") } func getEnv(key, fallback string) string { if v := os.Getenv(key); v != "" { return v } return fallback }