Skip to main content

claude_code_cli_acp/
lib.rs

1//! Claude Code CLI ACP adapter.
2//!
3//! The adapter exposes ACP over stdio while driving the installed `claude`
4//! executable through a PTY and reading Claude's JSONL transcript as the
5//! canonical content stream.
6#![deny(clippy::print_stdout, clippy::print_stderr)]
7
8use std::ffi::OsString;
9
10pub mod acp;
11pub mod cli;
12pub mod compat;
13pub mod config;
14pub mod doctor;
15pub mod error;
16pub mod interactive;
17pub mod print_mode;
18pub mod pty;
19pub mod session;
20pub mod terminal;
21pub mod transcript;
22
23pub async fn run_main(args: impl IntoIterator<Item = OsString>) -> anyhow::Result<()> {
24    tracing_subscriber::fmt()
25        .with_writer(std::io::stderr)
26        .with_env_filter(
27            tracing_subscriber::EnvFilter::try_from_default_env()
28                .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("warn")),
29        )
30        .init();
31
32    cli::run(args).await
33}