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

arbiter-zebu

v0.3.2

Published

Standalone Telegram bot for async human-in-the-loop decision making

Readme

Arbiter Zebu

Standalone Telegram bot for async human-in-the-loop decision making. Zero LLM cost — button taps are handled directly.

Quick Start

# Install
bun add -g arbiter-zebu

# Interactive setup (creates config + starts as service)
arbiter-zebu setup

That's it. The setup wizard will:

  1. Ask for your bot token (from @BotFather)
  2. Ask for your Telegram user ID (from @userinfobot)
  3. Create ~/.arbiter/config.json
  4. Install and start a systemd service

Send /queue to your bot in Telegram to verify.

Commands

arbiter-zebu          # Start the bot
arbiter-zebu setup    # Interactive setup (config + systemd service)
arbiter-zebu help     # Show help

Service Management

systemctl --user status arbiter     # Check status
systemctl --user stop arbiter       # Stop
systemctl --user restart arbiter    # Restart
tail -f /tmp/arbiter.log            # View logs

Features

  • 📋 Queue-based decisions — MD files in a watched directory
  • 🔘 Button-based UI — Tap to answer, no typing needed
  • 💰 Zero LLM cost — Callbacks handled directly by the bot
  • 📁 Persistent state — File-based, survives restarts
  • 🔔 Agent notifications — Notify sessions when decisions are complete
  • ✏️ Custom answers — Not limited to predefined options
  • 📝 Audit trail — All decisions logged in markdown

How It Works

Agents push decisions → ~/.arbiter/queue/pending/
                              ↓
              Arbiter bot watches directory
                              ↓
              Shows decisions in Telegram with buttons
                              ↓
              Human answers by tapping
                              ↓
              Answers written back to markdown
                              ↓
              Completed plans → ~/.arbiter/queue/completed/
              Notifications  → ~/.arbiter/queue/notify/

Agent Integration

Use the arbiter-skill to push decisions from AI agents:

# Install the skill (for Clawdbot/OpenClaw)
clawhub install arbiter

# Or install standalone CLI
bun add -g arbiter-skill

# Push decisions
arbiter-push '{"title":"API Design","decisions":[{"id":"auth","title":"Auth Method","context":"How to authenticate","options":[{"key":"jwt","label":"JWT"},{"key":"session","label":"Sessions"}]}]}'

Documentation

License

MIT