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

pi-buddy

v0.1.2

Published

An animated ASCII companion that lives beside your Pi input box. Hatches buddies with unique species, stats, and personalities. Reacts to what you're coding.

Downloads

264

Readme

pi-buddy

Experimental — this extension is a work in progress. Expect rough edges and layout quirks. Pull requests with improvements are very welcome.

A recreation of the Claude Code companion experience for Pi. Based on the idea of the Claude Code buddy — an animated ASCII creature that sits beside your input, reacts to what you are doing, and collects a roster of unique companions over time.

This is not an official project and has no affiliation with Anthropic or Claude Code.

Install

pi install git:github.com/NerfEko/PiBuddy

Then do /reload or restart Pi. On first load, use /buddy hatch to get your first buddy.

Features

  • 18 species: duck, goose, blob, cat, dragon, octopus, owl, penguin, turtle, snail, ghost, axolotl, capybara, cactus, robot, rabbit, mushroom, chonk
  • 5 rarity tiers: common, uncommon, rare, epic, legendary
  • 5 stats per buddy: DEBUGGING, PATIENCE, CHAOS, WISDOM, SNARK
  • Contextual reactions after each assistant turn, powered by a cheap model
  • One-time soul generation at hatch — unique name and personality
  • Roster system — collect multiple buddies and switch between them
  • Custom footer showing buddy name, rarity, and token usage

Commands

| Command | Description | |---|---| | /buddy | Show buddy card, or hatch one if none exist | | /buddy hatch | Hatch a random new buddy | | /buddy spawn <species> | Spawn a specific species | | /buddy list | Browse your roster | | /buddy switch <name> | Switch active buddy | | /buddy card | View full stat card | | /buddy pet | Pet your buddy | | /buddy rename <name> | Rename active buddy | | /buddy delete | Delete active buddy | | /buddy reroll | Hatch another random buddy | | /buddy mute / /buddy unmute | Toggle reactions | | /buddy off / /buddy on | Hide or show the buddy | | /buddy model | Pick which model to use for reactions | | /buddy enablefallbacks | Enable local fallback reactions and names | | /buddy disablefallbacks | Disable local fallbacks (model-only mode) |

Tab completion works on all subcommands and species names.

Model usage

Buddy AI uses a cheap model auto-detected from your configured providers, in this order:

  1. GitHub Copilot: gpt-4o, gpt-4o-mini, claude-haiku-4.5, gemini-3-flash-preview
  2. Anthropic: claude-haiku-4.5, claude-haiku-4
  3. Google: gemini-2.0-flash, gemini-1.5-flash
  4. OpenAI: gpt-4o-mini, gpt-4o
  5. Falls back to your active model if none of the above are available

Use /buddy model to override the auto-detected model.

A model is required for hatching new buddies (soul generation) and for contextual reactions. Without a model, the buddy displays but won't speak.

Reactions

Reactions are generated using the buddy's name, personality, stats, and a summary of what just happened — including what files changed and what the AI said. This keeps reactions specific to the work rather than generic.

Reactions are dynamically sized to fit your terminal width. The character limit is computed from your editor width minus the buddy sprite and chrome, then trimmed to avoid visual clipping. If the model returns something too long, it's progressively shortened — first by picking the longest fitting sentence, then by word, then by hard truncation with an ellipsis.

Token usage

  • Soul generation: output capped at 220 tokens (hard cap), once per hatch
  • Reactions: output token cap is derived from the dynamic character limit (60% of bubble char limit, min 28 chars), divided by ~3.5 chars/token, clamped by target 80 and hard cap 160. On a typical 80-col terminal this works out to ~13 output tokens; on wider terminals it scales up to 80. Input tokens vary with turn context. ~85% chance, 1 turn cooldown, max 30 reactions per session
  • Normal sessions (reactions only, no hatches): typically well under 2K output tokens per session

State

Buddy state is stored globally at ~/.pi/pi-buddy/state.json so your roster persists across all projects.

Contributing

Pull requests are welcome. Some areas that could use improvement:

  • More sprite polish and additional species
  • Better reaction quality and prompt tuning
  • Settings UI for toggling reaction mode, model preferences, etc.
  • Performance improvements to the editor overlay rendering
  • Support for themes (rarity colors, etc.)

Please open an issue first for larger changes.