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

@sammybauch/swear-jar

v0.1.4

Published

AI agent plugin that donates to charity when you swear. Supports Claude Code and OpenClaw.

Readme

Swear Jar

An AI agent plugin that donates to charity when you swear. Automatic USDC payments on Base — your bad words fund good deeds.

Install

OpenClaw (via npm):

openclaw plugins install @sammybauch/swear-jar

Claude Code (from source):

git clone https://github.com/sbauch/swear-jar
cd swear-jar && npm install
claude --plugin-dir ./swear-jar

Then run /swearjar to configure.

How It Works

  1. A hook monitors every message you send
  2. When profanity or hostility is detected, the plugin sends USDC on Base to your configured destination
  3. Your agent acknowledges the violation with a playful quip

Payments happen automatically in the hook — no agent action needed.

Configuration

Run /swearjar to set up:

Destination

  • Swear Jar Community Fund — A community-managed Donor Advised Fund on Endaoment. Pooled fund for collective impact.
  • Custom address — Provide your own wallet address (0x...). Money accumulates for you to allocate later.
  • Search for a charity — Find a specific charity via The Giving Block. (Coming soon.)

Sensitivity

  • Cussing — Any swear word triggers, even "this is fucking awesome." Default.
  • Vibes — Only triggers when you're actually being hostile. Positive profanity gets a pass.
  • Max — Catches swear words AND hostile tone.
  • AI — AI reviews your conversation every few messages. Catches creative profanity and sarcasm.

Payment Providers

  • Bankrnpm install -g @bankr/cli then bankr login email
  • awal (Coinbase) — npx [email protected] auth login <email>
  • Locus — Register at paywithlocus.com
  • Manual — Just tracks violations, you handle payments yourself

Commands

  • /swearjar — Set up or reconfigure
  • /swearjar status — View config and violation history
  • /swearjar reset — Clear violations, keep config

Platforms

Works on both Claude Code and OpenClaw:

| | Claude Code | OpenClaw | |---|---|---| | Hook | UserPromptSubmit command hook | before_prompt_build lifecycle hook | | Commands | Markdown in commands/ | api.registerCommand() | | Skills | skills/swearjar/SKILL.md | Same + inline | | State | ~/.claude/swearjar/state.json | ~/.openclaw/workspace/swearjar-state.json |

Links

Security Notes

On install, OpenClaw may warn about "dangerous code patterns." This is expected — the plugin:

  • Uses child_process to call wallet CLIs (bankr, awal) for sending payments
  • Reads ~/.config/locus/credentials.json for Locus API auth
  • Makes network requests to our proxy API for charity lookup

These are required for the payment functionality. The plugin is open source — review the code if you have concerns.

License

MIT