miho 8.2.1

Repository management tools
#![feature(cow_is_borrowed, file_buffered, str_as_str)]

mod agent;
mod command;
mod config;
mod dependency;
mod macros;
mod package;
mod release;
mod version;

use anyhow::Result;
use clap::Parser;
use command::{Bump, Command, Update};

#[derive(Debug, Parser)]
#[command(name = "miho")]
#[command(version, about, long_about = None)]
enum Cli {
  /// Bump your packages version.
  Bump(Bump),
  /// Update your dependencies.
  Update(Update),
}

#[tokio::main]
async fn main() -> Result<()> {
  match Cli::parse() {
    Cli::Bump(cmd) => cmd.execute().await,
    Cli::Update(cmd) => cmd.execute().await,
  }
}