An open API service indexing awesome lists of open source software.

https://github.com/jorgerosbel/gitzen

๐Ÿง AI-powered CLI tool for automatic git commit message generation
https://github.com/jorgerosbel/gitzen

agentic-ai ai ai-powered auto-commit cli commit git git-tool

Last synced: 15 days ago
JSON representation

๐Ÿง AI-powered CLI tool for automatic git commit message generation

Awesome Lists containing this project

README

          

[![cli version](https://img.shields.io/npm/v/gitzen.svg)](https://www.npmjs.com/package/gitzen)
[![Downloads/week](https://img.shields.io/npm/dw/gitzen.svg)](https://www.npmjs.com/package/gitzen)
[![Build Status](https://github.com/JorgeRosbel/gitzen/actions/workflows/publish.yaml/badge.svg)](https://github.com/JorgeRosbel/gitzen/actions)
[![License](https://img.shields.io/npm/l/gitzen.svg)](LICENSE)

# Gitzen: AI-powered CLI Tool for Automatic Git Commit Message Generation

**Gitzen** is a command-line tool that uses AI to automatically generate concise and well-formatted git commit messages. It integrates with popular AI providers like Google Gemini and supports customizable templates and languages.

![gitzen](./docs/gitzen_banner.png)


CLI
Git
Latest Release

GitHub stars
GitHub open issues
GitHub open pull requests

---

## ๐Ÿ“š Table of Contents

* [๐Ÿ“ฆ Installation](#-installation)
* [๐Ÿ› ๏ธ Commands](#-gitzen-command-summary)
* [๐Ÿš€ Start](./docs/start.md)
* [๐Ÿ’พ Commit](./docs/commit.md)
* [๐Ÿง  Summarize](./docs/summarize.md)
* [๐Ÿ“‚ Batch](./docs/batch.md)
* [๐Ÿ” Review](./docs/review.md)
* [Gitzen Command Usage & Best Practices](./docs/examples.md)

---

## ๐Ÿ“ฆ Installation

You can install Gitzen globally using your preferred package manager:

```bash
npm install -g gitzen
# or
pnpm add -g gitzen
# or
yarn global add gitzen
```

Once installed globally, the `gitzen` command will be available anywhere in your system.

## ๐Ÿงพ Gitzen Command Summary

| Command | Description | Notes | Requires Staging |
| ------------------ | ------------------------------------------------------ | ------------------------------------------------------------------ | ---------------- |
| `gitzen start` | ๐Ÿš€ Initialize Gitzen setup and config | Run once to configure the CLI | โŒ |
| `gitzen commit` | ๐Ÿ’พ Generate commit message with AI from staged changes | Requires staged files. Optional: `-y` to auto-accept, `-e` to edit | โœ… |
| `gitzen summarize` | ๐Ÿง  Summarize changes in staging/working dir | Optional: `-l ` | โŒ |
| `gitzen batch` | ๐Ÿ“‚ Group unstaged changes and commit in logical order | Optional: `-i` to ignore `gitzen.config.json` | โŒ |
| `gitzen review` | ๐Ÿ” Gives you a review of the code in the staging area | Requires staged files. Optional: `-l ` | โœ… |

Love **Gitzen**? Support the project by buying me a coffee! โ˜•๏ธ
[![Koโ€‘fi](https://img.shields.io/badge/โ˜•๏ธ-Buy_me_a_coffee-FF5E5B?logo=ko-fi&logoColor=white)](https://ko-fi.com/jorgerosbel)

## ๐Ÿ“ Project Structure

The following is the folder and file structure of the project:

```txt
gitzen/
โ”œโ”€โ”€ __tests__/
โ”‚ โ”œโ”€โ”€ commitFlow.test.ts
โ”‚ โ””โ”€โ”€ summarizerFlow.test.ts
โ”‚
โ”œโ”€โ”€ .github/
โ”‚ โ””โ”€โ”€ workflows/
โ”‚ โ”œโ”€โ”€ lint_format.yaml
โ”‚ โ”œโ”€โ”€ publish.yaml
โ”‚ โ””โ”€โ”€ test.yaml
โ”‚
โ”œโ”€โ”€ .husky/
โ”œโ”€โ”€ dist/
โ”œโ”€โ”€ docs/
โ”œโ”€โ”€ node_modules/
โ”‚
โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ commands/
โ”‚ โ”œโ”€โ”€ providers/
โ”‚ โ”œโ”€โ”€ templates/
โ”‚ โ”œโ”€โ”€ utils/
โ”‚ โ””โ”€โ”€ index.ts
โ”‚
โ”œโ”€โ”€ types.d.ts
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ .npmignore
โ”œโ”€โ”€ .npmrc
โ”œโ”€โ”€ .prettierignore
โ”œโ”€โ”€ .eslintrc.json
โ”œโ”€โ”€ gitzen.config.json
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ package-lock.json
โ”œโ”€โ”€ prettier.config.mjs
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ tsconfig.json
โ”œโ”€โ”€ tsup.config.ts
โ””โ”€โ”€ vitest.config.ts
```