📄 Complete README.md โ Professional & User-Friendly
🔊 Faah On Fail
Build fail hua? FAAAAAH! 💥
A VS Code extension that plays a dramatic sound when your build fails, tests break, or errors appear. Never miss a failure again โ even when you're not looking at the screen!

🎬 What Does It Do?
Ever run a build, switch to browsing memes, and forget to check if it passed? Not anymore!
Faah On Fail monitors your:
- โ
Build tasks (
npm run build, webpack, tsc, etc.)
- โ
Test commands (
npm test, jest, mocha, etc.)
- โ
Terminal commands (any command with non-zero exit code)
- โ
Compilation errors (TypeScript, ESLint, etc.)
When something fails โ 🔊 FAAAAAH! (or your custom sound)
โจ Features
| Feature |
Description |
| 🔨 Build Fail Detection |
Plays sound when npm run build, tsc, or any VS Code task fails |
| 🧪 Test Fail Detection |
Catches npm test, jest, mocha failures |
| โ Error Detection |
Monitors compilation errors in real-time |
| 🖥๏ธ Terminal Monitoring |
Detects failed terminal commands (exit code โ 0) |
| 🎵 Custom Sound |
Upload your own MP3/WAV/OGG/AAC file |
| 🔊 Default Sound |
Built-in dramatic descending FAAH sound |
| 🚀 Run Command |
Quick-run common commands with one click |
| 🎛๏ธ Configurable |
Volume, cooldown, debounce delay, notifications |
| 📊 Status Bar |
Toggle ON/OFF directly from status bar |
| 🔔 Notifications |
Optional popup messages with fun error texts |
📦 Installation
Method 1: VS Code Marketplace (Recommended)
- Open VS Code
- Press
Ctrl+Shift+X (Windows/Linux) or Cmd+Shift+X (Mac)
- Search for "Faah On Fail"
- Click Install
- Done! Extension is now active 🎉
Method 2: Command Line
code --install-extension YOUR-PUBLISHER-ID.faah-on-fail
Method 3: VSIX File
- Download the
.vsix file from Releases
- Open VS Code
- Press
Ctrl+Shift+P โ Type: Extensions: Install from VSIX...
- Select the downloaded
.vsix file
🚀 Quick Start
Step 1: Verify Installation
After installation, you should see 🔊 FAAH in the bottom-right status bar.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ VS Code โ
โ โ
โ โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ main โ Ln 42, Col 15 UTF-8 LF TypeScript 🔊 FAAH โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
Click to toggle!
Step 2: Test the Sound
Press: Ctrl+Shift+P (or Cmd+Shift+P on Mac)
Type: Faah On Fail: Test Current Sound
Press: Enter
🔊 You should hear the FAAH sound!
Step 3: Trigger a Real Failure
Open your terminal in VS Code and run:
# This will fail and trigger the sound
exit 1
Or if you have a project with npm:
# Add this to package.json scripts: "fail": "exit 1"
npm run fail
Step 4: Upload Your Own Sound (Optional)
Press: Ctrl+Shift+P
Type: Faah On Fail: Upload Custom Sound File
Select: Any MP3, WAV, OGG, or AAC file from your computer
🎮 Commands
Access all commands via Ctrl+Shift+P (or Cmd+Shift+P on Mac):
| Command |
Description |
Faah On Fail: Toggle ON/OFF |
Enable or disable the extension |
Faah On Fail: Test Current Sound |
Play the current sound to test |
Faah On Fail: Upload Custom Sound File |
Select your own MP3/WAV/OGG file |
Faah On Fail: Reset to Default Sound |
Go back to the built-in FAAH sound |
Faah On Fail: Run Command |
Quick-run build/test commands with monitoring |
Faah On Fail: Check FFmpeg Status |
Check if FFmpeg is installed (for audio conversion) |
โ๏ธ Settings
Customize the extension via File โ Preferences โ Settings and search for "Faah On Fail":
| Setting |
Type |
Default |
Description |
faahOnFail.enabled |
boolean |
true |
Master ON/OFF switch |
faahOnFail.customSoundPath |
string |
"" |
Path to your custom sound file |
faahOnFail.volume |
number |
80 |
Volume level (0-100) |
faahOnFail.monitorTasks |
boolean |
true |
Monitor VS Code task failures |
faahOnFail.monitorDiagnostics |
boolean |
true |
Monitor compilation errors |
faahOnFail.monitorTerminal |
boolean |
true |
Monitor terminal exit codes |
faahOnFail.diagnosticDelay |
number |
2000 |
Debounce delay for errors (ms) |
faahOnFail.showNotification |
boolean |
true |
Show popup notifications |
faahOnFail.cooldownMs |
number |
3000 |
Minimum gap between sounds (ms) |
faahOnFail.errorMessages |
array |
See below |
Random messages shown on failure |
Default Error Messages
[
"💥 FAAH! Build FAILED!",
"🔥 Arre yaar! Error aa gaya!",
"💀 Toot gaya code!",
"😱 FAAAAAH! Fix karo!",
"🤯 Kya kar diya bhai!"
]
You can customize these in settings!
| Format |
Windows |
macOS |
Linux |
| WAV |
โ
Fast |
โ
Fast |
โ
Fast |
| MP3 |
โ
Works |
โ
Works |
โ
Needs mpv/ffplay |
| OGG |
โ
Works |
โ
Works |
โ
Needs mpv/ffplay |
| AAC |
โ
Works |
โ
Works |
โ
Needs mpv/ffplay |
| M4A |
โ
Works |
โ
Works |
โ
Needs mpv/ffplay |
| FLAC |
โ
Works |
โ
Works |
โ
Needs mpv/ffplay |
Note: WAV files play the fastest. The extension can optionally convert other formats to WAV if FFmpeg is installed.
Windows
Works out of the box! Uses PowerShell for audio playback.
macOS
Works out of the box! Uses afplay (pre-installed on all Macs).
Linux
For WAV files: Uses aplay (usually pre-installed).
For MP3/OGG/other formats: Install one of these players:
# Option 1: mpv (Recommended)
sudo apt install mpv
# Option 2: FFmpeg (for ffplay)
sudo apt install ffmpeg
# Option 3: PulseAudio
sudo apt install pulseaudio-utils
🎯 Use Cases
1. Long Build Times
Start a 5-minute webpack build
Go make coffee โ
Build fails?
โ FAAAAAH! 🔊 (you hear it from the kitchen)
2. Test-Driven Development
Write test โ Run tests โ Tests fail
โ FAAAAAH! 🔊
Fix code โ Run tests โ Tests pass
โ Silence (sweet success!)
3. CI/CD Local Testing
Run your CI pipeline locally
Go check Twitter
Pipeline fails?
โ FAAAAAH! 🔊
4. Learning to Code
Writing TypeScript for the first time
Make a type error
โ FAAAAAH! 🔊
Learn from mistakes faster!
🔧 Troubleshooting
Sound Not Playing?
Check if enabled: Look for 🔊 FAAH in status bar (not 🔇 FAAH)
Test the sound manually:
Ctrl+Shift+P โ "Faah On Fail: Test Current Sound"
Check system volume: Make sure your speakers aren't muted!
Windows users: PowerShell should be available (it's pre-installed)
Linux users: Install mpv for MP3 support:
sudo apt install mpv
Sound Playing Too Often?
Increase the cooldown in settings:
{
"faahOnFail.cooldownMs": 5000
}
Sound Playing on Every Keystroke?
This happens when diagnostic errors trigger rapidly. Increase the debounce delay:
{
"faahOnFail.diagnosticDelay": 3000
}
Custom Sound Not Working?
- Make sure the file path is correct
- Try a different audio format (WAV works best)
- Check file permissions
Want to Disable Temporarily?
Click 🔊 FAAH in the status bar โ It will show 🔇 FAAH (disabled)
🎵 Custom Sound Ideas
Make your coding sessions fun with custom sounds!
| Sound Idea |
Where to Find |
| Vine boom |
YouTube/TikTok sound effects |
| Sad trombone |
"wah wah wah" |
| Glass breaking |
Sound effect websites |
| Your own voice |
Record "FAAH!" yourself |
| Movie quotes |
"You shall not pass!" |
| Game over sounds |
Classic video game SFX |
| Airhorn |
MLG classics |
Free sound effect websites:
🤝 Contributing
Contributions are welcome! Here's how:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit changes:
git commit -m 'Add amazing feature'
- Push to branch:
git push origin feature/amazing-feature
- Open a Pull Request
Development Setup
# Clone the repo
git clone https://github.com/YOUR-USERNAME/faah-on-fail.git
cd faah-on-fail
# Install dependencies
npm install
# Generate default sound
npm run generate-sound
# Compile
npm run compile
# Test in VS Code
# Press F5 to launch Extension Development Host
📝 Changelog
[1.0.0] - 2025-01-XX
Added
- 🔊 Sound alert on build/task failure
- 🔊 Sound alert on test failure
- 🔊 Sound alert on new compilation errors
- 🔊 Terminal exit code monitoring
- 🎵 Custom sound file upload (MP3/WAV/OGG/AAC)
- 🎵 Auto-generated default FAAH sound
- โก Run Command feature with presets
- 🎛๏ธ Configurable volume, cooldown, debounce
- 📊 Status bar toggle
- 🔔 Optional popup notifications
- 🎲 Random fun error messages
- 🔄 FFmpeg integration for audio conversion (optional)
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2025 Your Name
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software.
🙏 Acknowledgments
- Inspired by the frustration of missing failed builds
- Thanks to all the developers who suggested features
- Built with โค๏ธ and lots of FAAH sounds
📬 Support