New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

git-suggest

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

git-suggest

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.

latest
Source
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

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:

  • Git
  • GitHub CLI
  • GitHub Copilot CLI
  • GitHub Copilot subscription

The installation script will attempt to install missing prerequisites automatically.

Setup

  • Authenticate with GitHub:

    gh auth login
    
  • Setup shell integration:

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

    source ~/.bashrc  # or ~/.zshrc
    

📖 Usage

Basic Usage

  • Stage your changes:

    git add .
    
  • Generate a commit message:

    git-suggest generate
    
  • 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:

TypeDescription
featA new feature
fixA bug fix
docsDocumentation only changes
styleChanges that do not affect the meaning of the code
refactorA code change that neither fixes a bug nor adds a feature
perfA code change that improves performance
testAdding missing tests or correcting existing tests
choreChanges to the build process or auxiliary tools
ciChanges to CI configuration files and scripts
buildChanges that affect the build system or external dependencies
revertReverts 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

  • Fork the repository
  • Create your feature branch (git checkout -b feature/amazing-feature)
  • Make your changes
  • Commit your changes (git-suggest generate 😉)
  • Push to the branch (git push origin feature/amazing-feature)
  • Open a Pull Request

📄 License

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

🙏 Acknowledgments

📞 Support

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

Keywords

git

FAQs

Package last updated on 07 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts