AI generates git commit messages on your behalf.
MIT License
AIがあなたに代わってgitのコミットメッセージを生成します。
インストール
pnpm add -g @hirotomoyamada/ai-commit
OpenAIから、あなたのAPIキーを取得します。
ai-commit
にAPIキーを設定します。
ai-commit config set apiKey=<your token>
インストールされているバージョンは、次にように確認します。
ai-commit --version
最新バージョンをインストールするには、次のように実行します。
pnpm up -g @hirotomoyamada/ai-commit --latest
コミットメッセージを生成するには、次にように実行します。
ai-commit
[!TIP]
ai-commit
は、省略したエイリアスのaic
を提供しています。
ai-commit
を実行すると、2つの条件分岐が発生します。
ステージ上のファイルが存在している場合
ステージ上にない変更されたファイルが存在している場合
[!TIP]
現在のステージ上にない変更されたファイルをすべてステージ上に追加する(
git add .
)場合は、--all
または-a
を設定します。
コミットメッセージの候補を変更する場合は、オプションに--generate <i>
または-g <i>
を設定します。デフォルトは、1
が設定されています。
ai-commit --generate 5
[!NOTE]
候補は、最大
5
まで設定することができます。
プロジェクトの多くは、Conventional Commitsのコミットメッセージのルールを設けているでしょう。もし、このルールを適応する場合は、--type
または-t
にconventional
を設定します。
ai-commit --type conventional
[!NOTE]
コンフィグ上で設定することで、常にConventional Commitsのコミットメッセージのルールを適応することができます。
コンフィグを取得するには、次のように実行します。
ai-commit config get
特定の項目だけ取得する場合は、次のように実行します。
ai-commit config get generate locale
コンフィグに値を設定するには、次のように実行します。
ai-commit config set generate=5 type=conventional
コンフィグの値をリセットするには、次のように実行します。
ai-commit config reset
項目 | デフォルト | 説明 |
---|---|---|
apiKey |
undefined |
OpenAIで生成したAPIキー |
generate |
1 |
生成するコミットメッセージの数 |
locale |
en |
コミットメッセージの生成で使用するロケール |
timeout |
10000 |
OpenAI へのネットワークリクエストのタイムアウト(ミリ秒) |
type |
undefined |
生成するコミットメッセージのタイプ |
model |
gpt-4 |
コミットメッセージの生成で使用するOpenAI のモデル
|
maxLength |
50 |
生成されるコミットメッセージの最大文字数 |
プロンプトを取得するには、次のように実行します。
ai-commit prompt get
デフォルトのプロンプトは、下記の通りです。
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 }}
や{{ maxLength }}
は、コンフィグで設定した値が挿入されます。
プロンプトを更新するには、次のように実行します。
ai-commit prompt set
プロンプトをリセットするには、次のように実行します。
ai-commit prompt reset
MIT © Hirotomo Yamada