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-companion-app

v1.0.1

Published

Live sidebar panel for Claude Code — animated mascot, tool activity feed, session stats, and contextual suggestions.

Readme

Claude Companion

Live sidebar panel for Claude Code — an animated mascot, tool activity feed, session stats, and contextual suggestions. Available as a VS Code extension, a macOS menu-bar corner anchor, and a CLI.

Status: pre-1.0. Core features stable; some features (e.g. Apple notarization, VS Code Marketplace publish, public relay) are still being prepared for public release.

What it does

  • Live mascot that reacts to what Claude is doing (idle, thinking, running tools, writing files, hitting errors).
  • Per-session stats: tool calls, files touched, errors, duration, tokens spent, cache savings.
  • Streak tracking: consistency, depth, flow, width, endurance, recovery — computed locally from your hook history.
  • Friend feed (optional, requires sign-in): see your friends' streak scores. No content, no prompts, no file names ever shared.

Install

CLI + macOS anchor

npm install -g claude-companion-app
claude-companion install

claude-companion install will:

  • Write the hook commands into ~/.claude/settings.json (safe-merged with anything already there).
  • Drop a tiny launcher in ~/Library/LaunchAgents/ so the macOS anchor starts at login.
  • Add a streak badge to your shell prompt (zsh / bash / fish).

To remove everything later: claude-companion uninstall (or uninstall --purge to also wipe local stat history).

VS Code extension

Marketplace publish is in progress. For now you can sideload from a locally-built .vsix:

cd claude-companion
npm install && npm run compile
npx vsce package
code --install-extension claude-companion-*.vsix

Privacy

Runs locally by default. Nothing leaves your machine unless you explicitly run claude-companion login.

When you do sign in (optional, for cross-device streaks and friend features), we sync only:

  • Computed numbers (streak score, consistency %, etc.)
  • Calendar dates you were active (no content)
  • A hashed device label (real hostname is never sent)
  • Your GitHub username (already public)

We never send: code, prompts, file names, file contents, command strings, tool outputs. See PRIVACY.md and TERMS.md.

Your GitHub OAuth token is stored in your operating system's keychain (macOS Keychain Access / Linux libsecret / Windows Credential Vault), not in a plaintext file. Run claude-companion doctor to confirm.

Run claude-companion forget-me at any time to wipe everything from our servers.

Common commands

claude-companion install        # set up hooks, anchor, shell badge
claude-companion uninstall      # remove hooks (keeps local stats)
claude-companion login          # optional cloud sync (GitHub OAuth)
claude-companion logout         # sign out (keeps local stats)
claude-companion forget-me      # delete all server-side data
claude-companion status         # show daemon + sync state
claude-companion doctor         # self-check; pass --verbose for detail
claude-companion backup         # export everything to a JSON file

Architecture (brief)

┌──────────────┐  hooks  ┌──────────┐  unix-socket  ┌──────────────┐
│ Claude Code  │ ──────► │  daemon  │ ────────────► │  VS Code ext │
└──────────────┘ + NDJSON└──────────┘  + NDJSON     │  + Mac anchor│
                              │                     └──────────────┘
                              │ syncProfile() every 10 min (optional)
                              ▼
                         relay server ──► Supabase (RLS)
  • Hooks fire on every tool call, error, session end — written into ~/.claude/settings.json at install time.
  • Daemon (Node) consumes events, computes stats, owns the truth for the on-disk state at ~/.companion/.
  • VS Code extension + macOS anchor both render the same panel HTML (media/companion-panel.html).
  • Relay is optional; only runs server-side aggregation. All secrets (Supabase keys) stay on the relay, never on clients.

For deeper architecture notes see /Users/bukyadinesh/Desktop/work/rough/impl/Impl_architecture/ (internal; not shipped).

Troubleshooting

| Symptom | First thing to try | |---|---| | Anchor not showing | claude-companion doctor --verbose | | Streak not updating | claude-companion status — daemon alive? | | Sign-in fails | check ~/.companion/auth.json perms; re-run login | | Anchor stuck after Claude crashed | will self-heal at next session |

If doctor reports stale hook commands in ~/.claude/settings.json (e.g. older || pattern), run claude-companion install again to refresh them.

Full troubleshooting guide: TROUBLESHOOTING.md.

Feedback

We'd love to hear from you — bugs, feature ideas, or just how it's going:

Give Feedback or run claude-companion feedback in your terminal.

Contributing

Internal repo for now. PRs welcome once we open up.

License

See LICENSE.