gac 1.15.0__tar.gz → 2.0.0__tar.gz

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.

Files changed (42) hide show
  1. {gac-1.15.0 → gac-2.0.0}/PKG-INFO +12 -10
  2. {gac-1.15.0 → gac-2.0.0}/README.md +11 -9
  3. {gac-1.15.0 → gac-2.0.0}/src/gac/__version__.py +1 -1
  4. {gac-1.15.0 → gac-2.0.0}/src/gac/main.py +16 -20
  5. {gac-1.15.0 → gac-2.0.0}/src/gac/prompt.py +3 -3
  6. {gac-1.15.0 → gac-2.0.0}/.gitignore +0 -0
  7. {gac-1.15.0 → gac-2.0.0}/LICENSE +0 -0
  8. {gac-1.15.0 → gac-2.0.0}/pyproject.toml +0 -0
  9. {gac-1.15.0 → gac-2.0.0}/src/gac/__init__.py +0 -0
  10. {gac-1.15.0 → gac-2.0.0}/src/gac/ai.py +0 -0
  11. {gac-1.15.0 → gac-2.0.0}/src/gac/ai_utils.py +0 -0
  12. {gac-1.15.0 → gac-2.0.0}/src/gac/cli.py +0 -0
  13. {gac-1.15.0 → gac-2.0.0}/src/gac/config.py +0 -0
  14. {gac-1.15.0 → gac-2.0.0}/src/gac/config_cli.py +0 -0
  15. {gac-1.15.0 → gac-2.0.0}/src/gac/constants.py +0 -0
  16. {gac-1.15.0 → gac-2.0.0}/src/gac/diff_cli.py +0 -0
  17. {gac-1.15.0 → gac-2.0.0}/src/gac/errors.py +0 -0
  18. {gac-1.15.0 → gac-2.0.0}/src/gac/git.py +0 -0
  19. {gac-1.15.0 → gac-2.0.0}/src/gac/init_cli.py +0 -0
  20. {gac-1.15.0 → gac-2.0.0}/src/gac/language_cli.py +0 -0
  21. {gac-1.15.0 → gac-2.0.0}/src/gac/preprocess.py +0 -0
  22. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/__init__.py +0 -0
  23. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/anthropic.py +0 -0
  24. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/cerebras.py +0 -0
  25. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/chutes.py +0 -0
  26. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/custom_anthropic.py +0 -0
  27. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/custom_openai.py +0 -0
  28. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/deepseek.py +0 -0
  29. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/fireworks.py +0 -0
  30. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/gemini.py +0 -0
  31. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/groq.py +0 -0
  32. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/lmstudio.py +0 -0
  33. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/minimax.py +0 -0
  34. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/ollama.py +0 -0
  35. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/openai.py +0 -0
  36. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/openrouter.py +0 -0
  37. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/streamlake.py +0 -0
  38. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/synthetic.py +0 -0
  39. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/together.py +0 -0
  40. {gac-1.15.0 → gac-2.0.0}/src/gac/providers/zai.py +0 -0
  41. {gac-1.15.0 → gac-2.0.0}/src/gac/security.py +0 -0
  42. {gac-1.15.0 → gac-2.0.0}/src/gac/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gac
3
- Version: 1.15.0
3
+ Version: 2.0.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
@@ -117,7 +117,7 @@ gac
117
117
 
118
118
  ### 💻 **Developer Experience**
119
119
 
120
- - **Interactive feedback**: Regenerate messages with specific requests like `r "make it shorter"` or `r "focus on the bug fix"`
120
+ - **Interactive feedback**: Type `r` to reroll, or directly type your feedback like `make it shorter` or `focus on the bug fix`
121
121
  - **One-command workflows**: Complete workflows with flags like `gac -ayp` (stage all, auto-confirm, push)
122
122
  - **Git integration**: Respects pre-commit and lefthook hooks, running them before expensive LLM operations
123
123
 
@@ -140,7 +140,7 @@ git add .
140
140
  # Generate and commit with LLM
141
141
  gac
142
142
 
143
- # Review → y (commit) | n (cancel) | r (reroll)
143
+ # Review → y (commit) | n (cancel) | r (reroll) | or type feedback
144
144
  ```
145
145
 
146
146
  ### Common Commands
@@ -175,18 +175,20 @@ gac --show-prompt
175
175
  gac --skip-secret-scan
176
176
  ```
177
177
 
178
- ### Interactive Reroll System
178
+ ### Interactive Feedback System
179
179
 
180
- Not happy with the result? Use the reroll feature for intelligent regeneration:
180
+ Not happy with the result? You have two options:
181
181
 
182
182
  ```bash
183
- # Simple reroll
183
+ # Simple reroll (no feedback)
184
184
  r
185
185
 
186
- # With specific feedback
187
- r make it shorter and focus on the performance improvement
188
- r use conventional commit format with scope
189
- r explain the security implications
186
+ # Or just type your feedback directly - no prefix needed!
187
+ make it shorter and focus on the performance improvement
188
+ use conventional commit format with scope
189
+ explain the security implications
190
+
191
+ # Press Enter on empty input to see the prompt again
190
192
  ```
191
193
 
192
194
  ---
@@ -76,7 +76,7 @@ gac
76
76
 
77
77
  ### 💻 **Developer Experience**
78
78
 
79
- - **Interactive feedback**: Regenerate messages with specific requests like `r "make it shorter"` or `r "focus on the bug fix"`
79
+ - **Interactive feedback**: Type `r` to reroll, or directly type your feedback like `make it shorter` or `focus on the bug fix`
80
80
  - **One-command workflows**: Complete workflows with flags like `gac -ayp` (stage all, auto-confirm, push)
81
81
  - **Git integration**: Respects pre-commit and lefthook hooks, running them before expensive LLM operations
82
82
 
@@ -99,7 +99,7 @@ git add .
99
99
  # Generate and commit with LLM
100
100
  gac
101
101
 
102
- # Review → y (commit) | n (cancel) | r (reroll)
102
+ # Review → y (commit) | n (cancel) | r (reroll) | or type feedback
103
103
  ```
104
104
 
105
105
  ### Common Commands
@@ -134,18 +134,20 @@ gac --show-prompt
134
134
  gac --skip-secret-scan
135
135
  ```
136
136
 
137
- ### Interactive Reroll System
137
+ ### Interactive Feedback System
138
138
 
139
- Not happy with the result? Use the reroll feature for intelligent regeneration:
139
+ Not happy with the result? You have two options:
140
140
 
141
141
  ```bash
142
- # Simple reroll
142
+ # Simple reroll (no feedback)
143
143
  r
144
144
 
145
- # With specific feedback
146
- r make it shorter and focus on the performance improvement
147
- r use conventional commit format with scope
148
- r explain the security implications
145
+ # Or just type your feedback directly - no prefix needed!
146
+ make it shorter and focus on the performance improvement
147
+ use conventional commit format with scope
148
+ explain the security implications
149
+
150
+ # Press Enter on empty input to see the prompt again
149
151
  ```
150
152
 
151
153
  ---
@@ -1,3 +1,3 @@
1
1
  """Version information for gac package."""
2
2
 
3
- __version__ = "1.15.0"
3
+ __version__ = "2.0.0"
@@ -275,10 +275,11 @@ def main(
275
275
  )
276
276
 
277
277
  if require_confirmation:
278
- # Custom prompt that accepts y/n/r or "r <feedback (optional)>"
279
278
  while True:
280
279
  response = click.prompt(
281
- "Proceed with commit above? [y/n/r <feedback>]", type=str, show_default=False
280
+ "Proceed with commit above? [y/n/r/<feedback>]",
281
+ type=str,
282
+ show_default=False,
282
283
  ).strip()
283
284
  response_lower = response.lower()
284
285
 
@@ -287,27 +288,22 @@ def main(
287
288
  if response_lower in ["n", "no"]:
288
289
  console.print("[yellow]Prompt not accepted. Exiting...[/yellow]")
289
290
  sys.exit(0)
290
- if response_lower == "r" or response_lower == "reroll" or response_lower.startswith("r "):
291
- if response_lower == "r" or response_lower == "reroll":
292
- feedback_message = (
293
- "Please provide an alternative commit message using the same repository context."
294
- )
295
- console.print("[cyan]Regenerating commit message...[/cyan]")
296
- else:
297
- reroll_feedback = response[2:].strip()
298
- feedback_message = (
299
- f"Please revise the commit message based on this feedback: {reroll_feedback}"
300
- )
301
- console.print(f"[cyan]Regenerating commit message with feedback: {reroll_feedback}[/cyan]")
302
-
291
+ if response == "":
292
+ continue
293
+ if response_lower in ["r", "reroll"]:
294
+ feedback_message = (
295
+ "Please provide an alternative commit message using the same repository context."
296
+ )
297
+ console.print("[cyan]Regenerating commit message...[/cyan]")
303
298
  conversation_messages.append({"role": "user", "content": feedback_message})
304
-
305
- console.print() # Add blank line for readability
299
+ console.print()
306
300
  break
307
301
 
308
- console.print(
309
- "[red]Invalid response. Please enter y (yes), n (no), r (reroll), or r <feedback>.[/red]"
310
- )
302
+ feedback_message = f"Please revise the commit message based on this feedback: {response}"
303
+ console.print(f"[cyan]Regenerating commit message with feedback: {response}[/cyan]")
304
+ conversation_messages.append({"role": "user", "content": feedback_message})
305
+ console.print()
306
+ break
311
307
 
312
308
  if response_lower in ["y", "yes"]:
313
309
  break
@@ -39,12 +39,12 @@ When changes span multiple areas:
39
39
 
40
40
  <format>
41
41
  <one_liner>
42
- Create a single-line commit message (50-72 characters if possible).
42
+ Create a single-line commit message.
43
43
  Your message should be clear, concise, and descriptive of the core change.
44
44
  Use present tense ("Add feature" not "Added feature").
45
45
  </one_liner><multi_line>
46
46
  Create a commit message with:
47
- - First line: A concise summary (50-72 characters) that could stand alone
47
+ - First line: A concise summary that could stand alone
48
48
  - Blank line after the summary
49
49
  - Detailed body with multiple bullet points explaining the key changes
50
50
  - Focus on WHY changes were made, not just WHAT was changed
@@ -55,7 +55,7 @@ When changes span multiple areas:
55
55
 
56
56
  Your commit message MUST follow this structure:
57
57
 
58
- Line 1: A concise summary (up to ~72 characters) with conventional commit prefix
58
+ Line 1: A concise summary (that could stand alone) with conventional commit prefix
59
59
  Line 2: BLANK LINE (required)
60
60
  Lines 3+: Detailed multi-paragraph body with the following sections:
61
61
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes