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

shellykit

v1.0.2

Published

Your terminal sessions, from anywhere.

Readme

shelly

Your terminal sessions, from anywhere.

Shelly runs a real PTY on your laptop and lets paired mobile clients continue the same terminal session without losing process state. Commands such as bash, zsh, vim, htop, python, node, lazygit, claude, and codex keep running on the host while clients attach, detach, resize, and reconnect.

Install

npm i -g shellykit

The unscoped shellykit package is the v1 desktop install and update path. It installs these commands:

  • shelly: the user-facing CLI
  • shellyd: the local daemon that owns PTYs, pairing, replay, and transport

Use npm to update installed builds:

npm update -g shellykit

First Run

shelly daemon install
shelly pair
shelly
shelly refactoringjob
shelly new --name shell bash
shelly new bash
shelly attach <session-id>
shelly kill <session-id-or-name>
shelly kill-all
shelly completion bash

shelly pair starts QR pairing. Running shelly with no subcommand creates and attaches a new shell-backed Shelly session every time, with a generated one-word name like waffle or kazoo even when other sessions already exist. From that shell the user can start Claude, exit it, start Codex, or run any other terminal program inside the same Shelly session. Running shelly new bash, shelly new claude, or any new command without --name keeps the requested command and still chooses a generated one-word session name. Running shelly refactoringjob attaches that named session when it exists, or creates and attaches a shell-backed Shelly PTY named refactoringjob when it does not. The same daemon session name appears in the mobile app dashboard. Use shelly kill <session-id-or-name> to stop one Shelly session and shelly kill-all to stop all current sessions.

shelly --help prints Usage: shelly, and shelly completion bash generates a completion script for the shelly command.

The default desktop command is the user's shell, and arbitrary PTY commands are supported. Mobile clients can pair, list sessions, attach, send input, resize, detach, and register push tokens. Mobile clients cannot create or kill sessions. The desktop CLI talks to the daemon over the local Unix socket; iroh is reserved for paired mobile clients.

Package Layout

This meta-package depends on exactly one platform package at install time:

  • shellykit-darwin-arm64
  • shellykit-darwin-x64
  • shellykit-linux-arm64
  • shellykit-linux-x64

When postinstall scripts are allowed, the matching platform package swaps bin/shelly and bin/shellyd to native binaries. When scripts are disabled, the shipped dispatchers still run the matching platform binaries. v1 Windows host support is through the Linux package inside WSL2.

Local persistence is encrypted by default with an OS-keychain-held key unless the user explicitly opts out. Keychain prompts are only for local key material; terminal output, keystrokes, commands, paths, session names, and push tokens are not stored there. Shelly push payloads are privacy-preserving and do not include terminal content, commands, paths, or session names.