commit-maker 0.2.0__py3-none-any.whl → 0.2.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- commit_maker/main.py +614 -564
- {commit_maker-0.2.0.dist-info → commit_maker-0.2.2.dist-info}/METADATA +154 -123
- commit_maker-0.2.2.dist-info/RECORD +8 -0
- {commit_maker-0.2.0.dist-info → commit_maker-0.2.2.dist-info}/licenses/LICENSE +21 -21
- commit_maker-0.2.0.dist-info/RECORD +0 -8
- {commit_maker-0.2.0.dist-info → commit_maker-0.2.2.dist-info}/WHEEL +0 -0
- {commit_maker-0.2.0.dist-info → commit_maker-0.2.2.dist-info}/entry_points.txt +0 -0
- {commit_maker-0.2.0.dist-info → commit_maker-0.2.2.dist-info}/top_level.txt +0 -0
|
@@ -1,123 +1,154 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: commit-maker
|
|
3
|
-
Version: 0.2.
|
|
4
|
-
Summary: CLI-утилита для генерации git-коммитов с помощью ИИ
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Dynamic:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
- [
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
# Windows
|
|
63
|
-
pip install commit_maker
|
|
64
|
-
# Linux/MacOS
|
|
65
|
-
pip3 install commit_maker
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: commit-maker
|
|
3
|
+
Version: 0.2.2
|
|
4
|
+
Summary: CLI-утилита для генерации git-коммитов с помощью ИИ
|
|
5
|
+
Author-email: Alex Bulgakov <sashayerty@ya.ru>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/sashayerty/commit_maker
|
|
8
|
+
Requires-Python: >=3.8
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Requires-Dist: requests>=2.32.3
|
|
12
|
+
Requires-Dist: rich-argparse>=1.7.0
|
|
13
|
+
Dynamic: license-file
|
|
14
|
+
|
|
15
|
+
# Commit Maker [](https://www.python.org/) [](https://docs.astral.sh/uv/) [](https://ollama.com/) [](https://pypi.org/project/commit-maker/)
|
|
16
|
+
|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
## Все коммиты в репозитории - результат работы программы
|
|
20
|
+
|
|
21
|
+
Эта CLI-утилита автоматически создает осмысленные сообщения для git-коммитов, используя локальные модели через ollama/Mistral AI API на основе вывода команд `git status` и `git diff`. Реализована в виде одного файла для удобства перевода в исполняемый файл.
|
|
22
|
+
|
|
23
|
+
1. [Возможности](#возможности)
|
|
24
|
+
2. [Требования](#требования)
|
|
25
|
+
- [Mistral](#получение-api-ключа-mistral-ai)
|
|
26
|
+
- [Ollama](#установка-ollama)
|
|
27
|
+
3. [Установка](#установка)
|
|
28
|
+
4. [Настройка переменных окружения](#настройка-переменных-окружения)
|
|
29
|
+
- [Windows](#windows)
|
|
30
|
+
- [Linux/MacOS](#linuxmacos)
|
|
31
|
+
5. [Использование](#использование)
|
|
32
|
+
6. [Примечания](#примечания)
|
|
33
|
+
7. [Лицензия](#лицензия)
|
|
34
|
+
|
|
35
|
+
## Возможности
|
|
36
|
+
|
|
37
|
+
- Автоматически генерирует содержательные сообщения коммитов на русском языке
|
|
38
|
+
- Интерактивное подтверждение перед созданием коммита
|
|
39
|
+
- Работает как с существующими Git-репозиториями, так и с новыми
|
|
40
|
+
- Использование локальных моделей/Mistral AI API для формирования сообщений коммитов на основе изменений в репозитории.
|
|
41
|
+
|
|
42
|
+
## Требования
|
|
43
|
+
|
|
44
|
+
- Установленный Git в системе
|
|
45
|
+
- API-ключ Mistral (для использования Mistral AI API)
|
|
46
|
+
- Установленная ollama в системе (для использования локальных моделей)
|
|
47
|
+
|
|
48
|
+
### Получение API ключа Mistral AI
|
|
49
|
+
|
|
50
|
+
Для получения ключа необходимо перейти сайт консоли [Mistral](https://console.mistral.ai/api-keys) и создать API ключ. Для получения необходим аккаунт [Mistral](https://auth.mistral.ai/ui/login).
|
|
51
|
+
|
|
52
|
+
### Установка ollama
|
|
53
|
+
|
|
54
|
+
Для установки ollama переходим на сайт [Ollama](https://ollama.com/download) и выбираем способ, подходящий для Вашей системы.
|
|
55
|
+
|
|
56
|
+
## Установка
|
|
57
|
+
|
|
58
|
+
### Pip
|
|
59
|
+
|
|
60
|
+
Установка последнего релиза с pypi.
|
|
61
|
+
```bash
|
|
62
|
+
# Windows
|
|
63
|
+
pip install commit_maker
|
|
64
|
+
# Linux/MacOS
|
|
65
|
+
pip3 install commit_maker
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Из исходников
|
|
69
|
+
|
|
70
|
+
При установке из исходников используется флаг `-e`, что позволяет после `git pull` иметь сразу же свежую версию утилиты **без переустановки**!
|
|
71
|
+
```bash
|
|
72
|
+
git clone https://github.com/Sashayerty/commit_maker
|
|
73
|
+
cd ./commit_maker
|
|
74
|
+
# Windows
|
|
75
|
+
pip install -r requirements.txt
|
|
76
|
+
# Linux/MacOS
|
|
77
|
+
pip3 install -r requirements.txt
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Настройка переменных окружения
|
|
81
|
+
|
|
82
|
+
После установки утилиты нужно обязательно добавить переменную окружения `MISTRAL_API_KEY`
|
|
83
|
+
|
|
84
|
+
### Windows
|
|
85
|
+
|
|
86
|
+
1. Откройте Командную строку от имени Администратора
|
|
87
|
+
2. Установите API-ключ Mistral:
|
|
88
|
+
|
|
89
|
+
```cmd
|
|
90
|
+
setx MISTRAL_API_KEY "ваш_api_ключ_здесь"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
3. Перезапустите терминал/IDE для применения изменений
|
|
94
|
+
|
|
95
|
+
### Linux/macOS
|
|
96
|
+
|
|
97
|
+
1. Откройте терминал
|
|
98
|
+
2. Добавьте в файл конфигурации вашей оболочки (`~/.bashrc`, `~/.zshrc` или `~/.bash_profile`):
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
export MISTRAL_API_KEY="ваш_api_ключ_здесь"
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
3. Перезагрузите конфигурацию:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
source ~/.bashrc # или другой файл, который вы редактировали
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Использование
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
commit_maker [OPTION] [VALUE]
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Пример использования
|
|
117
|
+
|
|
118
|
+
**`-h`**, **`--help`** - вывод помощи
|
|
119
|
+
**`-l`**, **`--local-models`** - использование локальных моделей
|
|
120
|
+
**`-m`**, **`--max-symbols`** - ограничение длины сообщения коммита
|
|
121
|
+
**`-M`**, **`--model`** - какую локальную модель использовать (при **`-l`**)
|
|
122
|
+
**`-d`**, **`--dry-run`** - вывод сообщения на основе зайстейдженных изменений, без создания коммита
|
|
123
|
+
**`-t`**, **`--temperature`** - температура модели при создании месседжа
|
|
124
|
+
**`-e`**, **`--exclude`** - файлы, которые нужно игнорировать при создании сообщения коммита
|
|
125
|
+
**`--version`** - показывает версию
|
|
126
|
+
|
|
127
|
+
1. Используем локальные модели, ограничение длины сообщения коммита 300 символов, используем qwen2.5:12b
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
commit_maker -l -m 300 -M qwen2.5:12b
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
2. Используем Mistral, температура 1.3, dry run
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
commit_maker -t 1.3 -d
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
3. Локальные модели, интерактивный выбор модели
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
commit_maker -l
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Примечания
|
|
146
|
+
|
|
147
|
+
- Для просмотра всех возможных опций выполнения скрипта добавьте флаг `--help`
|
|
148
|
+
- Скрипт покажет сгенерированное сообщение коммита перед его созданием
|
|
149
|
+
- Вы можете повторно сгенерировать сообщение, нажав `r` при запросе подтверждения
|
|
150
|
+
- По умолчанию сообщения генерируются на русском языке (можно изменить в скрипте)
|
|
151
|
+
|
|
152
|
+
## Лицензия
|
|
153
|
+
|
|
154
|
+
Commit Maker лицензирован [MIT](LICENSE)
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
commit_maker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
commit_maker/main.py,sha256=wJJrStnKSMrrGod9vs_yEpN-LYlnHeARCk5NnNc3hSo,21636
|
|
3
|
+
commit_maker-0.2.2.dist-info/licenses/LICENSE,sha256=l88G-hzmKpm5x5R2QG4r_MMJv7PKfr9ubE-VLQ3XMBM,1070
|
|
4
|
+
commit_maker-0.2.2.dist-info/METADATA,sha256=vZMwKZYKhaUcpzg0piWYAzd9GPAZ03DfaFwGiFP1yI4,7238
|
|
5
|
+
commit_maker-0.2.2.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
6
|
+
commit_maker-0.2.2.dist-info/entry_points.txt,sha256=Mw8sNx-b56y6XLyq7fw9GWuoiuVcq40M1dNKYphh7us,56
|
|
7
|
+
commit_maker-0.2.2.dist-info/top_level.txt,sha256=yQcvhH10NmLr9i84KxdAMPG7zVQXWTyT6Ev6E3v6UdU,13
|
|
8
|
+
commit_maker-0.2.2.dist-info/RECORD,,
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 Alex Bulgakov
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Alex Bulgakov
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
commit_maker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
commit_maker/main.py,sha256=Fi-_L5Hk7wZoWlkyOt1-Ti01QRU9HShDg4JsxsNPuCc,20583
|
|
3
|
-
commit_maker-0.2.0.dist-info/licenses/LICENSE,sha256=i6khFYFeloJ8AQuPBehYLLTegIkK91tLmdQtu-2giAQ,1091
|
|
4
|
-
commit_maker-0.2.0.dist-info/METADATA,sha256=u0txKz8ewIJ2zf6l5y0JzK2yon_ZjEUVLu53Jp7319U,6192
|
|
5
|
-
commit_maker-0.2.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
6
|
-
commit_maker-0.2.0.dist-info/entry_points.txt,sha256=Mw8sNx-b56y6XLyq7fw9GWuoiuVcq40M1dNKYphh7us,56
|
|
7
|
-
commit_maker-0.2.0.dist-info/top_level.txt,sha256=yQcvhH10NmLr9i84KxdAMPG7zVQXWTyT6Ev6E3v6UdU,13
|
|
8
|
-
commit_maker-0.2.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|