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

@zzop/cli

v0.34.0

Published

npm packaging of the native zzop CLI binary — the same binary GitHub Releases ships, installed as `zzop`. npm i -g @zzop/cli, or npx @zzop/cli analyze .

Readme

@zzop/cli

An npm packaging of the native zzop CLI binary — identical to the binary GitHub Releases ships, same subcommands (zzop analyze, zzop cross, zzop endpoint, zzop analyze-envelope, zzop validate-envelope, zzop validate-rule-pack, zzop contract, zzop explain, …). This package carries no logic of its ownbin/zzop.js is a thin launcher that resolves the right platform binary and passes every argument straight through (spawnSync(binaryPath, process.argv.slice(2), { stdio: 'inherit' })), exiting with the child's own status code. For the full command/flag reference, config file format, and output contract, see the repo docs: docs/modules/mcp.md (the CLI and zzop-mcp are separate binaries over one shared library crate and one analysis path) and docs/ARCHITECTURE.md.

Programmatic/JS use: run this CLI with its JSON output (zzop analyze . | jq ..., or spawnSync/execFile it from Node) rather than importing an SDK — there is no separate Node binding to install; the JSON contract itself is documented in docs/modules/mcp.md.

Install

npm i -g @zzop/cli
# or one-off, no install:
npx @zzop/cli analyze .

Requires Node.js >= 18 (Node is only used to run this launcher — the analysis itself is a native binary, no Node runtime dependency beyond that).

How it resolves the binary

  1. @zzop/cli-<platform> — a prebuilt binary, installed automatically as an optional dependency matching your OS/CPU/libc.
  2. <repo root>/target/release/zzop[.exe] — a dev fallback, so a source checkout works right after cargo build -p zzop-cli-bin --release, with no npm install at all.
  3. Otherwise, a clear error listing the supported platforms and the build command above.

Supported platforms

| npm sub-package | OS | CPU | libc | | ------------------------------ | ------- | ----- | ----- | | @zzop/cli-win32-x64-msvc | Windows | x64 | MSVC | | @zzop/cli-darwin-x64 | macOS | x64 | — | | @zzop/cli-darwin-arm64 | macOS | arm64 | — | | @zzop/cli-linux-x64-gnu | Linux | x64 | glibc | | @zzop/cli-linux-arm64-gnu | Linux | arm64 | glibc |

musl-based Linux (e.g. Alpine) and WASM are out of scope. On an unsupported platform, build from source (see above) and run target/release/zzop directly, or place it where bin/zzop.js's dev-fallback path looks for it.

Publishing

A release run of .github/workflows/prebuild.yml — triggered by a v* tag, or auto-tagged by the meta job when a version bump lands on main — is the only source of the published version. Its publish job builds all 5 platform targets, overwrites every package's 0.0.0 placeholder with the release version, and runs npm publish --provenance for each of the 6 packages (@zzop/cli plus its 5 npm/<platform>/ sub-packages) — this package's own 5 are placed by scripts/place-artifacts.mjs from the workflow's zzop-cli-<platform>[.exe] build artifacts before publish.

Publishing uses npm's OIDC trusted publishing — the workflow authenticates via GitHub Actions' id-token, no NPM_TOKEN secret is stored anywhere. One-time setup required on npmjs.com before the first release, for each of this package's 5 platform sub-package names (@zzop/cli-win32-x64-msvc, @zzop/cli-darwin-x64, @zzop/cli-darwin-arm64, @zzop/cli-linux-x64-gnu, @zzop/cli-linux-arm64-gnu) plus @zzop/cli itself: package Settings → Trusted Publisher → GitHub Actions, repo eezz4/zzop, workflow file .github/workflows/prebuild.yml. If a package name has never been published before, npm requires it to exist first — publish it once manually (npm login && npm publish --access public from that package's directory) to claim the name, then attach the trusted publisher for every release after that.

License

MIT