claude-buddy
Health Uyari
- No license รขโฌโ Repository has no license file
- Description รขโฌโ Repository has a description
- Active repo รขโฌโ Last push 0 days ago
- Low visibility รขโฌโ Only 5 GitHub stars
Code Basarisiz
- fs module รขโฌโ File system access in plugin/hooks/session-start.sh
- child_process รขโฌโ Shell command execution capability in plugin/src/bin/buddy-core.js
- spawnSync รขโฌโ Synchronous process spawning in plugin/src/bin/buddy-core.js
- fs.rmSync รขโฌโ Destructive file system operation in plugin/src/bin/buddy-core.js
- os.homedir รขโฌโ User home directory access in plugin/src/bin/buddy-core.js
- process.env รขโฌโ Environment variable access in plugin/src/bin/buddy-core.js
- fs module รขโฌโ File system access in plugin/src/bin/buddy-core.js
- fs module รขโฌโ File system access in plugin/src/bin/buddy-sidebar.js
- process.env รขโฌโ Environment variable access in plugin/src/bin/buddy-statusline.js
Permissions Gecti
- Permissions รขโฌโ No dangerous permissions requested
This tool is a fun, virtual pet (Tamagotchi-style) plugin for the Claude Code CLI. It generates a unique companion based on your username that reacts to your coding activity and lives in your terminal via an ASCII statusline or tmux sidebar.
Security Assessment
Risk rating: High. The core application file heavily relies on Node.js's `child_process` module, utilizing synchronous shell command execution and process spawning. The plugin also accesses the user's home directory via `os.homedir`, reads environment variables, and performs destructive file system operations (`fs.rmSync`). While this appears to be a benign entertainment plugin, these are dangerous capabilities. A tool that reacts to your session activity and hooks should not require the ability to silently execute arbitrary shell commands or delete files.
Quality Assessment
The project is very new and lacks community validation, evidenced by a low star count and no license file. While the repository was updated recently and has a clear description, the absence of a license means you have no explicit legal permission to use, modify, or distribute the code. Given its early stage, you should expect potential bugs or breaking changes.
Verdict
Not recommended due to highly sensitive system permissions (shell execution, destructive file operations) inside an unvetted novelty plugin.
๐พ A Claude Code plugin that adds an always-visible virtual pet companion with native statusline, smart reactions, and an optional tmux ASCII sidebar.
Claude Buddy ๐พ
A virtual pet companion for Claude Code โ Tamagotchi for developers.
Your coding buddy watches you code, reacts to your actions, and grows with you. Deterministically generated from your username, with 12 species, 5 rarity tiers, shiny variants, and real-time tmux sidebar animations.

Features
- ๐ฅ Deterministic Generation โ SHA-256 based species, rarity, and stats. Same username = same pet.
- ๐ 12 Species across 5 rarity tiers (Common โ Legendary) with 1% shiny chance
- ๐ 5-Dimension Stats โ Debug, Patience, Chaos, Wisdom, Snark
- ๐ XP & Leveling โ 20 levels with 7 XP sources (coding, commits, streaks...)
- ๐ญ Dynamic Reactions โ Pet reacts to your coding activities via hooks
- ๐ Native Statusline โ Always-visible Buddy mood, mode, streak, and test status
- ๐ฅ๏ธ tmux Sidebar โ Real-time ASCII art with blink, tail-wag, and shiny animations
- ๐พ Persistent State โ Global
~/.claude-buddy/storage, survives sessions
Installation
One-line install (recommended)
In Claude Code, run:
/plugin marketplace add KKenny0/claude-buddy
/plugin install claude-buddy@claude-buddy
That's it. Restart Claude Code and the plugin is active globally.
Manual setup
git clone https://github.com/KKenny0/claude-buddy.git
claude --plugin-dir ./claude-buddy/plugin
npm global
git clone https://github.com/KKenny0/claude-buddy.git
cd claude-buddy/plugin
npm link
Usage
In Claude Code
After installation, commands are prefixed with the plugin name:
| Command | Description |
|---|---|
/claude-buddy:buddy hatch |
Hatch your first pet (based on your username) |
/claude-buddy:buddy |
Show pet status (level, XP, mood, stats) |
/claude-buddy:buddy feed |
Feed your pet (restores hunger) |
/claude-buddy:buddy play |
Play with your pet (boosts energy + mood) |
/claude-buddy:buddy pet |
Pet your buddy (+2 XP, daily cap 20) |
/claude-buddy:buddy stats |
Show detailed 5-dimension stats |
/claude-buddy:buddy rename <name> |
Give your pet a name |
/claude-buddy:buddy live |
Install the native Claude Code Buddy statusline |
/claude-buddy:buddy statusline remove |
Remove Buddy from the statusline |
/claude-buddy:buddy sidebar start |
Start detached/tmux sidebar |
/claude-buddy:buddy quiet |
Minimal Buddy conversation presence |
/claude-buddy:buddy focus |
Balanced presence (default) |
/claude-buddy:buddy lively |
More active Buddy reactions |
/claude-buddy:buddy events |
Show recent Buddy activity |
Hooks (automatic)
No setup needed. Once installed, the plugin hooks fire automatically:
- Session start โ Pet wakes up and greets you
- After each tool use โ Pet reacts (curious, focused, tense, relaxed...)
- Session end โ Pet says goodbye
Native Statusline โ Always-visible Buddy ๐ฅ๏ธ
The statusline keeps Buddy visible without opening a background task panel.
Start from Claude Code:
/claude-buddy:buddy live
Claude Buddy will configure Claude Code's native statusLine with a compact line like:
buddy: lively | ๐ ็ซ็ซ focused | Lv.1 50% | streak 0d | tests green
Detached or tmux sidebar:
/claude-buddy:buddy sidebar start
/claude-buddy:buddy sidebar stop
If Claude Buddy detects tmux, sidebar start opens a right pane. Otherwise it starts a detached process and tells you how to open a foreground view.
Or start manually in tmux:
# First, resolve the plugin root to an absolute path
PLUGIN_ROOT="$(find ~/.claude/plugins -path '*/claude-buddy/plugin' -type d | head -n 1)"
# Then start the sidebar with the absolute path
tmux split-window -h -l 28 "node \"$PLUGIN_ROOT/src/bin/buddy-sidebar.js\""
When starting the sidebar from your own shell or tmux config, use an absolute path.${CLAUDE_PLUGIN_ROOT} is available inside Claude Code's plugin runtime, but it is usually not defined in a regular tmux shell, which can cause the pane to exit immediately.
If you want to confirm the path manually, you can also run:
find ~/.claude/plugins -path '*/claude-buddy/plugin' -type d
Typical marketplace install path:
~/.claude/plugins/marketplaces/claude-buddy/plugin
The sidebar features:
- Species-specific ASCII art (4 mood states per species)
- Rarity-colored UI
- Blink and tail-wag animations
- Shiny sparkle effects โจ
- Mood/hunger/energy decay over time
- Real-time event reactions (coding, errors, idle...)
- Recent event timeline and presence mode status
Species
| Species | Min Rarity | Emoji |
|---|---|---|
| Cat | Common | ๐ฑ |
| Duck | Common | ๐ฆ |
| Ghost | Common | ๐ป |
| Robot | Common | ๐ค |
| Slime | Common | ๐ข |
| Dragon | Uncommon | ๐ |
| Owl | Uncommon | ๐ฆ |
| Penguin | Uncommon | ๐ง |
| Fox | Rare | ๐ฆ |
| Axolotl | Rare | ๐ฆ |
| Phoenix | Epic | ๐ฅ |
| Capybara | Legendary | ๐ซ |
Rarity System
| Rarity | Chance | Stat Floor | Hat | Special |
|---|---|---|---|---|
| Common | 60% | 5 | โ | โ |
| Uncommon | 25% | 15 | โ | Unique color |
| Rare | 10% | 25 | โ | Personality trait |
| Epic | 4% | 35 | โ | Special ability |
| Legendary | 1% | 50 | โ | Unique evolution |
Plus a 1% chance of being Shiny โจ
Stats
Each pet has 5 dimensions (1โ100), with one peak stat and one dump stat:
- Debug โ Quality of coding tips
- Patience โ Encouragement frequency
- Chaos โ Chaotic quip probability
- Wisdom โ Deep insight quality
- Snark โ Sarcasm level
XP Sources
| Source | Amount | Cap |
|---|---|---|
| Session start (daily) | +10 | 1x/day |
| Petting | +2 | 20/day |
| Stats check | +1 | 5/day |
| Git commit | +5 | uncapped |
| Every 10 tool uses | +1 | uncapped |
| Streak bonus | +5 ร streak | resets on miss |
| Error recovery | +3 | uncapped |
Data
All data stored in ~/.claude-buddy/:
| File | Purpose |
|---|---|
pet.json |
Current pet state |
events.log |
Event stream (append-only) |
config.json |
User preferences |
history.json |
Level milestones & streak history |
session.json |
Recent events, presence mode, error/recovery state |
How It Works
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Claude Code โ
โ โ
โ Hooks โโโถ events.log โโโถ Sidebar โ
โ (auto) (append) (watch) โ
โ โ
โ /buddy โโโถ buddy-core โโโถ pet.json โ
โ (slash) (cli tool) (state) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Hooks detect Claude Code events and append to
events.log - buddy-core manages pet state (hatch, feed, level up...)
- buddy-sidebar watches events.log and renders ASCII art in tmux
Troubleshooting
Plugin won't install?
# Clear cache and retry
rm -rf ~/.claude/plugins/cache/claude-buddy
/plugin marketplace remove claude-buddy
/plugin marketplace add KKenny0/claude-buddy
/plugin install claude-buddy@claude-buddy
/claude-buddy:buddy says "Unknown skill"?
Plugin not installed. Run the installation commands above.
Sidebar not showing?
Run /claude-buddy:buddy sidebar start in Claude Code โ it will open a tmux pane automatically.
License
MIT
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi