diff --git a/crates/client/src/main.rs b/crates/client/src/main.rs index 86e7c87..9d26d9d 100644 --- a/crates/client/src/main.rs +++ b/crates/client/src/main.rs @@ -90,31 +90,42 @@ impl Config { } fn prompt_config() -> Config { + use std::io::Write; + let relay_url = { - print!(" Relay server URL [default: wss://remote.agent-helios.me/ws]: "); + let default = "wss://remote.agent-helios.me/ws"; + print!(" {} Relay URL [{}]: ", "→".cyan().bold(), default); + std::io::stdout().flush().unwrap(); let mut input = String::new(); std::io::stdin().read_line(&mut input).unwrap(); let trimmed = input.trim(); if trimmed.is_empty() { - "wss://remote.agent-helios.me/ws".to_string() + default.to_string() } else { trimmed.to_string() } }; let api_key = { - print!(" API Key: "); + print!(" {} API Key: ", "→".cyan().bold()); + std::io::stdout().flush().unwrap(); let mut input = String::new(); std::io::stdin().read_line(&mut input).unwrap(); input.trim().to_string() }; let label = { - print!(" Label for this machine (optional, press Enter to skip): "); + let default_label = hostname(); + print!(" {} Label for this PC [{}]: ", "→".cyan().bold(), default_label); + std::io::stdout().flush().unwrap(); let mut input = String::new(); std::io::stdin().read_line(&mut input).unwrap(); let trimmed = input.trim().to_string(); - if trimmed.is_empty() { None } else { Some(trimmed) } + if trimmed.is_empty() { + Some(default_label) + } else { + Some(trimmed) + } }; Config { relay_url, api_key, label } @@ -136,6 +147,7 @@ async fn main() { log_status!("No config found — first-time setup"); println!(); let c = prompt_config(); + println!(); if let Err(e) = c.save() { log_err!("Failed to save config: {e}"); } else {