@@ -40,6 +40,9 @@ PYTHONPATH=src python3 -m pytest tests/unit/ui/design/ -v
4040
4141# Test execution components
4242PYTHONPATH=src python3 -m pytest tests/unit/execution/ -v
43+
44+ # Test parser components
45+ PYTHONPATH=src python3 -m pytest tests/unit/ui/parser/ -v
4346```
4447
4548## Architecture Overview
@@ -60,6 +63,7 @@ src/cli_patterns/
6063├── execution/ # Runtime engine and subprocess execution
6164├── ui/ # User interface components
6265│ ├── design/ # Design system (themes, tokens, components)
66+ │ ├── parser/ # Command parsing system
6367│ └── screens/ # Screen implementations (future)
6468└── cli.py # Main entry point
6569```
@@ -71,12 +75,20 @@ The UI uses a comprehensive design system with:
7175- ** Component Registry** : Centralized component registration and theming
7276- ** Rich Integration** : Built on Rich library for terminal rendering
7377
78+ ### Parser System
79+ The command parsing system provides flexible input interpretation:
80+ - ** Protocol-based** : All parsers implement the ` Parser ` protocol for consistency
81+ - ** Pipeline Architecture** : ` ParserPipeline ` routes input to appropriate parsers
82+ - ** Command Registry** : Manages command metadata and provides fuzzy-matching suggestions
83+ - ** Multiple Paradigms** : Supports text commands, shell pass-through (!), and extensible for more
84+
7485### Key Protocols
7586- ` WizardConfig ` : Complete wizard definition
7687- ` SessionState ` : Runtime state management
7788- ` ActionExecutor ` : Protocol for action execution
7889- ` OptionCollector ` : Protocol for option collection
7990- ` NavigationController ` : Protocol for navigation
91+ - ` Parser ` : Protocol for command parsers with consistent input interpretation
8092
8193## Type System Requirements
8294
@@ -103,19 +115,20 @@ Key testing focus areas:
103115
104116### Completed Components
105117- Design system (themes, tokens, components, registry)
106- - Subprocess executor with async execution and themed output
118+ - Subprocess executor with async execution and themed output (CLI-9)
119+ - Interactive shell with prompt_toolkit (CLI-7)
120+ - Command parser system with composable architecture (CLI-8)
121+ - Command registry with fuzzy matching and suggestions
107122- Basic type definitions and protocols structure
108123
109- ### In Progress (Branch CLI-9)
110- - Subprocess executor enhancements
124+ ### In Progress
111125- Test coverage improvements
112126- Integration testing
113127
114128### Pending Implementation
115129- Core wizard models and validation
116130- YAML/JSON definition loaders
117131- Python decorator system
118- - Interactive shell with prompt_toolkit
119132- Navigation controller
120133- Session state management
121134- CLI entry point
0 commit comments