✨ 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.json and 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: true and 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.