My agentic slop goes here. Not intended for anyone else!
1# ClaudeIO - OCaml Eio Library for Claude Code CLI
2
3An OCaml library that provides high-quality Eio-style bindings for the Claude Code CLI, enabling programmatic interaction with Claude through JSON streaming.
4
5## Overview
6
7ClaudeIO wraps Claude Code CLI invocations in an idiomatic OCaml Eio interface, leveraging:
8- JSON input/output streaming modes of the CLI
9- Ezjsonm for JSON message handling
10- Eio abstractions including `Buf_read` and `Seq` for efficient streaming
11
12## Features
13
14- **Streaming JSON Interface**: Communicate with Claude using structured JSON messages
15- **Eio Integration**: Built on modern OCaml concurrency primitives
16- **Type-safe API**: Strongly typed OCaml interface for Claude interactions
17- **Efficient Buffering**: Uses Eio's buffer management for optimal performance
18
19## Installation
20
21```bash
22opam install claudeio
23```
24
25## Usage
26
27```ocaml
28open Eio
29open Claudeio
30
31let main ~env =
32 let claude = Claude.create ~env in
33 Claude.query claude ~prompt:"Your question here"
34 |> Seq.iter (fun response ->
35 Format.printf "Claude: %s\n" (Claude.Response.to_string response))
36```
37
38## Known Issues
39
40⚠️ **Permissions Support**: The permissions functionality is temporarily broken and awaiting a fix from Anthropic. This feature will be restored in a future update.
41
42## Requirements
43
44- OCaml >= 5.0
45- Eio >= 1.0
46- Ezjsonm >= 1.3
47- Claude Code CLI installed and configured
48
49## License
50
51See LICENSE file for details.