RomanHotsiy/commitgpt

Automatically generate commit messages using ChatGPT

TypeScript

1,590

31 commits

updated Jul 15, 2024

See the code

README

commitgpt

Automatically generate commit messages using ChatGPT.

commitgpt

How to use?

npx commitgpt

Get OpenAI api key

https://platform.openai.com/account/api-keys

Configuration (Optional)

you can create .commitgpt.json and/or .commitgpt-template config files in your project root.

.commitgpt.json file

default:

{
  "model": "text-davinci-003",
  "temperature": 0.5,
  "maxTokens": 2048,
}

this file can be used to change the openai model and other parameters.

.commitgpt-template file

default:

suggest 10 commit messages based on the following diff:
{{diff}}
commit messages should:
 - follow conventional commits
 - message format should be: <type>[scope]: <description>

examples:
 - fix(authentication): add password regex pattern
 - feat(storage): add new test cases

this file can be used to change the template used to generate the prompt request. you can modify the template to fit your needs.

How it works

  • Runs git diff --cached
  • Sends the diff to ChatGPT and asks it to suggest commit messages
  • Shows suggestions to the user

Credits

Some code and approaches were inspired by the awesome projects below:


Do you need API docs? Check out Redocly.

RomanHotsiy/commitgpt

Automatically generate commit messages using ChatGPT

TypeScript

1,590

31 commits

updated Jul 15, 2024

See the code

README

commitgpt

Automatically generate commit messages using ChatGPT.

commitgpt

How to use?

npx commitgpt

Get OpenAI api key

https://platform.openai.com/account/api-keys

Configuration (Optional)

you can create .commitgpt.json and/or .commitgpt-template config files in your project root.

.commitgpt.json file

default:

{
  "model": "text-davinci-003",
  "temperature": 0.5,
  "maxTokens": 2048,
}

this file can be used to change the openai model and other parameters.

.commitgpt-template file

default:

suggest 10 commit messages based on the following diff:
{{diff}}
commit messages should:
 - follow conventional commits
 - message format should be: <type>[scope]: <description>

examples:
 - fix(authentication): add password regex pattern
 - feat(storage): add new test cases

this file can be used to change the template used to generate the prompt request. you can modify the template to fit your needs.

How it works

  • Runs git diff --cached
  • Sends the diff to ChatGPT and asks it to suggest commit messages
  • Shows suggestions to the user

Credits

Some code and approaches were inspired by the awesome projects below:


Do you need API docs? Check out Redocly.

Project health

Latest release

2.0.0 · May 15, 2023

Releases this year

0

Significant stargazers

(top 24 of 32)

Thomas van Dongen

195 followers · starred Dec 2025

Boris Bügling

1,573 followers · starred Dec 2022

Bryan Mishkin

231 followers · starred Dec 2022

Naveen

202 followers · starred Jan 2023