@hirotomoyamada/ai-commit
v1.0.6
Published
AI generates git commit messages on your behalf.
Downloads
68
Maintainers
Readme
AI Commit
AI generates git commit messages on your behalf.
Table of Contents
Setup
Install
pnpm add -g @hirotomoyamada/ai-commit
Obtain your API key from OpenAI.
Set your API key in
ai-commit
.ai-commit config set apiKey=<your token>
Upgrading
To check the installed version, run the following:
ai-commit --version
To install the latest version, run the following:
pnpm up -g @hirotomoyamada/ai-commit --latest
Usage
To generate a commit message, run the following:
ai-commit
[!TIP]
ai-commit
provides a shortened aliasaic
.
When you run ai-commit
, two scenarios may occur:
If there are files staged:
- AI detects the differences in the staged files and generates a commit message.
- Once you review and approve the generated commit message, it will be committed.
If there are changed files not yet staged:
- A list of changed files will be displayed.
- You select the files to add to the stage from the list.
- AI detects the differences in the newly staged files and generates a commit message.
- Once you review and approve the generated commit message, it will be committed.
[!TIP]
To add all changed files not currently staged to the stage (with
git add .
), set the--all
or-a
option.
Changing the Commit Message Suggestions
To change the commit message suggestions, set the --generate <i>
or -g <i>
option. The default is set to 1
.
ai-commit --generate 5
[!NOTE]
You can set up to a maximum of
5
suggestions.
Applying Conventional Commits
Many projects have rules for commit messages based on Conventional Commits. If you want to apply these rules, set conventional
with the --type
or -t
option.
ai-commit --type conventional
[!NOTE]
By setting it in the configuration, you can always apply the Conventional Commits commit message rules.
Configuration
To get the configuration, run the following:
ai-commit config get
To get specific items only, run the following:
ai-commit config get generate locale
To set values in the configuration, run the following:
ai-commit config set generate=5 type=conventional
To reset the configuration values, run the following:
ai-commit config reset
| Item | Default | Description |
| ----------- | ----------- | ------------------------------------------------------------------------------------------------ |
| apiKey
| undefined
| API key generated from OpenAI |
| generate
| 1
| Number of commit messages to generate |
| locale
| en
| Locale used for generating commit messages |
| timeout
| 10000
| Timeout for network requests to OpenAI
(milliseconds) |
| type
| undefined
| Type of commit message to generate |
| model
| gpt-4
| OpenAI
model used for generating commit messages |
| maxLength
| 50
| Maximum character length of the generated commit message |
Prompt
To get the prompt, run the following:
ai-commit prompt get
The default prompt is as follows:
Generate a concise git commit message written in present tense for the following code diff with the given specifications below:
Message language: {{ locale }}
Commit message must be a maximum of {{ maxLength }} characters.
Exclude anything unnecessary such as translation. Your entire response will be passed directly into git commit.
{{ commitType }}
The output response must be in format:
{{ commitRule }}
[!NOTE]
{{ locale }}
and{{ maxLength }}
will be replaced with the values set in the configuration.
To update the prompt, run the following:
ai-commit prompt set
To reset the prompt, run the following:
ai-commit prompt reset
License
MIT © Hirotomo Yamada