feat: add centralized Config class with auto-save to ~/.strix/cli-config.json

- Add Config class with all env var defaults in one place
- Auto-load saved config on startup (env vars take precedence)
- Auto-save config after successful LLM warm-up
- Replace scattered os.getenv() calls with Config.get()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
0xallam
2026-01-10 15:49:03 -08:00
committed by Ahmed Allam
co-authored by Claude Opus 4.5
parent 52aa763d47
commit 83efe3816f
13 changed files with 184 additions and 45 deletions
+3 -2
View File
@@ -1,5 +1,4 @@
import json
import os
import platform
import sys
import urllib.request
@@ -7,6 +6,8 @@ from pathlib import Path
from typing import TYPE_CHECKING, Any
from uuid import uuid4
from strix.config import Config
if TYPE_CHECKING:
from strix.telemetry.tracer import Tracer
@@ -18,7 +19,7 @@ _SESSION_ID = uuid4().hex[:16]
def _is_enabled() -> bool:
return os.getenv("STRIX_TELEMETRY", "1").lower() not in ("0", "false", "no", "off")
return (Config.get("strix_telemetry") or "1").lower() not in ("0", "false", "no", "off")
def _is_first_run() -> bool: