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 🙏

© 2025 – Pkg Stats / Ryan Hefner

git-plus-plus

v1.1.1

Published

Interactive Git extension with intuitive commands for branch management, staging, and committing

Readme

Git++ (gpp)

Git++ is an interactive Git extension that adds guided workflows and streamlined commands to simplify daily Git operations.

It provides an optional interactive layer on top of Git’s core CLI — enhancing usability without changing Git’s underlying behavior.


Installation

npm install -g git-plus-plus

After installation, Git++ configures Git aliases so you can run commands such as git goto and git pick directly.

Note: Administrative commands like gpp doctor and gpp rebuild must be invoked using gpp. All other subcommands can be run as either gpp <command> or git <command>.


Quick Start

# Verify installation and alias setup
gpp doctor

# Switch branches interactively
git goto

# Stage specific changes
git pick

# Commit and push all changes
git publish "feat: add new feature"

Overview

Git’s command-line interface is powerful but often verbose and unintuitive.
Git++ addresses this by providing an interactive and efficient developer experience with:

  • Interactive selectors for branches and files
  • Colorized and grouped output for better visibility
  • Git aliases that integrate seamlessly into existing workflows
  • Built-in safety checks for destructive operations
  • Consistent, minimal syntax for frequent Git commands

Command Reference

Administrative Commands

gpp doctor

Checks Git++ installation status, PATH configuration, and alias setup.

gpp rebuild

(Re)installs Git++ aliases in ~/.gitconfig.
Used when aliases are missing or misconfigured.


Branch Operations

git goto [branch]

Switch to the specified branch.
If no branch is provided, opens an interactive selector.

git create [branch]

Create and switch to a new branch. Prompts for a name if omitted.

git delete [branches...]

Delete one or more branches. Interactive multi-select if none specified.
Displays a summary and requires confirmation.

git rename

Rename a selected branch interactively.

git track [branch]

Set the upstream branch for the current branch.
Defaults to tracking the same branch name on origin.


Change Management

git pick [files...]

Stage unstaged changes.
If no files are specified, opens an interactive multi-select menu with color-coded file states.

git drop [files...]

Unstage staged changes.
If no files are specified, opens an interactive multi-select menu with color-coded file states.

git publish [message]

Stage all changes, commit, and push to the remote branch.
Prompts for a commit message if not provided, and shows a pre-commit summary for confirmation.

git uncommit

Undo the most recent commit while preserving changes in the staging area.
Useful for adjusting commit messages or adding missing files.

git wipe

Discard all uncommitted changes and remove untracked files.
This command is destructive and requires typing confirm to proceed.


Configuration

Git++ does not create or manage external configuration files.
All settings are stored in standard Git locations, specifically:

  • Aliases in ~/.gitconfig (managed by gpp rebuild)
  • Existing Git configuration remains untouched

Development

# Clone the repository
git clone https://github.com/farhadzaidi/git-plus-plus.git
cd git-plus-plus

# Install dependencies
pnpm install

# Run a specific command in development mode
pnpm dev goto

# Build for distribution
pnpm build

# Test local installation
pnpm pack
pnpm install -g ./git-plus-plus-1.0.0.tgz