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

codex-gatekeeper

v0.2.1

Published

A quality gate that keeps Codex honest — blocks AI-slop changes before they merge.

Readme

codex-gate

CI

A quality gate that keeps Codex honest.

codex-gate inspects the changes an AI coding agent produces — before they get committed or merged — and blocks the classic failure modes of agent output: descriptions that don't match the diff, tests that were "passed" but never run, churn that changes nothing, and rules the agent was told to follow but didn't.

It is built for the OpenAI Codex workflow: it reads your repo's AGENTS.md, gates staged changes or any diff from the command line, and runs as a Codex CLI hook or pre-merge check in CI.

Community project. Not affiliated with or endorsed by OpenAI.


Why

Open-source maintainers are drowning in AI-generated "slop" — verbose changes with descriptions nobody can defend, PRs that don't do what they claim. The effort-based backpressure that used to keep low-quality contributions out is gone. codex-gate puts a cheap, automatic gate back in front of the merge button — aimed specifically at the output of your own Codex runs.

What it checks (gates)

| Gate | Catches | | --- | --- | | claim-vs-diff | The description claims things the diff doesn't contain (e.g. "added tests" with no test files touched; a grand summary on a one-line change). | | test-reality | Re-runs the tests instead of trusting "all green". | | no-churn | Warns on pure formatting hunks and placeholder work. | | agents-md | Enforces the rules in this repo's AGENTS.md. | | asset-gate (planned) | OCR / overlap checks on generated images (no baked-in text, no overlapping labels). |

Quick start

npx codex-gatekeeper run --staged    # gate your staged changes + last commit msg
npx codex-gatekeeper run --diff change.patch --claim message.txt

(The npm package is codex-gatekeeper; the installed command is codex-gate. Working from a clone? npm install, then npm run dev -- run --staged.)

Exit code is non-zero if any gate blocks, so it drops straight into CI or a git hook.

Configuration

Optional .codex-gate.yml:

gates: { no-churn: off }
thresholds: { claim-vs-diff.long-description-words: 40, test-reality.timeout-ms: 120000 }

Only on/off gate switches and numeric thresholds are supported; invalid config warns and falls back to defaults.

Gate every Codex turn

codex-gate install --codex-hook

This writes a project-local Codex Stop hook to .codex/hooks.json; it runs codex-gate run on each turn and asks Codex to continue when the gate blocks.

Gate agent PRs in CI

Maintainers can require codex-gate before a human ever reads an AI-generated PR. Add a workflow and mark it a required status check:

on: pull_request
jobs:
  codex-gate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - uses: PMWang/codex-gate@main

The action gates the PR's diff against its title and body. Unlike a local hook, a required status check is enforced server-side — an agent can't skip it with --no-verify.

Architecture

The checking logic lives in a tool-agnostic core (src/core) — the checks don't care which agent wrote the code. A thin Codex shell (src/codex) wraps that core with Codex-native conventions (AGENTS.md, CLI integration). codex-gate is positioned and shipped for Codex; the core stays clean so the project never paints itself into a corner.

License

MIT — see LICENSE.