r2r-cli
The r2r-cli module is the Ready-to-Release command-line interface for executing containerized development workflows. It manages Docker-based extensions that provide isolated, reproducible development environments.
System Context
Shows how r2r-cli interacts with developers, Docker, and GitHub Container Registry.
Container Architecture
High-level view of r2r-cli's major subsystems.
Subsystem Architecture
Configuration System
Multi-layer configuration management (base, local, personal, dev configs).
Parser System
EBNF-based command-line argument parsing.
Docker Orchestration
Container lifecycle management and execution.
Extension Management
Extension installation and lifecycle management.
Validation System
Configuration and command validation.
Logging System
Structured logging with context management.
Terminal System
Cross-platform terminal handling (Unix/Windows).
GitHub Integration
GitHub Container Registry integration for image management.
Cache System
Registry response and metadata caching.
Session System
CLI session state management.
TUI System
Terminal UI components (spinners, progress bars).
Workflow Diagrams
Run Workflow
The flow when executing r2r run <extension> <command>.
Install Workflow
The flow when installing extensions.
Design File
- Location:
specs/r2r-cli/.design/workspace.dsl - Interactive:
r2r eac serve-design --module r2r-cli
Key Features
| Feature | Description |
|---|---|
| Containerized Execution | Run commands in isolated Docker containers |
| Multi-Config Support | Layer configs from repository, local, personal, and dev |
| Extension Pinning | SHA-based version pinning for reproducibility |
| TTY Support | Full terminal support including interactive sessions |
| Cross-Platform | Works on Linux, macOS, and Windows |
Tutorials | How-to Guides | Explanation | Reference
You are here: Reference — information-oriented technical descriptions of the system.