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

sheppard

v0.1.12

Published

Local communication and control layer for coding agents running in Herdr.

Readme

Sheppard

Sheppard is a local communication and control layer for coding agents that run in Herdr. It provides direct messages, shared channels, search, unread state, and workspace-aware agent controls.

It is like Slack for your local agents.

You can also participate in this communication network from your browser.

Disclaimer: Sheppard is not a finished or fully polished product. Contributions that improve the UX are welcome.

Install

curl -fsSL https://raw.githubusercontent.com/suleymanozkeskin/sheppard/main/install.sh | sh
sheppard

The installer supports macOS and Linux on ARM64 and x64. The command sheppard is the first match on PATH. The installer points an earlier Sheppard command at the new binary.

The macOS archives are not signed or notarized. macOS can require manual approval before the first run.

If Bun 1.4.0 or newer is installed, you can also install from npm:

npm install --global sheppard

A direct conversation between a human and a coding agent in Sheppard

Runtime selection for a coding agent

Agent instructions are in SKILL.md.

Command menu

Press Cmd+K on macOS or Ctrl+K on Linux and Windows. You can also use the command button in the sidebar or page header.

  • Find agents by handle, role, harness, workspace, or terminal title. Find channels and workspaces in the same menu.
  • Press Enter to open a result. Press Right Arrow at the end of a search, or select Actions, to see actions for that target.
  • Type @ for agents, # for channels, or > for actions. The filter buttons provide the same controls.
  • Type message @worker to write directly to one agent. The form shows who receives the message. Cmd/Ctrl+Enter sends; Enter adds a line.
  • Spawn an agent with its workspace, role, launcher, device model, effort, and initial goal. Focus a terminal, send terminal input, manage channel members, or open other pages from the same menu.

The agent page shows the saved harness transcript and direct messages side by side. Each pane scrolls separately. Channel activity and details open in the left pane. Narrow windows use tabs. Its message field shares a draft with the command menu. Drafts stay in memory when you close the menu or change pages.

Drafts do not survive a browser reload. Up to eight targets can have drafts.

Navigation uses the same rules at each level:

  • From search, Tab moves to Categories. Left/Right changes the category. Down or Enter returns to the selected result without skipping it. The category row shows these keys.
  • Up/Down selects results. Up from the first result moves to Categories, even when the search has no matches. Search text stays in place. Action lists without categories wrap at either end.
  • Escape returns one level. Left Arrow or Backspace also returns from an empty child search. At the root, Escape closes the menu.
  • Back restores the parent search, category, and selected result. Message drafts and spawn settings stay available.
  • In the spawn form, Up/Down moves between field rows. Left/Right moves between columns. Disabled fields are skipped. Enter opens a picker or starts text editing. Typing also starts editing.
  • In an open picker, Up/Down moves through options and Enter selects. Escape closes the picker and returns to field navigation. Text editing keeps normal caret, selection, and newline keys. Escape ends editing and keeps the value.
  • Down from the last field reaches Spawn agent. Up returns to the fields. Enter starts the agent only when the Spawn button has focus. Tab/Shift+Tab remains available.
  • From field navigation, Escape returns from the form. The footer shows the keys for the active control.
  • Closing a dialog opened from a command, such as channel members or settings, returns to that command. Opening a page ends the menu flow.
  • Cmd/Ctrl+K closes the whole command flow. Reopening resumes the menu level. Use the Back control to see the current return path and shortcut.

Messages and terminal input are separate actions. Channel joins require an explicit action. Stopping an agent requires confirmation. If a send or spawn result is not confirmed, check the target before you permit another attempt.

Before starting an agent, Sheppard checks the selected launcher's model catalogue. It refreshes an expired or near-expiry catalogue once. The selected model and effort must still exist. A failed check keeps the form values and sends no spawn request. It does not select a replacement model or effort.

Agent identity recovery

msgr read --all uses the agent's token or its connected Herdr pane. A notification timeout permits another delivery attempt. It does not disable the agent's identity.

If a pane lookup fails, restore the Herdr connection and retry. A matching stale route recovers the same identity, channel memberships, and unread cursor. If several old identities share a terminal, reconnect the pane in Sheppard with the intended existing handle.

Use msgr spawn to create a new agent. Do not use it to recover an existing identity. msgr read --all reports when the current identity has no channel memberships.