rs-code-0.1.1 is not a library.
rust-code
An AI-powered coding agent for the terminal, written in pure Rust.
Features
- Interactive REPL with streaming responses, markdown rendering, and syntax highlighting
- 23 built-in tools for file operations, shell commands, code search, web access, and more
- 26 slash commands for git, session management, diagnostics, and agent control
- Permission system with configurable rules (allow/deny/ask per tool and pattern)
- Agent loop that autonomously executes multi-step coding tasks with error recovery
- MCP support for connecting external tool servers (stdio + SSE transports)
- Memory system for persistent context across sessions (project + user level)
- Skills for custom reusable workflows loaded from markdown files
- Plugin system for bundling skills, hooks, and config as packages
- Session persistence with save, resume, and history
- Plan mode for safe read-only exploration before making changes
- Multi-agent coordination with typed agent definitions (general, explore, plan)
- IDE bridge protocol for VS Code and JetBrains integration
- Vi/Emacs editing modes with customizable keybindings
Architecture
┌───────────────────────────────────────────────────────┐
│ ENTRYPOINT (main.rs / cli) │
│ CLI parsing, initialization, bootstrap │
└─────────────────────────┬─────────────────────────────┘
│
┌─────────────────────────▼─────────────────────────────┐
│ CONFIG & BOOTSTRAP (config/) │
│ Settings loading, environment, MCP connect │
└─────────────────────────┬─────────────────────────────┘
│
┌─────────────────────────▼─────────────────────────────┐
│ QUERY ENGINE (query/) │
│ Agent loop: compact → stream → tools → loop │
└────────┬────────────┬──────────────┬──────────────────┘
│ │ │
┌────────▼───┐ ┌─────▼─────┐ ┌────▼───────┐
│ TOOL LAYER │ │ PERMISSION │ │ HOOKS │
│ │ │ SYSTEM │ │ │
│ 23 tools │ │ Rules │ │ Pre/Post │
│ MCP proxy │ │ Plan mode │ │ Shell/HTTP │
│ Executor │ │ Ask/Deny │ │ Lifecycle │
└────────────┘ └────────────┘ └────────────┘
│ │ │
┌────────▼────────────▼──────────────▼──────────────────┐
│ SERVICES (12) │
│ LLM Client │ Compact │ MCP │ LSP │ Git │ Session │
│ Tokens │ Bridge │ Coordinator │ Background │ Plugins │
└───────────────────────────────────────────────────────┘
Quick Start
# Build
# Set your API key
# Run interactive mode
# One-shot mode
Configuration
Configuration is loaded from (highest to lowest priority):
- CLI flags and environment variables
- Project-local
.rc/settings.toml - User config
~/.config/rust-code/config.toml
[]
= "https://api.anthropic.com/v1"
= "claude-sonnet-4-20250514"
[]
= "ask"
[[]]
= "Bash"
= "git *"
= "allow"
[]
= "npx"
= ["-y", "@modelcontextprotocol/server-filesystem", "/path"]
[]
= true
= true
Tools
| Tool | Description | Read-only |
|---|---|---|
Agent |
Spawn subagents for parallel tasks | No |
AskUserQuestion |
Interactive multi-choice prompts | Yes |
Bash |
Execute shell commands | No |
FileEdit |
Search-and-replace editing | No |
FileRead |
Read files with line ranges | Yes |
FileWrite |
Create or overwrite files | No |
Glob |
Find files by pattern | Yes |
Grep |
Regex content search (ripgrep) | Yes |
LSP |
Language server diagnostics | Yes |
McpProxy |
Bridge to MCP server tools | No |
NotebookEdit |
Edit Jupyter notebook cells | No |
EnterPlanMode |
Switch to read-only mode | Yes |
ExitPlanMode |
Re-enable all tools | Yes |
SendMessage |
Inter-agent communication | No |
Sleep |
Async pause with cancellation | Yes |
TaskCreate |
Create progress tracking tasks | Yes |
TaskUpdate |
Update task status | Yes |
TodoWrite |
Structured todo list management | Yes |
ToolSearch |
Find tools by keyword | Yes |
EnterWorktree |
Create isolated git worktree | No |
ExitWorktree |
Clean up git worktree | No |
WebFetch |
Fetch content from URLs | Yes |
WebSearch |
Search the web | Yes |
Commands
| Command | Description |
|---|---|
/help |
Show available commands |
/exit |
Exit the REPL |
/clear |
Clear conversation history |
/compact |
Free context by clearing old tool results |
/cost |
Show session cost and token usage |
/model |
Show or change the current model |
/diff |
Show git diff |
/status |
Show git status |
/commit |
Commit current changes |
/review |
Review current diff for issues |
/branch |
Show or switch git branch |
/resume |
Resume a previous session |
/sessions |
List saved sessions |
/memory |
Show loaded memory context |
/skills |
List available skills |
/doctor |
Check environment health |
/mcp |
List MCP server connections |
/plan |
Toggle plan mode |
/init |
Initialize project config |
/export |
Export conversation as markdown |
/context |
Show context window usage |
/agents |
List agent types |
/hooks |
Show hook configuration |
/plugins |
List loaded plugins |
/verbose |
Toggle verbose output |
/version |
Show version |
License
MIT