Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

imshaiknasir/ai-commit-message

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

25 Commits

Repository files navigation

πŸ€– ai-commit-message: Elevate Your Git Commits with AI Magic! ✨

Node.js Version License: MIT

Welcome to ai-commit-message! πŸš€ Transform your git commit experience with AI-powered commit messages. Whether you're using "ai commit message" or "git ai", our tool ensures your commit messages are meaningful and follow the Conventional Commits format.

πŸŽ₯ Demo

Demo of AI Commit Message

✨ Features

  • 🧠 AI-Powered: Generate insightful commit messages with "ai commit".
  • 🎯 Conventional Commits: Adheres to the Conventional Commits standard.
  • πŸš€ Auto-Commit: Use "ai commit message" to auto-commit your changes.
  • ⚑ Fast & Lightweight: Experience seamless integration with "git ai".
  • πŸ” Secure: Manage your API keys securely.
  • 🎨 Beautiful CLI: Enjoy a colorful command-line interface.

πŸš€ Installation

npm install -g ai-commit-message

πŸ”‘ Setup

  1. Obtain your Gemini API key from Get a Gemini API key.

  2. Configure the API key for "ai commit message":

ai-commit-message config <your-api-key>

Alternatively, set the GEMINI_API_KEY environment variable:

export GEMINI_API_KEY=<your-api-key>

πŸ’« Usage

Generate a Commit Message with "ai commit"

# Stage your changes first
git add .
# NOW, Generate a commit message
ai-commit-message

Generate and Auto-Commit with "ai commit message"

ai-commit-message -c

CLI Options for "ai commit message"

Commands:
 config <key> Configure Gemini API key
 generate [options] Generate commit message
 help [command] display help for command

πŸ› οΈ How "ai commit message" Works

  1. Verifies you're in a git repository.
  2. Checks for staged changes.
  3. Sends the diff to Gemini Pro API using gemini-1.5-flash-8b.
  4. Generates a conventional commit message.
  5. Displays the message or auto-commits (with -c flag).

🧩 Technical Details

  • Utilizes the gemini-1.5-flash-8b model for generating commit messages.
  • Implements Conventional Commits specification.
  • Built with modern ES modules.
  • Handles errors gracefully.
  • Secure configuration management using conf.

πŸ“¦ Dependencies

  • @google/generative-ai - Google's Gemini AI API.
  • commander - CLI framework.
  • simple-git - Git operations.
  • conf - Configuration management.
  • chalk - Terminal styling.

πŸ”§ Requirements

  • Node.js >= 18.0.0
  • Git installed and configured
  • Gemini API key for "ai commit message"

🀝 Contributing to "ai commit message"

Contributions are welcome! Feel free to:

  • πŸ› Report bugs
  • πŸ’‘ Suggest features
  • πŸ”§ Submit PRs

πŸ“ License

MIT License - feel free to use "ai commit message" in your projects!


Made with ❀️ and powered by πŸ€– and gemini-1.5-flash-8b

About

AI-powered git commit message generator using Gemini

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /