pub mod commands;
pub mod config;
pub mod docker;
pub mod interactive;
pub mod ui;
pub use crate::commands::clean::CleanCommand;
pub use crate::commands::db::DbCommand;
pub use crate::commands::dev::DevCommand;
pub use crate::commands::prod::ProdCommand;
pub use crate::commands::redis::RedisCommand;
pub use crate::commands::run::RunCommand;
pub use crate::commands::storage::StorageCommand;
pub use crate::commands::validate::ValidateCommand;
use clap::{Parser, Subcommand};
use clap_complete::Shell;
#[derive(Parser)]
#[command(
name = "oph",
about = "OpenHealth CLI - Universal development tool",
version,
author = "OpenHealth Team",
propagate_version = true
)]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand)]
pub enum Commands {
Dev {
#[command(subcommand)]
command: DevCommand,
},
Prod {
#[command(subcommand)]
command: ProdCommand,
},
Db {
#[command(subcommand)]
command: DbCommand,
},
Redis {
#[command(subcommand)]
command: RedisCommand,
},
Storage {
#[command(subcommand)]
command: StorageCommand,
},
Run {
#[command(subcommand)]
command: RunCommand,
},
Validate {
#[command(subcommand)]
command: ValidateCommand,
},
Clean {
#[command(subcommand)]
command: CleanCommand,
},
Completions {
#[arg(value_enum)]
shell: Shell,
},
#[command(alias = "i")]
Interactive,
}