Skip to content

FunseaAI/anycli-buddy

Repository files navigation

English · 中文 · 日本語 · Français · Русский

🐾 AnyCLI-Buddy

A terminal pet that hatches from an egg and reacts to your code.

18 species 5 rarity tiers zero dependencies node >= 18 MIT License GitHub Stars

AnyCLI-Buddy Hatching Demo

▲ Your companion hatches with a unique species, rarity, and stats based on your coding style


Your buddy watches your coding session. It reacts when you squash bugs ("bug squashed!"), cheers when tests pass ("all green!"), and hides during merge conflicts ("conflict! *hides*"). When nothing's happening, it just sits there going zzZ.


⚡ One-command install

Codex CLI

# Step 1: Install
curl -fsSL https://raw.githubusercontent.com/FunseaAI/anycli-buddy/main/install.sh | bash

# Step 2: Run (from any project directory)
codex-buddy

OpenCode

# Step 1: Install
curl -fsSL https://raw.githubusercontent.com/FunseaAI/anycli-buddy/main/install-opencode.sh | bash

# Step 2: Run (from any project directory)
opencode-buddy

First run shows a hatching animation — pick a name, see your companion's stats roll in. After that, your buddy appears automatically every time.

💬 Or tell your AI agent to install it

Codex:

Fetch and follow instructions from https://raw.githubusercontent.com/FunseaAI/anycli-buddy/refs/heads/main/.codex/INSTALL.md

OpenCode:

Fetch and follow instructions from https://raw.githubusercontent.com/FunseaAI/anycli-buddy/refs/heads/main/.opencode/INSTALL.md


🖥️ What it looks like

┌─────────────────────────────────────────────────┐
│  >_ Codex CLI                                   │
│                                                 │
│  > fix the auth bug                             │
│  • Fixed null check in login.js                 │
│                                                 │
├─────────────────────────────────────────────────┤
│       n______n                                  │
│      ( ·    · )    ── "bug squashed!"           │
│      (   oo   )                                 │
│       `------´                                  │
│       Cappie ★★★                                │
└─────────────────────────────────────────────────┘

Buddy lives in a tmux bottom pane (6 rows). Animates in real-time, stays out of the way, zero impact on your agent.


✨ Features

🥚 Hatching ceremony

Your first run plays a full hatching sequence — egg wobble, cracks, burst, species reveal, you name it, then stats roll in one by one:

    _*_            * . *           n______n
   / . \    →    . \ / .    →    ( ·    · )
  |  / .|        --+--           (   oo   )
  |. /  |        . / \ .          `------´
   \*__/          * . *
                                Give your capybara a name: _

Stats are shaped by your actual git history — late-night coder? High CHAOS. Clean commit messages? High PATIENCE.

🐾 18 species

🦆 duck🪿 goose🫧 blob🐱 cat🐉 dragon🐙 octopus
🦉 owl🐧 penguin🐢 turtle🐌 snail👻 ghost🦎 axolotl
🦫 capybara🌵 cactus🤖 robot🐰 rabbit🍄 mushroom😺 chonk

Each with 3 animation frames, unique ASCII face, and species-specific idle fidgets.

🎲 Rarity & hats

Chance Stars Hats
common 60%
uncommon 25% ★★ crown, tophat, propeller...
rare 10% ★★★
epic 4% ★★★★
legendary 1% ★★★★★

📊 5 stats from your coding DNA

Stat What boosts it
DEBUGGING Fix/debug commits in your git log
PATIENCE Detailed commit messages, many small commits
CHAOS Reverts, force pushes, commits after midnight
WISDOM Refactoring commits, test runner in shell history
SNARK Vim user, prolific committer

Your buddy's personality comes from these stats. High SNARK? It says "ez" and "ship it!". High PATIENCE? "I believe in you".

💬 Context-aware reactions

Buddy reads the actual output of each coding turn:

What happened Buddy says
Fixed a bug "bug squashed!"
Tests pass "all green!"
Tests fail "test caught something"
Build succeeds "it builds!"
TypeError in output "syntax demons!"
git push "shipped!"
Deploy to production "fingers crossed"
Merge conflict "conflict! *hides*"
Nothing happening zzZ

47 content patterns + 9 prompt patterns + stat-weighted fallback quips. Speaks only on turn completion — silent while the agent works.


🎮 Commands

Type in your agent's prompt (not slash commands — these go through hooks):

Command Effect
buddy Show stats panel (8s)
buddy stats Same
buddy pet Purr~ ♥
pet Same
buddy rename Sparky Rename your companion

🧪 Try it standalone

No CLI agent needed:

git clone https://github.com/FunseaAI/anycli-buddy.git && cd anycli-buddy

node cli.js gallery        # see all 18 species
node cli.js hatch myname   # generate a companion
node cli.js animate        # live animation (Ctrl+C to exit)
node demo.js               # interactive demo

🏗️ Architecture
codex-buddy / opencode-buddy
  │
  ├── First run? → hatch-flow.js
  │     ├── Analyze git/shell history (user-profile.js)
  │     ├── Play hatching animation
  │     ├── User names companion → companion.json
  │     └── Inject companion intro → instructions.md
  │
  └── tmux split
       ├── Top: codex / opencode (your working directory)
       └── Bottom (6 rows): buddy-panel.js
            ├── Animated sprite (500ms tick)
            ├── Speech bubbles (10s, 3s fade)
            └── Unix socket ← buddy-hook.sh ← hooks

Zero agent impact:

hook event → buddy-hook.sh (5 lines, background nc) → exit 0
                   ↓ Unix socket
             buddy-panel.js → context-reactor.js → reaction

No Node.js fork per event. No API calls. No blocking.

📦 API — use in your own project
import { hatch, BuddyRenderer, pickQuip } from 'anycli-buddy';

const buddy = hatch('seed', 'Sparky');
const renderer = new BuddyRenderer(buddy);
renderer.start((lines) => { /* render */ });
renderer.say('hello!');   // speech bubble (10s)
renderer.pet();           // heart animation (2.5s)
renderer.stop();
🗑️ Uninstall
# Codex
rm -rf ~/.codex/buddy && rm -f ~/.codex/hooks.json && rm -f /usr/local/bin/codex-buddy

# OpenCode
rm -rf ~/.config/opencode/buddy && rm -f /usr/local/bin/opencode-buddy

MIT License · Made with ♥ by FunseaAI

If your buddy brings you joy, consider giving this repo a ⭐

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors