salehhashemi/laravel-intelli-git

An intelligent Git helper package for Laravel applications. It utilizes OpenAI's GPT to analyze your Git repository, providing features such as automatic generation of commit messages based on staged changes.

v0.1.0 2023-05-18 11:13 UTC

This package is auto-updated.

Last update: 2024-10-21 13:33:47 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions StyleCI

An intelligent Laravel package to generate git commit messages using OpenAI.

Header Image

Features

The following commands are implemented in this package:

  • ai:commit - Generate a commit message and description using AI

Stay tuned for future updates as we continue to expand the capabilities of the Laravel Intelli Git package.

Installation

  1. Install the package via composer:

    composer require salehhashemi/laravel-intelli-git
    
  2. Publish the configuration file:

    php artisan vendor:publish --provider="Salehhashemi\LaravelIntelliGit\LaravelIntelliGitServiceProvider"
    
  3. Add your OpenAI API key to the .env file:

    OPEN_AI_KEY=your_openai_key
    
  4. Optionally, you can change the default model used by OpenAI in the .env file:

    OPEN_AI_MODEL=gpt-4
    

Usage

ai:commit

php artisan ai:commit

This command will automatically check for staged and unstaged changes in your git repository. If unstaged changes are found, it will ask you to stage them. Then, it will generate a commit message and description using OpenAI.

Examples

ai:commit

Here's an example of the command in action:

$ php artisan ai:commit
No staged changes found.
There are unstaged changes. Would you like to stage all changes? (yes/no) [no]:
> yes
All changes have been staged.
Generating commit message with AI, please wait...

Here are the AI-generated commit title and description:
Title
Refactor User model and improve validation
Description
This commit refactors the User model, specifically improving the validation logic by adding custom validation rules. It also includes updates to the relevant tests.

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.