mod cmd;
mod make;
use clap::Parser;
#[derive(Debug, Parser)]
pub struct AppOpts {
#[command(subcommand)]
pub subcommand: cmd::Subcommand,
}
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let opts = AppOpts::parse();
match opts.subcommand {
cmd::Subcommand::Delete(cmd::delete::Opts { subcommand }) => cmd::delete::run(subcommand).await,
cmd::Subcommand::Generate(cmd::generate::Opts { subcommand }) => cmd::generate::run(subcommand).await,
cmd::Subcommand::Init(cmd::init::Opts { name, auric_workspace }) => {
cmd::init::run(None, name, auric_workspace).await
}
cmd::Subcommand::New(cmd::new::Opts {
app_name,
auric_workspace,
}) => cmd::new::run(app_name, auric_workspace).await,
cmd::Subcommand::Serve(cmd::serve::Opts { port, open }) => cmd::serve::run(port, open).await,
}
}