use anyhow::Result;
use clap::Parser;
use crate_interactive::cli::Cli;
use tracing::{error, info};
#[tokio::main]
async fn main() -> Result<()> {
tracing_subscriber::fmt()
.with_env_filter(
tracing_subscriber::EnvFilter::try_from_default_env()
.unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info")),
)
.with_target(false)
.init();
info!("Starting claude-sdk-rs CLI");
let cli = Cli::parse();
if let Err(e) = cli.execute().await {
error!("Command execution failed: {:?}", e);
eprintln!("Error: {}", e.user_message());
std::process::exit(1);
}
info!("Command completed successfully");
Ok(())
}