Skip to content

Latest commit

 

History

History
104 lines (77 loc) · 3.59 KB

File metadata and controls

104 lines (77 loc) · 3.59 KB

tcarust

Your AI coding agent, in the terminal. Fast. Powerful. Written in Rust.

tcarust

Rust Anthropic Dify OpenAI

📖 中文文档

TypeScript Version


✨ What is tcarust?

A terminal-based AI coding agent that helps you read, write, edit code, execute commands, and reason through complex problems — all through natural language.

🚀 Features

  • 🔌 Multi-LLM — OpenAI, Anthropic, Google AI, Azure OpenAI, custom endpoints
  • 🛠️ Built-in Tools — Bash, file edit, glob search, JSON edit, code knowledge graph (tree-sitter)
  • 🤖 Multi-Agent — Coordinator, Coder, Reader, Reviewer for complex tasks
  • 🧠 Thinking Models — Native Claude extended thinking support
  • 💾 Smart Memory — Intelligent conversation compression within token limits
  • Skill System/slash commands: git commit, deep research, web scraping, PDF analysis
  • 🖥️ Interactive TUI — Syntax highlighting, file search, rich terminal UI

📦 Installation

git clone https://github.com/21pounder/terminal-coding-agent.git
cd terminal-coding-agent
cargo install --path cli

Requires: Rust 1.75+ and an API key from any supported LLM provider

⚙️ Configuration

Create tca.json in your project root or ~/.config/tca/config.json:

{
  "protocol": "anthropic",
  "api_key": "your-api-key",
  "base_url": "https://api.anthropic.com",
  "model": "claude-sonnet-4-20250514"
}

Or use environment variables:

export ANTHROPIC_API_KEY=your-key

Supported: openai · anthropic · google_ai · azure_openai

🎯 Usage

tcarust
> Fix the token refresh bug in src/auth.rs
> Add input validation to the signup form
> Explain how the routing system works

📁 Project Structure

core/           # Core library — agent loop, LLM clients, tool system
├── agent/      #   Agent core, prompt, config, conversation management
├── agents/     #   Multi-agent (coordinator, coder, reader, reviewer)
├── llm/        #   LLM clients (OpenAI, Anthropic)
└── tools/      #   Built-in tool definitions

cli/            # CLI — TUI, interactive mode, tool implementations
├── interactive/#   Terminal UI components
├── tools/      #   bash, edit, glob, json_edit
└── config/     #   Configuration loader

📄 License

MIT OR Apache-2.0