From 8b17a175c3e7e27b789812eba4e3cd760beadb10 Mon Sep 17 00:00:00 2001 From: soryu Date: Tue, 6 Jan 2026 04:08:11 +0000 Subject: Initial Control system --- makima/daemon/src/cli.rs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 makima/daemon/src/cli.rs (limited to 'makima/daemon/src/cli.rs') diff --git a/makima/daemon/src/cli.rs b/makima/daemon/src/cli.rs new file mode 100644 index 0000000..ca84017 --- /dev/null +++ b/makima/daemon/src/cli.rs @@ -0,0 +1,45 @@ +//! 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() + } +} -- cgit v1.2.3