Add core modules (session, recorder, database)
Some checks failed
CI / test (push) Has been cancelled
CI / lint (push) Has been cancelled

This commit is contained in:
2026-01-30 05:28:37 +00:00
parent d67cbd0bcd
commit f652eb0a60

53
.termflow/config.py Normal file
View File

@@ -0,0 +1,53 @@
"""Configuration management for Term Flow."""
import os
from pathlib import Path
from typing import Optional
import yaml
class Config:
"""Configuration manager for Term Flow."""
def __init__(self):
self._config_dir = Path(os.environ.get("TERMFLOW_HOME", Path.home() / ".termflow"))
self._config_dir.mkdir(parents=True, exist_ok=True)
self._db_path = os.environ.get(
"TERMFLOW_DB",
str(self._config_dir / "sessions.db")
)
self._git_cache = os.environ.get(
"TERMFLOW_GIT_CACHE",
str(self._config_dir / "git_cache")
)
self._default_style = os.environ.get("TERMFLOW_STYLE", "detailed")
@property
def config_dir(self) -> Path:
return self._config_dir
@property
def db_path(self) -> str:
return self._db_path
@property
def git_cache(self) -> str:
return self._git_cache
@property
def default_style(self) -> str:
return self._default_style
def get_session_db_path(self) -> str:
Path(self._db_path).parent.mkdir(parents=True, exist_ok=True)
return self._db_path
def get_git_cache_dir(self) -> str:
Path(self._git_cache).mkdir(parents=True, exist_ok=True)
return self._git_cache
def get_config() -> Config:
"""Get the current configuration."""
return Config()