aicmt


Nameaicmt JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryAn 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.
upload_time2024-12-22 07:55:34
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT License
keywords ai ai commit ai git commit aicmt assistant automated change code commit git intelligence intelligent message
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [English](./README.md) | [中文](./README_CN.md)
# 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](https://asciinema.org/a/695352.svg)](https://asciinema.org/a/695352/?autoplay=1)

## 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)

```bash
pip install aicmt
```
or use brew to install
```bash
brew install versun/tap/aicmt
```

## Quick Start 


1. Create configuration file `.aicmtrc`

Reference the template file [`.aicmtrc.template`](./.aicmtrc.template) and create `.aicmtrc` in your home directory.
```bash
cp .aicmtrc.template ~/.aicmtrc
```
You can also create `.aicmtrc` in the current directory, which will override the global configuration file (~/.aicmtrc)
```bash
cd /path/to/git/repo
touch .aicmtrc
```

2. Add OpenAI API and other information in the configuration file.

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

## Help
```bash
$ 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:
```bash
git clone https://github.com/versun/aicmt.git
```

2. Install dependencies:
```bash
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.   
<p align="center">
  <a href="https://github.com/versun/sponsors/">
    <img src='https://raw.githubusercontent.com/versun/sponsors/main/sponsors.svg'/>
  </a>
</p>

Become a Sponser on [Github](https://github.com/sponsors/versun) / [爱发电](https://afdian.com/@versun) / [微信](https://github.com/versun/sponsors/blob/b11431cb1302a4605f8e92447aaa061cbe704b68/wechat.jpg)

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=versun/aicmt&type=Date)](https://star-history.com/#versun/aicmt&Date)
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "aicmt",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Versun <aicmt@versun.me>",
    "keywords": "ai, ai commit, ai git commit, aicmt, assistant, automated, change, code, commit, git, intelligence, intelligent, message",
    "author": null,
    "author_email": "Versun <aicmt@versun.me>",
    "download_url": "https://files.pythonhosted.org/packages/9d/d4/8cf64e346de75f6bf4e92d0f39b8a97b76fb59ab830518b31e5b74f19b44/aicmt-0.1.0.tar.gz",
    "platform": null,
    "description": "[English](./README.md) | [\u4e2d\u6587](./README_CN.md)\n# AI Commit (aicmt)\n\nAn 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.\n\n[![aicmt](https://asciinema.org/a/695352.svg)](https://asciinema.org/a/695352/?autoplay=1)\n\n## Features\n\n- **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\n- **Flexible Control**: You can let AI decide the optimal number of commits, or specify exactly how many commits you want\n- **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\n\n## Installation\n\nUse pip to install (Python >=3.10)\n\n```bash\npip install aicmt\n```\nor use brew to install\n```bash\nbrew install versun/tap/aicmt\n```\n\n## Quick Start \n\n\n1. Create configuration file `.aicmtrc`\n\nReference the template file [`.aicmtrc.template`](./.aicmtrc.template) and create `.aicmtrc` in your home directory.\n```bash\ncp .aicmtrc.template ~/.aicmtrc\n```\nYou can also create `.aicmtrc` in the current directory, which will override the global configuration file (~/.aicmtrc)\n```bash\ncd /path/to/git/repo\ntouch .aicmtrc\n```\n\n2. Add OpenAI API and other information in the configuration file.\n\n3. Enter your git repository directory and run the `aicmt` command to automatically analyze changes and generate commit messages.\n\n## Help\n```bash\n$ aicmt -h\nusage: aicmt [-h] [-v] [-n N]\n\n<<< AICMT (AI Commit) - AI-powered Git commit assistant >>>\n\noptions:\n  -h, --help           show this help message and exit\n  -v, --version        show program's version number and exit\n  -n, --num-commits N  Number of commits to generate (default: AI decides)\n```\n\n## Development\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/versun/aicmt.git\n```\n\n2. Install dependencies:\n```bash\ncd aicmt\npip install -e \".[dev]\"\n```\n\n## Having Issues?\nAll 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). \nIf the issue persists, please submit an issue, and I will consult AI to resolve it.\n\n## Contributing\n\nPull requests are welcome!\nPlease submit an issue before submitting a pull request, to avoid duplicate submissions.\n\n## A Big Thank You to My Sponsors\nI am deeply grateful to my amazing supporters and sponsors who have made my open source journey possible.   \n<p align=\"center\">\n  <a href=\"https://github.com/versun/sponsors/\">\n    <img src='https://raw.githubusercontent.com/versun/sponsors/main/sponsors.svg'/>\n  </a>\n</p>\n\nBecome a Sponser on [Github](https://github.com/sponsors/versun) / [\u7231\u53d1\u7535](https://afdian.com/@versun) / [\u5fae\u4fe1](https://github.com/versun/sponsors/blob/b11431cb1302a4605f8e92447aaa061cbe704b68/wechat.jpg)\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=versun/aicmt&type=Date)](https://star-history.com/#versun/aicmt&Date)",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "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.",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/versun/aicmt",
        "Issues": "https://github.com/versun/aicmt/issues",
        "Repository": "https://github.com/versun/aicmt.git"
    },
    "split_keywords": [
        "ai",
        " ai commit",
        " ai git commit",
        " aicmt",
        " assistant",
        " automated",
        " change",
        " code",
        " commit",
        " git",
        " intelligence",
        " intelligent",
        " message"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0fc8ee1c31ebe85f30a3483317410f9010b765ef1928b7962304a778364a3a6a",
                "md5": "ec1d310994eb13b940d37d73abaf7e44",
                "sha256": "16a7c7bb36d03c491c2224282136cc8df0b84ff192a9704d4b813d5d105e3cbb"
            },
            "downloads": -1,
            "filename": "aicmt-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ec1d310994eb13b940d37d73abaf7e44",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 17124,
            "upload_time": "2024-12-22T07:55:32",
            "upload_time_iso_8601": "2024-12-22T07:55:32.710365Z",
            "url": "https://files.pythonhosted.org/packages/0f/c8/ee1c31ebe85f30a3483317410f9010b765ef1928b7962304a778364a3a6a/aicmt-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9dd48cf64e346de75f6bf4e92d0f39b8a97b76fb59ab830518b31e5b74f19b44",
                "md5": "facd741b391953ed2541db6820b7f1ac",
                "sha256": "4620e3f727aa1d7be1504758562e2884f811cbe354227f9bac756bf866f45baf"
            },
            "downloads": -1,
            "filename": "aicmt-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "facd741b391953ed2541db6820b7f1ac",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 26000,
            "upload_time": "2024-12-22T07:55:34",
            "upload_time_iso_8601": "2024-12-22T07:55:34.276282Z",
            "url": "https://files.pythonhosted.org/packages/9d/d4/8cf64e346de75f6bf4e92d0f39b8a97b76fb59ab830518b31e5b74f19b44/aicmt-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-22 07:55:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "versun",
    "github_project": "aicmt",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "aicmt"
}
        
Elapsed time: 0.45567s