summaryrefslogtreecommitdiff
path: root/makima/src/daemon/cli/daemon.rs
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-11 05:52:14 +0000
committersoryu <soryu@soryu.co>2026-01-15 00:21:16 +0000
commit87044a747b47bd83249d61a45842c7f7b2eae56d (patch)
treeef2000ce79ffcc2723ef841acef5aa1deb1d5378 /makima/src/daemon/cli/daemon.rs
parent077820c4167c168072d217a1b01df840463a12a8 (diff)
downloadsoryu-87044a747b47bd83249d61a45842c7f7b2eae56d.tar.gz
soryu-87044a747b47bd83249d61a45842c7f7b2eae56d.zip
Contract system
Diffstat (limited to 'makima/src/daemon/cli/daemon.rs')
-rw-r--r--makima/src/daemon/cli/daemon.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/makima/src/daemon/cli/daemon.rs b/makima/src/daemon/cli/daemon.rs
new file mode 100644
index 0000000..de4cff4
--- /dev/null
+++ b/makima/src/daemon/cli/daemon.rs
@@ -0,0 +1,36 @@
+//! Daemon subcommand - connect to server and manage tasks.
+
+use clap::Args;
+use std::path::PathBuf;
+
+/// Run the makima daemon (connect to server and manage tasks).
+#[derive(Args, Debug)]
+pub struct DaemonArgs {
+ /// Path to custom config file
+ #[arg(short, long)]
+ pub config: Option<PathBuf>,
+
+ /// Directory where repositories are cloned
+ #[arg(long, env = "MAKIMA_DAEMON_REPOS_DIR")]
+ pub repos_dir: Option<PathBuf>,
+
+ /// Directory where worktrees are created
+ #[arg(long, env = "MAKIMA_DAEMON_WORKTREES_DIR")]
+ pub worktrees_dir: Option<PathBuf>,
+
+ /// WebSocket server URL to connect to
+ #[arg(long, env = "MAKIMA_DAEMON_SERVER_URL")]
+ pub server_url: Option<String>,
+
+ /// API key for server authentication
+ #[arg(long, env = "MAKIMA_DAEMON_SERVER_APIKEY")]
+ pub api_key: Option<String>,
+
+ /// Maximum number of concurrent tasks
+ #[arg(long)]
+ pub max_tasks: Option<u32>,
+
+ /// Log level (trace, debug, info, warn, error)
+ #[arg(short, long, default_value = "info")]
+ pub log_level: String,
+}