Sometimes you may feel overwhelmed or uninspired to write commit messages for the changes you make in a codebase, but not anymore, thanks to aicommits!
All of us know the importance of commit message conventions, but writing a meaningful message for every change can be a tedious and time-consuming process, which is why tools like aicommits are becoming increasingly popular.
aicommit
is a new tool that uses the OpenAI API to look at your code and automatically make a commit message that is concise and relevant about the changes that you made to the code.
So let’s see how you can install aicommits
on your computer to write a meaningful commit message in no time.
Table of Contents
Install aicommits
For this, you first need to have NodeJS v14 or later and the npm package manager installed on your machine. If it is already there, then you can skip this step and proceed to Step 2 of this article to install “aicommits” from the npm package manager.
Step 1: Install NodeJS and npm
NodeJS and npm can be easily found in the official repository of Ubuntu or Debian, but the point is that you will find the older version of NodeJS, which will not work with this tool, so to get the required version of NodeJS, execute the following command :
$ curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt install -y nodejs
Once the installation is done, you can test for the presence of nodejs v14.x and the latest npm version by executing the next line of command into your terminal.
$ node -v && npm --version
Step 2: Install aicommits
After confirming nodejs and npm, let’s run another command to install the aicommit tool, which will suggest commit messages for your changes to the code automatically when you execute “aicommit”.
$ sudo npm install -g aicommits
Step 3: Get OpenAI API key
For this purpose, you need to go to https://platform.openai.com/account/api-keys to get the API key. If you already have an account with OpenAI, you can use that or create a new one.
Once you have the API key, run the following command, replacing <your_token> with your token key, to save it in the ~/.aicommits file.
$ echo "OPENAI_KEY=<your_token>" >> ~/.aicommits
Note: The OpenAI API is a paid service, but you will receive $18 in free credit, which you can use to test this feature.
Generate an Auto-commit Message for Changes.
Let’s take a look at how you can generate a commit message based on changes to the project directory or any file, and for this, you need to have a project that is initialised with a Git repository.
To show you how it works, let me demonstrate it by making changes to a sample file in the repository by making some changes to the source file “src/commands/aicommits.ts”.
When you invoke the aicommits
command, it will check the changes that you made to the respective file, and after the analysis, it will give a commit message.
If the message is as per your expectation, then you choose “Yes” to successfully commit the changes, and if you don’t like it, you can choose “No” to discard the commit message.
And here is the result of the changes.
If you are wondering how it works, let me tell you that it basically uses the git diff
command to compare the before and after versions of the file and send them to OpenAI GTP-3 to generate a commit message that best describes your changes.
Wrap up
After using it for a couple of hours, yes, it is interesting to use it when you want AI to write commit messages for you, but there are some limitations, which are already on the developer’s to-do list for the project.
As this project is in development state, so you will find many new features in the upcoming days, like when you don’t prefer to use the suggested message, then you can type your own message, add support for diffs greater than 200 lines, and many more. So stay tuned with aicommit to get the latest updates.
So stay tuned to aicommit to get the latest updates, and be sure to star the project on GitHub.
Before closing this article, I’d like to share 3 free passes and 50% off on registration, which will be on a first-come, first-served basis, for the Southern California Linux Expo (SCaLE 20x).
Keynote speakers this year are:
– Ken Thompson (Creator of Go and Unix)
– Kitty Yeung (Physicist and Artist)
– Arun Gupta (Intel and CNCF)
You check here for the complete list of exhibitors, see https://socallinuxexpo.org/scale/20x/exhibitors
Event Venue: Pasadena, CA
Date: 9 to 12th March
If you are interested in a free pass and discount on registration, contact me at [email protected]
A man with a tech effusive who has explored some of the amazing technology stuff and is exploring more. While moving towards, I had a chance to work on Android development, Linux, AWS, and DevOps with several open-source tools.