missiond_runner/lib.rs
1//! missiond-runner - Claude CLI wrapper
2//!
3//! Executes `claude --print --output-format stream-json` and parses the output.
4//!
5//! # Example
6//!
7//! ```no_run
8//! use missiond_runner::{ClaudeRunner, RunOptions};
9//!
10//! #[tokio::main]
11//! async fn main() -> anyhow::Result<()> {
12//! let runner = ClaudeRunner::new();
13//!
14//! let result = runner.run(RunOptions {
15//! prompt: "Say hello".to_string(),
16//! cwd: Some("/path/to/project".into()),
17//! on_progress: Some(Box::new(|event| {
18//! println!("Event: {:?}", event);
19//! })),
20//! ..Default::default()
21//! }).await?;
22//!
23//! println!("Result: {}", result.result);
24//! Ok(())
25//! }
26//! ```
27
28mod runner;
29mod types;
30
31pub use runner::ClaudeRunner;
32pub use types::*;