gac 2.3.0__py3-none-any.whl → 2.7.0__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.
Potentially problematic release.
This version of gac might be problematic. Click here for more details.
- gac/__version__.py +1 -1
- gac/ai.py +4 -2
- gac/ai_utils.py +1 -0
- gac/auth_cli.py +69 -0
- gac/cli.py +14 -1
- gac/config.py +2 -0
- gac/constants.py +1 -0
- gac/git.py +69 -12
- gac/init_cli.py +175 -19
- gac/language_cli.py +170 -2
- gac/main.py +57 -8
- gac/oauth/__init__.py +1 -0
- gac/oauth/claude_code.py +397 -0
- gac/providers/__init__.py +2 -0
- gac/providers/claude_code.py +102 -0
- gac/providers/custom_anthropic.py +1 -1
- gac/utils.py +104 -3
- gac/workflow_utils.py +5 -2
- {gac-2.3.0.dist-info → gac-2.7.0.dist-info}/METADATA +29 -10
- {gac-2.3.0.dist-info → gac-2.7.0.dist-info}/RECORD +23 -19
- {gac-2.3.0.dist-info → gac-2.7.0.dist-info}/WHEEL +0 -0
- {gac-2.3.0.dist-info → gac-2.7.0.dist-info}/entry_points.txt +0 -0
- {gac-2.3.0.dist-info → gac-2.7.0.dist-info}/licenses/LICENSE +0 -0
gac/workflow_utils.py
CHANGED
|
@@ -5,6 +5,8 @@ from pathlib import Path
|
|
|
5
5
|
import click
|
|
6
6
|
from rich.console import Console
|
|
7
7
|
|
|
8
|
+
from gac.constants import EnvDefaults
|
|
9
|
+
|
|
8
10
|
logger = logging.getLogger(__name__)
|
|
9
11
|
console = Console()
|
|
10
12
|
|
|
@@ -57,13 +59,14 @@ def handle_confirmation_loop(
|
|
|
57
59
|
return ("regenerate", commit_message, conversation_messages)
|
|
58
60
|
|
|
59
61
|
|
|
60
|
-
def execute_commit(commit_message: str, no_verify: bool) -> None:
|
|
62
|
+
def execute_commit(commit_message: str, no_verify: bool, hook_timeout: int | None = None) -> None:
|
|
61
63
|
from gac.git import run_git_command
|
|
62
64
|
|
|
63
65
|
commit_args = ["commit", "-m", commit_message]
|
|
64
66
|
if no_verify:
|
|
65
67
|
commit_args.append("--no-verify")
|
|
66
|
-
|
|
68
|
+
effective_timeout = hook_timeout if hook_timeout and hook_timeout > 0 else EnvDefaults.HOOK_TIMEOUT
|
|
69
|
+
run_git_command(commit_args, timeout=effective_timeout)
|
|
67
70
|
logger.info("Commit created successfully")
|
|
68
71
|
console.print("[green]Commit created successfully[/green]")
|
|
69
72
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gac
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.7.0
|
|
4
4
|
Summary: LLM-powered Git commit message generator with multi-provider support
|
|
5
5
|
Project-URL: Homepage, https://github.com/cellwebb/gac
|
|
6
6
|
Project-URL: Documentation, https://github.com/cellwebb/gac#readme
|
|
@@ -41,6 +41,9 @@ Requires-Dist: twine; extra == 'dev'
|
|
|
41
41
|
Description-Content-Type: text/markdown
|
|
42
42
|
|
|
43
43
|
<!-- markdownlint-disable MD013 -->
|
|
44
|
+
<!-- markdownlint-disable MD033 MD036 -->
|
|
45
|
+
|
|
46
|
+
<div align="center">
|
|
44
47
|
|
|
45
48
|
# 🚀 Git Auto Commit (gac)
|
|
46
49
|
|
|
@@ -50,9 +53,11 @@ Description-Content-Type: text/markdown
|
|
|
50
53
|
[](https://app.codecov.io/gh/cellwebb/gac)
|
|
51
54
|
[](https://github.com/astral-sh/ruff)
|
|
52
55
|
[](https://mypy-lang.org/)
|
|
53
|
-
[](docs/CONTRIBUTING.md)
|
|
56
|
+
[](docs/en/CONTRIBUTING.md)
|
|
54
57
|
[](LICENSE)
|
|
55
58
|
|
|
59
|
+
**English** | [简体中文](docs/zh-CN/README.md) | [繁體中文](docs/zh-TW/README.md) | [日本語](docs/ja/README.md) | [한국어](docs/ko/README.md) | [हिन्दी](docs/hi/README.md) | [Tiếng Việt](docs/vi/README.md) | [Français](docs/fr/README.md) | [Русский](docs/ru/README.md) | [Español](docs/es/README.md) | [Português](docs/pt/README.md) | [Norsk](docs/no/README.md) | [Svenska](docs/sv/README.md) | [Deutsch](docs/de/README.md) | [Nederlands](docs/nl/README.md) | [Italiano](docs/it/README.md)
|
|
60
|
+
|
|
56
61
|
**LLM-powered commit messages that understand your code!**
|
|
57
62
|
|
|
58
63
|
**Automate your commits!** Replace `git commit -m "..."` with `gac` for contextual, well-formatted commit messages generated by large language models!
|
|
@@ -67,12 +72,16 @@ Intelligent, contextual messages that explain the **why** behind your changes:
|
|
|
67
72
|
|
|
68
73
|
---
|
|
69
74
|
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<!-- markdownlint-enable MD033 MD036 -->
|
|
78
|
+
|
|
70
79
|
## Quick Start
|
|
71
80
|
|
|
72
81
|
### Use gac without installing
|
|
73
82
|
|
|
74
83
|
```bash
|
|
75
|
-
uvx gac init
|
|
84
|
+
uvx gac init # Configure your provider, model, and language
|
|
76
85
|
uvx gac # Generate and commit with LLM
|
|
77
86
|
```
|
|
78
87
|
|
|
@@ -98,7 +107,7 @@ uv tool upgrade gac
|
|
|
98
107
|
|
|
99
108
|
### 🌐 **Supported Providers**
|
|
100
109
|
|
|
101
|
-
- **Anthropic** • **Cerebras** • **Chutes.ai** • **DeepSeek** • **Fireworks**
|
|
110
|
+
- **Anthropic** • **Cerebras** • **Claude Code** • **Chutes.ai** • **DeepSeek** • **Fireworks**
|
|
102
111
|
- **Gemini** • **Groq** • **LM Studio** • **MiniMax** • **Mistral** • **Ollama** • **OpenAI**
|
|
103
112
|
- **OpenRouter** • **Streamlake** • **Synthetic.new** • **Together AI**
|
|
104
113
|
- **Z.AI** • **Z.AI Coding** • **Custom Endpoints (Anthropic/OpenAI)**
|
|
@@ -220,6 +229,8 @@ The edit feature (`e`) provides rich in-place terminal editing, allowing you to:
|
|
|
220
229
|
|
|
221
230
|
Run `gac init` to configure your provider interactively, or set environment variables:
|
|
222
231
|
|
|
232
|
+
Need to change providers or models later without touching language settings? Use `gac model` for a streamlined flow that skips the language prompts.
|
|
233
|
+
|
|
223
234
|
```bash
|
|
224
235
|
# Example configuration
|
|
225
236
|
GAC_MODEL=anthropic:your-model-name
|
|
@@ -231,16 +242,24 @@ See `.gac.env.example` for all available options.
|
|
|
231
242
|
|
|
232
243
|
**Want commit messages in another language?** Run `gac language` to select from 25+ languages including Español, Français, 日本語, and more.
|
|
233
244
|
|
|
234
|
-
**Want to customize commit message style?** See [docs/CUSTOM_SYSTEM_PROMPTS.md](docs/CUSTOM_SYSTEM_PROMPTS.md) for guidance on writing custom system prompts.
|
|
245
|
+
**Want to customize commit message style?** See [docs/CUSTOM_SYSTEM_PROMPTS.md](docs/en/CUSTOM_SYSTEM_PROMPTS.md) for guidance on writing custom system prompts.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Project Analytics
|
|
250
|
+
|
|
251
|
+
📊 **[View live usage analytics and statistics →](https://clickpy.clickhouse.com/dashboard/gac)**
|
|
252
|
+
|
|
253
|
+
Track real-time installation metrics and package download statistics.
|
|
235
254
|
|
|
236
255
|
---
|
|
237
256
|
|
|
238
257
|
## Getting Help
|
|
239
258
|
|
|
240
|
-
- **Full documentation**: [USAGE.md](USAGE.md) - Complete CLI reference
|
|
241
|
-
- **Custom prompts**: [CUSTOM_SYSTEM_PROMPTS.md](docs/CUSTOM_SYSTEM_PROMPTS.md) - Customize commit message style
|
|
242
|
-
- **Troubleshooting**: [TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) - Common issues and solutions
|
|
243
|
-
- **Contributing**: [CONTRIBUTING.md](docs/CONTRIBUTING.md) - Development setup and guidelines
|
|
259
|
+
- **Full documentation**: [docs/USAGE.md](docs/en/USAGE.md) - Complete CLI reference
|
|
260
|
+
- **Custom prompts**: [docs/CUSTOM_SYSTEM_PROMPTS.md](docs/en/CUSTOM_SYSTEM_PROMPTS.md) - Customize commit message style
|
|
261
|
+
- **Troubleshooting**: [docs/TROUBLESHOOTING.md](docs/en/TROUBLESHOOTING.md) - Common issues and solutions
|
|
262
|
+
- **Contributing**: [docs/CONTRIBUTING.md](docs/en/CONTRIBUTING.md) - Development setup and guidelines
|
|
244
263
|
|
|
245
264
|
---
|
|
246
265
|
|
|
@@ -250,7 +269,7 @@ See `.gac.env.example` for all available options.
|
|
|
250
269
|
|
|
251
270
|
Made with ❤️ for developers who want better commit messages
|
|
252
271
|
|
|
253
|
-
[⭐ Star us on GitHub](https://github.com/cellwebb/gac) • [🐛 Report issues](https://github.com/cellwebb/gac/issues) • [📖 Full docs](USAGE.md)
|
|
272
|
+
[⭐ Star us on GitHub](https://github.com/cellwebb/gac) • [🐛 Report issues](https://github.com/cellwebb/gac/issues) • [📖 Full docs](docs/en/USAGE.md)
|
|
254
273
|
|
|
255
274
|
</div>
|
|
256
275
|
|
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
gac/__init__.py,sha256=z9yGInqtycFIT3g1ca24r-A3699hKVaRqGUI79wsmMc,415
|
|
2
|
-
gac/__version__.py,sha256=
|
|
3
|
-
gac/ai.py,sha256=
|
|
4
|
-
gac/ai_utils.py,sha256=
|
|
5
|
-
gac/
|
|
6
|
-
gac/
|
|
2
|
+
gac/__version__.py,sha256=ZtPBPM1886CyEdtyRElDUY1IyJ0wC1HyEm3mVjHq_WM,66
|
|
3
|
+
gac/ai.py,sha256=jFIA79WAXnsOp-0ttGJdUARVHss_5VNWBi2PFfS4ZT8,5066
|
|
4
|
+
gac/ai_utils.py,sha256=75bXu2jSSKN-d6WYCpHhfQeRLsh2GiIbquZQ28rK9O4,8335
|
|
5
|
+
gac/auth_cli.py,sha256=Bd2TSjoVruOwzcPjDvyjfuKtlBr_wEScf8AWsddKfU0,2224
|
|
6
|
+
gac/cli.py,sha256=Jw683ua9TZbJKaMu2n2xONwXz5NxrrpfsZbCZH7mBkQ,6464
|
|
7
|
+
gac/config.py,sha256=HXYy889wZGlot2kn2jvR1QsiVIVHaZbvhIqMybm3Iso,2164
|
|
7
8
|
gac/config_cli.py,sha256=v9nFHZO1RvK9fzHyuUS6SG-BCLHMsdOMDwWamBhVVh4,1608
|
|
8
|
-
gac/constants.py,sha256=
|
|
9
|
+
gac/constants.py,sha256=f8UdGVzYHcuOxPHO53Isllkrk8G0DEE0qP8f4Oers_M,9670
|
|
9
10
|
gac/diff_cli.py,sha256=wnVQ9OFGnM0d2Pj9WVjWbo0jxqIuRHVAwmb8wU9Pa3E,5676
|
|
10
11
|
gac/errors.py,sha256=ysDIVRCd0YQVTOW3Q6YzdolxCdtkoQCAFf3_jrqbjUY,7916
|
|
11
|
-
gac/git.py,sha256=
|
|
12
|
-
gac/init_cli.py,sha256=
|
|
13
|
-
gac/language_cli.py,sha256=
|
|
14
|
-
gac/main.py,sha256=
|
|
12
|
+
gac/git.py,sha256=HJANfY8RFyrtXJUDo8wxrU0e5tx0agakdM8jCru1b3Q,11285
|
|
13
|
+
gac/init_cli.py,sha256=x_N38ynOrvdc--GYDYl7ysQJvwtL-NBk7_bxH4eLHzo,21238
|
|
14
|
+
gac/language_cli.py,sha256=FEQf-k5KrhIpvx4XJvjqxTeE4qumNO00d-tgOAf83W4,8488
|
|
15
|
+
gac/main.py,sha256=8HhyJ1OOEQNU39wj6g9cdzeqc4Vpu7M6EuaHwY6hb-E,31274
|
|
15
16
|
gac/preprocess.py,sha256=hk2p2X4-xVDvuy-T1VMzMa9k5fTUbhlWDyw89DCf81Q,15379
|
|
16
17
|
gac/prompt.py,sha256=ofumb6DmxJceqZLUlUyLE9b7Mwx9BpIEHweKEV9eicw,31841
|
|
17
18
|
gac/security.py,sha256=QT91mBEo2Y7la-aXvKuF2zhWuoOSXb6PWKLJ93kSy2k,9926
|
|
18
|
-
gac/utils.py,sha256=
|
|
19
|
-
gac/workflow_utils.py,sha256=
|
|
20
|
-
gac/
|
|
19
|
+
gac/utils.py,sha256=gTpc9zLzy3-3L5k-V5uSeFI-NnSPabA1GGVwSgpeMSk,11709
|
|
20
|
+
gac/workflow_utils.py,sha256=rnKrPc8yiBKdGz6Set2wu8q-bX6lEUVD1YEj5wg6C2Q,5226
|
|
21
|
+
gac/oauth/__init__.py,sha256=hPSGHlt-BFZXSodg-n6S405-5YZComyV_iEtzkPumdQ,46
|
|
22
|
+
gac/oauth/claude_code.py,sha256=S4XsamRKOJoBwXo3GyhhcP5ypj3RE2akoBSo2yojtS8,12120
|
|
23
|
+
gac/providers/__init__.py,sha256=k_T1K6aPeB4vJ5XyHeFROtbVJ6s3aNTtdHpEBxjdaFA,1441
|
|
21
24
|
gac/providers/anthropic.py,sha256=VK5d1s1PmBNDwh_x7illQ2CIZIHNIYU28btVfizwQPs,2036
|
|
22
25
|
gac/providers/cerebras.py,sha256=Ik8lhlsliGJVkgDgqlThfpra9tqbdYQZkaC4eNxRd9w,1648
|
|
23
26
|
gac/providers/chutes.py,sha256=cclJOLuGVIiiaF-9Bs1kH6SSOhEmduGB2zZ86KIaXKw,2617
|
|
24
|
-
gac/providers/
|
|
27
|
+
gac/providers/claude_code.py,sha256=e_j0n0flN6m1UsY_v1lzwcy1miC9pynPY-1Fbq2akyw,4069
|
|
28
|
+
gac/providers/custom_anthropic.py,sha256=aqtMdLnbwFjXkQzo7-pKfhIHktFuePVsnfDJOFJvDeM,5529
|
|
25
29
|
gac/providers/custom_openai.py,sha256=EB1H21oV6CJNPGtM7u2EP7sGaPhCQ0lQAcIcj-2PXvE,3975
|
|
26
30
|
gac/providers/deepseek.py,sha256=leT2S4_CE6JzwF3skDd4umBsu2rkJOJ66AfOdSL5wGc,1643
|
|
27
31
|
gac/providers/fireworks.py,sha256=zsWhf6LMVdtsD9keXRFwgn9lCQigz6VmrDl6vqIVkdI,1688
|
|
@@ -37,8 +41,8 @@ gac/providers/streamlake.py,sha256=KAA2ZnpuEI5imzvdWVWUhEBHSP0BMnprKXte6CbwBWY,2
|
|
|
37
41
|
gac/providers/synthetic.py,sha256=sRMIJTS9LpcXd9A7qp_ZjZxdqtTKRn9fl1W4YwJZP4c,1855
|
|
38
42
|
gac/providers/together.py,sha256=1bUIVHfYzcEDw4hQPE8qV6hjc2JNHPv_khVgpk2IJxI,1667
|
|
39
43
|
gac/providers/zai.py,sha256=kywhhrCfPBu0rElZyb-iENxQxxpVGykvePuL4xrXlaU,2739
|
|
40
|
-
gac-2.
|
|
41
|
-
gac-2.
|
|
42
|
-
gac-2.
|
|
43
|
-
gac-2.
|
|
44
|
-
gac-2.
|
|
44
|
+
gac-2.7.0.dist-info/METADATA,sha256=A31IMh77XO-gFzQRptAN-3dixvA-0FZ9NEd9VM4uBdE,10867
|
|
45
|
+
gac-2.7.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
46
|
+
gac-2.7.0.dist-info/entry_points.txt,sha256=tdjN-XMmcWfL92swuRAjT62bFLOAwk9bTMRLGP5Z4aI,36
|
|
47
|
+
gac-2.7.0.dist-info/licenses/LICENSE,sha256=vOab37NouL1PNs5BswnPayrMCqaN2sqLfMQfqPDrpZg,1103
|
|
48
|
+
gac-2.7.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|