diff --git a/hermes_cli/doctor.py b/hermes_cli/doctor.py index 21e6cd05cee..53fa31098f7 100644 --- a/hermes_cli/doctor.py +++ b/hermes_cli/doctor.py @@ -12,6 +12,7 @@ from pathlib import Path from hermes_cli.config import get_project_root, get_hermes_home, get_env_path +from hermes_cli.env_loader import load_hermes_dotenv from hermes_constants import display_hermes_home PROJECT_ROOT = get_project_root() @@ -19,15 +20,8 @@ _DHH = display_hermes_home() # user-facing display path (e.g. ~/.hermes or ~/.hermes/profiles/coder) # Load environment variables from ~/.hermes/.env so API key checks work -from dotenv import load_dotenv _env_path = get_env_path() -if _env_path.exists(): - try: - load_dotenv(_env_path, encoding="utf-8") - except UnicodeDecodeError: - load_dotenv(_env_path, encoding="latin-1") -# Also try project .env as dev fallback -load_dotenv(PROJECT_ROOT / ".env", override=False, encoding="utf-8") +load_hermes_dotenv(hermes_home=_env_path.parent, project_env=PROJECT_ROOT / ".env") from hermes_cli.colors import Colors, color from hermes_cli.models import _HERMES_USER_AGENT diff --git a/hermes_cli/dump.py b/hermes_cli/dump.py index 7fa9a337f5c..859f8f62468 100644 --- a/hermes_cli/dump.py +++ b/hermes_cli/dump.py @@ -14,6 +14,7 @@ from pathlib import Path from hermes_cli.config import get_hermes_home, get_env_path, get_project_root, load_config +from hermes_cli.env_loader import load_hermes_dotenv from hermes_constants import display_hermes_home @@ -195,15 +196,11 @@ def run_dump(args): show_keys = getattr(args, "show_keys", False) # Load env from .env file so key checks work - from dotenv import load_dotenv env_path = get_env_path() - if env_path.exists(): - try: - load_dotenv(env_path, encoding="utf-8") - except UnicodeDecodeError: - load_dotenv(env_path, encoding="latin-1") - # Also try project .env as dev fallback - load_dotenv(get_project_root() / ".env", override=False, encoding="utf-8") + load_hermes_dotenv( + hermes_home=env_path.parent, + project_env=get_project_root() / ".env", + ) project_root = get_project_root() hermes_home = get_hermes_home() diff --git a/scripts/discord-voice-doctor.py b/scripts/discord-voice-doctor.py index 932ab519cac..8227c8d11c7 100755 --- a/scripts/discord-voice-doctor.py +++ b/scripts/discord-voice-doctor.py @@ -176,9 +176,12 @@ def check_env_vars(): # Load .env try: - from dotenv import load_dotenv - if ENV_FILE.exists(): - load_dotenv(ENV_FILE) + from hermes_cli.env_loader import load_hermes_dotenv + + load_hermes_dotenv( + hermes_home=ENV_FILE.parent, + project_env=PROJECT_ROOT / ".env", + ) except ImportError: pass diff --git a/scripts/release.py b/scripts/release.py index b1705cac6ad..eafa506fb25 100755 --- a/scripts/release.py +++ b/scripts/release.py @@ -58,6 +58,7 @@ "dengtaoyuan@dengtaoyuandeMac-mini.local": "dengtaoyuan450-a11y", "ysfalweshcan@gmail.com": "Junass1", "bartokmagic@proton.me": "Bartok9", + "25840394+Bongulielmi@users.noreply.github.com": "Bongulielmi", "beardthelion@users.noreply.github.com": "beardthelion", "tangyuanjc@JCdeAIfenshendeMac-mini.local": "tangyuanjc", "leon@agentlinker.ai": "agentlinker",