English | 日本語
-
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>
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
To generate a commit message, run the following:
ai-commit
Tip
ai-commit
provides a shortened alias aic
.
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.
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.
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 |
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
MIT © Hirotomo Yamada