diff --git a/src/synclean/config/settings.py b/src/synclean/config/settings.py index 9fcf8a9..a9b32d0 100644 --- a/src/synclean/config/settings.py +++ b/src/synclean/config/settings.py @@ -12,13 +12,15 @@ class SettingsManager: def __init__(self, config_path: Path = DEFAULT_PATH) -> None: self.config_path = config_path - def load_config(self) -> SynapseConfig: + def load_config(self) -> SynapseConfig | None: """Load Synapse configuration from YAML file with validation.""" try: + if not self.config_path.exists(): + return None with self.config_path.open('r', encoding="utf-8") as f: config_data = yaml.safe_load(f) except FileNotFoundError: - raise FileNotFoundError(f"Config file not found: {self.config_path}") from None + None except yaml.YAMLError as e: raise ValueError(f"Invalid YAML syntax: {e}") from e