Expand description
§romm-cli
romm-cli is a powerful command-line interface and terminal user interface (TUI)
for interacting with the RomM API.
It provides tools for:
- Browsing and searching your ROM collection.
- Downloading ROMs and game saves.
- Uploading new ROMs and saves.
- Managing server-side tasks (library scans, etc.).
- Securely managing authentication via the OS keyring.
§Quick Start
Most users will interact with the crate through the romm-cli binary.
For library consumers, the core entry point is the client::RommClient.
use romm_cli::config::load_config;
use romm_cli::client::RommClient;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let config = load_config()?;
let client = RommClient::new(&config, false)?;
let version = client.rom_server_version_from_heartbeat().await;
println!("Connected to RomM server version: {:?}", version);
Ok(())
}Modules§
- client
- HTTP client implementation for the RomM API. HTTP client wrapper around the ROMM API.
- commands
- CLI command handlers. Top-level CLI command handling.
- config
- Configuration and authentication management. Configuration and authentication for the ROMM client.
- core
- Internal core logic and shared utilities. Core application logic and shared utilities.
- endpoints
- Type-safe API endpoint definitions.
- frontend
- Frontend-specific logic (shared between CLI and TUI). Frontend routing helpers.
- services
- High-level service objects for common operations.
Small service objects that wrap
RommClientfor higher-level operations. - tui
- TUI implementation (requires the
tuifeature). Terminal UI module. - types
- Shared data models and types.
- update
- Auto-update logic.