Metadata-Version: 2.4
Name: commizard
Version: 0.0.1a0
Summary: The commit writing Wizard Assistant
Project-URL: Homepage, https://github.com/Chungzter/CommiZard
Project-URL: Issues, https://github.com/Chungzter/CommiZard/issues
Author-email: Chungzter <freezycry@protonmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: AI assistant,Commit message helper,commit assistant,git
Classifier: Development Status :: 3 - Alpha
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Requires-Dist: pyperclip<=1.9.0,>=1.8.0
Requires-Dist: requests<=2.32.5,>=2.32.2
Requires-Dist: rich<=14.1.0,>=13.9.0
Description-Content-Type: text/markdown

# CommiZard

<div align="center">

![CommiZard's banner](https://github.com/user-attachments/assets/851536f3-49a0-42a9-961d-20d975595d04)
[![Python version](https://img.shields.io/badge/python-3.9+-blue.svg?logo=python&logoColor=yellow)](https://www.python.org/downloads/)
[![GitHub License](https://img.shields.io/github/license/Chungzter/Commizard?logo=data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMjQiIHdpZHRoPSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoIGQ9Ik01MTQgMTkyYzM0LTEgNjEtMjggNjItNjIgMS0zNy0yOS02Ny02Ni02Ni0zNCAxLTYxIDI4LTYyIDYyLTEgMzcgMjkgNjcgNjYgNjZ6IG00NjQgMzg0aC0xOGwtMTI3LTI0NmMxOC0yIDM2LTkgNTItMTYgMjQtMTEgMjktNDMgMTEtNjJsLTEtMWMtMTEtMTEtMjgtMTUtNDMtOC0xNCA2LTM0IDEzLTUzIDEzLTU2IDAtODEtNjQtMjg3LTY0cy0yMzEgNjQtMjg3IDY0Yy0yMCAwLTM5LTYtNTMtMTMtMTUtNi0zMi0zLTQzIDhsLTEgMWMtMTggMTktMTMgNTAgMTEgNjIgMTYgOCAzNCAxNCA1MiAxNmwtMTI3IDI0NmgtMThjLTggMC0xNCA3LTEzIDE1IDExIDY0IDkyIDExMyAxOTEgMTEzczE4MC00OSAxOTEtMTEzYzEtOC01LTE1LTEzLTE1aC0xOGwtMTI3LTI0NWM4My03IDEyNy00OSAxOTEtNDl2NDg2Yy0zNSAwLTY0IDI5LTY0IDY0aC03MWMtMjggMC01NyAyOS01NyA2NGg1MTJjMC0zNS0yOS02NC03MS02NGgtNTdjMC0zNS0yOS02NC02NC02NHYtNDg2YzY0IDAgMTA4IDQyIDE5MSA0OWwtMTI3IDI0NWgtMThjLTggMC0xNCA3LTEzIDE1IDExIDY0IDkyIDExMyAxOTEgMTEzczE4MC00OSAxOTEtMTEzYzEtOC01LTE1LTEzLTE1eiBtLTY1OCAwaC0xOTJsOTYtMTgwIDk2IDE4MHogbTM4NCAwbDk2LTE4MCA5NiAxODBoLTE5MnoiIGZpbGw9IiNlMGUwZTAiLz4KPC9zdmc+Cg==)](LICENSE)

</div>

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](https://github.com/Chungzter/CommiZard/issues) 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](https://pip.pypa.io/en/stable/) (from GitHub):

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

Install from source:

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

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

```bash
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](#-installation)), you can launch
the interactive REPL in your Git repository:

```bash
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](https://github.com/user-attachments/assets/d8696e0a-ba6e-496d-b1f8-8d0247339cd4)

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](https://github.com/blackironj/easycommit)** — written in Go,
  supports Ollama models out of the box.
- **[aicommit](https://github.com/suenot/aicommit)** — Packed with features —
  including a handy VS Code extension.
- **[AICommit2](https://github.com/tak-bro/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](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](https://github.com/Chungzter/CommiZard/issues) and let’s
  discuss it!
- Starter-friendly tasks are listed in the
  [Starter Tasks section](./CONTRIBUTING.md#starter-tasks). 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](LICENSE).

Copyright (c) 2025 Chungzter
