mntn/
cli.rs

1use clap::{Parser, Subcommand};
2
3#[derive(Parser)]
4#[command(
5    name = "mntn",
6    version = env!("CARGO_PKG_VERSION"),
7    about = "Rust-based macOS maintenance CLI"
8)]
9pub struct Cli {
10    #[command(subcommand)]
11    pub command: Option<Commands>,
12}
13
14#[derive(Subcommand)]
15pub enum Commands {
16    /// Backup global packages (e.g. brew, npm, uv, cargo, bun)
17    Backup,
18    /// Clean system junk safely
19    Clean,
20    /// Purge unused launch agents/daemons
21    Purge,
22    /// Install launch agents and perform backup+clean
23    Install,
24    /// Create symlinks for dotfiles
25    Link,
26    /// Remove an app bundle and its related files
27    Delete,
28    /// Use Touch ID to enable sudo in your terminal
29    BiometricSudo,
30}