gac 1.15.0__py3-none-any.whl → 2.0.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 CHANGED
@@ -1,3 +1,3 @@
1
1
  """Version information for gac package."""
2
2
 
3
- __version__ = "1.15.0"
3
+ __version__ = "2.0.0"
gac/main.py CHANGED
@@ -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
gac/prompt.py CHANGED
@@ -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
 
@@ -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
  ---
@@ -1,5 +1,5 @@
1
1
  gac/__init__.py,sha256=z9yGInqtycFIT3g1ca24r-A3699hKVaRqGUI79wsmMc,415
2
- gac/__version__.py,sha256=1LLX3m2CsmQ_0vaoNYdP9xP6_EScz7OC8NL_kyIIrls,67
2
+ gac/__version__.py,sha256=sXY5h9N-vjDIgAsvaFio9v3KucauBzZ9AFdd_Oe8M28,66
3
3
  gac/ai.py,sha256=fg642la4yMecOwfZHQ7Ixl6z-5_qj9Q1SxwVMnPDCcY,4244
4
4
  gac/ai_utils.py,sha256=EDkw0nnwnV5Ba2CLEo2HC15-L5BZtGJATin5Az0ZHkg,7426
5
5
  gac/cli.py,sha256=TV1IWwcRmEfbqXLlfGmTms5NCEqaJXUGIdFxmOg0tC0,5546
@@ -11,9 +11,9 @@ gac/errors.py,sha256=ysDIVRCd0YQVTOW3Q6YzdolxCdtkoQCAFf3_jrqbjUY,7916
11
11
  gac/git.py,sha256=g6tvph50zV-wrTWrxARYXEpl0NeI8-ffFwHoqhp3fSE,8033
12
12
  gac/init_cli.py,sha256=wyyPNjO47IcwFrO-jrqJ5rs1SsKdDJnhuRO83heh1tw,9700
13
13
  gac/language_cli.py,sha256=xmmIonIhOR83VtRFj5Dy8JDtpa5qCNbNxSEZt-1T0a8,4040
14
- gac/main.py,sha256=bQKtSo052U52l9VVZjw0-tEal21vcocSQtpCfpiRtNA,15569
14
+ gac/main.py,sha256=LJhONOP_w09TE7HOd4T_NiAzmiqemY2N7EZ6biqwVQE,15221
15
15
  gac/preprocess.py,sha256=hk2p2X4-xVDvuy-T1VMzMa9k5fTUbhlWDyw89DCf81Q,15379
16
- gac/prompt.py,sha256=BdrOucRNnGncKlWhrO0q-o5vo5oCbXWWUFx6WUEy6Zw,28681
16
+ gac/prompt.py,sha256=HLvsW3YQLdTfw2N9UgjZ0jWckUc1x76V7Kcqjcl8Fsk,28633
17
17
  gac/security.py,sha256=15Yp6YR8QC4eECJi1BUCkMteh_veZXUbLL6W8qGcDm4,9920
18
18
  gac/utils.py,sha256=nV42-brIHW_fBg7x855GM8nRrqEBbRzTSweg-GTyGE8,3971
19
19
  gac/providers/__init__.py,sha256=3WTzh3ngAdvR40eezpMMFD7Zibb-LxexDYUcSm4axQI,1305
@@ -35,8 +35,8 @@ gac/providers/streamlake.py,sha256=KAA2ZnpuEI5imzvdWVWUhEBHSP0BMnprKXte6CbwBWY,2
35
35
  gac/providers/synthetic.py,sha256=sRMIJTS9LpcXd9A7qp_ZjZxdqtTKRn9fl1W4YwJZP4c,1855
36
36
  gac/providers/together.py,sha256=1bUIVHfYzcEDw4hQPE8qV6hjc2JNHPv_khVgpk2IJxI,1667
37
37
  gac/providers/zai.py,sha256=kywhhrCfPBu0rElZyb-iENxQxxpVGykvePuL4xrXlaU,2739
38
- gac-1.15.0.dist-info/METADATA,sha256=Z936z3djd55gxBEHe_W9kEeVLDB8-AtutmpQRo8D50k,8825
39
- gac-1.15.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
40
- gac-1.15.0.dist-info/entry_points.txt,sha256=tdjN-XMmcWfL92swuRAjT62bFLOAwk9bTMRLGP5Z4aI,36
41
- gac-1.15.0.dist-info/licenses/LICENSE,sha256=vOab37NouL1PNs5BswnPayrMCqaN2sqLfMQfqPDrpZg,1103
42
- gac-1.15.0.dist-info/RECORD,,
38
+ gac-2.0.0.dist-info/METADATA,sha256=X4MCo_VM2qkYzwREOCmOZSpV5YC_NZbTH9o4yHOyuHg,8909
39
+ gac-2.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
40
+ gac-2.0.0.dist-info/entry_points.txt,sha256=tdjN-XMmcWfL92swuRAjT62bFLOAwk9bTMRLGP5Z4aI,36
41
+ gac-2.0.0.dist-info/licenses/LICENSE,sha256=vOab37NouL1PNs5BswnPayrMCqaN2sqLfMQfqPDrpZg,1103
42
+ gac-2.0.0.dist-info/RECORD,,
File without changes