Skip to main content

scommit: ChatGPT-generated commit messages

Project description

Semantic Commit (scommit)

Semantic Commit (scommit) is a Python script that uses the ChatGPT API to auto-generate commit messages for your git commits. You can use it exactly like git commit:

scommit

is equivalent to:

git commit -m "auto-generated commit message"

You can also use all of the args you normally would with git commit, for example:

scommit -a

is equivalent to:

git commit -a -m "auto-generated commit message"

Think of scommit as an alias for git commit that appends -m "message" with an auto-generated message. That's it! I recommend using this when you don't actually care about commit messages, but want them to be slightly more informative than "sdflskdjafks". Plus, it uses more GPU's than regular commits, and we all know GPU usage is a proxy for agency.

In addition, you can use the -mi option with scommit to run it locally using Ollama. For example:

scommit -mi

This will run scommit locally using Ollama instead of making a request to the ChatGPT API.

Installation

pip install semantic-commit

You should get command-line tool called scommit that you can use just like git commmit.

You also need to set your OpenAI API key as an environment variable named OPENAI_API_KEY for scommit to work. Add this line in your .bashrc or .zshrc:

export OPENAI_API_KEY=your-api-key

License

This project is licensed under the terms of the MIT license. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

semantic-commit-1.2.0.tar.gz (4.6 kB view hashes)

Uploaded Source

Built Distribution

semantic_commit-1.2.0-py3-none-any.whl (5.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page