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

pushit-cli

v1.8.0

Published

The Ultimate Next-Gen Interactive GitHub Workflow CLI with AI Commits, Undo Manager, and Smart Staging.

Readme

npm version License

Overview

pushit-cli is a terminal-native, interactive interface for executing complex GitHub operations. It abstracts conventional git commands and GitHub REST API interactions into a centralized dashboard, allowing developers to manage repository state, orchestrate pull requests, and automate commit generation without leaving the terminal environment.

Installation

The package requires Node.js (v18.0.0 or higher) and a local Git installation.

npm install -g pushit-cli

Execution

The CLI exports two bin aliases: pushit and the shorthand pi.

# Launch the interactive interface
pi

On initial execution, the CLI will prompt for OAuth Device Flow authentication. The resulting token is encrypted and persisted locally for subsequent sessions.

Core Capabilities

Algorithmic Commit Generation

Integrates diff parsing to automatically infer conventional commit scopes and subjects (feat, fix, chore, etc.). This eliminates the manual overhead of writing commit messages while maintaining a pristine Git history.

Granular File Staging

Overrides the default git add . behavior by exposing a multiselect buffer interface. This enables precise selection of modified or untracked files for the staging area prior to commit execution.

State & History Management

Provides a wrapper around core Git reset and stash functionality:

  • Soft Resets: Revert the HEAD pointer while preserving the working tree and index.
  • Stash Orchestration: Isolate uncommitted changes into the stash stack and conditionally pop them via interactive selection.

Repository Administration

Direct integration with the GitHub API allows for bulk fetching of repository metadata, instant remote repository initialization, and automated .gitignore/License bootstrapping.

Architecture

The CLI is built on a modular, middleware-driven architecture to ensure scalability and fault tolerance:

  • Dynamic Command Registry: Discards monolithic routing in favor of ES6 dynamic imports. Command modules (src/commands/*.js) are lazy-loaded at runtime based on the selection vector.
  • Pre-flight Middleware: Commands export configuration objects (e.g., export const config = { requireGit: true };). The router intercepts execution, validating the current directory state against the configuration schema before yielding control.
  • Global Exception Handling: A centralized runtime wrapper catches synchronous and asynchronous exceptions, preventing orphaned background processes and gracefully restoring the primary event loop.

Development Setup

To run the CLI locally for development or contributions:

# 1. Clone the repository
git clone https://github.com/yourusername/pushit-cli.git
cd pushit-cli

# 2. Install dependencies
npm install

# 3. Link the package globally
npm link

# 4. Run the CLI
pi

License

Distributed under the MIT License. See LICENSE for more information.