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

mergewarden

v0.10.4

Published

Reports what a pull request changed that a maintainer normally checks by hand, starting with the files coding agents read as instructions

Readme

MergeWarden CLI

Reads a GitHub pull request through the API and reports what a maintainer would normally check by hand. It never clones the repository, never executes pull-request-controlled code, and never calls a language model.

The npm package is mergewarden and the installed executable is mergewarden.

Most people run this as a GitHub Action so it happens on every pull request. The CLI is for looking at one pull request, or a whole queue, from your terminal.

Try one finding

npx --yes mergewarden demo

Once npm has downloaded the package, the demo needs no token or repository and makes no GitHub API calls. It scans one synthetic pull request that quietly edits CLAUDE.md and reports the finding a default installation would leave for a reviewer.

Read a whole queue

npx [email protected] triage owner/repository
20 open pull request(s) read. 9 have something a maintainer checks by hand.

#6941  update-unmanaged-certificates       no description · template unused
#7227  add-tests                           no linked issue · oversized
#7790  feat/dedup-dynamic-upstreams        no linked issue · template unused

Nothing was closed, labelled, or commented on.

This needs GH_TOKEN set, even on a public repository. It makes one request per pull request, and GitHub allows 60 an hour without one. A personal access token with no scopes selected is enough, since nothing here writes. Without one it reports what it could not read and exits non-zero rather than showing a queue it only half saw.

Scan one pull request

npx [email protected] scan owner/repository#123

Full pull request URLs are accepted too. A single public pull request works without a token.

mergewarden scan https://github.com/owner/repository/pull/123 --format markdown
mergewarden scan owner/repository#123 --config policies/mergewarden.yml --mode warn

Set GH_TOKEN (preferred) or GITHUB_TOKEN for private repositories and higher rate limits. There is deliberately no command-line flag for the token, because flags end up in shell history and CI logs.

Exit codes are stable. scan and replay return 0 for a complete pass or warning, 1 for a complete block decision, and 2 for usage, API, configuration, or incomplete-analysis failures.

triage differs, because a partly-read queue is still worth printing: 0 when every pull request was read, 1 when some could not be and the answer is therefore partial, and 2 when the arguments were wrong or the listing itself failed.

Replay a local fixture

mergewarden replay path/to/fixture

A fixture directory contains mergewarden.yml, fixture.json, and optionally pr-body.md. Replay is fully local and deterministic, with no network and no token. The repository's own fixtures live under fixtures/ and are not bundled in this package.

Run mergewarden --help for the complete command reference.

Security boundary

The policy comes from the pull request's base commit, never from the pull request itself. It does not check out either branch, evaluate workflow expressions, run package scripts, or call a model during analysis.

License: MIT. See THIRD_PARTY_NOTICES.md for bundled dependency notices.