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-construct

v0.0.29

Published

A minimal Pi loadout menu for project-local packages.

Readme

The Construct

The Construct is a global extension for Pi that manages project-level resource packages like extensions, skills, prompts, themes, and loadouts from one menu.

This README is the main human guide for Construct.

Run /construct, hit Spacebar to select what belongs in the project, press Enter to apply. Easy stuff.

Install

pi install npm:pi-construct
# or
pi install git:github.com/wdphoto/pi-construct
# or
pi install https://github.com/wdphoto/pi-construct
# or
pi install ~/Code/pi-construct

Quick start

Install a Pi package in a project:

pi install npm:package-name -l --approve

Adopt the already-installed project package/resource declarations into Construct metadata:

/construct load

Open the loadout menu:

/construct

Save the active package set for later:

/construct save web-stack

Run that saved loadout in another project:

/construct run web-stack

What it does

  • Shows active, disabled, available, and unloaded project resources.
  • Remembers package sources so you can reuse them across projects.
  • Saves named loadouts as package-source recipes.
  • Lets the dashboard enable, disable, install, or remove project package declarations from one TUI.
  • Can unfold package-contained resources and write Pi-native package filters.
  • Can adopt Pi-resolved project resources from .pi/, project .agents/skills, and project settings paths into project metadata.
  • Uses Pi-native settings, package filters, trust checks, and reload behavior.

For exact extension/skill/prompt/theme inheritance and overrides, use Pi's native project resource editor:

pi config -l

Construct treats Pi autoload: false project override entries as read-only and leaves their inherit/load/unload state to pi config -l. Saved Construct loadouts remain package-source recipes: they do not copy direct skill files or serialize package child-resource filters.

Construct is a loadout manager, not a new package manager. .pi/settings.json stays the source of truth.

Common commands

/construct                    # open the loadout menu
/construct status [full]      # read-only diagnostics
/construct scan [path]        # find unloaded trusted Pi-resolved project resources
/construct load [...]         # adopt already-installed project resources into Construct metadata
/construct unload [...]       # make Construct forget resources
/construct save <name>        # save active package sources as a loadout
/construct list               # list saved loadouts
/construct run <name>         # apply a saved loadout to this project
/construct share <name>       # print a shareable loadout JSON snippet
/construct import [json]      # preview/import a shared loadout snippet
/construct wipe <name>        # delete only a saved loadout recipe

Files

  • .pi/settings.json — Pi project source of truth.
  • .pi/construct.json — project-local Construct metadata.
  • ~/.pi/agent/construct/catalog.json — user-local Construct library and saved loadouts.
  • ~/.pi/agent/construct/projects.json — user-local index of touched projects.

Remove Construct

Use the same source form you installed with:

pi remove npm:pi-construct
pi remove git:github.com/wdphoto/pi-construct
pi remove /path/to/pi-construct

pi uninstall <source> is also supported as an alias for pi remove <source>.

License

MIT