Architecture
Workspace Crates
- Interface crates
- Orchestration crate
- Protocol and adapter crates
opencli-provider
opencli-tools
opencli-output
- State and config crates
opencli-config
opencli-audit
opencli-session
Execution Flow
opencli parses CLI arguments
opencli-core::runtime assembles dependencies
opencli-core::app runs a use case
opencli-provider::ProviderFactory constructs the selected provider
opencli-core::agent coordinates model/tool loops
opencli-output renders terminal and markdown output
opencli-session and opencli-audit persist state and trace history
Quality System
- Unit tests for core modules
- CLI smoke tests
- Fixture-based rendering tests
- Mock-server provider tests
- Criterion benchmark entrypoints
- Structured tracing with request correlation ids