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

@davedinapoli/vibe

v0.1.0

Published

Connect Claude Code to your phone: it asks you decisions (A/B/C or free text), you answer from anywhere, the answer flows back into the live session.

Readme

Vibe — answer Claude Code from your phone

Claude Code is working in your terminal. It hits a decision it shouldn't guess — "Rewrite the auth flow, or patch it?" Instead of stalling (or guessing wrong), it asks you: a push lands on your phone with the question and the options. You tap A / B / C or type a reply, and the answer types itself straight back into the live session. No clone, no copy-paste, no babysitting the terminal.

Claude Code ──(vibe_ask)──▶  Vibe backend ──push──▶  📱 your phone
     ▲                                                     │
     └──────── answer typed into the live session ◀────────┘

This package is the machine side: a tiny MCP server + Claude Code hooks that let your sessions reach you. You answer in the Vibe iOS app (or the macOS desk panel).

What you need

  • macOS + VS Code (the answer is typed back via the Vibe Inject extension — install it once).
  • Node 18+ (node --version).
  • The Vibe app (iOS / macOS) to answer on, and a token it gives you.

Setup (one command)

  1. In the Vibe app, open Settings → Connect your Mac. It mints a personal token (vibe_sk_…) and copies it to your clipboard.

  2. In your terminal:

    npx @davedinapoli/vibe init

    Paste the token when asked (or pass it inline: npx @davedinapoli/vibe init vibe_sk_…).

init will:

  • verify the token against the hosted backend,
  • write ~/.vibe/config.json (chmod 600 — only your token lives there),
  • copy the runtime to ~/.vibe/app (stable; survives npm cache cleanup),
  • register the Claude Code hooks in ~/.claude/settings.json,
  • register the vibe MCP server (vibe_ask, vibe_ask_text),
  • wire a one-line shell helper so each session gets a stable id.
  1. Install the Vibe Inject VS Code extension.
  2. Open a new terminal and start a fresh claude session.

Then ask Claude to do something it should check with you first — the question reaches your phone, and your answer flows back.

Check your install any time:

npx @davedinapoli/vibe doctor

What Claude gets

| Tool | What it does | |------|--------------| | vibe_ask | Ask you a decision with 2–3 options (A/B/C). Non-blocking. | | vibe_ask_text | Ask you an open question; you reply with free text. | | vibe_show (optional) | Screenshot a local URL (e.g. localhost:3000) and send it with the question. Needs puppeteer-core + Google Chrome: npm i -g puppeteer-core. |

Privacy & security

  • The only secret stored on your machine is your own token (~/.vibe/config.json, chmod 600). There is no service key and no push certificate on your machine — those stay server-side. Your token is scoped to your account: it can only read and write your own questions, sessions, and devices.
  • Revoke a token any time in the app (Settings → Connect your Mac → Revoke). Tokens also expire automatically.
  • The embedded project URL and publishable key are public by design.

Uninstall

Remove the hooks block(s) for ~/.vibe/app/hooks/... from ~/.claude/settings.json, run claude mcp remove vibe --scope user, delete the shell block marked vibe instance-id bridge from your shell rc, and rm -rf ~/.vibe.

Links

MIT © Dave Di Napoli