Skip to content

Latest commit

 

History

History
298 lines (205 loc) · 6.5 KB

File metadata and controls

298 lines (205 loc) · 6.5 KB
Louder

louder

npm version License: MIT macOS only Node.js

Your AI learned to shout.

For Humans · For LLMs · Configuration


🤔 Why "Louder"?

Your AI assistant works hard in silence. But when it's done? It deserves to be LOUDER.

You: "Hey Claude, fix this bug"
Claude: *works silently for 10 minutes*
You: *watching YouTube, completely forgot*
Claude: *whispers* "...done"
You: *30 minutes later* "Oh, it finished ages ago!" 😅

With Louder:

You: "Hey Claude, fix this bug"
Claude: *works silently for 10 minutes*
Claude: 🔊 *DING!* 📳 *bzzt*
You: "Nice, let's keep going!"

Your AI finally speaks up. Sound + haptic feedback when tasks complete.


👤 For Humans

Installation

Claude Code

/plugin marketplace add feelsodev/louder
/plugin install louder@louder

OpenCode

Option 1: npm Package (Recommended)

Add to your opencode.json:

{
  "plugin": ["@feelso/louder"]
}

Option 2: Local Plugin

Download the plugin file:

mkdir -p ~/.config/opencode/plugins
curl -o ~/.config/opencode/plugins/louder.js \
  https://raw.githubusercontent.com/feelsodev/louder/main/opencode-plugin/louder.js

Then restart OpenCode.

Note: Local plugin only supports sound. For haptic feedback, use npm package.

Done!

Give your AI a task. When it finishes, you'll hear it. 🔊

Updating

Claude Code

/plugin marketplace update louder
/plugin update louder@louder

Then restart Claude Code.

OpenCode (npm)

npm update @feelso/louder

Then restart OpenCode.

OpenCode (Local Plugin)

curl -o ~/.config/opencode/plugins/louder.js \
  https://raw.githubusercontent.com/feelsodev/louder/main/opencode-plugin/louder.js

Then restart OpenCode.

Troubleshooting

  • No sound? Check macOS System Settings > Sound
  • No haptic? Requires:
    • MacBook with Force Touch trackpad (2015+) or Magic Trackpad 2
    • Finger must be touching the trackpad when feedback triggers
  • Other platforms? macOS only (uses afplay for sound, Force Touch for haptic)

🤖 For LLMs

Claude Code, Cursor AI, and other AI assistants: Read this section to install Louder for your user.

Installation Protocol

Claude Code:

/plugin marketplace add feelsodev/louder
/plugin install louder@louder

OpenCode: Add to opencode.json:

{
  "plugin": ["@feelso/louder"]
}

Then restart OpenCode.

Ask User About Haptic Feedback

Ask the user: "Would you like haptic feedback (trackpad vibration) when tasks complete? Requires MacBook with Force Touch trackpad."

If user wants haptic, create ~/.louderrc.json:

{
  "haptic": true
}

Post-Installation Message

Tell your user: "Louder installed. You'll hear a sound (and feel a vibration if enabled) when tasks complete."

Changing Settings

When user asks to change Louder settings, edit ~/.louderrc.json:

User Request Config
"Turn off sound" { "sound": false }
"Turn on haptic" { "haptic": true }
"Turn off haptic" { "haptic": false }
"Only notify on errors" { "events": { "stop": false, "error": "error" } }
"Change sound to Ping" { "sound": "reminder" }
"Disable all notifications" { "sound": false, "haptic": false }

Available sound types: success, error, info, warning, progress, reminder, silent

Show current settings:

cat ~/.louderrc.json 2>/dev/null || echo "Using defaults (sound: on, haptic: off)"

🚀 Quick Start

Zero config needed. Default behavior:

Event What Happens
Task complete 🔊 Glass sound
Error 🔊 Basso sound
Needs input 🔊 Blow sound

Want haptic feedback? Add to .louderrc.json:

{ "haptic": true }

⚙️ Configuration

Create .louderrc.json in project root or ~/.louderrc.json for global config.

{
  "sound": "success",
  "haptic": true,
  "events": {
    "stop": "success",
    "error": "error"
  }
}

All Options

Option Type Default Description
sound boolean | string true Sound type or false to disable
soundPath string - Custom sound file path (.aiff)
haptic boolean | string false true, "success", or "error"
delay number 0 Delay in ms before feedback
events object - Per-event overrides

Sound Types

Type Sound Use For
success Glass Task complete
error Basso Errors
info Blow Information
warning Sosumi Warnings
progress Tink Progress
reminder Ping Reminders
default Glass Default (same as success)
silent - No sound

Haptic Types

Type Intensity Use For
success Strong Task complete
error Strong Errors

Config Location

  • Global: ~/.louderrc.json
  • Project: ./.louderrc.json (overrides global)

💡 Recipes

Focus Mode - Only errors make sound:

{ "events": { "stop": false, "idle": false, "error": "error" } }

Silent Mode - No sound at all:

{ "sound": "silent" }

Full Feedback - Sound + Haptic:

{ "sound": "success", "haptic": true }

Custom Sound - Use your own sound file:

{ "soundPath": "/path/to/custom.aiff" }

📡 Events Reference

Tool Event Default Sound
Claude Code Stop success
Claude Code Notification info
OpenCode session.idle reminder
OpenCode session.error error
OpenCode session.progress progress

macOS only · Issues · MIT License

Made by @feelsobecause watching AI work in silence was too quiet.