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-safety-git-operations

v0.1.1

Published

Guards destructive git and GitHub/GitLab CLI operations with severity-based confirmation dialogs and session memory. Covers force-push, reset --hard, branch deletion, gh/glab repo operations, and more.

Readme

🔀 Safety Guard: Git & SCM Operations

Guards all state-changing git operations and GitHub/GitLab CLI commands with severity-based confirmation and session memory.

What it protects

🔴 Critical (confirm + 30s auto-deny timeout)

| Command | Why | |---------|-----| | git push --force / -f | Rewrites remote history — can lose collaborators' work | | git reset --hard | Discards uncommitted changes permanently | | git clean -f | Removes untracked files permanently | | git stash drop/clear | Destroys stashed changes | | git branch -D | Force-deletes branch even if unmerged | | git reflog expire | Removes recovery points | | gh repo create/delete/rename/archive | Irreversible GitHub repo operations | | gh secret set/delete | Manages production secrets | | glab repo create/delete/archive | Irreversible GitLab repo operations |

🟡 Standard (confirm with session-remember option)

| Command | Why | |---------|-----| | git push | Publishes commits to remote | | git commit | Creates permanent history entry | | git rebase, git merge | Rewrites/combines branch history | | git tag, git cherry-pick, git revert | Modifies repository state | | git am | Applies patches | | git branch -d | Deletes merged branch | | gh pr create/merge/close | GitHub PR lifecycle | | gh pr comment/review | Public GitHub comments | | gh issue create/close/delete | GitHub issue management | | gh release create/delete/edit | GitHub release management | | glab mr create/merge/close | GitLab MR lifecycle | | glab issue create/close/delete | GitLab issue management | | glab release create/delete | GitLab release management |

Session memory

For standard operations, the confirmation dialog offers four choices:

| Choice | Effect | |--------|--------| | ✅ Allow once | Permits this single command | | 🚫 Block once | Blocks this single command | | ✅✅ Auto-approve for session | All future commands of this type pass silently | | 🚫🚫 Auto-block for session | All future commands of this type are blocked silently |

Session memory resets on session start/switch. Critical operations never get session memory — they always require explicit confirmation.

Commands

| Command | Description | |---------|-------------| | /git-safety | Show current session approvals and blocks | | /git-safety reset | Clear all session overrides |

Behavior

| Mode | Action | |------|--------| | Interactive — critical | Confirm dialog with 30-second auto-deny | | Interactive — standard | Confirm dialog with session-remember options | | Non-interactive | All operations blocked |

Status bar

Shows 🔀 git-guard in the footer when active.

Installation

Already active — lives in ~/.pi/agent/extensions/safety-git-operations/index.ts and auto-loads with every pi session.

Example

🟡 push
  git push origin main

  Allow?

  ✅ Allow once
  🚫 Block once
  ✅✅ Auto-approve "push" for this session
  🚫🚫 Auto-block "push" for this session