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

pi-island

v0.3.0

Published

Dynamic-Island-style status capsule for the pi coding agent on macOS and Windows. Shows what pi is doing in real time, at the very top of your screen — with native notch-wrap support for MacBooks.

Readme

pi-island

A Dynamic-Island-style status capsule for the pi coding agent. Pinned at the top of your screen on macOS and Windows, live on every turn.

On macOS the capsule wraps the MacBook notch natively. On Windows it pins to the top-center of the active display.


Install

Supported on macOS and Windows. You need pi plus the toolchain for your platform:

  • macOS — Xcode Command Line Tools (xcode-select --install)
  • Windows — .NET 8 SDK (winget install Microsoft.DotNet.SDK.8)

Then:

pi install npm:pi-island

The postinstall step compiles the native host for your platform (Swift on macOS, C# / WebView2 on Windows). If the required toolchain is missing, the install still succeeds — the extension just no-ops until you install it and run npm run build.

The island turns on automatically for every pi session after install. Type /island any time to tweak it.

Settings

Inside any pi session, type:

/island

A drop-down opens with four rows. Cycle each value with Enter or Space:

| Setting | Values | Notes | |---------------|-------------------------------------|------------------------------------------------| | Visibility | enabled / disabled | Remember the choice across restarts. | | Size | small / medium / large / xlarge | Live — no respawn. | | Screen | primary / active / 2 / 3 … | primary = menu-bar display, active = under mouse, numbers for multi-monitor. | | Notch wrap | auto / normal / notch | macOS only. auto detects; forcing off/on also supported. On Windows this row is inert. |

Your choices are persisted in ~/.pi/pi-island.json and survive every pi restart.

Quick-actions (skip the menu)

Muscle memory / scripts:

/island on            # or: enable
/island off           # or: disable
/island toggle
/island size large
/island screen primary
/island notch notch
/island reload        # reset companion state (emergency eject)

Run pi in multiple terminals — each session gets its own row, stacked into one continuous capsule.

Troubleshooting

Empty / frozen rows stuck in the capsule

If you see rows with no project name and a spinner that never advances (typically after upgrading pi-island while pi was running), reset the companion in one of two ways:

  1. Inside pi: /island reload — nukes state in place.
  2. Outside pi:
    pkill -f pi-island/pi-extension/companion.mjs

Either one is a one-shot cleanup. pi-island 0.2.1+ auto-detects and heals a version mismatch on the next /island use, so upgrading from 0.2.1 onward should be silent.

Website

A minimal informational site lives in web/ — built with Next.js 16 and the pi.dev palette, deployable to Vercel with Root Directory = web. See web/README.md.

Development

Dev/release workflow (link, pack-test, publish) is documented in docs/RELEASING.md.

License

MIT — see LICENSE. Architecture notes & contributor docs live in AGENT.md.