Initial upload: git-insights-cli with CI/CD workflow
Some checks failed
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled
CI / release (push) Has been cancelled

This commit is contained in:
2026-01-30 20:35:18 +00:00
parent 6a3b8ff20e
commit f50c2d5471

35
src/utils/config.py Normal file
View File

@@ -0,0 +1,35 @@
import os
from typing import Any, Dict, Optional
import yaml
def load_config(config_path: Optional[str] = None) -> Dict[str, Any]:
"""Load configuration from file or use defaults."""
if config_path and os.path.exists(config_path):
with open(config_path, "r") as f:
return yaml.safe_load(f) or {}
default_paths = [
".git-insights/config.yaml",
os.path.expanduser("~/.git-insights/config.yaml"),
]
for path in default_paths:
if os.path.exists(path):
with open(path, "r") as f:
return yaml.safe_load(f) or {}
return get_default_config()
def get_default_config() -> Dict[str, Any]:
"""Return default configuration."""
return {
"repository_path": ".",
"analysis_days": 30,
"output_format": "json",
"churn_threshold": 500,
"risky_commit_threshold": 500,
"merge_commit_flag": True,
}