1 unstable release
Uses new Rust 2024
| 0.1.0 | Jan 26, 2026 |
|---|
#2262 in Development tools
Used in ringletd
120KB
2.5K
SLoC
ringlet
One CLI to rule all your coding agents.
Stop juggling configs between Claude Code, Grok CLI, Codex, and others. ringlet gives you profiles, provider switching, and intelligent routing—so you can focus on shipping code.
Install
curl -fsSL https://raw.githubusercontent.com/neul-labs/ringlet/main/install.sh | sh
Or build from source:
git clone https://github.com/neul-labs/ringlet.git
cd ringlet && cargo build --release
Quick Start
# See what agents you have installed
ringlet agents list
# Create a profile with your preferred provider
ringlet profiles create claude work --provider anthropic
ringlet profiles run work
# Or use MiniMax for cost-effective Claude-compatible requests
ringlet profiles create claude cheap --provider minimax --model MiniMax-M2.1
ringlet profiles run cheap
Why ringlet?
| Problem | Solution |
|---|---|
| Different config files for each agent | One profile system for all agents |
| Manual API key management | Secure credential storage per profile |
| Can't easily switch providers | Swap Anthropic/MiniMax/OpenRouter without touching code |
| No visibility into usage | Built-in token tracking and cost analytics |
| Complex proxy setups for routing | Native ultrallm integration with rule-based routing |
Core Features
Profile-Based Workflows
# Create isolated profiles with different providers
ringlet profiles create claude work-anthropic --provider anthropic
ringlet profiles create claude work-minimax --provider minimax
# Install as executable aliases
ringlet aliases install work-anthropic
claude-work-anthropic # runs with isolated config and credentials
Intelligent Request Routing
# Enable proxy for smart routing based on context
ringlet profiles create claude routed --provider anthropic --proxy
ringlet proxy enable routed
# Route long-context requests to cost-effective providers
ringlet proxy route add routed "long" "tokens > 100000" "minimax/MiniMax-M2.1" --priority 10
ringlet proxy route add routed "default" "always" "anthropic/claude-sonnet-4"
Event Hooks
# Add hooks for logging, notifications, or custom workflows
ringlet hooks add work PreToolUse "Bash" "echo '$EVENT' >> ~/.ringlet/audit.log"
ringlet hooks add work Notification "*" "notify-send 'Claude' '$MESSAGE'"
Usage Tracking
# Track tokens and costs across all profiles
ringlet usage
ringlet usage --period month --profile work
# Import existing Claude usage data
ringlet usage import-claude
Architecture
┌─────────────────────────────────────────────────────────────┐
│ CLI (ringlet) │
│ └── Thin client, auto-starts daemon │
├─────────────────────────────────────────────────────────────┤
│ Daemon (ringletd) │
│ └── Profiles │ Registry │ Telemetry │ Web UI │
├─────────────────────────────────────────────────────────────┤
│ Agents │
│ └── Claude Code │ Grok CLI │ Codex │ Droid │ OpenCode │
├─────────────────────────────────────────────────────────────┤
│ Providers │
│ └── Anthropic │ MiniMax │ OpenRouter │ Custom │
└─────────────────────────────────────────────────────────────┘
The daemon starts automatically on first CLI use and exits after idle timeout (or pin with ringlet daemon --stay-alive).
CLI Reference
ringlet agents list # Show installed agents and versions
ringlet profiles create # Create a new profile
ringlet profiles list # List all profiles
ringlet profiles run <name> # Run agent with profile
ringlet aliases install <name> # Create executable alias
ringlet proxy status # Check proxy status
ringlet proxy route list <name> # List routing rules
ringlet hooks list <name> # List profile hooks
ringlet usage # View usage stats
ringlet registry sync # Update agent manifests
ringlet daemon --stay-alive # Keep daemon running
Documentation
Full documentation at docs.neullabs.com/ringlet
| Guide | Description |
|---|---|
| Architecture | Component overview and data flow |
| Agents | Supported agents and custom manifests |
| Providers | API backends and custom providers |
| Profiles | Profile lifecycle and workflows |
| Hooks | Event-driven automation |
| Proxy | Request routing with ultrallm |
| Usage | Token tracking and analytics |
| Scripting | Rhai configuration scripting |
Status
| Component | Status |
|---|---|
| CLI + Daemon with IPC | ✅ Stable |
| Agent detection (Claude, Grok, Codex, Droid, OpenCode) | ✅ Stable |
| Provider support (Anthropic, MiniMax, OpenRouter) | ✅ Stable |
| Profile hooks and Rhai scripting | ✅ Stable |
| Proxy routing with ultrallm | ✅ Stable |
| Web UI and HTTP/WebSocket APIs | ✅ Stable |
| Token/cost tracking | ✅ Stable |
| Plugin SDK | 🔜 Planned |
| Cross-device sync | 🔜 Planned |
Contributing
Open an issue for design discussions before implementing major features. See the contribution guide for details.
License
MIT - see LICENSE
Dependencies
~11–25MB
~244K SLoC