//! Command-line argument parsing for makima-daemon. use clap::Parser; use std::path::PathBuf; /// Makima daemon for managing Claude Code instances in isolated worktrees. #[derive(Parser, Debug)] #[command(name = "makima-daemon")] #[command(version, about, long_about = None)] pub struct Cli { /// Path to custom config file #[arg(short, long)] pub config: Option, /// Directory where repositories are cloned #[arg(long, env = "MAKIMA_DAEMON_REPOS_DIR")] pub repos_dir: Option, /// Directory where worktrees are created #[arg(long, env = "MAKIMA_DAEMON_WORKTREES_DIR")] pub worktrees_dir: Option, /// WebSocket server URL to connect to #[arg(long, env = "MAKIMA_DAEMON_SERVER_URL")] pub server_url: Option, /// API key for server authentication #[arg(long, env = "MAKIMA_DAEMON_SERVER_APIKEY")] pub api_key: Option, /// Maximum number of concurrent tasks #[arg(long)] pub max_tasks: Option, /// Log level (trace, debug, info, warn, error) #[arg(short, long, default_value = "info")] pub log_level: String, } impl Cli { /// Parse command-line arguments pub fn parse_args() -> Self { Self::parse() } }