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

@forceuser/git-profile-switcher

v0.2.0

Published

CLI and TUI for automatic per-directory Git user identity switching.

Readme

Git Profile Switcher

gip helps you use the right Git identity in the right directory.

It stores named profiles, writes Git includeIf rules for directory-based switching, and can show the active profile in your shell prompt.

Install

npm install -g @forceuser/git-profile-switcher

After installation, the CLI is available as both:

gip --help
gip --version
git-profile-switcher --help

Quick Start

Create your profiles:

gip profile:add personal
gip profile:add work --user-name "Work Name" --user-email [email protected]

Bind a profile to the current directory:

cd ~/Projects/work-app
gip bind work

From now on, Git uses that profile in this directory and its Git repositories.

Check what Git identity is active:

gip doctor

Daily Use

Pick from your saved profiles:

gip bind

Set a global fallback identity:

gip bind personal --global

Clear the current directory rule:

gip clear

Clear the global fallback identity:

gip clear --global

Open the terminal UI:

gip tui

Session-Only Identity

Use use when you want a profile only in the current terminal session:

gip install:shell zsh
source ~/.zshrc

gip use work
gip use --clear

Without shell integration, use:

eval "$(gip use work --exports)"

Shell Prompt

Install prompt integration to show the active profile in your prompt:

gip install:prompt zsh
source ~/.zshrc

Choose prompt colors per profile:

gip profile:color work cyan

Install completion, session wrapper, and prompt integration together:

gip install:all zsh

Supported shells: zsh, bash, and fish.

Move To A New Machine

Export profiles:

gip export

Import profiles on another machine:

gip import

By default, both commands use:

~/gip-profiles.json

Directory rules are machine-specific, so gip skips them by default. Include them only when you explicitly want to migrate the same directory mappings:

gip export --rules
gip import --rules

Where Data Lives

Profile metadata:

~/.config/git-profile-switcher/

Generated Git config snippets:

~/.config/git-profile-switcher/gitconfigs/

gip manages one marked block in your global Git config and leaves unrelated content alone.

Useful Commands

gip bind work ~/Projects/work-app
gip profile:list
gip profile:remove work
gip rule:list
gip rule:add work ~/Projects/work-app
gip rule:remove <rule-id>
gip paths
gip prompt
gip version
gip help <command>

For development and release notes, see Development.