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

@0xjoy/vibeforge

v0.1.5

Published

CLI for [VibeForge](https://vibeforgescanner.vercel.app) - scans local codebases for security issues, AI slop, code smells, and performance problems. Outputs a scored, graded report directly in your terminal.

Readme

@0xjoy/vibeforge

CLI for VibeForge - scans local codebases for security issues, AI slop, code smells, and performance problems. Outputs a scored, graded report directly in your terminal.

npm version License: MIT


Requirements


Install

No global install needed:

npx @0xjoy/vibeforge <command>

Or install globally:

npm install -g @0xjoy/vibeforge

Quick Start

# 1. Authenticate (opens browser, one-time)
npx @0xjoy/vibeforge login

# 2. Scan the current directory
npx @0xjoy/vibeforge scan .

# 3. Scan a specific folder
npx @0xjoy/vibeforge scan ./src

Commands

login

Opens your browser to authenticate with your VibeForge account. Saves a token locally for subsequent scans. The auth flow completes in under 30 seconds and the browser tab closes itself.

npx @0xjoy/vibeforge login

scan [path]

Scans a local directory. Defaults to . if no path is given. Picks up .ts, .js, .py, .go, and .java files. Skips node_modules, dist, .next, build, lock files, and binary assets automatically. Sends up to 30 files per scan to the analysis engine.

npx @0xjoy/vibeforge scan [path] [options]

Options:

| Flag | Values | What it does | |------|--------|-------------| | --report <format> | html, json | Writes report.html or report.json to the scanned directory | | --fix | - | Applies AI-suggested fixes directly to your source files |

Examples:

# Scan src/, print results to terminal
npx @0xjoy/vibeforge scan ./src

# Scan and export an HTML report
npx @0xjoy/vibeforge scan ./src --report html

# Scan and export a machine-readable JSON report
npx @0xjoy/vibeforge scan ./src --report json

# Scan and auto-apply fixes
npx @0xjoy/vibeforge scan ./src --fix

# Combine: report + fix in one pass
npx @0xjoy/vibeforge scan ./src --report html --fix

whoami

Checks your current auth status and Pro subscription state.

npx @0xjoy/vibeforge whoami

Output example:

Logged in as [email protected]
Pro status: Active

logout

Clears the stored auth token from your machine.

npx @0xjoy/vibeforge logout

Terminal Output

A typical scan looks like this:

$ npx @0xjoy/vibeforge scan ./src

  Scanning 24 files...
  ✔ Scan complete!

VIBEFORGE SCAN RESULTS
======================

Grade: B  (Score: 74/100)

security       ████████████░░░░░░░░ 61
ai_slop        ████████████████░░░░ 78
code_quality   ████████████████░░░░ 82
performance    ██████████████░░░░░░ 70
structure      ████████████████████ 88

Found 6 issues.

CRIT Hardcoded API key (lib/config.ts:42)
  API key found in plain source. Move to environment variables.

WARN Possible N+1 query (services/users.ts:88)
  Loop calls DB inside iteration. Batch with a single query.

Scoring

Scans are graded across five axes. The final grade maps to the composite score:

| Axis | What it checks | |------|---------------| | Security | Hardcoded secrets, injection vectors, insecure deps, exposed env vars | | AI Slop | Copy-paste GPT patterns, dead logic branches, hallucinated variable names | | Code Quality | Complexity, duplication, naming, error handling consistency | | Performance | N+1 queries, blocking I/O, unoptimized loops | | Structure | File organization, circular deps, module coupling |

| Grade | Score range | |-------|------------| | A | 90 - 100 | | B | 75 - 89 | | C | 60 - 74 | | D | 45 - 59 | | F | below 45 |


Reports

HTML (--report html)

Writes report.html to the scanned directory. Opens cleanly in any browser - dark-themed, shows score rings, axis bars, and per-issue fix blocks with syntax highlighting.

JSON (--report json)

Writes report.json to the scanned directory. Useful for CI pipelines and custom tooling.

{
  "grade": "B",
  "score": 74,
  "scores": {
    "security": 61,
    "ai_slop": 78,
    "code_quality": 82,
    "performance": 70,
    "structure": 88
  },
  "issues": [
    {
      "severity": "critical",
      "title": "Hardcoded API key",
      "file": "lib/config.ts",
      "line": 42,
      "description": "...",
      "fix": "..."
    }
  ]
}

Environment Variables

Override the default API and web URLs if you are self-hosting:

VIBEFORGE_API_URL=https://your-api.example.com
VIBEFORGE_WEB_URL=https://your-web.example.com

Token Storage

The auth token is stored locally on your machine after vibeforge login. Run vibeforge logout to remove it, or vibeforge whoami to check it.


Supported File Types

.ts · .js · .py · .go · .java

Automatically skipped: node_modules, .git, dist, build, .next, coverage, lock files, minified files, and all binary/media assets.


License

MIT