Skip to content

neul-labs/ringlet

Repository files navigation

ringlet

CI Crates.io Docs License: MIT Rust Platform

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

About

One CLI to rule all your coding agents.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published