claude_codes/
lib.rs

1//! A tightly typed Rust interface for the Claude Code JSON protocol
2//!
3//! This crate provides type-safe encoding and decoding for the JSON lines
4//! protocol used by Claude Code for communication.
5
6pub mod cli;
7pub mod client;
8pub mod error;
9pub mod io;
10pub mod messages;
11pub mod protocol;
12pub mod types;
13
14pub use cli::{ClaudeCliBuilder, PermissionMode};
15pub use client::AsyncClient;
16pub use error::{Error, Result};
17pub use io::{AssistantMessageContent, ClaudeInput, ClaudeOutput, ParseError};
18pub use messages::*;
19pub use protocol::Protocol;
20pub use types::*;
21
22#[cfg(test)]
23mod tests {
24    #[test]
25    fn it_works() {
26        assert_eq!(2 + 2, 4);
27    }
28}