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

@plentz/ding

v0.1.0

Published

Pi extension for sending macOS task-ready notifications with a ding sound.

Readme

ding

A Pi package that provides the ding extension: a small macOS task-ready notification helper for coding agents.

The extension automatically runs after each Pi agent task settles, using the last user prompt as the notification body. It plays a ding sound and, when appropriate, shows a macOS Notification Center banner. If the originating Apple Terminal tab is already focused, it skips the banner and only plays the sound. With alerter installed, clicking the notification body focuses the originating terminal/app; clicking the close/dismiss control does not focus it.

Install

From npm:

pi install npm:@plentz/ding

From a local checkout:

pi install /absolute/path/to/pi-ding

Optional dependency

For click-to-focus behavior on Notification Center banners, install alerter:

brew install vjeantet/tap/alerter

Without alerter, the extension falls back to AppleScript notifications and sound.

Usage

After installation, Pi loads the extension automatically. When an agent task finishes and Pi is ready for input again, the extension sends a ding notification using the last user prompt as the summary.

You can also send a manual notification with the bundled Pi command:

/ding Optional notification summary

If autoNotify is disabled and you want a notification for a single agent task, include /ding anywhere in the prompt. Text after /ding becomes the notification summary; if nothing follows it, ding uses the task prompt as the summary.

finish the task and notify me with /ding
finish the task /ding Task is ready

Settings

Configure ding with JSON settings. Global settings live at:

~/.pi/agent/ding.json

Project-local settings can live at:

.pi/ding.json

Project-local settings are only read for trusted projects and override global settings.

Example:

{
  "autoNotify": false,
  "sound": "Glass",
  "notifyWhenFocused": false,
  "focusOnClick": true,
  "activateBundleId": "com.apple.Terminal",
  "title": "AI task ready"
}

Settings:

| Key | Default | Description | | ------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | autoNotify | true | Automatically ding when an agent task settles. Set to false to keep only manual /ding. | | sound | "Glass" | Sound to play: a macOS system sound name with or without .aiff, an absolute/~/ path to an afplay-compatible audio file such as "~/Sounds/done.mp3", true for the default sound, or false to disable sound. | | notifyWhenFocused | false | Show a banner even when the originating Apple Terminal tab is focused. | | focusOnClick | true | Focus the originating terminal/app when the notification body is clicked. Close/dismiss still does not focus. | | activateBundleId | unset | Override the app bundle ID used for click-to-focus. | | title | "AI task ready" | Notification title. |