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

jevable

v0.3.0

Published

grep that reads meaning: pass through only the records a Jev judgement lets through

Readme

jevable

Make your monitor smart. An agent watching a log, a feed or an API pays a full turn for every line that wakes it, or misses what a grep did not foresee. jevable is grep that reads meaning: Jev, TypeSafe's fast and cheap classification model, judges each line in about 0.3 s for about $0.00002, and only what matters wakes the agent. Measured on 334 real events: 7.3× fewer wakes than waking on every event, 85% of what mattered caught where a keyword alert caught 25% (jevable.sh/bench).

npx -y jevable key <an API key from TypeSafe, OpenRouter or Vercel AI Gateway>

tail -n 0 -F app.log | npx -y jevable "Does this line report that a dependency is down?"
gh issue list --json number,title,body | jq -c '.[]' | npx -y jevable --on .body "Is this a bug report about login?"
git log --oneline -200 | npx -y jevable "Does this commit change a public API?"

Like grep: lines pass through unchanged, -v inverts, exit status 0 when something passed. --on .field judges a field of JSON lines (a jq path), -t 0.8 raises the threshold, --json adds the score. Do the exact part with grep or jq first; jevable only needs to see what is left.

One prompt

Paste this into Claude Code, Codex, OpenClaw, Hermes, pi, dsh or any agent that runs shell commands:

Set up jevable: run `npx -y jevable guide` and follow it.

It asks you once for an API key (TypeSafe, OpenRouter or Vercel AI Gateway), adds a note to your AGENTS.md or CLAUDE.md so it reaches for jevable on its own, shows it working, and asks what to watch. Or put the job in front: "<What to watch, and what should happen when it matters.> Set it up with jevable: run npx -y jevable guide and follow it."

Commands

  • jevable QUESTION — print the lines for which the answer is yes. --on, -t, -v, --json, --all, -m, --from, --key, --cooldown, --state.
  • jevable filter RULE — the same with a CEL rule: plain conditions, several judge.* questions, choices, scores, --window.
  • jevable test QUESTION --yes ... --no ... — run a question (or --rule) on samples, show the scores and the thresholds that separate them.
  • jevable key [KEY] — whether there is a working key for Jev; given a key, tell whose it is, check it and save it.
  • jevable model [NAME] — the decision model it asks (Jev by default) and the others your key can use; given a name, check it and switch. --model overrides it for one run.
  • jevable guide — when to reach for it, how to ask and test, rules, watching a stream (guide.md).

As a library

import { Client, Engine } from "jevable"; // or @jevable/core, the engine alone

const engine = new Engine(new Client({ apiKey: process.env.TYPESAFE_API_KEY }));
const rule = engine.compile(`judge.boolean(line, "Does this report a production outage?") >= 0.7`);
const { pass, calls } = await rule.match({ line: "checkout returns 500 for every order" });

MIT · Source · jevable.sh