use anyhow::Result; use clap::Parser; use memory::{MemoryUserService, MemoryProductService}; use cli::Cli; #[tokio::main] async fn main() -> Result<()> { let user_service = MemoryUserService::new(memory::InMemoryUserRepository::new()); let product_service = MemoryProductService::new(memory::InMemoryProductRepository::new()); let cli = Cli::try_parse()?; cli.run(user_service, product_service).await }