adamcritic
v0.1.1
Published
Pre-emptive criticism for everything you build.
Readme
adamcritic
Pre-emptive criticism for everything you build.
Because nothing is ever good enough.
If there is anything to complain about, this tool will find it.
adamcritic provides automated, opinionated feedback with zero tolerance for imperfection. The tool is intentionally strict, skeptical, and opinionated — even when things appear correct.
Passing does not imply approval.
Installation
npm install
npm link # optional, for global accessRequires Node.js 18+
Usage
# Analyze a file or directory
adamcritic check src/index.js
adamcritic check src/
# Get a random roast (no input needed)
adamcritic complain
# Read from stdin
echo "const x = 1" | adamcritic check -Commands
check
Analyze code and get roasted.
adamcritic check <path | -> [options]Options:
| Option | Description |
|--------|-------------|
| --format json | Output as JSON instead of text |
| --severity <level> | Filter: low, medium, high, or all |
| --explain | Add explanations to criticisms |
| --strict | Maximum nitpicking (5 criticisms instead of 3) |
| --ai | Enable AI-assisted roasts via Claude CLI |
| --lang <code> | Output language: en (English) or cs (Czech) |
Example output:
Zero comments? Bro really said "figure it out yourself" and dipped. 1 console statement(s)? Bro thinks hes debugging in 2015. Naming is acceptable. The bar was on the floor and you cleared it.
This works but not the way a real one would do it.complain
Get roasted without providing any code.
adamcritic complain
adamcritic complain --lang cs # Czech outputExample output:
Your git history is probably a mess. "fix" "fix again" "please work" energy.version
adamcritic versionOutput Formats
Text (default)
3 random criticisms merged into a paragraph, followed by a verdict. Use --strict for 5 criticisms.
JSON
adamcritic check src/ --format json{
"version": "0.1.0",
"timestamp": "2026-01-19T10:00:00.000Z",
"summary": {
"issues": 4,
"high": 0,
"medium": 1,
"low": 3,
"verdict": "Passed but barely. Lowkey disappointing."
},
"findings": [
{
"severity": "medium",
"message": "Zero comments? Bro really said 'figure it out yourself' and dipped.",
"file": "src/cli.js",
"rule": "comments-too-few"
}
]
}Rules
The tool always finds something to criticize:
- Comments - Too few? Too many? Just right? All suspicious.
- Formatting - Mixed indentation, long lines, or suspiciously clean.
- Naming - Single letters, verbose names, generic names like
dataortemp. - TODOs - Present means incomplete, absent means unrealistic.
- Meta - Console logs, empty catches, deep nesting, magic numbers.
- Random - One guaranteed roast per file from a pool of Gen Z criticisms.
AI Mode
Enable --ai for additional Claude-powered roasts:
adamcritic check src/index.js --aiRequires Claude CLI installed and authenticated.
Verdicts
Even when passing, verdicts stay skeptical:
- "No issues found. This is sus ngl."
- "Passed but barely. Lowkey disappointing."
- "Mediocrity achieved. Participation trophy earned."
- "This is a cry for help and I am choosing not to answer."
Language Support
adamcritic supports multiple languages:
# English (default)
adamcritic check src/index.js
# Czech
adamcritic check src/index.js --lang cs
adamcritic complain --lang csSupported languages:
en- English (default)cs- Czech (Čeština)
License
ISC
