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

shadow-git

v1.1.0

Published

A secondary git repository for tracking files excluded from your main repo

Readme

shadow-git

A secondary git repository for tracking files excluded from your main repo.

Shadow-git (sgit) creates a .sgit/ repository alongside your .git/ directory. Files tracked by sgit are invisible to your main git repo and vice versa. This is useful for personal notes, local configs, scratch files, or anything you want versioned but not in the main repo.

Installation

npm install -g shadow-git

Optionally, install shell completions (bash, zsh, or fish):

sgit track completion install

Quick Start

sgit track init                        # Initialize shadow repo
sgit track add notes/todo.md           # Start tracking a file
sgit track add --adopt config.local    # Move a main-git file to shadow tracking
sgit track list                        # List tracked paths
sgit status                            # Git status in shadow repo
sgit commit -m "update notes"          # Commit to shadow repo

Commands

| Command | Description | |---|---| | sgit track init | Initialize shadow repository | | sgit track clone <url> | Clone a shadow repository from a remote URL | | sgit track add <paths...> | Start shadow-tracking paths | | sgit track add --adopt <paths...> | Move main-git-tracked files to shadow tracking | | sgit track remove <paths...> | Stop shadow-tracking paths | | sgit track list | List all shadow-tracked paths | | sgit track sync | Regenerate exclude files from manifest | | sgit track verify | Validate staged files against manifest | | sgit track ignore <paths...> | Ignore paths within tracked directories | | sgit track unignore <paths...> | Stop ignoring paths within tracked directories | | sgit track destroy | Remove shadow repository entirely | | sgit track completion [install] | Print or install shell completion scripts |

Any non-track command is forwarded to git using the shadow repository (e.g. sgit status, sgit log, sgit diff).

How It Works

  • .sgit/ — A git repository with core.worktree pointing to your project root
  • .sgit.json — Manifest listing all shadow-tracked paths
  • .git/info/exclude — Updated to hide shadow-tracked files from main git
  • .sgit/info/exclude — Configured to only see shadow-tracked files
  • Pre-commit hooks — Verify that staged files belong to the correct repository

License

MIT