1use crate::{account, project};
2use clap::{Parser, Subcommand};
3use spinners::Spinner;
4
5pub struct CommandResult {
6 pub spinner: Spinner,
7 pub symbol: String,
8 pub msg: String,
9}
10
11#[derive(Parser)]
12#[clap(author, version, about)]
13pub struct Cli {
14 #[clap(short, long, global = true)]
16 pub log_level: Option<String>,
17
18 #[clap(subcommand)]
19 pub command: Commands,
20}
21
22#[derive(Subcommand)]
23pub enum Commands {
24 #[clap(about = "Manage your account.")]
25 Account {
26 #[clap(subcommand)]
27 command: account::cli::Commands,
28 },
29
30 #[clap(about = "Manage your projects. Add, delete, edit. Need authentication.")]
31 Project {
32 #[clap(subcommand)]
33 command: project::cli::Commands,
34 },
35 #[clap(about = "Deploy project. It will use deploy.sh script in the .smb folder.")]
36 Deploy { },
37}