🤖

JetBrains AI Assistantのコミットメッセージ生成時にConventional Commitsを生成するプロンプト

2024/05/13に公開

JetBrains AI AssistantにはGitのコミット対象のDiffからコミットメッセージを生成する機能が実装されています。

普通に生成するとConventional Commitsのプレフィックスが付くこともなく、ただメッセージが生成されます。

IntelliJ 2024.1からはこの生成するコミットメッセージに対して、設定からプロンプト設定が可能になりました。

https://blog.jetbrains.com/blog/2024/04/04/jetbrains-ai-assistant-2024-1-updates/#commit-message-generation-custom-prompts

下記のようなプロンプトにすると、内容に合わせたプレフィックスを付けてくれます。

Avoid overly verbose descriptions or unnecessary details.
Start with a short sentence in imperative form, no more than 50 characters long.
Please write your commitments in Japanese.

Add a prefix based on the following Type to the short sentence and separate them with a colon.
ex.) feat: add a function

Type
Must be one of the following:

build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
docs: Documentation only changes
feat: A new feature
fix: A bug fix
perf: A code change that improves performance
refactor: A code change that neither fixes a bug nor adds a feature
style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
test: Adding missing tests or correcting existing tests
  • 上段3行は基本的なコミットメッセージ生成への指示
  • Please write your commitments in Japanese.は日本語で生成したい時には追加する
  • 4行目以下がコミットメッセージ規約に関する追加したプロンプト
  • TypeについてはAngularの規約をそのまま拝借

https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#type

featやstyle、docsあたりはタイプに合わせたコミット単位であれば、けっこうな精度でこちらが考えているタイプを付けてくれました。

ちなみにこの記事自体のコミットメッセージを生成すると

docs: JetBrains AI Assistantのコミットメッセージ生成についての新たな記事を追加

と出ました。

特に問題無さそうですね。Markdownファイルに文章を書いているのでdocsも合ってます。

以上、JetBrains AI Assistantを使ってのコミットメッセージ生成についてのご紹介でした。

Discussion