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

@recallnet/thwip

v0.18.5

Published

Verified local CI. Run your suites where the code lives and sign a proof of the exact Git tree.

Readme

thwip

Verified local CI.

Your test suites already run on your machine. thwip signs a proof of the exact Git tree they ran against, attaches it to the commit, and a protected GitHub check verifies that proof instead of running everything again in the cloud.

A check that takes seconds rather than minutes, and a signed record of what ran, against which code, by whom.

Install

npm install -g @recallnet/thwip

Node 22 or newer. To skip the global install, use npx @recallnet/thwip wherever the commands below say thwip.

The public npm registry is the release authority. The same release is mirrored to GitHub Packages for environments that map the @recallnet scope there. The package contains the built CLI; a consuming repository never clones or builds this repository.

Getting started

npx @recallnet/thwip@latest init

Init is the safe setup and refresh command for a first checkout or another machine. It checks your session, key, GitHub origin, and live project state. It then refreshes only bounded guidance in root AGENTS.md and CLAUDE.md. It reports any human dashboard action still needed and never enrols a repository.

Repositories normally inherit organization defaults. To create an intentional repository override, use thwip init --required "lint,typecheck,test" and optionally --profile PROFILE.

thwip ship --wait is the full completion path. It runs the suites against the committed tree, attaches the proof to HEAD, pushes, opens or updates the pull request, joins the queue, and waits for the outcome. Use thwip run when you only need to create or refresh a proof without shipping it.

A draft pull request still needs proof, but it must not enter the merge queue. Run thwip ship --draft to prove and push the exact HEAD, create or refresh the draft pull request, and stop without queueing or merging it. Do not mark it ready until the user asks.

The CLI connects to https://thwip.ai by default. Set THWIP_ENDPOINT only when an operator has given you a different control-plane origin.

Suite ids name the package.json scripts you already run. Configuration is one committed file:

version: 1
profile: fast
required:
  - lint
  - typecheck
  - test

Commands

| Command | What it does | | --- | --- | | thwip login | Sign in through a device code that works over SSH | | thwip init | Safely set up or refresh this machine and repository guidance | | thwip run | Proof-only: run the required suites and sign a proof of the tree | | thwip verify | Run the same checks the protected check will run | | thwip ship --wait | Run, sign, push, open the pull request, and wait for the queue outcome | | thwip keys status | Report which key signs, and whether GitHub lists it | | thwip doctor | Check the whole chain, from your key to the App's grants | | thwip queue | Inspect and administer the merge queue |

thwip doctor changes nothing and exits zero only when every check passed. A check nobody could read fails on its own, so a report that says fine is a report that looked. Reading App permissions needs repository admin; pass --allow-unread when you are not one.

Run thwip --help for the full list.

Signing keys

Proofs are signed with an SSH key that GitHub lists as a signing key for your account. GitHub keeps signing keys and authentication keys in separate lists, and only the first is read. thwip keys status tells you which key would sign and whether GitHub knows about it.

Your private key is never read, moved, or transmitted.

Learn more

https://thwip.ai

License

Apache-2.0