Skip to main content

AI-based Commit Generator Tool

Project description

gitnote ✍️

gitnote is a CLI tool that uses AI to automatically generate meaningful Git commit messages based on staged changes.

   

Overview 🔎

gitnote is an intelligent CLI tool designed for automatically generating commit messages with the help of artificial intelligence. This tool analyzes the staged changes in your Git repository to assist you in writing more relevant and optimized commit messages, improving your Git workflow.

 

Features ✨

  • Smart Commit Message Suggestion: Powered by Hugging Face Hub, this tool suggest commit messages tailored to your staged changes.
  • Clear and Enhanced Display: Uses the rich package to beautifully render staged changes in the CLI.
  • User-Friendly CLI Interface: Built with typer, gitnote offers an intuitive and easy-to-use command-line interface.

 

Installation 📥

To install gitnote, use pip:

pip install gitnote

 

Initial Setup ⚡

Before using gitnote, take your token from Hugging Face API token (Recommended first!) and run the following command to set the token :

gitnote set-token

You can also set the token like this :

gitnote set-token "<token>"

Note: Don't forget put token inside double quotes on second way!

 

Usage 💡

Available Commands

  • gitnote diff Displays the staged changes in a visually enhanced format. If no changes are staged, the following message is displayed:

    No changes to display.
    
  • gitnote generate Takes the staged changes (if any) and sends them to the Hugging Face Hub to generate an AI-driven commit message. If there are no staged changes, you’ll see:

    ⚠️ No staged changes found! Please make sure you've staged your changes using 'git add' and try again.
    

Help Command

For a full list of commands and usage information, use:

gitnote --help

 

Dependencies 🛠️

This project is built with the following key packages:

  • typer: For creating a command-line interface (CLI)
  • huggingface-hub: For connecting to Hugging Face AI models to generate intelligent commit messages
  • rich: For beautifully rendering the staged changes in the CLI

The complete list of dependencies can be found in the requirements.txt file.

 

gitnote preview :

gitntoe_preview

License 🧾

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitnote-0.1.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitnote-0.1.1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file gitnote-0.1.1.tar.gz.

File metadata

  • Download URL: gitnote-0.1.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for gitnote-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fc6722938236a9a0c21aee233b2db94d1880e0737d1682a7427e6b69980e3cb0
MD5 e09bef5c720855c47912110d1b85f962
BLAKE2b-256 a97acdba3327eb6e3869ebc787a6631181a316012dd8c4d253ef8ca05e0df8ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitnote-0.1.1.tar.gz:

Publisher: release.yaml on MosTafa2K/gitnote

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gitnote-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gitnote-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for gitnote-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 29d870b832f111dde356eb54f39550d872b7844754b383a991c3f9d88d6e3222
MD5 2b56bcf880aef22d8a275c7330b6ddef
BLAKE2b-256 ef7b93973e7b962aea4b46a9914738d765e716b39cb46be5236fa656d972d9d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitnote-0.1.1-py3-none-any.whl:

Publisher: release.yaml on MosTafa2K/gitnote

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page