AkurAI Build
Menu

Public repository / d1c548364d6b02de7558efdb50f0cd0cc5a2308e

AkurAI-Notes / crates/notes-cli/src/main.rs

Latest change 409fb930689e231969f33d5f0947e030c930a722 - E01: Bootstrap AkurAI-Notes v0.0.1 — pure-Rust workspace via AkurAI-Framework 'akurai new' by Claude Code

fn main() {
    let args: Vec<String> = std::env::args().collect();
    let result = match args.get(1).map(String::as_str) {
        Some("serve") => cmd_serve::run(&args[1..]).map_err(|e| e.to_string()),
        Some("mcp")   => cmd_mcp::run(&args[1..]).map_err(|e| e.to_string()),
        Some("seed")  => cmd_seed::run(args.get(2).map(|s| s.as_str()).unwrap_or("notes.db")).map_err(|e| e.to_string()),
        Some("version") | Some("--version") | Some("-V") => { println!("akurai-notes {}", env!("CARGO_PKG_VERSION")); Ok(()) }
        Some("help") | Some("--help") | Some("-h") | None => { print_help(); Ok(()) }
        Some(other) => Err(format!("unknown command '{other}' (try: akurai-notes help)")),
    };
    if let Err(e) = result { eprintln!("error: {e}"); std::process::exit(1); }
}

fn print_help() {
    println!("akurai-notes — Private notes with semantic search");
    println!("Usage:");
    println!("  akurai-notes serve [--host HOST] [--port PORT] [--dir DIR] [--db DB]");
    println!("  akurai-notes mcp   [--host HOST] [--port PORT] [--db DB] [--token TOKEN]");
    println!("  akurai-notes seed  [DB_PATH]");
    println!("  akurai-notes version | --version | -V");
    println!("  akurai-notes help   | --help    | -h");
}

mod cmd_serve;
mod cmd_mcp;
mod cmd_seed;