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

copilot-notifier

v1.0.0

Published

Audio notifications for GitHub Copilot CLI. 4 themes, permission prompt detection, cross-platform.

Downloads

22

Readme

Copilot Notifier

Stop staring at the terminal. Let it yell at you instead.

Audio notifications for GitHub Copilot CLI. Plays sounds when Copilot finishes work, needs your input, or breaks something. Go grab coffee. The robot will call you back.

Features

  • 4 themes: Classic (system chimes), Robot ("Task complete, human"), Movie ("Houston, we have a problem"), Hype ("Boom, done")
  • Automatic: Sounds play when Copilot asks questions, finishes tasks, wraps up sessions, or hits errors
  • Permission alerts: Hear a sound when Copilot is stuck waiting for you to click "Allow"
  • Remembers you: Theme choice persists across sessions. Set it once, forget about it.
  • Cross-platform: macOS and Linux. Zero dependencies. Uses your system's built-in audio.

Install

npx copilot-notifier

That's it. The extension is copied to ~/.copilot/extensions/copilot-notifier/ and works across all your repos.

Restart Copilot CLI (or run /clear). You should see:

Notifier available. Say 'switch theme' to pick a sound theme.

Other install methods

npm install -g copilot-notifier
copilot-notifier
mkdir -p ~/.copilot/extensions/copilot-notifier
curl -fsSL https://raw.githubusercontent.com/godilite/copilot-notifier/main/extension.mjs \
  -o ~/.copilot/extensions/copilot-notifier/extension.mjs
git clone https://github.com/godilite/copilot-notifier.git \
  ~/.copilot/extensions/copilot-notifier
mkdir -p .github/extensions/copilot-notifier
curl -fsSL https://raw.githubusercontent.com/godilite/copilot-notifier/main/extension.mjs \
  -o .github/extensions/copilot-notifier/extension.mjs
git add .github/extensions/copilot-notifier

Everyone who clones the repo gets the extension automatically.

Usage

Pick your vibe

Say switch theme or change sounds in any Copilot CLI session.

| Theme | Personality | What you'll hear | |-------|------------|------------------| | classic | Clean, professional | System chimes (Glass, Ping, Hero, Basso) | | robot | Sci-fi overlord | "Human, your input is required" | | movie | Dramatic narrator | "Houston, we have a problem" | | hype | Your biggest fan | "Boom, done" |

TTS themes need say (macOS, built-in) or espeak-ng (Linux, apt install espeak-ng).

What triggers sounds

| Sound | Trigger | |-------|---------| | 🔔 Attention | Copilot asks you something or waits for permission | | ✅ Complete | A task finishes | | 🎬 Session | All work is done | | 💥 Error | Something went wrong |

Under the hood

Two tools, three hooks. That's the whole extension.

Tools the agent calls:

  • notifier_play - fires alongside ask_user or at task boundaries (runs silently, no permission prompt)
  • switch_sound_theme - switches theme, regenerates TTS audio, saves config

Hooks that run automatically:

  • onSessionStart - loads your saved theme from ~/.copilot-notifier/config.json
  • onPreToolUse - starts a 3s timer before every tool
  • onPostToolUse - cancels the timer. If the timer fires first, Copilot was stuck on a permission dialog, so it plays the attention sound. Sneaky.

TTS themes generate .aiff/.wav files once and cache them at ~/.copilot-notifier/.

Platform support

| Platform | Player | TTS | Works? | |----------|--------|-----|--------| | macOS | afplay | say | ✅ Yes | | Linux | paplay / aplay | espeak-ng | ✅ Yes | | WSL | Linux tools | Linux tools | ✅ Probably | | CI / headless | - | - | 🤷 Silently skipped |

Files on disk

Config lives at ~/.copilot-notifier/:

~/.copilot-notifier/
  config.json        ← your theme choice
  attention.aiff     ← cached TTS audio (generated once)
  complete.aiff
  session.aiff
  error.aiff

Uninstall

npx copilot-notifier uninstall
rm -rf ~/.copilot-notifier

License

MIT