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

git-helper-cli

v1.3.0

Published

A CLI tool to simplify common Git workflows

Readme

git-helper-cli

An AI-powered Git workflow CLI built with Ink/React for beautiful terminal UI. Combines everyday Git operations with Groq-powered commit message generation.

Features

  • AI commit messages — generates conventional commit messages from your diff using Groq
  • Interactive model picker — browse and select from 10 free Groq models in-terminal
  • Branch management — list, create, switch, and delete branches with safety checks
  • Stash management — save, pop, list, and apply stashes interactively
  • Rebase — rebase with conflict detection, abort, and continue support
  • Reset — soft/mixed/hard reset with confirmation and file previews
  • Cherry-pick — interactive branch and commit picker
  • Safe by default — dangerous operations always confirm before executing

Installation

npm install -g git-helper-cli

Quick Setup

1. Add your Groq API key (free at console.groq.com)

git-helper config --set-key gsk_your_key_here

2. Pick an AI model

git-helper config --model

This opens an interactive picker — use arrow keys to browse, Enter to select.

3. Start using it

git-helper push --ai

Commands

status (default)

Show a rich git status dashboard — branch info, staged/unstaged files, recent commits.

git-helper
git-helper status

push [message]

Stage all changes, commit, and push.

# AI-generated commit message
git-helper push --ai

# Manual commit message
git-helper push "feat(auth): add OAuth integration"

# Target a specific branch
git-helper push --ai --branch feature/my-branch

# Preview without executing
git-helper push --ai --dry-run

commit-msg

Preview an AI-generated commit message without committing anything.

git-helper commit-msg

pull

Pull latest changes from the remote.

git-helper pull
git-helper pull --branch main

branch <subcommand> [name]

Manage branches.

# List all branches
git-helper branch list

# Create a new branch
git-helper branch create my-feature

# Create and immediately switch
git-helper branch create my-feature --switch

# Switch branches (interactive picker if name omitted)
git-helper branch switch
git-helper branch switch main

# Delete a branch
git-helper branch delete old-branch           # only if merged
git-helper branch delete old-branch --force   # force delete unmerged
git-helper branch delete old-branch --yes     # skip confirmation

stash <subcommand>

Manage stashes.

# Stash current changes (includes untracked files)
git-helper stash save
git-helper stash save "work in progress"

# Apply and remove the top stash
git-helper stash pop

# List all stashes
git-helper stash list

# Apply a specific stash by index (keeps it in the list)
git-helper stash apply 0
git-helper stash apply 0 --yes   # skip confirmation

rebase [target]

Rebase the current branch.

# Rebase onto upstream (e.g. origin/main)
git-helper rebase

# Rebase onto a specific target
git-helper rebase origin/main

# Skip confirmation
git-helper rebase origin/main --yes

# Continue or abort an in-progress rebase
git-helper rebase --continue
git-helper rebase --abort

Conflicts are detected automatically — the tool shows which files need resolution and tells you what to run next.


reset [ref]

Reset HEAD to a commit reference.

# Uncommit last commit, keep changes staged
git-helper reset --soft

# Uncommit last commit, keep changes unstaged (default)
git-helper reset

# Discard all changes permanently (always confirms, --yes has no effect)
git-helper reset --hard

# Reset to a specific ref
git-helper reset HEAD~2 --soft
git-helper reset abc1234

| Mode | Changes | Safe to skip confirm? | |---|---|---| | --soft | Stay staged | Yes (--yes) | | --mixed | Become unstaged | Yes (--yes) | | --hard | Permanently discarded | Never |


cherry-pick

Interactively cherry-pick a commit from another branch.

# Pick source branch interactively, then pick commit
git-helper cherry-pick

# Go straight to the commit picker for a branch
git-helper cherry-pick --from feature/my-branch

Shows the last 20 commits from the source branch with a diff preview before confirming.


config

Manage API keys and model selection.

# Set project API key (auto-added to .gitignore)
git-helper config --set-key gsk_your_key

# Set global API key (fallback for all repos)
git-helper config --set-global-key gsk_your_key

# Interactive model picker (project-scoped)
git-helper config --model

# Interactive model picker (global)
git-helper config --global-model

# Show current config
git-helper config --show

# List all available models
git-helper config --list-models

# Reset configs
git-helper config --reset          # project config
git-helper config --reset-global   # global config

Available Models

All models are free via Groq. Select interactively with git-helper config --model.

| Model | Description | Speed | |---|---|---| | llama-3.3-70b-versatile ⭐ | Best overall | Fast | | llama-3.1-8b-instant | Ultra-fast, lightweight | Ultra-fast | | meta-llama/llama-4-scout-17b-16e-instruct | Latest Meta Llama 4 | Fast | | moonshotai/kimi-k2-instruct | 131k context window | Medium | | moonshotai/kimi-k2-instruct-0905 | 262k context window | Medium | | openai/gpt-oss-20b | OpenAI OSS 20B | Fast | | openai/gpt-oss-120b | Most capable | Medium | | groq/compound-mini | Groq Compound Mini | Fast | | groq/compound | Groq Compound | Medium | | qwen/qwen3-32b | Qwen 3 32B | Medium |

⭐ Default


Configuration Priority

  1. GROQ_API_KEY environment variable
  2. Project config (.git-helper-config.json in current directory)
  3. Global config (~/.git-helper-global.json)

Project config is automatically added to .gitignore when you set a key with --set-key.


Development

git clone https://github.com/your-username/git-helper-cli
cd git-helper-cli
npm install
npm run build
npm link
# Run without building
npm start -- push --ai
npm start -- branch list

Tech Stack


License

MIT