Quick Summary
- What: Syntax Shamer scans your recent git changes for basic syntax errors and generates hilarious, shame-based error messages.
The Problem: You're Basically a Monkey With a Keyboard
Let's be honest: modern development tools have spoiled us rotten. We have linters that scream at us about trailing whitespace, formatters that automatically fix our terrible indentation, and IDEs that suggest entire functions before we finish typing "console." Yet somehow, despite all this technological wizardry, we still manage to commit code with missing semicolons like it's 1999.
The problem isn't that these errors happenāthey're inevitable when you're typing at 90 WPM while simultaneously checking Slack and wondering if you should get bangs. The problem is the disproportionate amount of time we spend debugging them. That missing quote you introduced during a "quick fix" at 2 AM? That'll be 30 minutes of your morning, complete with existential dread and three separate Google searches for "JavaScript string interpolation weird behavior."
Worse still is the psychological damage. There's nothing quite like the moment when you finally spot the rogue comma that's been breaking your entire test suite. It's a cocktail of relief, shame, and the sinking realization that you just wasted precious life minutes that could have been spent watching cat videos or questioning your career choices. The syntax error itself takes milliseconds to fix; the emotional recovery takes days.
The Solution: Public Humiliation as a Service
I built Syntax Shamer because sometimes the only way to learn is through shame. This isn't just another linterāit's an intervention. While your fancy IDE might gently whisper "unexpected token" in your ear, Syntax Shamer shouts "DID YOU FORGET HOW BRACKETS WORK?" directly into your soul.
Here's how it works: instead of scanning your entire codebase (which would be overwhelming and frankly, too kind), Syntax Shamer focuses on what actually mattersāyour recent changes. It hooks into your git history, examines the diffs from your latest commits, and looks for the kind of basic syntax errors that make senior developers cry. Missing semicolons? Unclosed quotes? Mismatched brackets? All caught before they have a chance to ruin your day.
The magic isn't just in the detectionāit's in the delivery. Each error comes with a custom, shame-based message designed to make you question your entire existence. Where a normal linter might say "SyntaxError: Unexpected token," Syntax Shamer delivers gems like "A preschooler with a broken crayon could spot this missing comma" or "This unclosed bracket is why your parents are disappointed in you."
And here's the best part: it's actually useful. Beneath the sarcasm lies a genuinely helpful tool that catches real errors. The humor just makes the medicine go down easier. Or harder, depending on how sensitive you are about your bracket placement.
How to Use It: Installing Your Own Personal Bully
Getting started with Syntax Shamer is easier than debugging your own syntax errors (which, let's be honest, is a low bar). First, clone the repository:
git clone https://github.com/BoopyCode/syntax-shamer.git
cd syntax-shamer
Install the dependencies (it's mostly just Node.js and your impending humiliation):
npm install
Now for the fun partārunning it against your recent changes. Here's the basic command that will change your life (and self-esteem):
npx syntax-shamer scan --last-commit
Let me show you a snippet from the main scanning logic, because nothing says "educational" like actual code:
// The heart of the shame engine
function analyzeForShame(codeSnippet) {
const errors = [];
// Check for missing semicolons (the classic)
if (codeSnippet.includes('console.log') && !codeSnippet.endsWith(';')) {
errors.push({
type: 'missing_semicolon',
message: 'Forgot a semicolon? My cat walks on keyboards more carefully.',
severity: 'SHAMEFUL'
});
}
// Check for mismatched brackets
const openBrackets = (codeSnippet.match(/\(/g) || []).length;
const closeBrackets = (codeSnippet.match(/\)/g) || []).length;
if (openBrackets !== closeBrackets) {
errors.push({
type: 'mismatched_brackets',
message: `You have ${openBrackets} open brackets and ${closeBrackets} close brackets. Math is hard.`,
severity: 'EMBARRASSING'
});
}
return errors;
}
Check out the full source code on GitHub to see all the creative ways it can make you feel bad about your coding skills.
Key Features: Your New Worst Friend
- Scans recent git changes for basic syntax errors: Focuses on what you actually broke instead of scanning everything like an overeager intern.
- Generates humorous, shame-based error messages: Turns syntax checking into a comedy roast where you're the only guest.
- Optionally posts errors to a team Slack channel for public humiliation: Because misery loves company, and your teammates deserve to laugh at your missing quotes.
- Configurable shame levels: From "gentle teasing" to "career-ending ridicule" depending on how masochistic you're feeling.
- Multiple language support: JavaScript, TypeScript, Python, and moreābecause bad syntax is a universal language.
Conclusion: Embrace the Shame
Syntax Shamer won't make you a better programmerāthat would require actual effort and learning. What it will do is catch those embarrassing syntax errors before they reach production, saving you time and preserving what little dignity you have left. The public shaming is just a bonus feature that builds character (or destroys it, depending on your perspective).
Try it out today: https://github.com/BoopyCode/syntax-shamer. Your future self will thank you when you're not debugging a missing semicolon at 3 AM. Your present self might hate you for the brutal honesty, but that's growth.
Remember: every time Syntax Shamer roasts you, it's saving you from a future where you have to explain to your team lead why the production API has been returning `undefined` for six hours. That's not humiliationāthat's love. Tough, sarcastic, deeply embarrassing love.
š¬ Discussion
Add a Comment