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

@dbaida/pi-builder

v0.1.12

Published

Personal Pi customization package that bootstraps a private editable config repository.

Downloads

1,687

Readme

pi-builder

Personal Pi customization package for Pi.

This package helps you keep a private, editable copy of your Pi customization setup while installing the runtime extension through npm.

Installation

Install the package in Pi:

pi install npm:@dbaida/pi-builder

Restart Pi after installation, or run this inside Pi:

/reload

First run

On startup, pi-builder checks for GitHub CLI:

gh --version
gh auth status

If gh is installed and logged in, pi-builder creates or reuses a private GitHub repository in your account named:

pi-builder-config

Then it clones that private config repository to your global Pi agent directory:

~/.pi/agent/.pi-builder-config

After the private repository is ready, pi-builder updates your global Pi settings so future loads use the editable local config repo instead of the public npm package:

npm:@dbaida/pi-builder → ~/.pi/agent/.pi-builder-config

Restart Pi after this first-time switch so Pi loads the local package source.

If you use a custom Pi agent directory with PI_CODING_AGENT_DIR, the clone is created there instead:

$PI_CODING_AGENT_DIR/.pi-builder-config

The private config repo is initialized from:

https://github.com/dmytrobaida/pi-builder.git

You can override the private repo name with:

PI_BUILDER_CONFIG_REPO_NAME=my-custom-pi-config pi

Status widget

pi-builder shows a multiline widget below the editor with useful details:

pi-builder
  local: version 0.1.3-udv-1, 2 file(s) changed
  upstream: new version available: 0.1.4 (current 0.1.3)
  gh: authenticated
  path: ~/.pi/agent/.pi-builder-config

Refresh or print the same information on demand:

/pi-builder status

Customizing your private config

After first run, your editable config lives in:

~/.pi/agent/.pi-builder-config

Start with the single pi-builder command:

/pi-builder help

User customizations belong in the user/ directories:

user/extensions/  # custom Pi extensions
user/skills/      # custom skills
user/prompts/     # prompt templates
user/themes/      # themes

pi-builder protects its sealed runtime files from agent edits to reduce merge conflicts when you upgrade later. Ask Pi to place new custom code under user/ instead of editing the sealed package files.

The private config repo includes these guide files so users and agents do not need to search around:

AGENTS.md
CUSTOMIZE.md
user/README.md

Commands

Show help:

/pi-builder help

Show where the local config repository is stored:

/pi-builder repo-location

Ask Pi to extend your private config safely:

/pi-builder extend add a prompt template for reviewing pull requests

Create starter customization files:

/pi-builder new-extension current-time
/pi-builder new-skill release-checklist
/pi-builder new-prompt review-pr
/pi-builder new-theme my-theme

Copy global Pi resources into your private config repo:

/pi-builder sync-global

Validate your private config and reload Pi resources:

/pi-builder validate

Edit your personal injected agent rules:

/pi-builder agents

Rules are stored in user/AGENTS.md and injected into every session so you can define your own agent rules, code style, and preferences.

Commit, tag, and push local config changes to your private repo's main branch:

/pi-builder sync

Use this command instead of raw git push for config changes so each private-repo push includes the required user-development tag. Before committing, pi-builder checks that your local config repo is up to date with origin/main and remote user-development tags so it does not create duplicate tags or push over changes from another machine.

Sync tags use this format:

<current-extension-version>-udv-<number>

Example:

0.1.3-udv-1

Merge the latest upstream pi-builder changes into your private config repo, tag the result, and push it automatically:

/pi-builder upgrade

If Git reports merge conflicts, pi-builder stops before pushing so you can resolve them.

Check common setup problems:

/pi-builder doctor

Repeated workflow suggestions

If pi-builder notices you asking for a similar workflow repeatedly, it can ask whether you want to turn that workflow into a reusable skill, prompt, or extension under user/.

Updating

To update to the latest package version:

pi update npm:@dbaida/pi-builder

Or update all installed Pi packages:

pi update --extensions

Restart Pi after updating, or run:

/reload

Troubleshooting

Check that Pi sees the package:

pi list

If pi-builder reports that GitHub CLI is missing, install it and restart Pi:

brew install gh

If pi-builder reports that GitHub CLI is not logged in, run:

gh auth login

If the config repository was not cloned:

  1. Check the bottom status bar for the error message.
  2. Check that git and gh are installed.
  3. Check that gh auth status succeeds.
  4. Run /reload inside Pi or restart Pi.

If Pi still loads the npm package after the private repository is ready, restart Pi and check your global Pi settings:

~/.pi/agent/settings.json

The packages list should contain your local config repo path instead of npm:@dbaida/pi-builder.

Security

Pi extensions run with your local user permissions. Only install Pi packages from sources you trust.