refactor: Separate CLI presentation from core business logic
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>
This commit is contained in:
16
cli/presenters/__init__.py
Normal file
16
cli/presenters/__init__.py
Normal file
@@ -0,0 +1,16 @@
|
||||
"""
|
||||
Presenters for CLI output formatting.
|
||||
|
||||
Presenters handle all output formatting and user feedback without
|
||||
containing business logic.
|
||||
"""
|
||||
|
||||
from .formatters import OutputFormatter
|
||||
from .views import WorkspaceView, IssueView, ProjectView
|
||||
|
||||
__all__ = [
|
||||
'OutputFormatter',
|
||||
'WorkspaceView',
|
||||
'IssueView',
|
||||
'ProjectView'
|
||||
]
|
||||
Reference in New Issue
Block a user