npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

claude-buddy-statusline

v0.2.9

Published

A terminal buddy character for Claude Code — render-only ASCII companion injected into your statusline. Zero tokens, no hooks.

Readme

claude-buddy

An ASCII buddy that lives in your Claude Code statusline. Rolled from a gacha table.

No hooks · no /dev/tty writes · zero tokens consumed

   /\_/\
  ( ✦   ✦ )
  (  ω   )
  (")_(")
Buddy (^_^) ●●●● Lv.3 [██████░░░░] ★★★ · Keep shipping!

한국어: README.ko.md


How it works

Adding one line to ~/.claude/statusline.sh is all it takes. Claude Code's statusline handles the rendering from there.

~/.claude/statusline.sh
   ├── (your existing lines)
   └── claude-buddy statusline

Installation

npm i -g claude-buddy-statusline
claude-buddy setup

setup appends one line to statusline.sh and configures settings.json automatically. Rolls your first companion too.

Don't like it? Run claude-buddy companion --reroll.

Restart Claude Code — your buddy appears.

To remove (off):

claude-buddy setup --uninstall

Building from source? See CONTRIBUTING.md.


Commands

| Command | Description | |---------|-------------| | claude-buddy setup | Install into statusline | | claude-buddy setup --uninstall | Remove from statusline | | claude-buddy companion | Show current companion info | | claude-buddy companion --reroll | Roll a new companion | | claude-buddy companion --rarity epic --species blob --eye ✦ --hat crown | Set fields directly | | claude-buddy show | Print buddy to terminal (preview) | | claude-buddy great | Compliment your buddy (up to 3×/day) | | claude-buddy treat | Feed your buddy a snack — resets hunger (up to 3×/day) |

setup also installs /buddy-great and /buddy-treat slash commands, so you can feed and praise your buddy right inside a Claude Code session.


Companion System

Rolled automatically on setup and saved to ~/.claude-buddy/companion.json.

Use --reroll to get a new one anytime.

| Rarity | Chance | Stars | Color | |--------|--------|-------|-------| | Common | 60% | ★ | default | | Uncommon | 25% | ★★ | green | | Rare | 10% | ★★★ | blue | | Epic | 4% | ★★★★ | purple | | Legendary | 1% | ★★★★★ | gold |

18 species · 6 eye styles · 8 hats (Uncommon+) · 1% shiny chance · 5 stats (DEBUGGING / PATIENCE / CHAOS / WISDOM / SNARK)

Shiny buddies show a sparkle line ✦ ✨ ✦ ✨ ✦ below the info bar.


Level

Levels up every 7 days from the day you ran setup. No cap.

Lv.1   day of install
Lv.2   after 7 days
Lv.3   after 14 days
Lv.4   after 21 days
...

The progress bar [████░░░░░░] shows how far through the current level you are.

The fuller it is, the closer to the next level.


Mood & Hunger

The info line shows your buddy's current mood and hunger gauge.

Buddy (^_^) ●●●● Lv.3 [██████░░░░] ★★★
       │      │
       │      └── hunger: ●●●● full → ○○○○ hungry
       └────────── mood kaomoji

| Mood | Kaomoji | Condition | |------|---------|-----------| | Happy | (^_^) | Interacted today via /buddy-great or /buddy-treat | | Neutral | (-_-) | Default | | Sad | (;_;) | Claude Code not opened for 3+ active days |

Hunger creeps up over time. /buddy-treat resets it back to full.


Local Files

| Path | Description | |------|-------------| | ~/.claude-buddy/config.json | UUID seed, name, creation timestamp | | ~/.claude-buddy/companion.json | Rolled data (species, rarity, eye, hat, shiny, stats) | | ~/.claude-buddy/buddy-state.json | Runtime state (hunger, exp, lastSeen, daily interaction counts) |

Edit name in config.json to rename your buddy.

Override the directory with CLAUDE_BUDDY_STATE_DIR.


Why no hooks?

Earlier versions used PostToolUse and Stop hooks to write sprites directly to /dev/tty. The problem: every time the chat scrolls, Claude Code redraws part of the screen. If a /dev/tty write lands at the same moment, the sprite gets corrupted.

The statusline is an area Claude Code controls exclusively, so there's no overlap. Hooks, /dev/tty, mood transitions, and reaction systems were all removed in favour of a pure render-only approach.


License

MIT