Understand the Yek Core Architecture
mainYek is designed with a modular architecture that separates concerns into distinct layers. The core components include:
- Domain Models: Data structures like
ProcessedFileandRepositoryInfothat represent the state of files and repositories. - Repository Pattern: Abstractions (
FileSystemandGitOperationstraits) that decouple the logic from the actual file system and Git implementations. - Processing Pipeline: A middleware-based system where files pass through various
ProcessingStageimplementations (e.g., discovery, filtering, and formatting). - Configuration Architecture: A split configuration model consisting of
InputConfig,OutputConfig, andProcessingConfigto manage different aspects of the tool's behavior.