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-suggest

v1.0.1

Published

A lightweight command-line tool that automatically generates contextual, high-quality Git commit messages based on your staged code changes. Powered by GitHub Copilot CLI, it helps you write smarter commits with less typing.

Readme

git-suggest 🤖

A lightweight command-line tool that automatically generates and suggests contextual, high-quality Git commit messages based on your staged code changes. Powered by GitHub Copilot CLI, it helps you write smarter commits with less typing.

Features

  • AI-Powered: Uses GitHub Copilot CLI to generate intelligent commit messages
  • Contextual: Analyzes your staged changes to create relevant commit messages
  • Conventional Commits: Follows semantic commit message conventions
  • Shell Integration: Auto-complete support for git commit -m commands
  • Cross-Platform: Works on Windows, macOS, and Linux
  • Interactive Mode: Choose from suggestions or edit messages before committing
  • Type Detection: Automatically detects commit types (feat, fix, docs, etc.)

Quick Start

Installation

npm install -g git-suggest

Prerequisites

git-suggest requires:

The installation script will attempt to install missing prerequisites automatically.

Setup

  1. Authenticate with GitHub:

    gh auth login
  2. Setup shell integration:

    git-suggest setup
  3. Restart your terminal or source your shell config:

    source ~/.bashrc  # or ~/.zshrc

📖 Usage

Basic Usage

  1. Stage your changes:

    git add .
  2. Generate a commit message:

    git-suggest generate
  3. Or use the shorthand:

    git-suggest g

Interactive Mode

The tool will analyze your staged changes and present you with options:

📝 Suggested commit message:
"feat(auth): add OAuth2 login integration"

? What would you like to do?
❯ Use this message
  Edit this message  
  Generate another suggestion
  Cancel

Shell Integration

After running git-suggest setup, you can get autocomplete suggestions when typing:

git commit -m "feat(data-<TAB>
# Automatically suggests: "feat(data-validation): add email format validation"

Command Options

# Generate with specific type
git-suggest generate --type feat

# Generate with scope
git-suggest generate --type fix --scope auth

# Generate with custom prefix
git-suggest generate --prefix "hotfix:"

# Non-interactive mode
git-suggest generate --no-interactive

Available Commands

  • git-suggest generate - Generate commit message from staged changes
  • git-suggest setup - Setup shell integration
  • git-suggest check - Check if prerequisites are installed
  • git-suggest --help - Show help information

🎯 Commit Types

git-suggest supports all conventional commit types:

| Type | Description | |------|-------------| | feat | A new feature | | fix | A bug fix | | docs | Documentation only changes | | style | Changes that do not affect the meaning of the code | | refactor | A code change that neither fixes a bug nor adds a feature | | perf | A code change that improves performance | | test | Adding missing tests or correcting existing tests | | chore | Changes to the build process or auxiliary tools | | ci | Changes to CI configuration files and scripts | | build | Changes that affect the build system or external dependencies | | revert | Reverts a previous commit |

🔧 Configuration

Shell Support

git-suggest supports:

  • Bash (Linux, macOS, Windows WSL)
  • Zsh (macOS default, Linux)
  • Fish (Cross-platform)

Environment Variables

  • SHELL - Automatically detected shell type
  • HOME - User home directory for config files

📋 Examples

Example 1: New Feature

# You added a new login component
git add src/components/Login.tsx
git-suggest generate

# Output: "feat(auth): add login component with form validation"

Example 2: Bug Fix

# You fixed a validation bug
git add src/utils/validation.js
git-suggest generate

# Output: "fix(validation): handle empty email input correctly"

Example 3: Documentation

# You updated the README
git add README.md
git-suggest generate

# Output: "docs: update installation instructions"

🛠️ Development

Building from Source

# Clone the repository
git clone https://github.com/techuila/git-suggest.git
cd git-suggest

# Install dependencies
npm install

# Build the project
npm run build

# Link for local development
npm link

Running Tests

npm test

Linting

npm run lint

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Development Setup

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit your changes (git-suggest generate 😉)
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

📞 Support

🔗 Related Projects


Made with ❤️ by developers, for developers. Happy committing! 🎉