DEV Community

Cover image for I wrote a Vibe Check for your code (Runs on a Potato πŸ₯”)
Mr. 0x1
Mr. 0x1

Posted on

I wrote a Vibe Check for your code (Runs on a Potato πŸ₯”)

You know that feeling when you push code at 3 AM and you're pretty sure you left a // FIXME: this is garbage somewhere?

Yeah. We all do.

So I wrote a tool to find it. But not just "find it"β€”I wanted a tool that would look me in the eye and tell me my vibes were off.

Meet VibeCheck πŸ€™

VibeCheck is a high-performance Zig CLI tool that scans your codebase for "unfinished vibes"β€”To-Dos, hardcoded secrets, debug prints, and other signs of developer desperation.

It builds to a single ~149KB static binary. No runtime. No node_modules black hole. It runs on my laptop, my server, and probably my smart fridge.

VibeCheck Logo

Why? (The Vibe)

Linters check syntax. Static analysis checks logic. VibeCheck checks your soul.

It comes with a built-in pack called Crucial Vibes:

  • Desperation: FIX ME, XXX
  • Mock Data: lorem ipsum, John Doe
  • Fragile Paths: localhost:3000
  • Security Laziness: verify=False, chmod 777

If it finds them, it lets you know. Loudly.

The Specs (The Flex)

I built this in Zig because I wanted it to be fast and small.

  • Size: 149KB (Statically linked, stripped)
  • Speed: Scanned a 50,000 file monorepo in < 1 second.
  • Deps: Zero. None. Nada.
  • AI Mode: It has a built-in MCP Server so you can plug it into Claude Desktop and let the AI vibe check your code. πŸ€–

Usage

It's simple.

# Human readable scan
vibecheck .
Enter fullscreen mode Exit fullscreen mode

Output:

[WARN]  Desperation Marker (FIXME)
  src/main.js:42:10
    | // FIXME: terrible hack, remove before launch
Enter fullscreen mode Exit fullscreen mode

Or plug it into CI/CD to fail the build if the vibes are off:

vibecheck . --json
Enter fullscreen mode Exit fullscreen mode

Get It

It's open source (MIT).

VibeCheck πŸ€™

VibeCheck Logo

Vibe Zig VibeCheck Size

"Yes, I even vibe checked vibe check 🀯"

VibeCheck is a high-performance Zig CLI tool that scans your codebase for "unfinished vibes"β€”To-Dos, hardcoded secrets, debug prints, and other signs of developer desperation.

It's fast, configurable, and CI/CD ready.

Features

  • ⚑ Blazing Fast: Recursively scans thousands of files in milliseconds.
  • πŸͺΆ Featherweight: ~149KB static binary. Zero dependencies. Runs on a potato πŸ₯” 🎀
  • πŸ“¦ Portable: Single executable. Linux, Mac, Windows. No node_modules in sight.
  • πŸ›‘οΈ Battle Tested: Validated against a 50,000-file "Google-scale" monorepo.
  • 🧩 Modular: Load custom pattern packs via JSON plugin system.
  • πŸ€– CI/CD Native
    • Non-zero exit codes for build failures.
    • JSON output for machine parsing.
    • GitHub Actions Annotations support (--github).
  • 🧠 AI Ready: Built-in Model Context Protocol (MCP) Server.

Installation

Build from Source

Requirements: Zig 0.13+

git clone https://github.com/copyleftdev/vibecheck.git
cd vibecheck
zig build -Doptimize=ReleaseSmall
Enter fullscreen mode Exit fullscreen mode

The binary will be…

Go give it a star, or better yet, run it on your focused project and see just how "unfinished" those vibes really are.

Happy coding. πŸ€™

Top comments (0)