Skip to main content

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
  • Polished terminal UI: rich panels/markdown/syntax + prompt_toolkit history/multiline input
  • Live-streamed tool calls via choreoai event subscribers (spinner while the model thinks)
  • Coding tools: read_file, write_file, list_dir, run_shell (path jail under --cwd)
  • Shell commands require confirmation unless --auto is set
  • Built on choreoai: LLMAgent tool loop, Budget + Trace middleware, 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 session budget, shell approvals, and trace
/exit Quit

Anything else is sent to the coding agent as an instruction.

Input uses prompt_toolkit when the terminal is interactive (history, Esc+Enter for multiline submit). Pipes and tests fall back to plain input.

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

  1. Builds a choreoai LLMAgent with a coding-assistant system prompt and file/shell tools.
  2. Wraps each turn in choreoai BudgetMiddleware + TraceMiddleware (onion stack).
  3. 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

choreoai_cli-0.0.3.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

choreoai_cli-0.0.3-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file choreoai_cli-0.0.3.tar.gz.

File metadata

  • Download URL: choreoai_cli-0.0.3.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for choreoai_cli-0.0.3.tar.gz
Algorithm Hash digest
SHA256 a72162cfc0dfba10b4039bf2e35b5da099f0999546c91ac844b5384e9853e651
MD5 833373efe8978a182045ba81b63243d3
BLAKE2b-256 b6a4d0c8d570ab5efd85f1450040ded982b1f0fd641bd1878d2d5e954fb20884

See more details on using hashes here.

Provenance

The following attestation bundles were made for choreoai_cli-0.0.3.tar.gz:

Publisher: python-publish.yml on choreo-ai/choreoai-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file choreoai_cli-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: choreoai_cli-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for choreoai_cli-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1265568c11f6f75d687c791b733b12fe4245aeb3121f7932905bb5c8c1e2400e
MD5 f666d9083d81a2f0a4f0174003faef0c
BLAKE2b-256 8b0327376da95dbf89878bb90102060c7c30f85c494b5446e1809feafbbdb96c

See more details on using hashes here.

Provenance

The following attestation bundles were made for choreoai_cli-0.0.3-py3-none-any.whl:

Publisher: python-publish.yml on choreo-ai/choreoai-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page