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

@technobromo/gitconnect

v1.0.3

Published

Multi-GitHub Account Manager - Auto & Explicit Mode

Downloads

23

Readme

GitConnect 🔄

Multi-GitHub Account Manager - Auto & Explicit Mode

Manage multiple GitHub accounts seamlessly with per-project account selection, automatic git identity switching, and commit signing.

Features

  • 🔐 Multiple Accounts - Manage multiple GitHub accounts with separate SSH keys
  • 🎯 Per-Project Config - Different accounts for different projects
  • 🤖 Auto Mode - Automatically use configured account
  • 💬 Prompt Mode - Ask before each commit/push
  • 🔏 SSH Signing - Sign commits with SSH keys
  • 🪝 Git Hooks - Pre-commit and pre-push hooks
  • Quick Switch - Easy account switching with gc use

Installation

npm install -g gitconnect
# or
npx gitconnect init

Quick Start

# Initialize GitConnect
gc init

# Add your first account
gc account add

# Set account for current project
gc project set

# Commit with account prompt
gc commit -m "Your message"

# Or use git directly (with hooks installed)
git commit -m "Your message"

Commands

Account Management

gc account add              # Add new GitHub account
gc account list             # List all accounts
gc account remove <name>    # Remove an account

Project Configuration

gc project set              # Set account for current project
gc project mode <mode>      # Set mode: auto/prompt/off
gc project info             # Show project info

Commit & Push

gc commit -m "message"      # Commit with account selection
gc commit --amend           # Amend last commit
gc commit --sign            # Sign commit with SSH
gc push                     # Push with account verification

Hooks

gc hooks install            # Install git hooks
gc hooks uninstall          # Remove git hooks
gc hooks status             # Show hook status
gc hooks mode <mode>        # Set hook mode

Utilities

gc use <account>            # Quick switch account
gc status                   # Show GitConnect status
gc init                     # Initialize configuration

Hook Modes

| Mode | Behavior | |------|----------| | prompt | Ask for account before each commit | | auto | Use configured account automatically | | off | Disable GitConnect hooks |

Configuration

GitConnect stores configuration in ~/.gitconnect/:

  • accounts.json - Your GitHub accounts
  • projects.json - Per-project settings
  • settings.json - Global settings
  • ssh/ - SSH keys (mode 0700)

How It Works

  1. Account Setup: Each account gets a unique SSH key pair
  2. Project Binding: Projects are bound to specific accounts
  3. Identity Switching: Git identity (name/email) is set per-commit
  4. SSH Key Selection: The correct SSH key is used automatically

Security

  • SSH keys stored with 0700 permissions
  • Config files use 0600 permissions
  • No credentials stored in git history
  • Local git identity only (not global)

Requirements

  • Node.js >= 16.0.0
  • Git
  • SSH (for key generation)

Environment Variables

| Variable | Description | |----------|-------------| | GITCONNECT_DEBUG | Set to true to enable debug logging | | HOME | User home directory (used for SSH key paths) |

License

MIT

Contributing

See CONTRIBUTING.md

Support