Skip to main content

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

Project description

vibecheck

Audit your AI-generated code.

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

PyPI Python License: MIT Tests


pip install vibechecker
vibecheck scan .

What it does

VibeCheck 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

$ vibecheck 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
vibecheck scan .

# Scan specific directory
vibecheck scan ./src

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

# Security issues only
vibecheck scan . --security

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

# Ignore directories
vibecheck 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: VibeCheck
  run: |
    pip install vibechecker
    vibecheck scan . --json > vibecheck-report.json
    vibecheck 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 "vibecheck"?

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.0.tar.gz (14.5 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.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vibechecker-0.1.0.tar.gz
  • Upload date:
  • Size: 14.5 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.0.tar.gz
Algorithm Hash digest
SHA256 df9fb6fa85be6e6c082848ba576a1ff84ffd4f9b825277930ccbc30095f36937
MD5 7c18a15222226d7e97ead99678cd314e
BLAKE2b-256 2210fa01644f1c9ba85ed4f97b0cde7c30a4cde1254e178710463b8759dd0029

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vibechecker-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c901025175fe150e4a65b4b73270faabfd920a92aee61c63f4d075267f3da27
MD5 dfec17cf0f1e9edbbe979e3720a543fa
BLAKE2b-256 5de7a52628c69575a62579bce899f34c9bec2fb4af7eba2f721ba1d52279de6c

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