Rubber Roast
Your rubber duck finally has opinions — detect code smells, get roasted with sarcastic inline annotations.
Inspired by CS50's rubber duck debugging, but this duck fights back.

Features
- Inline roast comments — sarcastic one-liners appear as italic annotations next to problematic lines, color-coded by severity (mild/medium/spicy)
- Two roast engines — free template-based roasts or AI-generated roasts via the VS Code Language Model API (requires Copilot or similar)
- Regex scanner — catches TODO/HACK comments, empty catch blocks, commented-out code, console.log spam, hardcoded secrets, long functions, and repeated magic strings
- Diagnostic scanner — picks up compiler errors, type errors, unused variables, deprecated APIs, lint violations, and more from any language server
- Auto-roast — triggers on file save, file switch, and diagnostic updates
Supported Languages
TypeScript, JavaScript, TSX, JSX, Python, Go, Rust, Java, C#, C++.
The diagnostic scanner works with any language that has a VS Code language server.
Commands
| Command |
Keybinding |
Description |
Rubber Roast: Roast This File |
Cmd+Shift+R / Ctrl+Shift+R |
Roast the active file on demand |
Rubber Roast: Toggle Roast Provider |
— |
Switch between template and LM mode |
Rubber Roast: Toggle Roast On/Off |
— |
Pause/resume roasting |
Rubber Roast: Clear Roasts |
— |
Clear all inline roast comments |
Settings
| Setting |
Default |
Description |
rubberRoast.provider |
"template" |
Roast backend: "template" (free) or "lm" (AI-powered) |
rubberRoast.scanOnSave |
true |
Auto-roast when saving a file |
rubberRoast.scanOnOpen |
false |
Auto-roast when switching to a file |
Support
If Rubber Roast made you laugh (or cry), consider supporting the project:

License
See LICENSE for details.
| |