A CLI that writes your git commit messages for you with AI. Never write a commit message again.
The minimum supported version of Node.js is the latest v14. Check your Node.js version with
npm install -g aicommits
Retrieve your API key from OpenAI
Note: If you haven't already, you'll have to create an account and set up billing.
Set the key so aicommits can use it:
aicommits config set OPENAI_KEY=<your token>
This will create a
.aicommitsfile in your home directory.
Check the installed version with:
If it's not the latest version, run:
npm update -g aicommits
You can call
aicommits directly to generate a commit message for your staged changes:
git add <files...> aicommits
aicommits passes down unknown flags to
git commit, so you can pass in
commit flags (with some exceptions (e.g.
👉Tip: Use the
aicommitsis too long for you.
Generate multiple recommendations
Sometimes the recommended commit message isn't the best so you want it to generate a few to pick from. You can generate multiple commit messages at once by passing in the
aicommits --generate # or -g
Warning: this uses more tokens, meaning it costs more.
You can also integrate aicommits with Git via the
prepare-commit-msg hook. This lets you use Git like you normally would, and edit the commit message before committing.
In the Git repository you want to install the hook in:
aicommits hook install
In the Git repository you want to uninstall the hook from:
aicommits hook uninstall
Stage your files and commit:
git add <files...> git commit # Only generates a message when it's not passed in
If you ever want to write your own message instead of generating one, you can simply pass one in:
git commit -m "My message"
Aicommits will generate the commit message for you and pass it back to Git. Git will open it with the configured editor for you to review/edit it.
Save and close the editor to commit!
Reading a configuration value
To retrieve a configuration option, use the command:
aicommits config get <key>
For example, to retrieve the API key, you can use:
aicommits config get OPENAI_KEY
You can also retrieve multiple configuration options at once by separating them with spaces:
aicommits config get OPENAI_KEY generate
Setting a configuration value
To set a configuration option, use the command:
aicommits config set <key>=<value>
For example, to set the API key, you can use:
aicommits config set OPENAI_KEY=<your-api-key>
You can also set multiple configuration options at once by separating them with spaces, like
aicommits config set OPENAI_KEY=<your-api-key> generate=3 locale=en
The OpenAI API key. You can retrieve it from OpenAI API Keys page.
The locale to use for the generated commit messages. Consult the list of codes in: https://wikipedia.org/wiki/List_of_ISO_639-1_codes.
The number of commit messages to generate to pick from.
Note, this will use more tokens as it generates more results.
Set a HTTP/HTTPS proxy to use for requests.
To clear the proxy option, you can use the command (note the empty value after the equals sign):
aicommits config set proxy=
How it works
This CLI tool runs
git diff to grab all your latest code changes, sends them to OpenAI's GPT-3, then returns the AI generated commit message.
Video coming soon where I rebuild it from scratch to show you how to easily build your own CLI tools powered by AI.
Hassan El Mghari: @Nutlope
Hiroki Osame: @privatenumber
If you want to help fix a bug or implement a feature in Issues, checkout the Contribution Guide to learn how to setup and test the project.