quick-commit
quick-commit is a CLI-based git commit automation tool that helps you follow the Conventional Commits specification.
The main features include:
- automatic generation of commit messages based on the Conventional Commits specification with gitmoji support.
- filter functions to find your desired commit types, scopes, and gitmojis.
- sorting methods to give you your most commonly/recently used gitmojis and scopes right away.
- commit message validation to ensure your commit messages are formatted correctly.
- a simple and easy-to-use interface.
- a customisable configuration file to suit your needs.
quick-commit is designed to help you write better commit messages and make your git history more readable and understandable with the least amount of effort.
Installation
To install quick-commit, you can use the following command:
pipx install quick-commit
This installs the quick-commit python application (requires Python 3.10 or later) and makes it available as a command-line tool.
Usage
To use quick-commit, you can run the following command:
quick-commit
This will open the quick-commit CLI interface where you can customise your commit message.
Starting quick-commit with the -a flag additionally stages all modified files for the commit.
If you wish to include a footer in your commit message, use the flag --footer (or enable it by default in the configuration file).
To mark breaking changes in your commit message, use the flag --breaking.
The --ai [ai agent] option allows you to specify AI agents that were used to generate the code of the commit. The AI agents are listed in the footer of the commit message.
Finally, the -r [message] option allows you to repeat a previous commit with the same structure (type, scope, and gitmoji) but with a different message. This is useful for making multiple commits of the same type.
Configuration
quick-commit uses a configuration file to store your preferences. A configuration file can be stored locally
for your project at .quick-commit-config.yaml or globally in your user-config directory (/home/username/.config/quick-commit/config.yaml for Linux, or C:\Users\username\AppData\Roaming\quick-commit\config.yaml for Windows).
An example configuration file that shows off all supported settings is as follows:
types:
exclude:
- chore
- revert
add:
- name: my-commit-type
description: My custom commit type
- name: my-other-commit-type
description: My other custom commit type
priority:
- feat
- my-commit-type
- my-other-commit-type
scopes:
exclude:
- deps
- '#\d+'
add:
- my-new-scope
prohibit-no-scope: true
message:
custom-pattern: '^\w+\.'
gitmojis:
exclude:
- art
- fire
add:
- icon: 🎨
name: my-gitmoji
description: My custom gitmoji.
- icon: 🔥
name: my-gitmoji-2
description: My custom gitmoji number 2.
priority:
- sparkles
- my-gitmoji
- my-gitmoji-2
always-enable-footer: true
ai-template: Hey we used the AI agent(s) $
Metadata
Release files for quick-commit 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| quick_commit-1.0.1.tar.gz | 83.7 kB | With provenance | Details for quick_commit-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| quick_commit-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for quick_commit-1.0.1-py3-none-any.whl |
Total release size: 99.7 kB
Release files / quick_commit-1.0.1.tar.gz
| Download URL | quick_commit-1.0.1.tar.gz |
|---|---|
| Size | 83.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f9343940f95434b9255449680da7e37fa632a4b28f5aaf3d665e278a6da6e9f4
|
|
BLAKE2b-256 checksum How to use checksums |
3900b3436d2134a48efc1f9b015d6d5defb5fabf39b4f5d188c2215663f75da1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logRelease files / quick_commit-1.0.1-py3-none-any.whl
| Download URL | quick_commit-1.0.1-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0105220f9febea3bebb193e685e5c8f4ee1b9a057f09dc8b8a1895bdefbddac6
|
|
BLAKE2b-256 checksum How to use checksums |
fbe798b8799747c7737f01e32db81c6f27e91565a0733aea8fb6edddc7ff21c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logSecurity for quick-commit 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for quick_commit-1.0.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.