Skip to main content

devolv-commit

✨ Auto-generate meaningful, smart Git commit messages based on staged code changes.

No more git commit -m "fix stuff" — just run git dc, and you're done.


🚀 Features

  • 🔍 Analyzes staged diffs to understand your code changes
  • 🧠 Generates human-like commit messages
  • 🪝 Optional Git hook to auto-fill commit messages
  • ✅ Clean, professional output — no templates or fluff
  • ♻️ Follows Conventional Commits v1.0.0 for standardization
  • ⚡️ Blazing fast — not AI-powered, but built with a lean homegrown engine
  • 🧪 Test suite with coverage

📦 Installation

pip install devolv-commit

💡 Usage

Generate a commit message and commit it:

git dc

📥 Manually Install Git Hook (Optional)

Automatically generate a commit message when you run git commit:

git dc install-hook

This installs a prepare-commit-msg hook that fills in the message field. You can edit it before committing.


🧪 Testing

Run tests with coverage:

pytest --cov=devolv_commit --cov-report=term-missing

✅ Conventional Commit Support

We follow the Conventional Commits v1.0.0 standard to enhance changelogs, release notes, and CI workflows.

Example commit messages:

  • feat: add support for multi-file diffs
  • fix(core): handle edge case in parser
  • refactor(utils): clean up class detection logic

📜 License

MIT © Devolvdev

Metadata

Release files for devolv-commit 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for devolv-commit 0.1.1
File Size Uploaded Provenance Actions
devolv_commit-0.1.1.tar.gz 9.4 kB Without provenance Details for devolv_commit-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for devolv-commit 0.1.1
File Interpreter ABI Platform Actions
devolv_commit-0.1.1-py3-none-any.whl Python 3 none any Details for devolv_commit-0.1.1-py3-none-any.whl

Total release size: 16.4 kB

Release files / devolv_commit-0.1.1.tar.gz

Download URL devolv_commit-0.1.1.tar.gz
Size 9.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1838e3ef7ee0c6d25c53add41f909c0928ccef76689448221c25723df74a6dd2
BLAKE2b-256 checksum
How to use checksums
18300cccae8299089d6e34ee2dad85112905894a9ab145f88261b1f8c71287d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.9

Release files / devolv_commit-0.1.1-py3-none-any.whl

Download URL devolv_commit-0.1.1-py3-none-any.whl
Size 7.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
361af47b0d7bd2ef0be3bcfa5d74d11f994bbb85264b21b96d5b7b28d8130eff
BLAKE2b-256 checksum
How to use checksums
6eb7e921daf6494fbbeeb260700ded9eae4a3f51c6aab1844155965fd7b34542
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.11.9

Security for devolv-commit 0.1.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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A 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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page