Skip to main content

ito_core/harness/
mod.rs

1//! Harness integrations for running AI-assisted workflows.
2//!
3//! A *harness* is an adapter around a specific agent runtime (e.g. OpenCode) that
4//! can execute Ito workflows and return structured results.
5//!
6//! All CLI-based harnesses implement the [`CliHarness`](crate::harness::streaming_cli::CliHarness)
7//! trait, which provides a blanket [`Harness`](crate::harness::types::Harness) impl — so adding a new CLI harness
8//! only requires implementing three small methods.
9
10/// Claude Code harness implementation.
11pub mod claude_code;
12
13/// OpenAI Codex harness implementation.
14pub mod codex;
15
16/// GitHub Copilot harness implementation.
17pub mod github_copilot;
18
19/// OpenCode harness implementation.
20pub mod opencode;
21
22/// No-op/stub harness used for testing.
23pub mod stub;
24
25/// Streaming CLI harness trait and process management.
26pub mod streaming_cli;
27
28/// Shared harness types.
29pub mod types;
30
31/// Run workflows via the Claude Code harness.
32pub use claude_code::ClaudeCodeHarness;
33
34/// Run workflows via the OpenAI Codex harness.
35pub use codex::CodexHarness;
36
37/// Run workflows via the GitHub Copilot harness.
38pub use github_copilot::GitHubCopilotHarness;
39
40/// Run workflows via the OpenCode harness.
41pub use opencode::OpencodeHarness;
42
43/// Core harness trait + configuration and result types.
44pub use types::{Harness, HarnessName, HarnessRunConfig, HarnessRunResult};