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

proofledger

v0.1.0

Published

Local-first startup-validation plugin: gate coding on machine-verified real-money evidence.

Readme

ProofLedger

Every rival grades your startup idea with an LLM's guess. ProofLedger runs the real ad, takes the real pre-payment, and won't let you write product code until strangers actually paid.

Local-first. No server we operate — it runs on your machine and your own provider accounts (Stripe, ad platform, static host). A Claude Code plugin + CLI that gates coding on machine-verified real-world evidence, not opinion.

In 2026, agentic coding makes it faster than ever to build something nobody wants. ProofLedger is the brake: prove demand with real money first.


Why it's different

Most startup-validation tools produce an LLM's opinion about your market. Evidence-gate tools go further but trust self-reported proof ("I talked to 5 people"). ProofLedger counts only artifacts a machine re-fetches and verifies — and only real money opens the gate.

| Approach | What it proves | |---|---| | Critic / consultant bots | An LLM's guess | | Evidence gates (self-reported) | That you said you have proof | | Synthetic-user simulators | That fake users "agree" | | ProofLedger | That real strangers put a real card down |

The evidence ladder

| Tier | Test | Cost | Opens the gate? | |---|---|---|---| | 0 | Free public desk signal (deterministic, red-ocean penalty) | $0 | No — can only kill | | 1 | Fake-door landing + email | ~$0 | No | | 2 | Stripe pre-authorization (real money) | ad spend | Yes | | 3 | Captured sale | real | Yes (opt-in) |

A gating assumption goes alive only on verified evidence at tier ≥ 2. The build gate — a Claude Code PreToolUse hook — blocks writes to your product code until then.

Install

npm install -g proofledger        # CLI `proofledger`
# or install as a Claude Code plugin (build gate auto-registers)

Quickstart

proofledger init "why I'm building this"
proofledger hypothesis "diabetics will pre-pay \$15/mo for AI meal planning"

# Freeze a falsifiable bet — thresholds are hash-locked, no goalpost-moving.
proofledger register --metric preauth_conversion --sample 300 --pass 0.05 --kill 0.02

# Optional free Tier-0 screen first (kills obviously-dead ideas for $0):
proofledger connect stripe --secret sk_... --publishable pk_...
proofledger signal --assumption <demand-id> --keywords "diabetes,meal planning" --competitors "mynetdiary"

# Run the real experiment: landing page on YOUR host, ads on YOUR account,
# pre-auth on YOUR Stripe. Ads start PAUSED; nothing spends until you confirm.
proofledger experiment run --assumption <pay-id> --price 15 \
  --headline "Meal plans that count carbs for you" \
  --keywords "diabetes,meal planning" --daily 20 --days 5 --activate true

proofledger verify --experiment <id>   # re-fetch pre-auths, dedupe, void the holds
proofledger status                      # scoreboard + verdict; gate opens iff money verified

What you get

┌─ PROOF LEDGER ─────────────────────────────────────┐
│ VERDICT: SHARPEN                                    │
│ BUILD GATE: 🔓 OPEN — "will pay" is alive           │
│  ● demand ....... ALIVE                             │
│  ● will pay $15 . ALIVE   p̂=20.0% CI[15.9%,24.9%]  │
│ Evidence: 60 verified Stripe pre-auths (voided)     │
└─────────────────────────────────────────────────────┘

Integrity guarantees

  • One function writes assumption status; one writes the gate. No LLM, ever.
  • Registrations are hash-locked — editing a frozen bet trips a quarantine.
  • Verified success is counted only from re-fetched artifacts; padding with the same card, wrong state, or wrong tag is filtered out.
  • Pre-auths are voided after counting — a signal, not a charge (capture is opt-in).
  • Secrets live in the OS keychain / a 0600 file — never in the repo.

Status

Early (0.1.x), building in public. Core ledger, gate, hash-lock, Tier-0 signal, Stripe verification, and the experiment saga are built and tested (54 unit tests). Network adapters are wired and smoke-tested live: Stripe (test mode) and Cloudflare (free Worker) pass against the real APIs; Meta ads are unit-tested and pending a live run. Not yet on npm — see docs/ and CLAUDE.md.

Docs

License

Apache-2.0 © 2026 Nicola Alboré