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

entracte

v0.2.4

Published

Cookieless sponsor status line for Claude Code (optional sponsored spinner verb via --spinner). npx entracte

Readme

entracte

Earn AI credits on Claude Code in one command — a discreet, clearly labelled sponsor line, and every impression on your surfaces credits you. The clean, official way (uses only supported settings, patches nothing):

  1. a status line sponsor (the default), and
  2. (opt-in, --spinner) a sponsored spinner verb woven into the "thinking" word — it replaces Claude's own verb, so it stays off by default.

Install

npx entracte

That writes ~/.claude/entracte-statusline.mjs + ~/.claude/entracte-spinner.mjs and configures ~/.claude/settings.json (with a backup). Restart Claude Code:

# status line (the default)
⬦ Reach European developers, privacy-first · Sponsored

# with --spinner, the "thinking" word also becomes the sponsor
✦ Become a sponsor…

Cmd/Ctrl-click the status line to open the sponsor (iTerm2 / Kitty / WezTerm). Also sponsor the thinking verb: npx entracte --spinner (add --mixed to blend it with Claude's own verbs instead of replacing them). Uninstall anytime:

npx entracte --uninstall

What it does (and doesn't)

  • Calls the same surface-agnostic /api/serve as the web widget.
  • Status line: caches the decision (30s); fires the view beacon only when the session is active — advertisers pay for real attention, not idle tabs.
  • Status line refreshes per turn — and with --spinner, shares its sponsor with the thinking verb. Hooks (SessionStart + UserPromptSubmit + Stop) fetch a fresh sponsor each turn and publish it to a session cache the status line reads; with --spinner they also set spinnerVerbs (the "thinking" word — replace by default, --mixed to blend with Claude's own). So the bottom line rotates every turn, and the spinner mirrors it when enabled. Claude Code hot-reloads settings.json, so the live spinner update depends on the build honoring that for spinnerVerbs; the status line is dynamic either way. Only the status line fires the (metered) view beacon — once per sponsor. The hook returns instantly and prints nothing (a detached worker does the fetch), so it never delays startup or leaks into the conversation.
  • Sets no cookies, sends no identifiers, reads no code — only the repo's shape (language/framework) for context.
  • If you've linked your machine (entracte earner account), impressions are attributed to you and you earn AI credits — spendable on any model.
  • Patches nothing of Anthropic's. Removing it leaves zero trace.

Env (optional): ENTRACTE_API (default https://api.entracte.ai), ENTRACTE_PUBLISHER (default entracte).

A pure-Python status-line variant (entracte-statusline.py) ships too.