@hirotomoyamada/ai-commit
TypeScript icon, indicating that this package has built-in type declarations

1.0.6 • Public • Published

AI Commit

NPM Minizip NPM Downloads GitHub Github Stars

AI generates git commit messages on your behalf.

English | 日本語

Table of Contents

Setup

  1. Install

    pnpm add -g @hirotomoyamada/ai-commit
  2. Obtain your API key from OpenAI.

  3. 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 alias aic.

When you run ai-commit, two scenarios may occur:

  1. 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.
  2. 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

Package Sidebar

Install

npm i @hirotomoyamada/ai-commit

Weekly Downloads

17

Version

1.0.6

License

MIT

Unpacked Size

45 kB

Total Files

28

Last publish

Collaborators

  • hirotomoyamada