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

@mrclrchtr/supi

v1.0.0

Published

SuPi (Super Pi) — The opinionated way to extend PI

Readme

SuPi

Super Pi

The opinionated way to extend PI.

SuPi is an opinionated extension repo for PI with LSP, Skills, marketplace compatibility, and personal best practices built in.

  • SuPi is my curated extension stack for PI.
  • SuPi makes PI extensible, interoperable, and sane by default.

Built for the pi coding agent.

Extensions

| Extension | Description | |-----------|-------------| | aliases | Registers /exit to quit pi, /e as a shorthand alias, and /clear to start a new session (alias for /new) | | bash-timeout | Injects a default timeout on every bash tool call when the LLM omits one. Configurable via PI_BASH_DEFAULT_TIMEOUT (seconds, default 120). | | skill-shortcut | Type $skill-name as a shorthand for /skill:skill-name. Autocomplete triggers on $. | | lsp | Adds Language Server Protocol support for hover, definitions, references, symbols, rename, code actions, and diagnostics. It appends inline diagnostics after write/edit, advertises semantic-first tool guidance, and injects concise pre-turn LSP context based on relevant active coverage or outstanding diagnostics. |

Install

pi install npm:@mrclrchtr/supi
# or from git
pi install git:github.com/mrclrchtr/SuPi
# or from a local checkout
pi install /path/to/SuPi

When installed from a local path, pi loads the working tree directly; after edits, use /reload or restart pi to pick up extension changes.

LSP extension

The lsp extension is meant to make pi more semantic in supported languages:

  • exposes a single lsp tool with actions for hover, definition, references, diagnostics, symbols, rename, and code actions
  • appends LSP diagnostics after write/edit
  • adds semantic-first promptSnippet / promptGuidelines so the agent prefers lsp for code navigation and diagnostics
  • injects concise pre-turn context in before_agent_start, favoring relevant outstanding diagnostics first and otherwise summarizing relevant active LSP coverage
  • tracks prompt-mentioned and recently touched files to keep injected guidance focused
  • provides /lsp-status for server and diagnostic visibility

Configuration:

  • PI_LSP_DISABLED=1 — disable the extension
  • PI_LSP_SERVERS=rust-analyzer,pyright — allow-list servers
  • PI_LSP_SEVERITY=1|2|3|4 — inline diagnostic threshold
  • .pi-lsp.json in the project root — override/add/disable server definitions

Development

mise install
pnpm install
mise run hooks
pnpm typecheck
pnpm biome
pnpm biome:fix
pnpm biome:ci
pnpm biome:ai
pnpm test
pnpm pack:check
pnpm verify
hk run check # local pre-push checks (full pnpm verify)
hk run fix   # local pre-commit autofixes

Biome is configured in biome.jsonc with formatting, import organization, recommended lint rules, and stricter project/types/test plus aggressive complexity and nursery rules.

Publishing

Pi package docs require a pi manifest (already present) and recommend the pi-package keyword for discoverability. This package publishes the TypeScript source directly — pi loads extensions without a build step.

GitHub Actions handles verification and releases:

  • CI runs typecheck, Biome, Vitest, and npm pack --dry-run
  • Conventional Commits lints PR titles and commit messages
  • Release runs on pushes to main, uses semantic-release to determine the next version from Conventional Commits, publishes to npm, tags the release, and creates GitHub release notes

One-time setup

  • Ensure the publishing account owns the @mrclrchtr npm scope
  • Add an npm automation token as the NPM_TOKEN GitHub repository secret
  • Use Conventional Commits on merges to main so semantic-release can compute versions (feat: = minor, fix: = patch, ! / BREAKING CHANGE: = major)
  • Be aware that semantic-release starts first stable releases at 1.0.0

Release flow

pnpm verify
git push origin main

semantic-release handles version calculation, tagging, npm publishing, and GitHub release notes automatically. You can smoke-test the configuration locally with:

pnpm release -- --dry-run --no-ci

Note: local dry-runs still need git access to the GitHub remote in order to verify tagging permissions.