npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@rahild/vibecheck

v0.3.0

Published

Ship AI-generated code with confidence. Analyse a repository and score its Code Quality from the terminal.

Readme

@rahild/vibecheck

Ship AI-generated code with confidence.

Analyses a repository and scores its Code Quality from the terminal. Every number is traceable: score → category → finding → evidence → source. When something cannot be measured, VibeCheck says so instead of guessing.

npm install -g @rahild/vibecheck
vibecheck

Or without installing:

npx @rahild/vibecheck

Commands

| Command | What it does | | --- | --- | | vibecheck | Scans the current directory. Identical to vibecheck scan. | | vibecheck scan | Analyses the repository and reports findings and scores. | | vibecheck ci | Scans, then enforces the project's quality gates. | | vibecheck init | Writes a starter vibecheck.config.ts. |

Example

  my-project                              119 files  ·  15 rules  ·  554ms

  ────────────────────────────────────────────────────────────────────────

  Code Quality                                                    82 / 100
  Agent Quality                                                unavailable
    VibeCheck needs agent-session data to evaluate agent behaviour.

  ────────────────────────────────────────────────────────────────────────

  Security               91  █████████░
  Architecture           78  ████████░░
  Testing               100  ██████████
                        Not evaluated: No coverage report was detected.

  ────────────────────────────────────────────────────────────────────────

  9 findings   6 medium  ·  3 low

  MEDIUM    `resolve` nests 5 levels deep
            src/resolve.ts:112:3
            Control flow inside `resolve` reaches 5 levels of nesting, over
            the limit of 4.
            → Return early, or extract the inner branch into its own function.
            maintainability/max-nesting-depth · -4.0

unavailable is not a low score. Agent Quality has no number because no agent session was imported, and VibeCheck will not estimate one from the code.

CI

vibecheck ci --min-code-quality 80 --min-category security=90 --max-issues critical=0

Exits 0 when every gate passes and 1 when one fails. Other non-zero codes mean VibeCheck could not run — 2 usage, 3 configuration, 4 runtime. A pipeline that treats "the scan crashed" the same as "the code is below threshold" will eventually ship something it meant to block.

JSON

vibecheck scan --format json

Writes the canonical ScanResult to stdout and nothing else, so it is always safe to pipe. Every deduction references the finding that caused it.

Documentation

Full reference — options, JSON contract, exit codes, configuration: docs/cli.md

Status

Early. Agent Quality is always reported as unavailable, because importing an agent session is not built yet. vibecheck fix and vibecheck explain are registered but not implemented, and say so rather than doing nothing quietly.

MIT © Rahil Desai