@plentz/ding
Pi extension for sending macOS task-ready notifications with a ding sound.
Package details
Install @plentz/ding from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@plentz/ding- Package
@plentz/ding- Version
0.1.0- Published
- Jul 15, 2026
- Downloads
- 144/mo · 144/wk
- Author
- plentz
- License
- MIT
- Types
- extension
- Size
- 18 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
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. |