A minimal, elegant notification tool for macOS built with Swift.
- π― Simple & Minimal - No bloat, just notifications
- π±οΈ Clickable - Open URLs when notifications are clicked
- π Custom Sounds - Use system sounds or silence
- π¦ Single Binary - Just one executable, no complex app bundles
- π Native Swift - Built with macOS native frameworks
- πͺΆ Lightweight - Small and efficient
- π₯ Delightful - Beautiful cocktail icon
brew tap xorvo/tap
brew install cheers# One-line install
curl -L https://github.com/xorvo/cheers/releases/latest/download/cheers-macos.tar.gz | tar -xz && ./install.sh# Clone and install
git clone https://github.com/xorvo/cheers.git
cd cheers
make install# Download and extract
curl -L https://github.com/xorvo/cheers/releases/latest/download/cheers-macos.tar.gz | tar -xz
# Install the app bundle
cp -R cheers.app ~/.local/opt/
ln -s ~/.local/opt/cheers.app/Contents/MacOS/cheers ~/.local/bin/cheers# Simple notification
cheers "Hello World"
# With title and message
cheers -t "Alert" -m "Something happened"
# Full example with all options
cheers -t "Success" \
-m "Build complete" \
-s "CI/CD Pipeline" \
--sound Glass \
-o http://example.com
# Silent notification
cheers -t "Background Task" -m "Processing complete" --sound none| Option | Description |
|---|---|
-t, --title TEXT |
Notification title |
-m, --message TEXT |
Notification message |
-s, --subtitle TEXT |
Notification subtitle |
--sound NAME |
Sound name (Glass, Ping, etc.) or 'none' |
-o, --open URL |
URL to open when clicked |
-h, --help |
Show help |
macOS provides these built-in notification sounds:
| Sound | Description |
|---|---|
Basso |
Deep error sound |
Blow |
Soft blowing sound |
Bottle |
Bottle pop |
Frog |
Frog croak |
Funk |
Funky alert |
Glass |
Glass ping (great for success) |
Hero |
Heroic sound |
Morse |
Morse code beep |
Ping |
Simple ping |
Pop |
Pop sound |
Purr |
Cat purr |
Sosumi |
Classic Mac sound |
Submarine |
Submarine sonar |
Tink |
Light tink |
Special values:
default- Uses system default notification soundnone- Silent notification (no sound)
You can add your own notification sounds:
- User-specific sounds: Place
.aifffiles in~/Library/Sounds/ - System-wide sounds: Place
.aifffiles in/Library/Sounds/(requires admin)
Example:
# Add a custom sound
cp MySound.aiff ~/Library/Sounds/
# Use it with cheers
cheers "Custom!" --sound MySoundTo create compatible sound files:
- Use Audio MIDI Setup.app or any audio editor
- Export as AIFF format
- Keep them short (1-2 seconds recommended)
- Name without spaces for easier command line use
On first run, macOS will ask for notification permissions.
If you encounter permission issues:
- Open System Settings β Notifications
- Allow notifications for Terminal (or your terminal app)
- macOS 10.14+
- Xcode Command Line Tools
- Swift 5.0+
# Clone repository
git clone https://github.com/xorvo/cheers.git
cd cheers
# Build
make build
# Install locally
make install
# Or create a release package
./release.sh 1.0.0#!/bin/bash
cheers -t "Backup Complete" -m "All files backed up successfully" --sound Glasssystem('cheers', '-t', 'Deploy', '-m', 'Application deployed to production')import subprocess
subprocess.run(['cheers', '-t', 'Alert', '-m', 'Process completed'])const { exec } = require('child_process');
exec('cheers -t "Build" -m "Build successful"');- π₯ Delightful - Beautiful cocktail icon that makes notifications feel celebratory
- β‘ Fast - Lightweight and efficient
- π― Simple - Clean, minimal API
- π Native - Built with Swift for modern macOS
- π§ Reliable - Proper app bundle structure ensures notifications always work
Contributions are welcome! Please feel free to submit a Pull Request.
MIT - See LICENSE file for details.
Created by @xorvo
- Inspired by terminal-notifier
- Built with Swift and Apple's UserNotifications framework