Catalog npm
Back to packageRELEASE DETAILS

0.1.4

npm

@0xjoy/vibeforge

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.

Published12 Aug 2026
Direct dependencies9
Transitive dependenciesNot calculated

README

Current package documentation

@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:

FlagValuesWhat it does
--report <format>html, jsonWrites 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 you@example.com
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:

AxisWhat it checks
SecurityHardcoded secrets, injection vectors, insecure deps, exposed env vars
AI SlopCopy-paste GPT patterns, dead logic branches, hallucinated variable names
Code QualityComplexity, duplication, naming, error handling consistency
PerformanceN+1 queries, blocking I/O, unoptimized loops
StructureFile organization, circular deps, module coupling
GradeScore range
A90 - 100
B75 - 89
C60 - 74
D45 - 59
Fbelow 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

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 9

Native requirements
9 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
ora
Environment
{
  "local_name": "ora",
  "alias": false,
  "peer_metadata": null
}
latestruntime
glob
Environment
{
  "local_name": "glob",
  "alias": false,
  "peer_metadata": null
}
latestruntime
open
Environment
{
  "local_name": "open",
  "alias": false,
  "peer_metadata": null
}
latestruntime
chalk
Environment
{
  "local_name": "chalk",
  "alias": false,
  "peer_metadata": null
}
latestruntime
openai
Environment
{
  "local_name": "openai",
  "alias": false,
  "peer_metadata": null
}
latestruntime
commander
Environment
{
  "local_name": "commander",
  "alias": false,
  "peer_metadata": null
}
latestruntime
ts-node
Environment
{
  "local_name": "ts-node",
  "alias": false,
  "peer_metadata": null
}
latestdevelopment
typescript
Environment
{
  "local_name": "typescript",
  "alias": false,
  "peer_metadata": null
}
latestdevelopment
@types/node
Environment
{
  "local_name": "@types/node",
  "alias": false,
  "peer_metadata": null
}
latestdevelopment

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "88dcbe2e212f7ab41584f164d7dabb7664079c47",
  "tarball": "https://registry.npmjs.org/@0xjoy/vibeforge/-/vibeforge-0.1.4.tgz",
  "fileCount": 8,
  "integrity": "sha512-ZNx8ZBO/QtneRcSOnh05zSaHNdwPFZHRyjSWQU0N9PcU4+D+GirzafvfWaiC2N1dnihu0q9kl67FZcPEN6dhJw==",
  "signatures": [
    {
      "sig": "MEUCIHXA4JeqMEwfL1UWH/G5x/4Mjq4m2nNuZmkeQ2xpPvKgAiEAin/9LJyFodR4SgmP+yFDJHcWbbZPnEaXncfOb5nrW4g=",
      "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
    }
  ],
  "unpackedSize": 20490
}

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 08:58 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:bfb60a0940864aab4a6dff449824a4e9b5d34a25898a83791c3b5c4eb54676aa

Other collected versions

0.1.512 AugView all collected versions →