use clap::Parser;
use fukurow_cli::{commands::{Cli, CommandExecutor}, interactive::start_interactive};
use tracing_subscriber;
use anyhow::Result;
#[tokio::main]
async fn main() -> Result<()> {
tracing_subscriber::fmt()
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
.init();
let cli = Cli::parse();
if std::env::args().len() == 1 {
start_interactive().await?;
return Ok(());
}
let mut executor = CommandExecutor::new();
let result = executor.execute(cli.command).await?;
if result.success {
std::process::exit(0);
} else {
std::process::exit(1);
}
}