feat: initial cli and config
This commit is contained in:
+21
@@ -0,0 +1,21 @@
|
||||
use std::path::PathBuf;
|
||||
|
||||
use clap::{ArgGroup, Parser};
|
||||
|
||||
/// Deploy hobby projects from a local PC to a VPS over SSH.
|
||||
#[derive(Debug, Parser)]
|
||||
#[command(name = "xboctploy", version, about)]
|
||||
#[command(group = ArgGroup::new("target").required(true).args(["project", "list"]))]
|
||||
pub struct Cli {
|
||||
/// Project name from deploy.toml
|
||||
pub project: Option<String>,
|
||||
/// Explicit path to the config file
|
||||
#[arg(long, value_name = "PATH")]
|
||||
pub config: Option<PathBuf>,
|
||||
/// Print planned steps without executing anything
|
||||
#[arg(long)]
|
||||
pub dry_run: bool,
|
||||
/// List configured projects and exit
|
||||
#[arg(long)]
|
||||
pub list: bool,
|
||||
}
|
||||
Reference in New Issue
Block a user