Package Exports
- @hirotomoyamada/ai-commit
- @hirotomoyamada/ai-commit/package.json
Readme
English | 日本語
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 --versionTo install the latest version, run the following:
pnpm up -g @hirotomoyamada/ai-commit --latestUsage
To generate a commit message, run the following:
ai-commit[!TIP]
ai-commitprovides 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--allor-aoption.
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
5suggestions.
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 getTo get specific items only, run the following:
ai-commit config get generate localeTo set values in the configuration, run the following:
ai-commit config set generate=5 type=conventionalTo 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 getThe 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 setTo reset the prompt, run the following:
ai-commit prompt resetLicense
MIT © Hirotomo Yamada