Catalog PyPI
Back to packageRELEASE DETAILS

0.1.4

PyPI

aicmt

An intelligent Git commit assistant that not only generates commit messages, but also automatically analyzes and splits your code changes into multiple well-organized commits following best practices.

aiaicmtassistantautomatedchangecodecommitgitintelligenceintelligentmessage
Published28 Dec 2024
Direct dependencies6
Transitive dependenciesNot calculated

README

Version 0.1.4 documentation

English | 中文

AI Commit (aicmt)

An AI-powered Git commit assistant that not only generates commit messages, but also automatically analyzes and splits your code changes into multiple well-organized commits following best practices.

aicmt

Features

  • Intelligent Change Splitting: Unlike traditional commit message generators, aicmt analyzes your code changes and automatically splits them into logical, focused commits following Git best practices
  • Flexible Control: You can let AI decide the optimal number of commits, or specify exactly how many commits you want
  • Focus on Coding: Make all your changes freely, and let AI handle the commit organization - no need to worry about making perfect atomic commits while coding

Installation

Use pip to install (Python >=3.10)

pip install aicmt

or use brew to install

brew install versun/tap/aicmt

Quick Start

  1. Create configuration file .aicmtrc

Reference the template file .aicmtrc.template and create .aicmtrc in your home directory.

cp .aicmtrc.template ~/.config/aicmt/.aicmtrc

You can also create .aicmtrc in the current directory, which will override the global configuration file (~/.config/aicmt/.aicmtrc)

cd /path/to/git/repo
touch .aicmtrc
  1. Add OpenAI API and other information in the configuration file.

  2. Enter your git repository directory and run the aicmt command to automatically analyze changes and generate commit messages.

Help

$ aicmt -h
usage: aicmt [-h] [-v] [-n N]

<<< AICMT (AI Commit) - AI-powered Git commit assistant >>>

options:
  -h, --help           show this help message and exit
  -v, --version        show program's version number and exit
  -n, --num-commits N  Number of commits to generate (default: AI decides)

Development

  1. Clone the repository:
git clone https://github.com/versun/aicmt.git
  1. Install dependencies:
cd aicmt
pip install -e ".[dev]"

Having Issues?

All code in this project is AI-generated, so if you encounter any problems, please first try asking AI for solutions (preferably using the claude-3.5-sonnet model). If the issue persists, please submit an issue, and I will consult AI to resolve it.

Contributing

Pull requests are welcome! Please submit an issue before submitting a pull request, to avoid duplicate submissions.

A Big Thank You to My Sponsors

I am deeply grateful to my amazing supporters and sponsors who have made my open source journey possible.

Become a Sponser on Github / 爱发电 / 微信

Star History

Star History Chart

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 6

Native requirements
6 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
gitpython
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
gitpythonruntime
openai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
openairuntime
rich
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
richruntime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest; extra == "dev"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov; extra == "dev"runtime
ruff
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
ruff; extra == "dev"runtime

Distribution files

2 collected
aicmt-0.1.4-py3-none-any.whl

bdist_wheel · 18.14 KB · Python py3

Source file
aicmt-0.1.4.tar.gz

sdist · 29.59 KB · Python source

Source file

Repository

PENDING
versun/aicmt

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:10 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:6719f23219f53780ec28b91ed25ad52411fb569deea2484f867f6f42f3d318bf

Other collected versions

View all collected versions →