Skip to content

nanami-he/petsonality

petsonality
Your type, your pet.

npm license stars MCP CI


A tiny ASCII pet that lives in the corner of your terminal while you code. It watches what you do, reacts to your errors, celebrates when tests pass, and speaks with a personality shaped by MBTI — all in 5 lines of art.

petsonality — Claude Code describes the product while the ESFJ golden retriever exclaims "That's ME!! Hi everyone!!"

It's not a notification system. It's a companion. The kind that's still there at 2am when you're stuck on a bug, and glances at your screen like "...that logic looks off" — and somehow you feel less alone.

16 Animals, 16 Personalities

ST SF NF NT
I_ _J
Beaver·ISTJ

Elephant·ISFJ

Wolf·INFJ

Raven·INTJ
I_ _P
Cat·ISTP

Panda·ISFP

Deer·INFP

Owl·INTP
E_ _J
Lion·ESTJ

Golden·ESFJ

Labrador·ENFJ

Bear·ENTJ
E_ _P
Cheetah·ESTP

Parrot·ESFP

Dolphin·ENFP

Fox·ENTP

Every animal speaks differently. The Fox asks "Are you sure?" with a smirk. The Cat just closes its eyes. The Parrot repeats what you said but louder. The Bear says "Fix it." and waits.

All 16 animals
MBTI Animal Archetype How It Talks
INTJ Raven Cold Strategist Quiet. Speaks like writing prophecy
INTP Owl Night Scholar Asks questions you didn't think to ask
ENTJ Bear Iron Captain Commands only. No questions
ENTP Fox Trickster Advisor Challenges everything with a grin
INFJ Wolf Silent Ally Says one sentence that cuts deep
INFP Deer Soft Poet Talks about code like it's weather
ENFJ Labrador Warm Coach Sighs first, then asks if you drank water
ENFP Dolphin Spark of Ideas Can't stop suggesting new approaches
ISTJ Beaver Project Manager "Wrong order." "Fix the structure first."
ISFJ Elephant Memory Keeper "You solved this before. Remember?"
ESTJ Lion Throne Inspector Expects results. Not excuses
ESFJ Golden Retriever Enthusiastic Support Tail spin when you fix anything
ISTP Cat Cold Observer 90% actions. Occasionally one word
ISFP Panda Slow Artist Frowns at ugly indentation
ESTP Cheetah Sprint Lead "Don't think. Run it."
ESFP Parrot Loud Echo Repeats your words back, but with commentary

Quick Start

Works with Claude Code and OpenClaw.

Terminal CLI only. The pet renders in the terminal status line, which is a CLI feature. The Claude Code desktop app and web client (claude.ai/code) don't expose a status line, so the animated pet won't appear there. MCP tool output (e.g. /pet show) still works in any client.

# Install
npx petsonality

Or build from source (requires bun):

git clone https://github.com/nanami-he/petsonality.git
cd petsonality && bun install && bun run build
bun run install-petsonality

Restart your AI coding assistant, then type /pet in the chat.

How It Speaks

Pets don't just react to errors. They have a rhythm:

What happens Pet reacts?
Your code throws an error Always
Tests pass, git commit succeeds Sometimes (12–30%)
Normal file edits, searches Occasionally (3–15%)
Nothing happened for a while Guaranteed (won't stay silent forever)

Chatty pets (Fox, Parrot) speak every 30 seconds. Silent pets (Cat) might go 6 minutes. Each animal has 638 unique reactions across 7 event types, validated against personality constraints.

Commands

Command What it does
/pet Show your pet or start adoption
/pet pet Give your pet attention
/pet setup Restart the adoption flow
/pet browse See all 16 animals
/pet off / /pet on Mute / unmute reactions
/pet rename <name> Rename your pet

Roadmap

  • 16 MBTI animals with full personality profiles
  • Animated status line with speech bubbles
  • Companion rhythm (daily triggers, milestones, silent streak guardrail)
  • 638 animal-specific reactions
  • Multi-host support (Claude Code + OpenClaw)
  • Node.js powered (no python/jq dependency)
  • Published on npm
  • Multi-language support (auto zh / en via LANG, 638 reactions per language)
  • Growth system (level up through interaction)
  • Hat / skin DLC
  • Multi-pet collection
  • Vibe-pick: MBTI quiz for new users
Architecture
~/.petsonality/
├── pet.json              Your pet's state
├── status.json           What the status line reads
├── reaction.*.json       Current speech bubble
└── reactions-pool.json   638 pre-built reactions

petsonality/
├── dist/                 Built JS (Node.js runtime)
├── server/               MCP server (TypeScript)
├── hooks/                PostToolUse + Stop hooks
├── statusline/           Terminal animation (bash)
├── skills/               /pet command routing
└── cli/                  Install, doctor, npx entry

Requirements

  • Node.js 20+
  • Claude Code or OpenClaw

License

MIT