Skip to main content

xchecker_runner/
lib.rs

1//! Runner abstraction for cross-platform Claude CLI execution
2//!
3//! Provides automatic detection and execution of Claude CLI across Windows, WSL, and native environments.
4//! Supports automatic detection (try native first, then WSL on Windows) and explicit mode selection.
5//!
6//! # Security Model
7//!
8//! All process execution goes through [`CommandSpec`] to ensure argv-style invocation.
9//! This prevents shell injection attacks by ensuring arguments are passed as discrete
10//! elements rather than shell strings.
11
12// Declare runner submodules
13pub mod claude;
14pub mod command_spec;
15pub mod error;
16pub mod native;
17pub mod ndjson;
18pub mod process;
19pub mod ring_buffer;
20pub mod types;
21pub mod wsl;
22
23// Re-export everything from xchecker-runner submodules
24pub use claude::{BufferConfig, ClaudeResponse, NdjsonResult, Runner, WslOptions};
25pub use command_spec::CommandSpec;
26pub use error::RunnerError;
27pub use native::NativeRunner;
28pub use process::{ProcessOutput, ProcessRunner};
29pub use ring_buffer::RingBuffer;
30pub use types::RunnerMode;
31pub use wsl::WslRunner;