Skip to content

Commit fbc67c7

Browse files
committed
CLI-16: Update CLAUDE.md with parser system documentation
- Add parser system architecture section - Update implementation status (CLI-7, CLI-8, CLI-9 complete) - Document parser testing commands - Add parser directory to project structure - Update key protocols to include Parser protocol
1 parent de65565 commit fbc67c7

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

CLAUDE.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ PYTHONPATH=src python3 -m pytest tests/unit/ui/design/ -v
4040

4141
# Test execution components
4242
PYTHONPATH=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

Comments
 (0)