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

gcm-agent

v1.0.4

Published

AI-powered git commit message generator for the terminal

Readme

gcm — Generate Commit Message

AI-powered git commit message generator. Reads your staged diff, understands your changes, and writes a senior-level conventional commit message — not just the filename, the actual intent.

Install

npm install -g gcm-agent

First Run

The first time you run gcm, it automatically walks you through setup in the terminal — no manual config needed:

┌  Welcome to gcm! Let's get you set up.
│
◆  Pick a provider
│  ● Groq          (free)
│  ○ Ollama        (local, no key needed)
│  ○ OpenAI        (paid)
│  ○ Anthropic     (paid)
│  ○ Gemini        (paid)
│
◆  Paste your API key
│  Get one free at console.groq.com
│  › ________________
│
└  ✔ Config saved to ~/.gcm/config.json

After setup it goes straight into generating your commit message.

Usage

git add .
gcm

The AI reads your staged diff, understands what changed and why, and generates a commit message. You then choose:

  • Yes — commit with the message
  • Edit — open in your editor to tweak first
  • Regenerate — generate a new message
  • Quit — exit without committing

Example Output

┌──────────────────────────────────────────────────────┐
│ refactor(auth): simplify token validation logic      │
│                                                      │
│ - replace manual JWT decode with jose library        │
│ - remove redundant session check in middleware       │
│ - fix edge case where expired tokens weren't caught  │
└──────────────────────────────────────────────────────┘

Commands

gcm                       # generate a commit message from staged changes
gcm init                  # re-run setup (switch provider or update API key)
gcm config                # view your current config
gcm config --reset        # delete config and start over
gcm --help (or -h)        # show help
gcm --version (or -v)     # show version

Supported Providers

| Provider | Free | API Key | |---|---|---| | Groq | ✅ Yes | Yes — console.groq.com | | Ollama | ✅ Local | No key needed | | OpenAI | ❌ Paid | Yes — platform.openai.com | | Anthropic | ❌ Paid | Yes — console.anthropic.com | | Gemini | ❌ Paid | Yes — aistudio.google.com |

Large Commits

If you stage too many files at once, gcm will warn you and suggest splitting:

⚠  Large diff detected — truncated for AI processing.
   Consider splitting this into smaller focused commits:
   1. Unstage everything    git restore --staged .
   2. Stage one concern     git add <specific files>
   3. Commit it             gcm
   4. Repeat for each concern

One commit should have one reason to exist. If you can't describe it in a single subject line without using "and" — split it.

Config

Config is saved at ~/.gcm/config.json and managed automatically. You never need to edit it manually.

To switch providers or update your API key at any time:

gcm init