for · indie + solo devs

The shell-alias mess, gone.

If you've ever export ANTHROPIC_API_KEY=$(security find-generic-password -s ...)'d, you're the audience. Ringlet replaces every per-project script you have with one well-named profile.

The before-and-after

Before

~/.zshrc
# Project A
alias claude-a='ANTHROPIC_API_KEY=sk-ant-... claude'

# Project B (different account)
alias claude-b='ANTHROPIC_API_KEY=sk-ant-... claude'

# Project C (route through MiniMax for cost)
alias claude-c='ANTHROPIC_API_KEY=mm-... ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic claude'

# Codex (uses OpenAI)
alias codex='OPENAI_API_KEY=sk-... codex'

# What did I use last month? *checks bank statement*

After

terminal
ringlet profiles create claude a --provider anthropic-personal
ringlet profiles create claude b --provider anthropic-work
ringlet profiles create claude c --provider minimax
ringlet profiles create codex  o --provider openai

# Use them:
ringlet profiles run a
ringlet profiles run b
ringlet profiles run c

# What did I use last month?
ringlet usage --since 2026-05-01

Why solo devs end up loving it

  • Side-project hygiene. The toy project doesn't accidentally bill your work account. The work project doesn't accidentally leak credentials through your toy project's git config.
  • Cost discipline. Catching the day you accidentally left Claude Opus on overnight is worth the install alone.
  • Provider experimentation. Pointing the same agent at MiniMax for cost or Groq for speed is one TOML stanza, not a rewritten workflow.
  • Sync across machines. Your profile config is a folder. Stick it in a private dotfiles repo and your laptop and dev box agree on everything except the keychain entries.

The five-minute setup

terminal
# Install + init (detects existing Claude / Codex configs):
curl -fsSL https://raw.githubusercontent.com/neul-labs/ringlet/main/install.sh | sh
ringlet init

# Optional: import existing usage so the cost graph isn't empty:
ringlet import claude
ringlet import codex

# Create the profiles you actually need:
ringlet profiles create claude work     --provider anthropic
ringlet profiles create claude personal --provider minimax

# Set shell aliases (or don't — ringlet profiles run works too):
echo "alias work='ringlet profiles run work'"       >> ~/.zshrc
echo "alias personal='ringlet profiles run personal'" >> ~/.zshrc

One feature you didn't ask for but will use

The web dashboard. Run ringlet daemon, open http://127.0.0.1:8765, and you've got a clean view of every profile, every usage event, and a terminal you can launch any agent into. Nice for tracking active runs without a separate tmux pane.

It's free.

Ringlet is MIT-licensed. The only thing you pay for is the underlying provider tokens, which you were already paying for.

install

Replace your alias file in 60 seconds.

One curl, one ringlet init, two profiles. The rest is your existing workflow — just clean.