Skip to main content

The commit writing Wizard Assistant

Project description

CommiZard

CommiZard's banner Python version GitHub License

CommiZard — An interactive commit assistant, powered by AI! 🧙‍♂️ Generate, tweak, and copy commit messages with full control — right from a REPL.

Features

  • REPL-style Interface — Stay in an interactive session. Generate multiple commit variations without restarting.
  • Smart Generation — Creates commit messages directly from your git diff.
  • Simple CLI — Familiar, intuitive commands. No learning curve.
  • Flexible AI backends — Easily swap models. Online model support planned!
  • Clipboard Magic — Instantly copy generated messages to your system clipboard, ready to paste into git commit.
  • Zero Daemons — No background processes, No Git hooks, no surprises.
  • Absolute Control — Run it when you want, and you decide to commit, copy, tweak, or discard.

[!WARNING]

⚠️ Heads up! CommiZard is in early alpha. Not all features are complete or stable yet.

CommiZard is under active development — expect bugs, crashes, and missing functionality. Please open an issue if you encounter problems.

Many features are still missing, since this project was released as a Minimum Viable Product (MVP). Stay tuned for new improvements!

⚙️ Installation

Install via pip (from GitHub):

pip install git+https://github.com/Chungzter/CommiZard

Install from source:

git clone https://github.com/Chungzter/CommiZard
cd CommiZard
pip install .

Or build from source using PEP 517 (e.g., with build or hatchling):

git clone https://github.com/Chungzter/CommiZard
cd CommiZard
python -m build
# or: hatchling build
pip install dist/commizard-*-py3-none-any.whl

Usage

After installing CommiZard (See Installation), you can launch the interactive REPL in your Git repository:

commizard

Once launched, you’ll enter the interactive CommiZard terminal, where you can use the following commands:

Commands

Command Description
list List all available Ollama models installed on your system.
gen Generate a new commit message based on the current Git diff.
cp Copy the generated output to your clipboard
commit Directly commit the generated output
exit or quit Exit the REPL session.

Example Usage

CommiZard on 7323da1a1847908 during alpha dev

This is one of the very first times the program helped a user (me 😄) write a meaningful commit message.

🧭 Alternatives & Similar Tools

When I started building CommiZard, I made sure to look around — and guess what?

CommiZard isn’t the only wizard in town! 😊

If you’re exploring AI-powered commit tools, here are some other great projects worth checking out:

  • easycommit — written in Go, supports Ollama models out of the box.
  • aicommit — Packed with features — including a handy VS Code extension.
  • AICommit2 — The most complete FOSS option I've found

Why did I still follow through and build this?

Because I couldn’t find a tool that gave me both full user control and the little UX comforts I wanted.

So yeah — I built CommiZard for me… and maybe for you too 😉

Contributing

Contributions of all kinds are welcome.

If you’d like to get involved:

  • Read the CONTRIBUTING.md guide for details on how to report bugs, suggest features, or open pull requests.
  • Found a bug 🐞 or have an idea 💡? Open an issue and let’s discuss it!
  • Starter-friendly tasks are listed in the Starter Tasks section. Check it out if you’re not ready to dive into core features yet.

Not sure where to start? Open an issue or comment “I’d like to help with this,” and we’ll figure it out together!

License

CommiZard is released under the MIT license.

Copyright (c) 2025 Chungzter

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

commizard-0.1.0.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

commizard-0.1.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file commizard-0.1.0.tar.gz.

File metadata

  • Download URL: commizard-0.1.0.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for commizard-0.1.0.tar.gz
Algorithm Hash digest
SHA256 24525bcc6456edc2f67ce39d2bbcdb50af23095826c8c5170e356ce8c8d4fefd
MD5 3fbd5dd7a087eea945d49e2d196537b5
BLAKE2b-256 acc23f3dd14e9f9fef51fe17b6b4006ab24a92b8e74ce71b15b5e40c06d06d1f

See more details on using hashes here.

File details

Details for the file commizard-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: commizard-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for commizard-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d913fc513cf7dfb47a59c6f518bade3e6174c38602e989ce49a0537852f906e6
MD5 2fa9b9c59040eeee8fe9b53b2bcef308
BLAKE2b-256 9f5357af0e88bbdc2581a3d5bbf1729a378110e3a5eb2ed5daf553588d30cefa

See more details on using hashes here.

Supported by

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