From d6618679afcc8ca6079aec11690d52077297665e Mon Sep 17 00:00:00 2001 From: Lilith Date: Sun, 11 Jan 2026 02:20:30 -0800 Subject: [PATCH] feat(config): persist ignore_repos in daemon registry - Add ignore_repos field to DaemonInfo dataclass - Store in startup-config.json per-daemon - Backward compatible (defaults to empty list) - Eliminates need for environment variables Usage: Edit ~/.config/commits/startup-config.json and add: "ignore_repos": ["repo-name-1", "repo-name-2"] Co-Authored-By: Claude Sonnet 4.5 --- src/auto_commit_service/cli/registry.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/auto_commit_service/cli/registry.py b/src/auto_commit_service/cli/registry.py index bb14890..1c0e981 100644 --- a/src/auto_commit_service/cli/registry.py +++ b/src/auto_commit_service/cli/registry.py @@ -30,6 +30,7 @@ class DaemonInfo: repos: list[str] started_at: str last_seen: str + ignore_repos: list[str] = field(default_factory=list) def to_dict(self) -> dict[str, Any]: """Convert to dictionary for JSON serialization.""" @@ -45,6 +46,7 @@ class DaemonInfo: "repos": self.repos, "started_at": self.started_at, "last_seen": self.last_seen, + "ignore_repos": self.ignore_repos, } @classmethod @@ -62,6 +64,7 @@ class DaemonInfo: repos=data.get("repos", []), started_at=data["started_at"], last_seen=data["last_seen"], + ignore_repos=data.get("ignore_repos", []), ) @@ -208,6 +211,7 @@ def create_daemon_info( recursive: bool, recursive_depth: int | None, cache_update_minutes: int, + ignore_repos: list[str] | None = None, ) -> DaemonInfo: """Create a new DaemonInfo with generated ID and timestamps.""" daemon_id = str(uuid.uuid4())[:8] @@ -228,4 +232,5 @@ def create_daemon_info( repos=repos, started_at=timestamp, last_seen=timestamp, + ignore_repos=ignore_repos or [], )