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-git-assistant

v1.0.6

Published

AI-powered git commit assistant for the Pi coding agent. Automatically analyzes diffs, manages branches, writes conventional commit messages, and generates pull request descriptions.

Downloads

512

Readme

𝞹 git-assistant

NPM Version License: MIT

An agent-driven git commit assistant for pi.

Stop wrangling git branches and writing commit messages by hand. The LLM reads your diffs, understands your actual code changes, decides the correct branch, writes a conventional commit message, and crafts a professional PR description—all automatically.

No hidden logic. No hardcoded heuristics. 100% safe, read-only git analysis until you execute.

https://github.com/user-attachments/assets/ab41b902-a6af-4ea6-8dcc-3c264a16165f

🚀 Installation

Install globally via npm (recommended):

pi install npm:pi-git-assistant

Or install directly from the repository:

pi install git:github.com/elt7613/pi-git-assistant

⌨️ Commands

| Command | Action | |---------|--------| | /git-commit | Commits only the files modified during your current active pi session. | | /git-commit-all | Commits all uncommitted changes in the repository. | | /git-commit-reset-gate | Resets the execution gate so the agent can prompt again after a previous denial. |

Optional Arguments

Append these to any command to customize the LLM's behavior:

  • give pr description — Generates a comprehensive PR description alongside the commit.
  • use branch <name> — Forces the LLM to commit to the specified branch instead of analyzing and creating its own. (e.g., /git-commit use branch feat/auth)

🧠 How It Works

We don't use simple scripts. The LLM natively understands your intent and acts accordingly:

  1. Context Gathering: The extension fetches git status, diffs, and tracks session files.
  2. Analysis: The LLM reads the actual code modifications to understand the feature or fix.
  3. Decision & Formatting:
    • Branch: Determines whether to stay, switch, or create a new semantic branch (e.g., feat/..., fix/...).
    • Message: Generates a strict conventional commit message (< 72 characters, imperative mood).
  4. Execution: The agent safely triggers the internal git_commit_execute tool to apply the changes.

Process Flow

🛡️ Execution Gate

Before the agent can autonomously execute a git commit, you must explicitly approve it via a confirmation dialog:

  • Yes → The commit executes once. The next autonomous attempt will prompt again.
  • No → The gate locks for the entire session. All future autonomous commit attempts fail immediately with a terminal error, preventing unbreakable agent retry loops.
  • Reset → Run /git-commit-reset-gate from the Command Palette to manually unlock the gate.

Manual commands (/git-commit, /git-commit-all) bypass the gate entirely. When you explicitly trigger a commit, the analysis and execution flow straight through without additional prompts. The gate only applies when the agent initiates a commit on its own.

🛡️ Strict Safety & Branch Rules

We enforce strict guardrails inside the LLM prompt to protect your repository:

  • Protected Branches: It will always create a new branch if you are currently on main, master, or develop.
  • Zero Hallucination Tolerance: Current branches get no special treatment. If the code changes do not perfectly match the current branch intent, the LLM will create a new one.
  • Safe Commands Only: The extension operates purely through read-only git analysis until the final execution. It uses git checkout, git add, and git commit.
    • It never uses stash, restore, reset, rebase, merge, cherry-pick, clean, pull, or push.

🕒 Persistent Session Tracking

Working across multiple days? No problem.

Any files touched by the write or edit tools during your pi session are automatically tracked. This tracking survives a session /resume—meaning /git-commit will still perfectly remember the scope of your work even if you restart your environment.