Skip to main content

Audit your AI-generated code. Catch anti-patterns, security issues, and get a vibe score.

Project description

vibechecker

Audit your AI-generated code.

Catch anti-patterns, security issues, and get a vibe score.

PyPI Python License: MIT Tests


pip install vibechecker
vibechecker scan .

What it does

VibeChecker scans your codebase for patterns commonly found in AI-generated code:

  • ๐Ÿšจ Security issues โ€” hardcoded secrets, eval(), SQL injection, shell=True, pickle.load
  • โš ๏ธ AI code smells โ€” generic exception handling, placeholder variable names, leftover console.log, TODO comments, magic numbers
  • ๐Ÿ’ก Suggestions โ€” overly verbose comments, generic function names, over-documented trivial code

Then it gives you a vibe score from 0-100.

Demo

$ vibechecker scan ./src

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Vibe Score โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚                                                   โ”‚
โ”‚  72/100  ๐ŸŸ   Grade C                             โ”‚
โ”‚                                                   โ”‚
โ”‚  Getting shaky. Review the warnings first.        โ”‚
โ”‚                                                   โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

  23 files ยท 3,412 lines ยท 14 findings

  ๐Ÿšจ Security Issues (2)
    Hardcoded Secret config.py:12
      โ†’ Use environment variables. Never commit secrets.
    eval() Usage parser.py:45
      โ†’ Use ast.literal_eval() or JSON.parse().

  โš ๏ธ  AI Code Smells (5)
    Broad Exception Handler utils.py:15
      โ†’ Catch specific exceptions (ValueError, KeyError, etc.)
    Placeholder Variable Names handler.py:23
      โ†’ Use descriptive names that explain the variable's purpose.
    ...

  โšก Quick Wins
    โ€ข Move secrets to environment variables
    โ€ข Replace generic exception handlers
    โ€ข Rename placeholder variables

Install

pip install vibechecker

Usage

# Scan current directory
vibechecker scan .

# Scan specific directory
vibechecker scan ./src

# JSON output (for CI/CD)
vibechecker scan . --json

# Security issues only
vibechecker scan . --security

# Skip security checks
vibechecker scan . --no-security

# Ignore directories
vibechecker scan . --ignore vendor --ignore generated

Exit Codes

Code Meaning
0 Clean, no critical issues
1 Score below 60
2 Critical security issues found

Perfect for CI pipelines:

# GitHub Actions
- name: VibeChecker
  run: |
    pip install vibechecker
    vibechecker scan . --json > vibecheck-report.json
    vibechecker scan .

Languages Supported

  • Python (.py)
  • JavaScript (.js, .jsx)
  • TypeScript (.ts, .tsx)

More languages welcome! See CONTRIBUTING.md.

How Scoring Works

Component Impact
Start 100
Critical issue -15 each (max -60)
Warning -5 each (max -40)
Info -1 each (max -15)
Has tests +5
Small files (< 100 lines avg) +5

Contributing

We welcome contributions! Especially:

  • New language support (Go, Rust, Java, Ruby, PHP, etc.)
  • New pattern detection rules
  • CI/CD integrations (GitHub Action, pre-commit hook, GitLab CI)
  • IDE extensions (VS Code, JetBrains)
  • Bug fixes and pattern improvements

See CONTRIBUTING.md for guidelines.

Why "vibechecker"?

Because "vibe coding" is how most of us use AI now. Ship fast, but know what you shipped.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vibechecker-0.1.1.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vibechecker-0.1.1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file vibechecker-0.1.1.tar.gz.

File metadata

  • Download URL: vibechecker-0.1.1.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for vibechecker-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f422da20ca75208b6585391b52b84519adaa8998f24daa8b8076231498a9b2ca
MD5 a1db4b470c059b39c31d80ad5b272810
BLAKE2b-256 219754bf47b62620c1b65d7daa17a9f8298af841d88d0ac570f00eca27e9df19

See more details on using hashes here.

File details

Details for the file vibechecker-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: vibechecker-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for vibechecker-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 275a4c83ed96cb44eb199a0c7e301a408bbf58d3a4d0978dae027d22220d3673
MD5 476411aa0f902139c7957460857a173b
BLAKE2b-256 7efc299899435747984c80c2a4e6cb7b79a83d8a17ab2705a36ac0ddcec9c52d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page