Catalog npm
Back to packageRELEASE DETAILS

0.1.0

npm

@0xkobold/pi-alerts

Customizable chimes and notifications for pi

pi-package
Published24 Mar 2026
Direct dependencies0
Transitive dependenciesNot calculated

README

Current package documentation

pi-alerts

A pi extension that plays customizable chimes and notifications when tasks are complete.

Features

  • Beep Mode: Simple system beep or Glass-like tone (cross-platform)
  • Custom Notes/Songs: Play any note or melody using notation like C4:200,E4:200,G4:400
  • Native Notifications: System notifications on macOS, Linux, or Windows
  • Text-to-Speech: Announce completion with a spoken message
  • Volume Control: Adjust alert volume (0-100%)
  • Cross-Platform: Works on macOS, Linux, and Windows
  • Bundled Skill: "Keep Me Posted" skill for notification workflows

Installation

Extension Only

# Create symlink to load the extension
ln -s /path/to/pi-alerts/index.ts ~/.pi/agent/extensions/pi-alerts.ts

Then restart pi or run /reload.

Full Package (Extension + Skill)

# Symlink extension
ln -s /path/to/pi-alerts/index.ts ~/.pi/agent/extensions/pi-alerts.ts

# Symlink skill
ln -s /path/to/pi-alerts/skills/keep-me-posted ~/.pi/agent/skills/

Usage

Tool: task_done_chime

Use in your prompts when you want to be notified when a task finishes:

// Basic beep alert with default settings
Use the task_done_chime tool when you're done.

// Custom chime
Use task_done_chime with mode="tone" and customSong="C5:200,E5:200,G5:400"

// System notification
Use task_done_chime with mode="notification" and title="Build Complete"

// Text-to-speech
Use task_done_chime with mode="speech" and customText="Task finished, ready for next!"

Commands

  • /alert - Show current settings
  • /alert status - Display detailed settings in widget
  • /alert test - Test current alert
  • /alert test tone - Test specific mode

Configuration

CommandDescription
/alert mode [beep|tone|speech|notification|silent]Set default mode
/alert sound [Glass|Tink|Pop|...]Choose beep sound (macOS)
/alert beeps [1-10]Number of beeps
/alert delay [50-2000]Delay between beeps (ms)
/alert song [C4:200,...]Set custom melody
/alert text [message]Set speech text
/alert title [title]Set notification title
/alert volume [0-100]Set volume level
/alert sound listList available macOS sounds

Keyboard Shortcut

Ctrl+Shift+. - Test the current alert

Beep Mode

The default mode is beep with Glass sound on macOS or a generated glass-like tone on other platforms.

PlatformSound
macOSSystem sound (Glass by default)
LinuxGenerated 1318Hz tone with harmonics
WindowsGenerated 1318Hz tone with harmonics

Available macOS System Sounds

  • Glass ✨ - Short, bright, bell-like (default)
  • Tink - Soft, gentle, quiet
  • Pop - Bubbly, quick burst
  • Basso - Deep, bassy thump
  • Ping - Crystal, ringing
  • Blow - Soft whoosh
  • Bottle - Lower version of Glass

Song Notation

Notes are formatted as NoteOctave:DurationMs:

NoteFrequencyExample
C4261.63 HzMiddle C
E4329.63 Hz
G4392.00 Hz
C5523.25 HzHigh C
E5659.25 Hz
G5783.99 Hz
A4440.00 HzConcert A

Examples:

  • C4:200 - Middle C for 200ms
  • C4:200,E4:200,G4:200,C5:400 - C major arpeggio
  • C5:150,C5:150,C5:150,G5:600 - Imperial March first phrase

Keep Me Posted Skill

When the user asks to be kept updated, use the notification:

Trigger phrases:

  • "keep me posted"
  • "let me know when you're done"
  • "notify me when complete"
  • "alert me when finished"
  • "ping me when done"
  • "give me a heads up"

What it does:

  1. Confirms notification will be sent
  2. Completes the task
  3. Plays the configured beep alert

Settings File

Settings are stored in ~/.pi/pi-alerts-settings.json:

{
  "defaultMode": "beep",
  "beepCount": 1,
  "beepDelayMs": 200,
  "beepSound": "Glass",
  "toneSequence": [
    { "frequency": 523.25, "duration": 150 },
    { "frequency": 659.25, "duration": 150 },
    { "frequency": 783.99, "duration": 300 }
  ],
  "speechText": "Task complete!",
  "notificationTitle": "pi Alert",
  "volume": 80
}

Platform Notes

macOS

  • Uses afplay for sound playback
  • System sounds in /System/Library/Sounds/
  • Uses osascript for notifications and say for speech

Linux

  • Uses aplay, paplay, or play for sound
  • Uses notify-send for notifications
  • Uses espeak or espeak-ng for speech
  • Falls back to terminal bell

Windows

  • Uses PowerShell SoundPlayer for sound
  • Uses Toast notifications
  • Uses System.Speech for text-to-speech
  • Falls back to console bell

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 0

Native requirements
0 direct targetsNot calculated transitive count
No declared dependencies in this collected response

Declarations describe requirements; they are not a resolved dependency graph.

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-uJB/wv8t5YqnwvGoE1hYt/nHEwPsva+CmJINmumVqDX2CXUh33cxZwk38msHFjNEXBLz8XgcWAcDfAnpkxD8/w==",
  "shasum": "e7d161d41055298d03b2354045b62b95b47fb00f",
  "tarball": "https://registry.npmjs.org/@0xkobold/pi-alerts/-/pi-alerts-0.1.0.tgz",
  "fileCount": 5,
  "unpackedSize": 40011,
  "signatures": [
    {
      "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U",
      "sig": "MEYCIQD4jzAbEvCU5pSJPViBOugGsEm3gyG6xRZAVoq9QjQB3wIhAKJO9F9RGJARC7zPoh9TjYh4w3cqhz1fAjrh5q430WdQ"
    }
  ]
}

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 09:02 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:8eba7030d6fec063b4add53c6ca0a7afb47c1d3264e2c82f3ee2d67d7a849c2e

Other collected versions

View all collected versions →