Skip to content

Latest commit

 

History

History
160 lines (110 loc) · 3.34 KB

README.md

File metadata and controls

160 lines (110 loc) · 3.34 KB
Zi OpenCommit logo

Zi OpenCommit

GPT CLI to auto-generate impressive commits in 1 second

Make it simple commits with AI

Current version Example commit

Setup

  1. Install Zi OpenCommit globally to use in any repository:

    npm install -g ziopencommit
  2. Get your API key from OpenAI. Make sure you add payment details, so API works.

  3. Set the key to Zi OpenCommit config:

    ziopencommit config set OPENAI_API_KEY=<your_api_key>
  4. Set GPT model to change gpt-3.5-turbo as default:

    zc config set model=gpt-4

    Your api key is stored locally in ~/.ziopencommit config file.

Usage

You can call Zi OpenCommit directly to generate a commit message for your staged changes:

git add <files...>
ziopencommit

You can also use the zc shortcut:

git add <files...>
zc

Features

Preface commits with emoji 🤠

GitMoji convention is used.

To add emoji:

zc config set emoji=true

To remove emoji:

zc config set emoji=false

Postface commits with descriptions of changes

To add descriptions:

zc config set description=true

To remove description:

zc config set description=false

Jira Integration

Just add jira number comment on code for ex:

// jira PTPLAPFP-1664
var validateFunc = function(){}

Internationalization support

To specify the language used to generate commit messages:

# de, German ,Deutsch
zc config set language=de
zc config set language=German
zc config set language=Deutsch

# fr, French, française
zc config set language=fr
zc config set language=French
zc config set language=française

The default language set is English
All available languages are currently listed in the i18n folder

Git flags

The ziopencommit or zc commands can be used in place of the git commit -m "${generatedMessage}" command. This means that any regular flags that are used with the git commit command will also be applied when using ziopencommit or zc.

zc --no-verify

is translated to :

git commit -m "${generatedMessage}" --no-verify

Ignore files

You can ignore files from submission to OpenAI by creating a .ziopencommitignore file. For example:

path/to/large-asset.zip
**/*.jpg

This is useful for preventing ziopencommit from uploading artifacts and large files.

By default, ziopencommit ignores files matching: *-lock.* and *.lock

Git hook

You can set ZiOpenCommit as Git prepare-commit-msg hook. Hook integrates with you IDE Source Control and allows you edit the message before commit.

To set the hook:

zc hook set

To unset the hook:

zc hook unset

To use the hook:

git add <files...>
git commit

Or follow the process of your IDE Source Control feature, when it calls git commit command — Zi OpenCommit will integrate into the flow.