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

@xiis/slopgate

v0.3.0

Published

Catch AI slop before it ships — a zero-dependency CLI that flags stubs, placeholders, fake data, and swallowed errors in your codebase, and fails CI when it finds them.

Downloads

19

Readme

slopgate

ci

Catch AI slop before it ships. A zero-dependency CLI that scans your codebase for the junk AI coding agents leave behind — stubs, placeholder comments, fake data, swallowed errors — and fails CI when it finds them.

Status (v0.3.0): the open-source CLI works today (see Verified). The hosted Slopgate Cloud tier is not built yet — the cloud command says so and exits non-zero rather than pretend it works.

Why

AI agents generate plausible code fast. Plausible is not the same as real: a function that returns 9.99 under a // TODO: implement pricing, a metric backed by Math.random(), a catch {} that hides the error. Slopgate is a fast, deterministic gate that catches those patterns before they reach main.

What it catches

| Rule | Severity | Flags | |------|----------|-------| | not-implemented | high | not implemented, NotImplementedError, unimplemented!(), panic("TODO") | | merge-conflict | high | unresolved <<<<<<< / >>>>>>> conflict markers | | debugger-statement | high | leftover debugger; | | placeholder-comment | medium | TODO, FIXME, HACK, XXX, STUB, PLACEHOLDER | | fake-randomness | medium | Math.random( — suppressed in test files | | simulated-data | medium | mockData, fakeData, simulate, hardcoded, … — suppressed in tests | | empty-catch | medium | catch {} / catch (e) {} that swallow errors | | fill-in-text | medium | your code here, implement this, coming soon, … | | placeholder-value | low | YOUR_API_KEY, changeme, example.com, lorem ipsum | | type-suppression | low | @ts-ignore, @ts-nocheck, # type: ignore |

Test files (*.test.*, *.spec.*, test/) are automatically exempt from the fake-data rules, where mocks are legitimate.

Install

Run it today, straight from GitHub — no npm publish required:

npx github:ceocxx/slopgate scan .

Or clone and run from source:

git clone https://github.com/ceocxx/slopgate
cd slopgate
node bin/slopgate.mjs scan path/to/your/code

Once published to npm:

npx slopgate scan .

Usage

slopgate scan .                      # scan the current directory
slopgate scan src/ api/              # scan specific paths
slopgate scan . --json               # machine-readable output for CI
slopgate scan . --fail-on high       # only fail on high-severity slop
slopgate scan . --diff origin/main   # only flag slop on lines changed vs origin/main

Adopting on an existing repo

A legacy codebase will light up on the first scan. Use --diff so the gate only judges the lines a change actually touched — pre-existing slop is ignored, new slop is blocked:

slopgate scan . --diff origin/main

Exit codes

| Code | Meaning | |------|---------| | 0 | clean — nothing at or above the threshold | | 1 | slop found at or above the threshold | | 2 | usage or config error |

That makes it a drop-in CI gate:

# .github/workflows/slop.yml — block PRs that add new slop
- run: npx slopgate scan . --diff origin/${{ github.base_ref }} --fail-on medium

Configuration

Optional slopgate.config.json in your repo root:

{
  "failOn": "medium",
  "exclude": ["dist", "vendor", "src/generated"],
  "rules": { "placeholder-value": false }
}

Open-core

The CLI in this repo is free and Apache-2.0 — fork it, self-host it, run it in CI forever. The planned Slopgate Cloud (hosted gate, team dashboard, trend history, shared rule sets, PR annotations) is the commercial layer. The split is deliberate: the thing that builds trust is open; the hosted convenience teams pay for is not.

Verified

Every claim above is backed by a runnable artifact in this repo:

npm test                                              # unit tests (node --test)
node bin/slopgate.mjs scan examples/slop-sample.js    # watch it flag real slop (exit 1)
node bin/slopgate.mjs scan examples/clean-sample.js   # clean code passes (exit 0)
node bin/slopgate.mjs scan .                           # the repo dogfoods its own gate

Watching adoption

Real numbers from public sources — no telemetry is embedded in the CLI:

npm run usage    # npm download counts + GitHub stars / forks

License

Apache-2.0 © Christopher Frost. See LICENSE.