Skip to main content

pigeon/
cli.rs

1use clap::{Parser, Subcommand};
2
3use crate::dataops::cli::DataopsArgs;
4use crate::email::cli::EmailArgs;
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    /// Authenticate, sink, and transform email identities and their data
17    Email(EmailArgs),
18    /// Manage S3-compatible bucket configurations
19    Dataops(DataopsArgs),
20}