A Claude-Code-style coding agent harness built on choreoai.
Project description
choreoai-cli
A Claude-Code-style coding agent harness built on choreoai.
choreoai-cli is an interactive terminal REPL that runs a coding agent in your current
directory using choreoai's LLMAgent, tools, budget, and trace — so the harness itself is
budget-bounded and observable.
Status: pre-alpha. This is a minimal but working slice (v0), not a full Claude Code clone.
Features (v0)
- Interactive REPL (
choreoai-cli) with/help,/reset,/exit - Coding tools:
read_file,write_file,list_dir,run_shell - Shell commands require confirmation unless
--autois set - Built on choreoai:
LLMAgenttool loop,Budget+Tracemiddleware, typed event stream - Default model:
claude-sonnet-5(via choreoai / Anthropic)
Install
Requires Python 3.10+.
pip install choreoai-cli
This installs the PyPI package choreoai-cli and its dependency choreoai (also from PyPI).
Install from source
git clone https://github.com/choreo-ai/choreoai-cli
cd choreoai-cli
pip install -e ".[dev]"
Local choreoai development
PyPI requires a normal version pin (choreoai>=0.0.1), not a git URL. For local / offline
development against a checkout of the framework:
# Install framework from local checkout first (editable)
pip install -e C:\karthik\repos\choreo # or: pip install -e /path/to/choreo
# Then install the CLI (and optional dev extras)
pip install -e ".[dev]"
If choreoai is already installed editable, pip install -e ".[dev]" will satisfy
choreoai>=0.0.1 without hitting PyPI for that package.
Usage
# Live agent (requires ANTHROPIC_API_KEY)
export ANTHROPIC_API_KEY=sk-ant-...
choreoai-cli
# Skip shell confirmation prompts (use carefully)
choreoai-cli --auto
# Single non-interactive command
choreoai-cli -c "List the files in this directory"
# Custom working directory
choreoai-cli --cwd /path/to/project
REPL commands
| Command | Action |
|---|---|
/help |
Show help |
/reset |
Clear the event trace |
/exit |
Quit |
Anything else is sent to the coding agent as an instruction.
Environment
| Variable | Required | Notes |
|---|---|---|
ANTHROPIC_API_KEY |
For live | Default model is claude-sonnet-5 |
Offline tests inject a fake BaseChatModel and do not need an API key.
Tests
# Prefer editable local choreoai if you have a checkout
pip install -e /path/to/choreo
pip install -e ".[dev]"
pytest
Tests are offline: no network and no ANTHROPIC_API_KEY.
How it works
- Builds a choreoai
LLMAgentwith a coding-assistant system prompt and file/shell tools. - Wraps each turn in choreoai
BudgetMiddleware+TraceMiddleware(onion stack). - Runs the agent tool loop; prints tool calls, the final answer (rich), budget usage, and a short trace summary.
License
MIT © 2026 Karthik Reddy
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file choreoai_cli-0.0.1.tar.gz.
File metadata
- Download URL: choreoai_cli-0.0.1.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
472166575d8e6095ff3c00f9fd537d5251cd7842621e21806781526e4124f858
|
|
| MD5 |
2b5f1e474b8be504c31a003339350240
|
|
| BLAKE2b-256 |
7260e6cd904e8e62a8c5233b9b1af9c8814c495113bb2c98e25ea43324683a81
|
File details
Details for the file choreoai_cli-0.0.1-py3-none-any.whl.
File metadata
- Download URL: choreoai_cli-0.0.1-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c12a286709b8713b03324c9e7b6b315ecebb18ce8698d6e756590043bdae6e0b
|
|
| MD5 |
6d39a07d88a71574796bf5edaf743a24
|
|
| BLAKE2b-256 |
d07e4e2613a48e9fc0568e655a3a9531d68d14a6a45c07212e3021ebc75b90f0
|