Skip to content

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.

r2r-cli SystemContext diagram

Container Architecture

High-level view of r2r-cli's major subsystems.

r2r-cli Containers diagram

Subsystem Architecture

Configuration System

Multi-layer configuration management (base, local, personal, dev configs).

r2r-cli ConfigurationSystem diagram

Parser System

EBNF-based command-line argument parsing.

r2r-cli ParserSystem diagram

Docker Orchestration

Container lifecycle management and execution.

r2r-cli DockerOrchestration diagram

Extension Management

Extension installation and lifecycle management.

r2r-cli ExtensionManagement diagram

Validation System

Configuration and command validation.

r2r-cli ValidationSystem diagram

Logging System

Structured logging with context management.

r2r-cli LoggingSystem diagram

Terminal System

Cross-platform terminal handling (Unix/Windows).

r2r-cli TerminalSystem diagram

GitHub Integration

GitHub Container Registry integration for image management.

r2r-cli GitHubIntegration diagram

Cache System

Registry response and metadata caching.

r2r-cli CacheSystem diagram

Session System

CLI session state management.

r2r-cli SessionSystem diagram

TUI System

Terminal UI components (spinners, progress bars).

r2r-cli TUISystem diagram

Workflow Diagrams

Run Workflow

The flow when executing r2r run <extension> <command>.

r2r-cli RunWorkflow diagram

Install Workflow

The flow when installing extensions.

r2r-cli InstallWorkflow diagram

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.