pi-safety-git-operations
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.
Package details
Install pi-safety-git-operations from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-safety-git-operations- Package
pi-safety-git-operations- Version
0.1.1- Published
- Mar 13, 2026
- Downloads
- 42/mo ยท 5/wk
- Author
- pierre-mike
- License
- MIT
- Types
- extension
- Size
- 13.8 KB
- Dependencies
- 0 dependencies ยท 1 peer
Pi manifest JSON
{
"extensions": [
"."
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
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