vibertest
v0.1.2
Published
CLI tool that analyzes JavaScript/TypeScript projects for AI-generated code quality issues
Downloads
293
Maintainers
Readme
Your AI writes code. ViberTest makes sure it doesn't suck.
Static analyzer for JavaScript & TypeScript that detects quality issues commonly produced by AI-assisted development.
24 rules · Zero config · One command
Quick Start
npm i -g vibertest
vibertest scan .Or run without installing:
npx vibertest scan .Usage
# JSON output
vibertest scan . --format json --output report.json
# Specific rules only
vibertest scan . --rules hardcoded-secrets,dead-code,ai-smell
# Silent mode (no terminal output, just the report)
vibertest scan . --format json --silent --output report.json
# Initialize config
vibertest initWhat It Detects
| Category | Rules | Focus |
|----------|:-----:|-------|
| Architecture | 5 | Oversized files, god files, bloated barrels, circular dependencies, mixed concerns |
| Code Quality | 5 | Dead code, copy-paste duplication, long functions, missing error handling, missing tests |
| Style & Patterns | 3 | Inconsistent naming, mixed styling approaches, var declarations, .then() chains |
| Dependencies | 3 | Unused packages, duplicate libraries (axios + fetch), hardcoded secrets |
| AI Smells | 2 | console.log in production, generic names (data, temp), placeholder logic, abandoned TODOs |
| Ship-Readiness | 6 | Security anti-patterns, accessibility violations, missing linter, no favicon, missing legal pages |
Scoring
Each scan produces a health score (10–100) with a letter grade (A–F). Issues are weighted by severity with diminishing returns — 15 medium issues from one rule won't crush your score the same as 5 critical ones.
| Grade | Score | Meaning | |:-----:|:-----:|---------| | A | 90–100 | Excellent | | B | 75–89 | Good | | C | 60–74 | Needs Work | | D | 40–59 | Poor | | F | 0–39 | Critical |
Configuration
vibertest initCreates a .vibertestrc.json where you can enable/disable rules, set thresholds, and configure ignore patterns:
{
"rules": {
"react-performance": { "enabled": true },
"pattern-inconsistency": { "enabled": false }
},
"ignore": ["generated", "legacy"],
"thresholds": {
"maxFileLines": 500,
"maxFunctionLines": 60
}
}CI Integration
Exits with code 1 when issues are found, 0 when clean:
- name: Run ViberTest
run: npx vibertest scan . --format json --output vibertest-report.json