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

gitbin

v0.2.1

Published

bin dotfiles and configs easily for use with git

Readme

gitbin

gitbin collects scattered dotfiles (or other files) into a central directory for usage with git. It uses the same command-line syntax as git for ease of use and replicates much of the same basic functionality.

Build Status

How to Install

not yet installable from npm

Download file into a directory on your node path

How to use

Initialize a directory

To begin using gitbin you must initialize a bin (directory) to be used as the local repository for your files. This adds the bin into the global gitbin register .globalstate.json

gitbin init

Add file to bin and track file

To add a file to bin head to the directory containing the file and run add command. This both copies the file to the current bin as well as adding the file to the bin local registry .trackedfiles.json.

gitbin add <file1> <file2> ...

Remove tracking from file

To stop tracking a file, meaning the file will not be part of any push or pull commands use the remove command. Note that this will not actually delete the file from the bin directory. This should be done with the unix rm command.

gitbin rm <file1> <file2> ...

List bins

gitbin allows usage of more than one bin. If you have initialized more than one bin (directory) you can list the bins gitbin is linked to (in the .globalstate.json) with:

gitbin bin

Delete bin

To remove a bin from being tracked by gitbin do:

gitbin bin -d <bin>

Deleting a bin will only remove it from the .globalstate.json file preventing gitbin from accessing this bin. The .trackedfiles.json is not unlinked from the directory so using the init command will both restore the bin and the files previously tracked. To seriously delete a bin, deleting it from gitbin statefiles and unlinking it via unix commands are necessary.

Checkout bin

To change the active bin which gitbin points to for it's other commands use:

gitbin checkout <bin>

where <bin> is the name of the bin as listed by the node gitbin bin command.

Push changes to bin

Once files have are being tracked by gitbin and changes to those files are made in the original file locations on the filesystem running the push command copies those files and replaces the files in the bin with the newer versions. Git can then be used to version and add to a repository.

gitbin push

Note: as protection against accidentally pushing to the wrong bin, the push command will yeild a warning announcing the current bin the push will be performed on and waiting user input.

Pull changes from bin to filesystem

NOT FUNCTIONAL YET This may or may not be implemented as it has the potential for grief. However, on a new machine it would be nice to pull from github then push to the filesystem. Perhaps file by file input regarding file replacement and path creation would mitigate potential information loss. An -f force switch could turn this caution feature off.

gitbin pull

Fetch single file from bin into filessytem

NOT FUNCTIONAL YET This is the cautious route, or when certain files are specific to another machine and just the shared files are needed to be pulled from the bin to the local filesystem.

gitbin fetch <file1> <filen>

Check status

This borrows that most handy git feature and lists all bins registered as well as marking the bin currently in use (the active bin) and the files registered to that bin.

gitbin status

Stuff to do:

  • make it so users can not add files in a bin directory
  • status should check time stamps for useful info
  • make sure arguements go in as array
  • Use errors to propagate non-error messages to be printed to terminal. This would help test coverage on printed messages.
  • If active bin deleted either a) bump the active true to next bin, b) make sure in tests user is warned about checking out a bin.