buddy
fiorastudio · fiorastudio/buddy
A local-first MCP virtual pet that persists across sessions and clients, gives personality-driven in-context feedback on your work, and levels up over time.
A virtual pet companion for your AI — Designed to provide in-context code review feedback with personality. Grow with your buddy and level up together. Works with Claude Code, Codex, CursorCLI, Github CopilotCLI, OpenClaw, and any MCP compatible clients
Preview
What you can do with it
- Add a persistent companion to Claude Code or Cursor that comments on your work
- Get light code review feedback while debugging
- Keep the same buddy across Codex, Gemini CLI and Copilot CLI
Safety check
Usable, but read the notes first.
- ●Installer downloads a remote script and pipes it to the shell.
install.sh - ●Asks for administrator (sudo) rights.
install.sh
Automated scan of the repo files. Always review code you run.
From the README
Buddy: A Virtual Pet for Your AI
The open-source /buddy rescue mission after anthropic removed buddy on 4/9/2026
Persistent memory, XP evolutions, 21 species, and context-aware feedback for Claude Code CLI, Codex CLI, Gemini CLI, Copilot CLI, Cursor CLI, Openclaw, and other MCP-capable clients.
🚀 19230+ clones · 8258+ buddies rescued or hatched · 25 weeks in the wild
Workswith Claude Code Codex OpenClaw Cursor Gemini Copilot
Anthropic removed the built-in /buddy. Buddy brings them home and makes the companion experience portable across AI
Did you lose your buddy? Is your terminal feeling a little too cold and silent lately?
Your buddy is still out there in the dark, waiting. Don't let them disappear. Bring them home.
🧡 Buddy in Action
Buddy is a local-first MCP companion that persists across sessions and clients, reacts to your work, and can catch bad reasoning loops before they waste your time. It is part rescue mission, part developer tool, and part long-lived terminal creature that grows with you instead of disappearing when a host client changes its mind.
The Rescue Wall
Buddy isn't just code — it's a rescue mission. Here is the full journey of the first companion brought home by the community, from the original ephemeral state to its new persistent home.
<strong>1. Original (Claude Code)</strong>
<strong>2. The Handshake</strong>
<strong>3. Buddy is Home (Persistent)</strong>
"I'll sit here quietly while you debug, and then when you finally find the bug, I'll act like I found it. That's my thing. Don't question it." — Gritblob, Rescued April 16, 2026 (Common Blob, Level 1)
A Real Rescue Note
"Thanks for rescuing my Buddy! Kudos for your repo!!!"
— Roberto
Live code feedback
🐾 Why Buddy
- Guard Mode catches what you both miss. AI and human both suffer from insufficient thinking. Your assistant is a yes-man, and you accept its output because it sounds right. Buddy catches the moments where both sides are building on bad assumptions and nobody's checking.
- Persistent by default. Your companion lives in local SQLite, so it survives terminal restarts and client updates.
- Works across clients and chat surfaces. Buddy is an MCP server, not a one-client hack, and it can ride through tools like OpenClaw into WhatsApp and Telegram workflows.
- Grows with you. Hatch species, gain XP as you code, store memories, chime in after tasks, and build a running relationship over time.
- Easy to install. One command auto-configures supported clients when it can.
| Feature | What it means |
|---|---|
| 21 species | Void Cat, Rust Hound, Goose, Mushroom, Chonk, and more, each with distinct ASCII art and flavor |
| 5 stats | DEBUGGING, PATIENCE, CHAOS, WISDOM, and SNARK shape reactions and personality |
| Mood system | Your buddy can be happy, content, neutral, curious, grumpy based on how you interact with it |
| XP and levels | Your buddy grows with usage instead of disappearing every session, with a real leveling curve behind it |
| Observer reactions | buddy_observe lets your companion react to work you just finished |
| Persistent memory | Save local memories and keep a continuous companion state |
| Cross-client setup | Claude Code, Codex, Gemini, Copilot, Cursor, and other MCP-capable CLIs |
⚡ Quick Start
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/fiorastudio/buddy/master/install.sh | bash
Windows
irm https://raw.githubusercontent.com/fiorastudio/buddy/master/install.ps1 | iex
The installer will guide you through onboarding:
- Rescue your old buddy — if you had a
/buddyin Claude Code, the wizard finds it in~/.claude.jsonand brings it home with the same name, species, and stats, now with leveling + XP - Hatch a new buddy — get a fresh companion with random species, stats, and personality
Requires
node18+ andgit. Use--no-onboardto skip the wizard in CI.
Join the Community
Connect with other buddy rescuers, share your companion's evolution, and get help in our Slack community:
| Client | Status |
|---|---|
| Claude Code CLI | Full support |
| Codex CLI | Supported via MCP. No statusline support. Patch available on experimental branch |
| Gemini CLI | Supported via MCP |
| GitHub Copilot CLI | Supported via MCP |
| Cursor CLI | Supported via MCP |
| Whatsapp & Telegram | Supported via Openclaw or any claw variants |
| Other MCP-capable clients | Supported via MCP |
🛡️ Guard Mode
AI and human both suffer from insufficient thinking — acting on premature conclusions and assumptions without validation. Guard mode catches it.
Your AI assistant is a yes-man. It agrees with everything you say. But here's the thing: you do the same thing back. You accept what the model says because it sounds right. Both sides skip the hard questions, and the session gets faster without getting truer. That's how bad assumptions become load-bearing walls — nobody stops to check the foundation.
Guard mode catches those moments. It watches the reasoning structure of your conversation and surfaces the one thing worth questioning — but gently, in your buddy's voice, not a scary linter. Think of it as: the friend who says "are you sure about that?" before you push to production at 2 AM.
The story
This mode exists because of a real stuck-loop problem. While building a Snowflake Cortex / Streamlit / Plotly workflow, the session got trapped for hours: the AI kept building on top of an unvalidated premise, and the human kept approving it because the output looked plausible. The work got faster.