pigeon/cli.rs
1use clap::{Parser, Subcommand};
2
3use crate::commands::job::cli::JobArgs;
4use crate::commands::keyring::cli::KeyringArgs;
5
6/// Pigeon: authenticate, sink, and transform personal data from external services.
7#[derive(Parser, Debug)]
8#[command(name = "pigeon", version, about, long_about = None)]
9pub struct Cli {
10 #[command(subcommand)]
11 pub command: Commands,
12}
13
14#[derive(Subcommand, Debug)]
15pub enum Commands {
16 /// Manage email identities and bucket-configs
17 Keyring(KeyringArgs),
18 /// Run job-orchestrated pipelines (e.g. email-sync)
19 Job(JobArgs),
20}