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:
20
cli/__init__.py
Normal file
20
cli/__init__.py
Normal file
@@ -0,0 +1,20 @@
|
||||
"""
|
||||
CLI presentation layer.
|
||||
|
||||
This package handles all CLI-specific concerns:
|
||||
- Argument parsing and validation
|
||||
- Output formatting and presentation
|
||||
- User interaction and feedback
|
||||
- Error handling and display
|
||||
|
||||
The CLI layer delegates business logic to services and focuses purely on
|
||||
presentation and user interface concerns.
|
||||
"""
|
||||
|
||||
from .core import CLIFramework
|
||||
from .presenters import *
|
||||
from .commands import *
|
||||
|
||||
__all__ = [
|
||||
'CLIFramework'
|
||||
]
|
||||
Reference in New Issue
Block a user