nwmqpa / opencommit

GPT CLI to auto-generate impressive commits in 1 second πŸ€―πŸ”«

Home Page:https://www.npmjs.com/package/opencommit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenCommit logo

OpenCommit

Follow the bird

GPT CLI to auto-generate impressive commits in 1 second

Killing lame commits with AI πŸ€―πŸ”«

Current version

OpenCommit example

All the commits in this repo are done with OpenCommit β€” look into the commits to see how OpenCommit works. Emoji and long commit description text is configurable.

Setup

  1. Install opencommit globally to use in any repository:

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

  3. Set the key to opencommit config:

    opencommit config set OPENAI_API_KEY=<your_api_key>

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

Usage

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

git add <files...>
opencommit

You can also use the oc shortcut:

git add <files...>
oc

Features

Preface commits with emoji 🀠

GitMoji convention is used.

To add emoji:

oc config set emoji=true

To remove emoji:

oc config set emoji=false

Postface commits with descriptions of changes

To add descriptions:

oc config set description=true

To remove description:

oc config set description=false

Git hook

You can set opencommit 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:

oc hook set

To unset the hook:

oc 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 β€” OpenCommit will integrate into the flow.

Payments

You pay for your own requests to OpenAI API. OpenCommit uses ChatGPT official model, that is ~10x times cheaper than GPT-3 and ~6x times cheaper than GPT-4.

About

GPT CLI to auto-generate impressive commits in 1 second πŸ€―πŸ”«

https://www.npmjs.com/package/opencommit

License:MIT License


Languages

Language:TypeScript 96.2%Language:JavaScript 3.8%