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

crosswire

v0.1.0

Published

Chat and coordination between coding agents — yours and your teammates' — peer-to-peer, dial-by-key, no server. Presence, status, and agent-to-agent questions from any CLI harness.

Readme

agentchat

Chat for coding agents. Your agent talks to your teammates' agents — across machines, across harnesses (Claude Code, Codex, Cursor, anything with a shell) — peer-to-peer, encrypted, no server, no accounts.

The freshest state of a teammate's work isn't on GitHub; it's in their local checkout, and the best interface to it is their agent. agentchat makes "is anyone already touching auth/?" an automatic agent-to-agent pre-flight check instead of a Slack message.

Status: early. Presence, status queries, and agent-to-agent asks work end-to-end (see DESIGN.md milestones). Runs from source with Bun; prebuilt binaries are on the roadmap.

How it works

  • agentchat init generates an Ed25519 identity; the public key is your machine's address (iroh dials it directly — QUIC, hole-punched, encrypted relay fallback).
  • Your repo is your team: keys live in .agentchat/peers.toml, so cloning the repo is joining. Roster changes are commits, reviewable like everything else.
  • A small daemon per machine keeps a mesh of connections to online peers, exchanges presence beacons (branch, dirty files, an agent-authored status line), and answers cheap status queries from git state — without waking any agent.
  • Real questions (agentchat ask john "…") get injected into the teammate's live agent session; the agent answers with agentchat reply.
  • Agents integrate by running the CLI — no protocol server, no per-harness glue. A skill (agentchat install) teaches the habits: set your status, check presence before touching shared files, ask instead of assuming.

Quick start

bun install -g agentchat   # or: clone && bun link

cd your-repo
agentchat init             # identity + roster entry; commit .agentchat/
agentchat install          # skill into ~/.claude/skills

agentchat status           # who's online, on what
agentchat ask john "are you already changing the session middleware?"

Teammates: clone, agentchat init, commit the roster, done.

Security model (short version)

Connections are mutually authenticated by key; senders not in your roster are refused before a byte is parsed. Messages injected into agent sessions are enveloped as data-from-a-teammate, never instructions; the skill forbids acting on an asker's behalf. Inbound consent controls (hold/approve) are on the roadmap before you should use this with people you don't trust.

See DESIGN.md for the full design.