A high-performance AI coding agent written in Rust with a rich terminal UI
Coro Code is a high-performance AI coding agent written in Rust with a rich terminal UI. Formerly known as Trae Agent Rust, it remains compatible with the original tool spec while focusing on speed, reliability, and great UX.
- π High Performance: Written in Rust for speed and memory safety
- π¨ Rich Terminal UI: Beautiful, interactive interface with real-time updates
- π§ Easy Configuration: Support for multiple LLM providers with flexible config options
- π οΈ Powerful Tools: Built-in bash execution, file operations, and extensible tool system
- π Environment Variables: Comprehensive support for API keys, base URLs, and model configuration
- π¦ Cross-Platform: Works seamlessly on macOS, Linux, and Windows
- π¦ Rust stable (1.70+)
- π An API key (OpenAI recommended; Anthropic/Google coming soon)
cargo install --git https://github.com/Blushyes/coro-code --bin coro
# Interactive mode (recommended)
coro
# Single task
coro "Fix the bug in main.rs"
Option A: Environment variables
# OpenAI
export OPENAI_API_KEY="your_openai_api_key"
export OPENAI_MODEL="gpt-4o"
# Optional: Custom base URL and model for OpenAI-compatible APIs
export OPENAI_BASE_URL="https://api.deepseek.com"
export OPENAI_MODEL="deepseek-chat"
# Or use generic overrides for any protocol
export CORO_BASE_URL="https://api.custom.com"
export CORO_MODEL="custom-model"
Option B: Configuration file
Create a coro.json
file:
{
"protocol": "openai",
"base_url": "https://api.deepseek.com",
"api_key": "your-api-key",
"model": "deepseek-chat",
"params": {
"max_tokens": 131072,
"temperature": 0.7,
"top_p": 0.9
}
}
# Interactive mode
coro
# Direct command
coro "Help me refactor this function"
# With specific config
coro --config custom.json "Analyze this codebase"
Provider | Models | Status |
---|---|---|
π’ OpenAI | gpt-4o , gpt-4o-mini |
β Ready |
π‘ Anthropic | claude-3.5 family |
π§ Coming |
π΅ Google | gemini-1.5 family |
π§ Coming |
Variable | Description | Example |
---|---|---|
OPENAI_API_KEY |
OpenAI API key | sk-... |
OPENAI_BASE_URL |
Custom base URL for OpenAI-compatible APIs | https://api.deepseek.com |
OPENAI_MODEL |
Custom model for OpenAI-compatible APIs | gpt-4o , deepseek-chat |
ANTHROPIC_API_KEY |
Anthropic API key | sk-ant-... |
ANTHROPIC_BASE_URL |
Custom base URL for Anthropic API | https://api.anthropic.com |
ANTHROPIC_MODEL |
Custom model for Anthropic API | claude-3-5-sonnet-20241022 |
GOOGLE_API_KEY |
Google AI API key | AIza... |
GOOGLE_BASE_URL |
Custom base URL for Google AI API | https://generativelanguage.googleapis.com |
GOOGLE_MODEL |
Custom model for Google AI API | gemini-pro , gemini-1.5-pro |
AZURE_OPENAI_API_KEY |
Azure OpenAI API key | ... |
AZURE_OPENAI_BASE_URL |
Azure OpenAI endpoint | https://your-resource.openai.azure.com |
AZURE_OPENAI_MODEL |
Custom model for Azure OpenAI | gpt-4 , gpt-35-turbo |
CORO_BASE_URL |
Generic base URL override (any protocol) | https://api.custom.com |
CORO_PROTOCOL |
Force specific protocol | openai , anthropic |
CORO_MODEL |
Generic model override (any protocol) | gpt-4o , claude-3-5-sonnet |
Status Legend: β Completed | π§ In Progress | π Planned
π Phase 1: Core Experience
Priority | Status | Feature | Description |
---|---|---|---|
π₯ High | π§ | First-time Setup Management | Guided wizard (detect/create openai.json or env vars), API key validation, default models & examples |
π₯ High | β | Refactor Config Loading Logic | Unified priority (CLI args > env vars > JSON file), friendly error messages & diagnostics, optional hot reload |
π₯ High | π | Tool Call Permission System | Tool/command/directory whitelist, interactive confirmation, privilege escalation & sensitive operation warnings |
π¨ Phase 2: User Experience Enhancement
Priority | Status | Feature | Description |
---|---|---|---|
π‘ Medium | π | CORO.md Custom Prompts Support | Project/subdirectory level overrides, scenario templates (bugfix/refactor/docs/test) |
π‘ Medium | π§ | UI Layout Optimization & Unification | Header/Status/Input style consistency, keyboard shortcuts & interaction consistency optimization |
π‘ Medium | π | Trajectory Replay & Export | Trajectory visualization, one-click replay, export to JSON/Markdown |
π¨ Low | π | Logo Design (gemini-cli style) | Visual identity design |
π€ Phase 3: Intelligence & Performance
Priority | Status | Feature | Description |
---|---|---|---|
π‘ Medium | π | Multi-model & Auto Routing | Auto model selection by task type, failure auto-downgrade & retry strategies |
π‘ Medium | π | Context Optimization & Caching | File summary caching, duplicate reference deduplication, token budget control |
π‘ Medium | β | Token Compression | Intelligent context compression, selective token reduction, adaptive context windows |
π΅ Low | π | MCP Extension Ecosystem | Common provider presets & templates, one-click start/stop external tools |
π Phase 4: Platform & Ecosystem
Priority | Status | Feature | Description |
---|---|---|---|
π΅ Low | π | Core WASM Support | Browser/plugin environment ready, isomorphic tool interface & minimal runtime |
π΅ Low | π | Cross-platform Enhancement | macOS/Linux/Windows/WSL detail adaptation & stability improvements |
π΅ Low | π | Plugin Tool System | Third-party tool registration spec, version & dependency declaration |
π‘οΈ Phase 5: Security & Quality
Priority | Status | Feature | Description |
---|---|---|---|
π‘ Medium | π | Security & Rate Limiting | Sandbox mode (restricted bash/network switches), concurrency & rate limiting |
π΅ Low | π | Testing & Benchmarks | End-to-end test cases, performance benchmarks & comparison reports |
We strongly recommend setting up pre-commit hooks to maintain code quality. The repository includes scripts to automatically install hooks that run formatting, linting, and tests before each commit.
Choose the appropriate script for your platform:
# Linux/macOS
./scripts/setup-pre-commit-hooks.sh
# Windows PowerShell
.\scripts\setup-pre-commit-hooks.ps1
# Windows Command Prompt
scripts\setup-pre-commit-hooks.bat
The pre-commit hook will automatically run:
- Code formatting (
cargo fmt --check
) - Linting (
cargo clippy
) - Tests (
cargo test
)
For more details, see scripts/README.md.
- Fork the repository
- Create a feature branch
- Set up pre-commit hooks (recommended)
- Make your changes
- Ensure all tests pass
- Submit a pull request
Dual licensed under your choice of:
- Apache-2.0 (LICENSE-APACHE)
- MIT (LICENSE-MIT)
- Trae Agent for the original Python implementation and spec
- iocraft for the beautiful terminal UI framework
- OpenAI, Anthropic, and Google for model APIs
- Rust community for the amazing ecosystem
Made with β€οΈ in Rust