
Antipattern Czar
https://github.com/thedotmack/antipattern-czar- Category
- Developer Tools
- Rank
- No. 1828Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- thedotmack
- GitHub
- 3 stars
- Date
About
Error handling anti-pattern detector for TypeScript projects. Finds silent failures, empty catches, and debugging nightmares.
What it does
Antipattern Czar scans TypeScript source for ten risky error-handling patterns. It reports locations and code excerpts, supports reasoned inline suppressions, applies stricter rules to configured critical files, and returns a failing exit code when unresolved issues remain.
Why it's ranked here
This is a focused, opinionated guard for teams that want errors to stay visible. Configurable critical paths, explicit suppressions, and automation-friendly exit codes make it practical. Its text-based analysis is useful but less trustworthy than syntax-aware tooling.
What's good
The rules target concrete failure modes, including oversized try blocks, message-based error guessing, incomplete error logging, and unobserved promise rejections. Suppressions require written reasons and remain visible as approved overrides instead of disappearing from reports.
Tradeoffs
Detection relies on regular expressions and manual brace tracking. Promise handlers receive only limited lookahead, recognized logging forms are narrowly enumerated, and critical files are matched by substring. These choices can produce missed findings or mistaken matches. The CLI also requires Bun.
How to use it well
Use it as a pre-commit or continuous-integration check for Bun-based TypeScript projects, especially around authentication, database, or other designated critical code. Review each finding rather than mechanically adding suppressions. It does not replace type checking, full linting, tests, or syntax-aware static analysis.
Technical notes+
detect-antipatterns.ts implements the CLI with Bun, Node filesystem APIs, parseArgs, line-oriented regular expressions, and manual braceDepth tracking. loadConfig merges JSON values with defaults, while findFilesRecursive skips hidden and configured directories. Promise catch analysis looks ahead at most ten lines, logging recognition uses enumerated logger, console, and stderr patterns, and critical paths use substring matching. package.json exposes detect-antipatterns.ts as the antipattern-czar binary and declares Bun 1.0 or newer. .claude/commands/anti-pattern-czar.md supplies an interactive remediation workflow.
Observed
- License
- MIT
- Primary language
- TypeScript
- Runtime
- Bun 1.0 or newer
- Installation
- Published package installed as a Bun development dependency
- Primary interface
- Command-line tool exposed as antipattern-czar
- Additional interface
- Repository includes a Claude Code slash command for guided remediation
- Package contents
- Published package files list contains only detect-antipatterns.ts
Read from README.md, package.json, detect-antipatterns.ts, LICENSE, CLAUDE.md, .antipatternrc.example.json, .claude/commands/anti-pattern-czar.md.
What it can do
Detect silent failures in TypeScript code
TypeScript project files → List of silent failure locations and patterns
Find empty catch blocks
TypeScript source code → Report of empty catch statements with file locations
Identify error handling anti-patterns
TypeScript codebase → Analysis report of problematic error handling practices
Scan TypeScript projects for debugging issues
TypeScript project directory → List of potential debugging nightmares and their locations
Analyze try-catch implementations
TypeScript files with error handling code → Assessment of try-catch block quality and issues
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.