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-packages-manager

v1.4.0

Published

Claude-style Pi packages manager: browse, search, install, update, and remove Pi packages from inside Pi.

Readme

pi-packages-manager

A Pi packages manager extension. Browse, search, install, update, and remove Pi packages without leaving Pi. Inspired by the Claude Code package UX.

English · 简体中文 · Pi Discussion · npm

status license

Features

  • 📦 Claude-style overlay panel with Tab to switch between Installed, Browse, Updates, and Settings
  • 🌐 Multi-language UI (English, 简体中文, 繁體中文, 日本語, 한국어) with an in-panel language switcher that takes effect immediately
  • 🔍 Fast catalog with disk cache and fuzzy ranking; supports filters like type:skill, source:npm, scope:project, installed, updates
  • ⬇️ Install / remove / update flows with scope selection (Global vs Project), safety confirmation and reload prompt
  • ⬆️ Update all with skip detection for pinned, git and local sources
  • 🛡️ Detail page surfacing extensions, skills, prompts, themes, source type and trust warnings
  • 🔒 Pre-install security audit: every install runs a two-layer static analysis (metadata + source-code keyword scan) with 4-tier risk classification. High/critical packages require explicit "Install anyway" confirmation.
  • 🤖 Natural language tools: 4 LLM-callable tools (packages_search, packages_detail, packages_audit, packages_install) — ask Pi to find, audit, or install packages in plain English.
  • 🔍 Audit in detail page: one-click "Run security audit" button on every package detail page, with results embedded inline.
  • 🏷 Filter chips: press 1-5 to filter by type — All, extension, skill, prompt, theme.
  • Quick shortcuts: press i install, r remove, u update, a audit, ? help — all without leaving the panel.
  • 📋 Inline detail view: Enter shows package detail inside the panel with version, author, resources, and security audit. Press to go back.
  • 🧭 Subcommands for power users: list, search, install, remove, update, info, settings, refresh, panel, legacy

Install

From npm

pi install npm:pi-packages-manager

From GitHub

pi install git:github.com/RexYoung000/pi-packages-manager

From a local checkout

git clone https://github.com/RexYoung000/pi-packages-manager.git
pi install /path/to/pi-packages-manager

After install, reload Pi:

/reload

Security audit

Every install (and update) runs a two-layer static audit before the final confirmation:

  1. Metadata via npm view: dependency count, peer count, file count, unpacked size, npm flags.insecure, last-published date, declared resource types.
  2. Source code keyword scan via npm pack + tar + grep against 15 known-dangerous patterns (rm -rf, rimraf, fs.unlink, eval, Function(), execSync, spawn, child_process, process.env, chmod, ...). Files larger than 1.5 MB are skipped to keep audits snappy; node_modules, test/, coverage/ are ignored.

Findings are aggregated into a 4-tier risk:

| Badge | Meaning | UX | | --- | --- | --- | | 🟢 safe | No findings in deep scan | Plain confirm with summary | | 🟢 low / 🟡 medium | Only low/medium findings, or 3+ medium | Plain confirm with summary | | 🟠 high | Any high finding, or high finding inside an extension | Two-step select — must pick "Install anyway" | | 🔴 critical | Any critical finding | Two-step select — must pick "Install anyway" |

The audit is fail-safe: if npm view or npm pack fails (network, timeout, etc.), the install is not blocked, but the failure is shown in the confirm dialog so the user can decide.

You can also trigger an audit from the detail page — click "🔍 Run security audit" to scan any package on demand.

Credits: the audit module is adapted from pi-marketplace.

Natural language tools

This extension registers 4 tools that the LLM can call directly. Try saying:

"Find me a Pi package for MCP"

"Show me details of pi-tinyfish-tools"

"Audit the package pi-mcp-adapter before installing"

"Install pi-autoname"

| Tool | What it does | | --- | --- | | packages_search | Search packages by keyword, filter by type | | packages_detail | Full package info: version, author, resources, links | | packages_audit | Security audit: metadata + source code scan | | packages_install | Audit → confirm → install |

These tools coexist with the /packages-list command — use whichever feels more natural.

Usage

Open the overlay panel:

/packages-list

| Key | Action | | --- | --- | | Tab / ⇧Tab | Switch tabs | | / | Navigate | | Enter | Open package detail (inline) | | / | Focus search bar | | 1-5 | Filter by type | | i | Install selected | | r | Remove selected | | u | Update selected | | a | Audit selected | | ? | Help overlay | | Esc / q | Close panel |

Subcommands

/packages-list list                       # installed packages
/packages-list search [query]             # browse community
/packages-list install <source>           # install a package
/packages-list remove <source>            # remove a package
/packages-list update [source]            # update one or all
/packages-list info <source>              # detail page
/packages-list settings                   # legacy settings view
/packages-list refresh                    # clear catalog cache
/packages-list panel                      # explicit overlay
/packages-list legacy                     # classic select menu

Switch language

Open the panel, press Tab to focus the Settings tab, choose a language and press Enter. The change is applied immediately and persisted to:

~/.pi/agent/extensions/pi-packages-manager/data/preferences.json

For project-level overrides, create:

<cwd>/.pi/pi-packages-manager.json

with content:

{
  "locale": "zh-CN"
}

Supported locales: en, zh-CN, zh-TW, ja, ko.

Development

Run the extension directly from source:

pi -e ./src/index.ts

Run tests:

npm test

Roadmap

See docs/ROADMAP.md.

Next up: 扩展测试覆盖(search/locale/api 模块)。详见 docs/ROADMAP.md

License

MIT © RexYoung000