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:
parent
fd8f792f08
commit
7f5309c4b0
17 changed files with 1274 additions and 713 deletions
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'
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue