Skip to content

Open-source CLI coding agent, a free alternative to Claude Code. Generate, debug, and manage code seamlessly.

Notifications You must be signed in to change notification settings

Blushyes/coro-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Coro Code

Language: English | δΈ­ζ–‡

A high-performance AI coding agent written in Rust with a rich terminal UI

demo

Rust License


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.

✨ Highlights

  • πŸš€ 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

πŸš€ Quick Start

πŸ“‹ Prerequisites

  • πŸ¦€ Rust stable (1.70+)
  • πŸ”‘ An API key (OpenAI recommended; Anthropic/Google coming soon)

πŸ“¦ Install

cargo install --git https://github.com/Blushyes/coro-code --bin coro

▢️ Run

# Interactive mode (recommended)
coro

# Single task
coro "Fix the bug in main.rs"

Configuration

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
  }
}

Usage

# Interactive mode
coro

# Direct command
coro "Help me refactor this function"

# With specific config
coro --config custom.json "Analyze this codebase"

πŸ€– Supported Models

Provider Models Status
🟒 OpenAI gpt-4o, gpt-4o-mini βœ… Ready
🟑 Anthropic claude-3.5 family 🚧 Coming
πŸ”΅ Google gemini-1.5 family 🚧 Coming

πŸ”§ Environment Variables Reference

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

πŸ—ΊοΈ Roadmap

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

πŸ› οΈ Development

Pre-commit Hooks

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.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Set up pre-commit hooks (recommended)
  4. Make your changes
  5. Ensure all tests pass
  6. Submit a pull request

πŸ“„ License

Dual licensed under your choice of:

πŸ™ Acknowledgments

  • 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

About

Open-source CLI coding agent, a free alternative to Claude Code. Generate, debug, and manage code seamlessly.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages