Claude Code Notification

Envía notificaciones desde Claude Code con sonidos personalizables y soporte multiplataforma.

Documentación

🔔 Hooks de Notificación de Claude Code

⚠️ OBSOLETO: Este proyecto ha sido superado por cat-ccnotify-hook. Utilice el nuevo paquete independiente para un mejor rendimiento y una instalación más sencilla.

Experiencia mejorada de Claude Code con notificaciones de escritorio automáticas y sonidos contextuales para todos los eventos. ¡No se necesitan llamadas de notificación manuales: funciona automáticamente con todas las operaciones de Claude Code!

✨ Características

  • 🔔 Notificaciones Automáticas: Intercepta TODAS las notificaciones de Claude Code y las mejora
  • 🎵 Sonidos Contextuales: Diferentes sonidos para éxito, error, advertencia y otros tipos de eventos
  • 🚀 Configuración Cero: Detección automática y mejora de los tipos de notificación
  • 📋 Mapeo Inteligente de Sonidos: Análisis inteligente del contenido de la notificación para sonidos apropiados
  • 🖱️ Integración Nativa del Sistema: Utiliza los sistemas de notificación nativos de macOS/Windows/Linux

🚀 Inicio Rápido

Método 1: Configuración con un Comando (Recomendado)

Ejecute esto en Claude Code:

cd /path/to/ccnotify && npm run setup-hooks

Método 2: Configuración Manual

  1. Clonar y compilar:
git clone <this-repository>
cd ccnotify
npm install && npm run build
  1. Ejecutar la configuración:
npm run setup-hooks
  1. Reinicie Claude Code si está en ejecución

3. ¡Eso es Todo!

Todas las notificaciones de Claude Code ahora tendrán automáticamente sonidos y estilos mejorados. ¡No se necesita configuración adicional!

📱 Cómo Funciona

El hook de notificación detecta y mejora automáticamente todas las notificaciones de Claude Code:

Asignación Automática de Sonidos

  • Éxito/Completado → Sonido Glass (macOS)
  • 🚨 Errores/Fallos → Sonido Basso (macOS)
  • ⚠️ Advertencias/Atención → Sonido Sosumi (macOS)
  • 💡 Información/Actualizaciones → Sonido Blow (macOS)
  • Progreso/En Curso → Sonido Tink (macOS)

Ejemplos en Acción

# Building a project
npm run build
# → Automatic success notification with Glass sound when complete
# → Automatic error notification with Basso sound if failed

# Running tests  
npm test
# → Automatic progress notification with Tink sound while running
# → Automatic completion notification when finished

# Git operations
git push origin main
# → Automatic notifications for each step with appropriate sounds

🎵 Sonidos Disponibles

SonidoCaso de UsoSonido macOS
successFinalización de tarea, éxitoGlass
errorErrores, fallosBasso
warningAdvertencias, atención necesariaSosumi
infoInformación, actualizaciones de estadoBlow
progressActualizaciones de progreso, trabajo en cursoTink
reminderRecordatorios, avisosPing
defaultSonido de notificación predeterminado del sistema-
silentSin sonido-

🛠️ Configuración Avanzada

Personalización de Mapeos de Sonidos

Edite el script del hook en hooks/notification-hook.js para personalizar los mapeos de sonidos:

// Example: Add custom sound rules
const customSoundRules = [
  { pattern: /deployment/i, sound: 'Ping' },
  { pattern: /security/i, sound: 'Funk' },
  { pattern: /backup/i, sound: 'Purr' }
];

Solución de Problemas

¿El hook no funciona?

# Check if hook is properly installed
cat ~/.config/claude-code/settings.json | grep -A 10 "hooks"

# Verify hook script is executable
ls -la hooks/notification-hook.js

# Re-run setup if needed
npm run setup-hooks

¿Los sonidos no se reproducen?

# Test system sound (macOS)
afplay /System/Library/Sounds/Glass.aiff

# Check notification permissions in System Preferences

🌍 Ejemplos del Mundo Real

Ejemplos de Mejora Automática

Operaciones de Claude CodeNotificaciones Mejoradas

# File operations
"Create a new React component"
→ ✅ "Component created successfully" + Glass sound

# Build processes  
"Run the build process"
→ ⏳ "Build in progress..." + Tink sound
→ ✅ "Build completed successfully" + Glass sound

# Error scenarios
"Fix the TypeScript errors"
→ 🚨 "3 type errors found" + Basso sound

# Git operations
"Commit these changes"
→ ✅ "Changes committed successfully" + Glass sound

🔧 Desarrollo

Comandos de Desarrollo

npm run dev    # Development mode with auto-reload
npm run build  # Production build
npm start      # Start production server

Soporte de Plataformas

  • macOS: Soporte nativo completo con osascript y sonidos del sistema
  • Windows/Linux: Soporte multiplataforma mediante el paquete node-notifier

Arquitectura

  • Implementación en TypeScript con seguridad de tipos
  • Cumplimiento con MCP (Model Context Protocol)
  • Cambio automático de implementación específica de plataforma
  • Sistema extensible de tipos de notificación

📋 Detalles Técnicos

Arquitectura del Hook

El hook de notificación intercepta el sistema de notificaciones de Claude Code y lo mejora:

  1. Intercepción: El hook recibe todas las llamadas de notificación de Claude Code
  2. Análisis: Analiza el contenido de la notificación mediante coincidencia de patrones
  3. Mejora: Añade sonidos y estilos apropiados según el contenido
  4. Integración Nativa: Utiliza APIs de notificación específicas de la plataforma

Estructura de Instalación

~/.config/claude-code/settings.json  # Claude Code configuration
hooks/notification-hook.js            # Main hook script  
dist/index.js                        # Built MCP server (optional)
scripts/setup-hooks.js               # Automated setup script

Soporte de Plataformas

  • macOS: Soporte nativo completo con osascript y sonidos del sistema
  • Windows/Linux: Soporte multiplataforma mediante el paquete node-notifier

Servidor MCP Heredado (Opcional)

Para usuarios avanzados que deseen control manual de notificaciones, el servidor MCP sigue disponible:

{
  "mcpServers": {
    "ccnotify": {
      "command": "node",
      "args": ["/absolute/path/to/ccnotify/dist/index.js"]
    }
  }
}

🤝 Contribuciones

¡Los informes de errores y las solicitudes de funciones son bienvenidos! Abra un issue.

📄 Licencia

Licencia MIT