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

ccbuddyy

v1.6.0

Published

Force your Claude Code buddy companion - pick your legendary

Readme

ccbuddyy

Force your Claude Code /buddy companion. Pick species, rarity, eyes, hat - no luck required.

npx ccbuddyy

How it works

Claude Code assigns you a companion when you run /buddy. The companion is deterministic - it's derived from your user ID and a hardcoded salt string (friend-2026-401) embedded in the Claude Code binary.

The generation works like this:

  1. Hash: Bun.hash(userId + salt) produces a 32-bit seed
  2. PRNG: The seed feeds a Mulberry32 RNG
  3. Roll: Sequential RNG calls determine rarity, species, eyes, hat, shiny, and stats

Since the output is fully deterministic, changing the salt changes the companion. ccbuddyy patches the salt in the Claude Code binary to produce the exact companion you want.

Rarity odds

| Rarity | Weight | Chance | |-----------|--------|--------| | common | 60 | 60% | | uncommon | 25 | 25% | | rare | 10 | 10% | | epic | 4 | 4% | | legendary | 1 | 1% |

Common companions cannot have hats. Shiny is an independent 1% roll on top of everything else.

The patching process

  1. Finds the Claude Code binary (supports native install, npm, Homebrew, Volta, pnpm, yarn, mise, asdf, winget, and more)
  2. Creates a .bak backup of the original binary
  3. Replaces the salt string (friend-2026-401) with a new salt that produces your desired companion
  4. Re-signs the binary on macOS (codesign -s -)
  5. Clears stored companion data from ~/.claude.json so Claude Code re-hatches on next /buddy

Usage

Interactive mode

npx ccbuddyy

Browse pre-searched legendaries with arrow keys, preview stats, and apply with Enter.

Build mode

Specify exactly what you want:

npx ccbuddyy build -species dragon -rarity legendary
npx ccbuddyy build -species cat -rarity epic -eye star -hat crown
npx ccbuddyy build -species penguin -rarity legendary -shiny

The builder brute-forces random salts until it finds matches for your spec. Results are shown in a TUI picker.

Options:

  • -species - duck, goose, blob, cat, dragon, octopus, owl, penguin, turtle, snail, ghost, axolotl, capybara, cactus, robot, rabbit, mushroom, chonk
  • -rarity - common, uncommon, rare, epic, legendary
  • -eye - dot, star, x, circle, at, degree
  • -hat - none, crown, tophat, propeller, halo, wizard, beanie, tinyduck
  • -shiny - require shiny (1% chance, makes searches ~100x slower)

Other commands

npx ccbuddyy current          # show your current companion
npx ccbuddyy restore          # restore original binary
npx ccbuddyy search "legendary dragon"  # free-text search
npx ccbuddyy --seed <salt>    # apply a specific salt directly

After Claude Code updates

Each update replaces the binary, resetting your companion. Just run ccbuddyy again to re-patch.

Website

ccbuddy.dev - build your companion config visually and get the exact npx command.

License

MIT