Files
markitect-main/config/__init__.py
tegwick a7a7960ef6 feat: Implement unified configuration management system
Consolidates scattered configuration patterns across TDDAI, Gitea, and
MarkiTect into a unified, maintainable system addressing issue #22.

Key improvements:
- Created centralized config/ module with base classes and utilities
- Eliminated duplicate load_dotenv_file() functions
- Standardized environment variables with MARKITECT_ prefix
- Implemented comprehensive validation with helpful error messages
- Maintained full backward compatibility with existing TDDAI config

Architecture:
- BaseConfig: Abstract base with common functionality
- MarkitectConfig: Main configuration class with legacy support
- Compatibility layer: TddaiConfigCompat and GiteaConfigCompat wrappers
- Unified error handling: ConfigurationError hierarchy

All existing tests pass without modification, ensuring seamless transition.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-26 17:45:56 +02:00

42 lines
1.2 KiB
Python

"""
Unified configuration management for MarkiTect project.
This module provides a centralized configuration system that consolidates
scattered configuration patterns across TDDAI, Gitea, MarkiTect, and other modules.
Main exports:
- BaseConfig: Base configuration class with common functionality
- ConfigurationError: Unified configuration exception
- load_env_file: Utility for loading environment files
- get_unified_config: Main configuration access point
"""
from .base import BaseConfig
from .exceptions import ConfigurationError, ConfigValidationError
from .loaders import load_env_file, resolve_path
from .manager import UnifiedConfigManager, get_unified_config, MarkitectConfig, reload_config, get_config_status
from .compat import TddaiConfigCompat, GiteaConfigCompat, get_tddai_config, get_gitea_config
__all__ = [
# Core configuration
'BaseConfig',
'MarkitectConfig',
'UnifiedConfigManager',
'get_unified_config',
'reload_config',
'get_config_status',
# Exceptions
'ConfigurationError',
'ConfigValidationError',
# Utilities
'load_env_file',
'resolve_path',
# Compatibility layer
'TddaiConfigCompat',
'GiteaConfigCompat',
'get_tddai_config',
'get_gitea_config'
]