pub(crate) mod cmd;
pub(crate) mod errors;
pub(crate) mod models;
pub(crate) mod ops;
pub(crate) mod utils;
pub use cmd::nedots::RootCmd;
pub trait Initialize<T, V> {
fn init(&self, args: &V) -> anyhow::Result<T>;
}
pub trait Run {
fn run(&self) -> anyhow::Result<()>;
}
pub trait RunWith<T> {
fn run_with(&self, with: &T) -> anyhow::Result<()>;
}
pub trait Execute: clap::Args + Run {
fn exec(&self) -> anyhow::Result<()> {
self.run()
}
}
pub trait ExecuteWith<T, V>: clap::Args + RunWith<V> {
fn exec_with(&self, with: &T) -> anyhow::Result<()>;
}
pub trait BasicCommand {}