omk 0.5.0

A Rust runtime for Kimi CLI. Turns prompts into proof-backed engineering runs with gates, worktrees, and replay.
Documentation
use std::path::PathBuf;
use std::process::Command;

fn omk_bin() -> PathBuf {
    std::env::var("CARGO_BIN_EXE_omk")
        .map(PathBuf::from)
        .unwrap_or_else(|_| {
            PathBuf::from(env!("CARGO_MANIFEST_DIR"))
                .join("target")
                .join("debug")
                .join("omk")
        })
}

#[test]
fn test_ask_cli_help() {
    let output = Command::new(omk_bin())
        .args(["ask", "--help"])
        .output()
        .expect("Failed to run omk ask --help");

    assert!(output.status.success());
    let stdout = String::from_utf8_lossy(&output.stdout);
    assert!(stdout.contains("provider"));
}

#[test]
fn test_ask_cli_requires_prompt() {
    let output = Command::new(omk_bin())
        .args(["ask", "kimi"])
        .output()
        .expect("Failed to run omk ask");

    assert!(!output.status.success());
    let stderr = String::from_utf8_lossy(&output.stderr);
    assert!(
        stderr.contains("required") || stderr.contains("Prompt"),
        "Expected error about missing prompt. Got: {}",
        stderr
    );
}