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

@alexgorbatchev/pi-cmux-notify

v1.0.0

Published

pi package for cmux notifications

Readme

@alexgorbatchev/pi-cmux-notify

pi package for cmux notifications.

Why

Pi already knows what happened during a run. @alexgorbatchev/pi-cmux-notify turns that into terminal-native cmux notify alerts so you can notice when Pi is waiting, completed work, or ended in error.

Usage

Install with Pi:

pi install npm:@alexgorbatchev/pi-cmux-notify

If Pi is already running, reload extensions:

/reload

Included extension

  • cmux-notify — sends cmux notify alerts when Pi finishes a run

Notification behavior

All notifications use:

  • title: Pi by default
  • subtitle: current run state
  • body: a short summary of what Pi just did

Current notification types:

  • Waiting

    • sent when Pi finishes a short run and is waiting for input
    • typical bodies:
      • Finished and waiting for input
      • Reviewed README.md
      • Reviewed 3 files
      • Searched the codebase
  • Task Complete

    • sent when the run changed files, or when the run took at least the configured threshold
    • typical bodies:
      • Updated package.json
      • Updated 2 files
      • Finished in 42s
      • Updated 3 files in 1m 12s
  • Error

    • sent when the run itself ends in error or abort
    • typical bodies:
      • read failed for config.json
      • edit failed for README.md
      • bash command failed

Notification bodies are summarized from the run itself:

  • changed files from edit and write
  • reviewed files from read
  • searches from grep and find
  • shell activity from bash
  • the final agent error, with the first tool failure used as a fallback summary when needed

Settings

Configure notifications in Pi settings instead of environment variables.

Global settings live in ~/.pi/agent/settings.json. Project settings live in .pi/settings.json and override global settings.

Use this package-scoped key:

{
  "@alexgorbatchev/pi-cmux-notify": {
    "level": "all",
    "thresholdMs": 15000,
    "debounceMs": 3000,
    "title": "Pi"
  }
}

Supported fields:

  • levelall, medium, low, or disabled (default: all)
  • thresholdMs — duration threshold before a run is labeled Task Complete instead of Waiting (default: 15000)
  • debounceMs — minimum delay between duplicate notifications (default: 3000)
  • title — notification title override (default: Pi)

cmux must be available in PATH for notifications to work. Pi uses the current CMUX_WORKSPACE_ID / CMUX_SURFACE_ID automatically when cmux is running.