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

comit-cli

v0.2.1

Published

Interactive git commit tool with conventional commit support

Readme

Comit

A simple git CLI tool with conventional commit message support and branch management

NOTE: This is a work in progress, please check back for updates and additional features

Installation

npm i comit-cli

Usage

comit            # Start interactive commit process
comit br         # Branch switcher with stash management
comit nuke       # Undo all unpushed commits

Features

  • 🎯 File-by-file commit tagging - Review and commit each changed file individually with full control
  • 📝 Conventional commit format - 11 commit types following conventional commit standards
  • 👀 Visual diff preview - See exactly what changed before committing
  • 🔄 Commit grouping - Group multiple files under the same commit message
  • ♻️ Commit reuse - Reuse commit messages from earlier in the session
  • ✏️ Interactive editing - Review and edit all commit messages before finalizing
  • 🌿 Branch switcher - Quick branch switching with automatic stash management and branch deletion
  • 💥 Nuke mode - Safely undo all unpushed commits with confirmation
  • 📋 Changeset detection - Automatically checks for changesets (configurable)

Commit Types

Comit supports the following conventional commit types:

  • feat - A new feature
  • fix - A bug fix
  • docs - Documentation only changes
  • style - Code style changes (formatting, missing semi colons, etc)
  • refactor - Code change that neither fixes a bug nor adds a feature
  • perf - Performance improvement
  • test - Adding or updating tests
  • build - Changes to build system or dependencies
  • ci - Changes to CI configuration
  • chore - Other changes that don't modify src or test files
  • revert - Reverts a previous commit

Workflow

  1. Review changes - Comit shows all changed files and detects unpushed commits
  2. Changeset check - Optionally checks for changesets and JIRA tickets
  3. File-by-file review - For each file:
    • View the diff
    • Select commit type
    • Add optional scope
    • Write commit message
    • Or reuse a previous commit from the session
  4. Review & edit - Review all commits, edit any you want to change
  5. Commit - Execute all commits
  6. Push - Optionally push to origin

Commands

Start commit process

comit

Walk through the interactive commit process for all changed files.

Branch switcher

comit br

Interactive branch menu for quick branch switching with intelligent stash management. Features:

  • Quick switching - Select any local branch by number
  • Auto-stash - Automatically stashes uncommitted changes (including untracked files) when switching
  • Smart restore - Prompts to restore stashed changes when returning to a branch
  • Branch deletion - Delete branches with flexible syntax:
    • D1 - Delete branch 1
    • D1-5 - Delete range of branches (1 through 5)
    • D1,3,5 - Delete specific branches (1, 3, and 5)
    • Mix syntax: D1-3,5,7-9
  • Protected branches - Cannot delete main, master, or current branch
  • Confirmation - Always prompts before deleting with summary
  • Error handling - Shows which deletions succeed/fail without stopping

The menu loops after deletions, letting you continue managing branches without restarting.

Nuke unpushed commits

comit nuke

Undo all unpushed commits on the current branch. Changes are preserved as unstaged modifications. This is useful when you want to recommit your work with different messages or groupings.

Tips

Commit Process

  • Type nuke at any prompt to quickly access nuke mode
  • Type s to skip a file during commit process
  • Type q to quit the commit process
  • Use p1, p2, etc. to reuse previous commit messages from the session
  • Use edit1, edit2, etc. during review to modify specific commits

Branch Switcher

  • Branch numbers correspond to the list shown in the menu
  • Delete commands are case insensitive (d1 or D1 both work)
  • Stashes are automatically named after the branch they came from
  • The menu stays open after deletions for batch operations
  • Type Q or q to exit the branch menu

Development

npm install      # Install dependencies
npm run build    # Compile TypeScript
npm run dev      # Watch mode for development

Requirements

  • Node.js >= 16.0.0
  • Git 2.0+

Platform Support

  • macOS (full support including audio)
  • Linux (full support)
  • Windows/WSL (full support)

Clipboard functionality works cross-platform via clipboardy.

Future Configuration

Future versions will support a .comitrc configuration file for:

  • Custom commit types
  • Pre-commit hooks
  • Configurable checks
  • Custom colors and themes

License

MIT