Hear your code. Feel your errors. Code with rhythm.
The VS Code extension that transforms your diagnostic events into real-time acoustic feedback.
✨ What is KCB?
KCB is an intelligent acoustic feedback system for Visual Studio Code. Every diagnostic event in your editor — every syntax error, type mismatch, lint warning, and triumphant fix — triggers a unique, satisfying sound.
Stop staring at the Problems panel. Start hearing your code quality.
🎯 Features
🔊 Real-Time Acoustic Feedback
- Sounds play automatically as you type — no buttons, no manual triggers
- Every error, warning, hint, and fix triggers a distinct audio cue
- Triumph sound when you fix the last error in a file
🧠 Diagnostic Intelligence Engine (DIE)
- Understands 15+ diagnostic domains and 74 sub-categories
- Supports TypeScript, JavaScript, Python, Rust, Go, C#, Java, C/C++, and any language using LSP
- Confidence scoring (0–100) ensures only meaningful events play sounds
- Repeat suppression prevents audio fatigue from chronic errors
🎛️ Control Center Dashboard
- Live Activity Bar panel with real-time error/warning counters
- Event Timeline showing the last 10 diagnostic events
- Animated pulse indicators and live statistics
🎵 Sound Pack System
- Three built-in packs: Default, Gaming, Retro
- Import your own custom sound packs from any folder
- Replace individual mapped sounds with your own files
- Preview any pack instantly with one click
📊 Status Bar Integration
- Live error/warning count always visible
- Color-coded: red background on errors, warning on warnings
- Click to open Control Center
⚙️ Smart Configuration
- 10 configurable settings for audio, intelligence, and behavior
- Confidence threshold, repeat suppression, debug inspector
- All settings documented with markdown descriptions
🚀 Quick Start
- Install KCB from the VS Code Marketplace
- KCB activates automatically when VS Code starts
- Open any TypeScript, JavaScript, or Python file
- Introduce an error (e.g.
const x = ;) - Hear the acoustic feedback instantly 🎵
🎮 Commands
Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and type KCB:
| Command | Description |
|---|---|
KCB: Open Control Center |
Open the acoustic dashboard |
KCB: Test Sound |
Trigger a test playback |
KCB: Select Sound Pack |
Switch between sound themes |
KCB: Preview Current Pack |
Play all sounds in the active pack |
KCB: Show Diagnostics Status |
Show workspace error/warning count |
KCB: Import Sound Pack from Folder |
Import a custom sound pack |
KCB: Replace Mapped Audio File |
Swap an individual sound mapping |
⚙️ Configuration
| Setting | Default | Description |
|---|---|---|
kcb.audio.volume |
1.0 |
Master volume (0.0–1.0) |
kcb.audio.maxDurationSeconds |
10 |
Max allowed sound duration |
kcb.audio.validationStrictness |
"strict" |
Audio file validation mode |
kcb.intelligence.enabled |
true |
Enable the DIE classification system |
kcb.intelligence.confidenceThreshold |
0 |
Min confidence to trigger sound |
kcb.intelligence.suppressRepeatedErrors |
true |
Silence chronic errors |
kcb.intelligence.repeatSuppressAfterN |
3 |
Cycles before suppression |
kcb.intelligence.debugInspector |
false |
Log full classification traces |
🌍 Supported Languages
KCB understands diagnostics from any language that exposes them through VS Code:
| Language | Adapter | Code Table | Coverage |
|---|---|---|---|
| TypeScript | TypeScriptAdapter | 70 error codes | ⭐⭐⭐⭐⭐ |
| JavaScript | JavaScriptAdapter | 10 error codes | ⭐⭐⭐⭐ |
| Python (Pylance) | PythonAdapter | 15 Pyright rules | ⭐⭐⭐⭐⭐ |
| Rust | RustAdapter | 30 E0xxx codes | ⭐⭐⭐⭐⭐ |
| C# | CSharpAdapter | 33 CSxxxx codes | ⭐⭐⭐⭐⭐ |
| Java | JavaAdapter | Message patterns | ⭐⭐⭐ |
| Go | GoAdapter | Message patterns | ⭐⭐⭐ |
| C/C++ | CppAdapter | Message patterns | ⭐⭐⭐ |
| ESLint | LintAdapter | 21 rule names | ⭐⭐⭐⭐⭐ |
| HTML/CSS/SCSS | WebAdapter | Message patterns | ⭐⭐⭐ |
| JSON/YAML | DataAdapter | Message patterns | ⭐⭐⭐ |
| Any LSP language | GenericLSPAdapter | 16 regex patterns | ⭐⭐ |
Any language that sends diagnostics through VS Code's Language Server Protocol will work with KCB, even if no specific adapter exists.
🎵 Sound Pack Guide
Built-In Packs
| Pack | Description |
|---|---|
| Default | Clean, professional acoustic tones |
| Gaming | Cyber-inspired electronic beats |
| Retro | Classic 8-bit chiptune sounds |
Creating Custom Sound Packs
See SOUND_PACK_SPEC.md for the complete specification.
Quick summary:
- Create a folder with a
manifest.jsonand your audio files - Use
KCB: Import Sound Pack from Folder - Map event types (
ERROR_ADDED,ERROR_REMOVED,WARNING_ADDED) to your audio files
🏗️ Architecture
VS Code Diagnostics API
↓ (50ms debounce)
DiagnosticsAdapter
↓
Diagnostic Intelligence Engine (DIE)
├── Language Adapter Registry (12 adapters)
├── Classification Engine
├── Confidence Scorer (0–100)
└── Context Analyzer (repeat/escalation/resolution)
↓
DiagnosticsDiffEngine (hash delta)
↓
DiagnosticEventBus
├── SoundEngine → PlaybackQueue → OS Audio
├── TelemetryService → Dashboard / Timeline
└── StatusBarManager → Status Bar
🛠️ Troubleshooting
No sound is playing
- Check
KCB: Test Sound— if this works, diagnostics may not be registering - Ensure your file has actual errors (check the Problems panel)
- Increase volume:
kcb.audio.volume: 1.0 - Enable debug inspector:
kcb.intelligence.debugInspector: trueand check Output → KCB
Sound plays only once then stops for repeated errors
This is intentional. Set kcb.intelligence.suppressRepeatedErrors: false to disable.
Sound is playing too often / too loudly
Reduce volume or increase kcb.intelligence.confidenceThreshold to filter low-confidence events.
Custom sound pack not loading
Ensure manifest.json is present in the root of the pack folder. See SOUND_PACK_SPEC.md.
🤝 Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
📄 License
MIT © Prince Verma
❓ FAQ
Q: Does KCB slow down VS Code? A: No. The full classification pipeline runs in under 5ms per diagnostic with zero UI thread blocking.
Q: Does KCB send any data anywhere? A: No. KCB is fully local. No telemetry, no cloud, no network requests.
Q: Can I use KCB with Vim/Neovim keybindings? A: Yes. KCB is keyboard-agnostic — it listens to VS Code diagnostics, not keystrokes.
Q: Does it work with remote development (SSH, containers, WSL)? A: Diagnostics are detected in workspace mode. Audio plays on the local machine.
Q: How do I disable KCB temporarily?
A: Use kcb.intelligence.enabled: false or disable the extension entirely.
Made with 🎵 by Prince Verma