Complete architectural separation of concerns implementing clean layered design: • Services Layer: Pure business logic isolated from presentation - WorkspaceService: TDD workspace operations - IssueService: Issue management and creation - ProjectService: Project management and milestones - ExportService: Unix-friendly data export • CLI Layer: Clean presentation with command/presenter separation - Commands delegate to services for all business operations - Presenters handle formatted output and error messaging - Framework provides unified interface • Benefits: - Eliminates mixed concerns in 943-line CLI monolith - Enables easier testing and maintenance - Preserves all existing functionality and Unix pipeline compatibility - Provides foundation for future CLI development Resolves issue #20: CLI separation from core logic 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
28 lines
701 B
Python
28 lines
701 B
Python
"""
|
|
Business logic services layer.
|
|
|
|
This package contains pure business logic services that are independent of
|
|
CLI presentation concerns. Services focus on:
|
|
|
|
- Core business operations
|
|
- Data transformation
|
|
- Validation and error handling
|
|
- Integration with lower-level modules
|
|
|
|
Services should NOT:
|
|
- Handle CLI arguments directly
|
|
- Print output or format data for display
|
|
- Call sys.exit() or handle CLI-specific errors
|
|
"""
|
|
|
|
from .workspace_service import WorkspaceService
|
|
from .issue_service import IssueService
|
|
from .project_service import ProjectService
|
|
from .export_service import ExportService
|
|
|
|
__all__ = [
|
|
'WorkspaceService',
|
|
'IssueService',
|
|
'ProjectService',
|
|
'ExportService'
|
|
] |