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

@ifi/oh-pi-extensions

v0.4.2

Published

Core pi extensions: safe-guard, git-guard, auto-session, custom-footer, and more.

Readme

@ifi/oh-pi-extensions

Core first-party extensions for pi.

Included extensions

This package includes extensions such as:

  • safe-guard
  • git-guard
  • auto-session-name
  • custom-footer
  • compact-header
  • auto-update
  • bg-process
  • usage-tracker
  • scheduler
  • btw / qq
  • watchdog / safe-mode

Install

pi install npm:@ifi/oh-pi-extensions

Or install the full bundle:

npx @ifi/oh-pi

What it provides

These extensions add commands, tools, UI widgets, safety checks, background process handling, usage monitoring, scheduling features, and runtime performance protection (/watchdog, /safe-mode) to pi.

Scheduler follow-ups

The scheduler extension adds recurring checks, one-time reminders, and the LLM-callable schedule_prompt tool so pi can schedule future follow-ups like PR, CI, build, or deployment checks. Tasks run only while pi is active and idle, and scheduler state is persisted in shared pi storage using a workspace-mirrored path.

Package layout

extensions/

Pi loads the raw TypeScript extensions from this directory.

Scheduler ownership model

scheduler now distinguishes between instance-scoped tasks and workspace-scoped tasks:

  • Instance scope is the default for /loop, /remind, and schedule_prompt.
    • The task stays owned by the pi instance that created it.
    • Opening a second pi instance in the same repo will not auto-run that task.
    • Foreign tasks are restored for review instead of being dispatched automatically.
  • Workspace scope is opt-in for monitors that should survive instance changes in the same repo.
    • Use /loop --workspace ...
    • Use /remind --workspace ...
    • Or use schedule_prompt(..., { scope: "workspace" })

When another live instance already owns scheduler activity for the workspace, pi prompts before taking over. You can also manage ownership explicitly with:

  • /schedule adopt <id|all>
  • /schedule release <id|all>
  • /schedule clear-foreign

Use workspace scope sparingly for long-running shared checks like CI/build/deploy monitoring. For ordinary reminders and follow-ups, prefer the default instance scope.

Watchdog config

The watchdog extension reads optional runtime protection settings from a JSON config file in the pi agent directory. That config controls whether sampling is enabled, how frequently samples run, and which CPU, memory, and event-loop thresholds trigger alerts or safe-mode escalation.

Path to the optional watchdog JSON config file under the pi agent directory. This is the default location used for watchdog sampling, threshold overrides, and enable/disable settings.

~/.pi/agent/extensions/watchdog/config.json

Example:

{
  "enabled": true,
  "sampleIntervalMs": 5000,
  "thresholds": {
    "cpuPercent": 85,
    "rssMb": 1200,
    "heapUsedMb": 768,
    "eventLoopP99Ms": 120,
    "eventLoopMaxMs": 250
  }
}

Watchdog helper behavior

Load watchdog config from disk and return a safe object. Missing files, invalid JSON, or malformed values all fall back to an empty config so runtime monitoring can continue safely.

Resolve the effective watchdog thresholds by merging optional config overrides onto the built-in default thresholds.

Resolve the watchdog sampling interval in milliseconds, clamping configured values into the supported range and falling back to the default interval when no valid override is provided.

Notes

This package ships raw .ts extensions for pi to load directly.