TimHeuer.Git.AICommit 1.0.0-pre-g08de40af54

This is a prerelease version of TimHeuer.Git.AICommit.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet tool install --global TimHeuer.Git.AICommit --version 1.0.0-pre-g08de40af54
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local TimHeuer.Git.AICommit --version 1.0.0-pre-g08de40af54
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=TimHeuer.Git.AICommit&version=1.0.0-pre-g08de40af54&prerelease
                    
nuke :add-package TimHeuer.Git.AICommit --version 1.0.0-pre-g08de40af54
                    

AICommit

This is not my idea (original Nutlope/aicommits), but I just created one to use Azure OpenAI instead of the base OpenAI resources and make it a .NET global tool.

Requirements

You will need an Azure OpenAI resource. From the resource grab the following values and set as configuration variables on your machine.

  • AZURE_OPENAI_KEY - the key from your provisioned resource
  • AZURE_OPENAI_ENDPOINT - the endpoint URI from the provisioned resource
  • AZURE_MODEL_DEPLOYMENT - the name you gave to one of your Azure OpenAI model deployments

These can be set as either Environment variables or in the user app local data directory under .aicommit/appsettings.json in the following format:

{
  "AZURE_OPENAI_KEY": "your api key",
  "AZURE_OPENAI_ENDPOINT": "your endpoint",
  "AZURE_MODEL_DEPLOYMENT": "your name of your model deployment"
}

The location for this would be in:

  • Windows - %localappdata% which is usually C:\Users\[username]\AppData\Local
  • macOS = /Users/[username]/.local/share

Installation

To install use the dotnet CLI command:

dotnet tool install -g TimHeuer.Git.AICommit

Usage

From a git repository if there are staged changes, just run aicommit from the repository. It will attempt to generate a message for you and offer you to see it before using for the commit message.

Data Sharing

Indeed this does take the text of your git diff output and send it to Azure OpenAI for completion. You should not use this if you have sensitive information.

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.0.15-pre 171 5/3/2023
1.0.13-pre 143 3/28/2023
1.0.12-pre 131 3/24/2023
1.0.11-pre 132 3/23/2023
1.0.10-pre 130 3/23/2023
1.0.8-pre 144 2/20/2023
1.0.3-pre 132 2/20/2023
1.0.1-pre-gb297a7cb69 124 2/18/2023
1.0.0-pre-g08de40af54 123 2/18/2023
0.1.0-pre-g1270646a6f 140 2/18/2023
0.0.4-pre-g21715fe09f 131 2/18/2023
0.0.4-pre-g0f7be50c0c 125 2/18/2023
0.0.3.2-pre 127 2/18/2023
0.0.3.1-pre 123 2/18/2023
0.0.3-pre 133 2/18/2023
0.0.2.4-pre 129 2/18/2023
0.0.2.3-pre 132 2/17/2023
0.0.2.2-pre 128 2/17/2023
0.0.2.1-pre 128 2/17/2023
0.0.1.1-pre 131 2/17/2023
0.0.1-pre 130 2/17/2023

Changed where Azure OpenAI config can be stored