🚀 Git Auto Commit (gac)

June 18, 2026 · View on GitHub

🚀 Git Auto Commit (gac)

PyPI version Changelog Python Build Status codecov Ruff mypy Contributions welcome License: MIT

English | çź€äœ“äž­æ–‡ | çčé«”äž­æ–‡ | æ—„æœŹèȘž | 한ꔭ얎 | à€čà€żà€šà„à€Šà„€ | Tiáșżng Việt | Français | РуссĐșĐžĐč | Español | PortuguĂȘs | Norsk | Svenska | Deutsch | Nederlands | Italiano

LLM-drivna commit-meddelanden som förstÄr din kod!

Automatisera dina commits! ErsÀtt git commit -m "..." med uvx gac för kontekstuell, velformaterade commit-meddelanden genererade av stora sprÄkmodeller!


Vad Du FÄr

Intelligenta, kontextuella meddelanden som förklarar varför bakom dina Àndringar:

GAC generating a contextual commit message


Snabbstart

uvx gac init   # Konfigurera din leverantör, modell och sprÄk
uvx gac        # Generera och commit med LLM

Det Àr allt! Granska det genererade meddelandet och bekrÀfta med y.


Nyckelfunktioner

33+ Stödda Leverantörer

  • Anthropic ‱ Azure OpenAI ‱ Cerebras ‱ ChatGPT (OAuth) ‱ Chutes.ai ‱ Claude Code (OAuth)
  • Crof.ai ‱ DeepInfra ‱ DeepSeek ‱ Fireworks ‱ Gemini ‱ GitHub Copilot (OAuth) ‱ Groq
  • Kimi for Coding ‱ Lilac ‱ LM Studio ‱ MiniMax.io ‱ Mistral AI ‱ Moonshot AI ‱ Neuralwatt ‱ Ollama
  • Ollama Cloud ‱ OpenAI ‱ OpenCode Go ‱ OpenRouter ‱ Plexus Gateway ‱ Qwen Cloud (CN & INTL)
  • Replicate ‱ Streamlake/Vanchin ‱ Synthetic.new ‱ Together AI ‱ Wafer.ai ‱ Z.AI (API & Coding Plans)
  • Custom Endpoints (Anthropic/OpenAI)

🧠 Smart LLM-analys

  • FörstĂ„r avsikt: Analyserar kodstruktur, logik och mönster för att förstĂ„ "varför" bakom dina Ă€ndringar, inte bara vad som Ă€ndrades
  • Semantisk medvetenhet: KĂ€nner igen refactoring, bug-fixer, funktioner och breaking changes för att generera kontextuellt lĂ€mpliga meddelanden
  • Intelligent filtrering: Prioriterar meningsfulla Ă€ndringar medan den ignorerar genererade filer, beroenden och artefakter
  • Intelligent commit-gruppering - Gruppera automatiskt relaterade Ă€ndringar i flera logiska commits med --group

📝 Flera Meddelandeformat

  • En-rads (-o flagga): Enkel-rads commit-meddelande som följer conventional commit-format
  • Standard (standard): Sammanfattning med punktlista som förklarar implementeringsdetaljer
  • Utförlig (-v flagga): Omfattande förklaringar inklusive motivation, teknisk ansats och pĂ„verkananalys
  • 50/72-regel (--50-72 flagga): Tvinga det klassiska commit-meddelandeformatet för optimal lĂ€sbarhet i git log och GitHub UI
  • DCO/Signoff (--signoff flagga): LĂ€gg till Signed-off-by-rad för Developer Certificate of Origin-efterlevnad (krĂ€vs av Cherry Studio, Linux-kĂ€rnan och andra projekt)

🌍 FlersprĂ„kigt Stöd

  • 25+ sprĂ„k: Generera commit-meddelanden pĂ„ engelska, kinesiska, japanska, koreanska, spanska, franska, tyska och 18+ fler sprĂ„k
  • Flexibel översĂ€ttning: VĂ€lj att behĂ„lla conventional commit-prefix pĂ„ engelska för verktygskompatibilitet, eller översĂ€tt dem helt
  • Flera arbetsflöden: StĂ€ll in ett standardsprĂ„k med uvx gac language, eller anvĂ€nd -l <sprĂ„k> flagget för engĂ„ngsöverstyrning
  • Stöd för originalskript: Fullt stöd för icke-latinska skript inklusive CJK, kyrilliska, thai och mer

đŸ’» Utvecklarupplevelse

  • Interaktiv feedback: Skriv r för att köra om, e för att redigera (inbyggd TUI som standard, eller $GAC_EDITOR om angiven), eller skriv din feedback direkt som gör den kortare eller fokusera pĂ„ bug-fixen
  • Interaktiv frĂ„gning: AnvĂ€nd --interactive (-i) för att svara pĂ„ riktade frĂ„gor om dina Ă€ndringar för mer kontextuella commit-meddelanden
  • Ett-kommandos arbetsflöden: Kompletta arbetsflöden med flaggor som uvx gac -ayp (stage alla, auto-bekrĂ€fta, push)
  • Git-integration: Respekterar pre-commit och lefthook hooks, kör dem innan dyra LLM-operationer
  • MCP-server: Kör uvx gac serve för att exponera commit-verktyg till AI-agenter via Model Context Protocol

📊 AnvĂ€ndningsstatistik

uvx gac stats               # Översikt: totala gacs, streaks, dagliga/veckovisa toppar, topprojekt & -modeller
uvx gac stats models        # Modelluppdelning: gacs, tokens, latens, hastighet, latens-per-commit-diagram
uvx gac stats projects      # Projektuppdelning: gacs, commits, tokens, snitt filer per gac över alla repo
uvx gac stats recent        # Senaste gac-historik: tokens, hastighet, latens, filer per gac (-n 20 för fler)
uvx gac stats reset         # ÅterstĂ€ll all statistik (ber om bekrĂ€ftelse)
uvx gac stats reset model <model-id>  # ÅterstĂ€ll statistik endast för en specifik modell
  • SpĂ„ra dina gacs: Se hur mĂ„nga commits du har gjort med gac, din nuvarande streak, topp dagliga/veckovisa aktivitet och topprojekt
  • Token-spĂ„rning: Totalt antal prompt-, output- och reasoning-tokens per dag, vecka, projekt och modell — med highscore-trofĂ©er för tokenanvĂ€ndning ocksĂ„
  • Toppmodeller: Se vilka modeller du anvĂ€nder mest och hur mĂ„nga tokens var och en förbrukar
  • Highscore-firanden: 🏆 trofĂ©er nĂ€r du sĂ€tter nya dagliga, veckovisa, token- eller streak-rekord; đŸ„ˆ för att matcha dem
  • Opt-in vid installation: uvx gac init frĂ„gar om du vill aktivera statistik och förklarar exakt vad som sparas
  • Opt-out nĂ€r som helst: StĂ€ll in GAC_DISABLE_STATS=true (eller 1/yes/on) för att inaktivera. Att stĂ€lla in den pĂ„ false/0/no (eller ta bort den) hĂ„ller statistiken aktiverad
  • Integritet först: Lagrat lokalt i ~/.gac_stats.json. Endast antal, datum, projektnamn och modellnamn — inga commit-meddelanden, kod eller personlig information. Ingen telemetri

đŸ›Ąïž Inbyggd SĂ€kerhet

  • Automatisk hemlighetsdetektering: Skannar efter API-nycklar, lösenord och tokens innan commit
  • Interaktivt skydd: FrĂ„gar innan commit av potentiellt kĂ€nslig data med tydliga Ă„tgĂ€rdsalternativ
  • Smart filtrering: Ignorerar exempelfiler, mallfiler och platshĂ„llar-text för att minska falska positiva

AnvÀndningsexempel

GrundlÀggande Arbetsflöde

# Stage dina Àndringar
git add .

# Generera och commit med LLM
uvx gac

# Granska → y (commit) | n (avbryt) | r (köra om) | e (redigera) | eller skriv feedback

Vanliga Kommandon

KommandoBeskrivning
uvx gacGenerera commit-meddelande
uvx gac -yAuto-bekrÀfta (ingen granskning behövs)
uvx gac -aStage alla innan generering av commit-meddelande
uvx gac -SVĂ€lj interaktivt filer att stagea
uvx gac -oEn-rads meddelande för triviala Àndringar
uvx gac -vUtförligt format med Motivation, Teknisk Ansats och PÄverkananalys
uvx gac -h "hint"LÀgg till kontext för LLM (t.ex., uvx gac -h "bug fix")
uvx gac -sInkludera scope (t.ex., feat(auth):)
uvx gac -iStÀll frÄgor om Àndringar för bÀttre kontext
uvx gac -gGruppera Àndringar i flera logiska commits
uvx gac -pCommit och push
uvx gac modelÄndra AI-leverantör och modell
uvx gac statsVisa din gac-anvÀndningsstatistik

Exempel för Avancerade AnvÀndare

# Komplett arbetsflöde i ett kommando
# Visa din commitstatistik
uvx gac stats

# Statistik för alla projekt
uvx gac stats projects

uvx gac -ayp -h "release preparation"

# Detaljerad förklaring med scope
uvx gac -v -s

# Snabb en-rads för smÄ Àndringar
uvx gac -o

# Generera commitmeddelande pÄ ett specifikt sprÄk
uvx gac -l sv

# Gruppera Àndringar i logiskt relaterade commits
uvx gac -ag

# Interaktivt lÀge med utförlig output för detaljerade förklaringar
uvx gac -iv

# Debug vad LLM ser
uvx gac --show-prompt

# Hoppa över sÀkerhetsskanning (anvÀnd med försiktighet)
uvx gac --skip-secret-scan

# LÀgg till signoff för DCO-efterlevnad (Cherry Studio, Linux-kÀrnan, etc.)
uvx gac --signoff

Interaktivt Feedbacksystem

Inte nöjd med resultatet? Du har flera alternativ:

# Enkel omspelning (ingen feedback)
r

# Redigera commit-meddelandet
e

# Eller skriv bara din feedback direkt!
gör den kortare och fokusera pÄ prestandaförbÀttringen
anvÀnd conventional commit-format med scope
förklara sÀkerhetsimplicationerna

# Tryck Enter pÄ tom input för att se prompten igen

Redigeringsfunktionen (e) lÄter dig förfina commit-meddelandet:

  • Som standard (inbyggd TUI): Flerradersredigering med vi/emacs-tangentbindningar — korrigera stavfel, justera formuleringar, omstrukturera
  • Med GAC_EDITOR: Öppnar din föredragna editor (code, vim, nano osv.) — full editor-kraft inklusive sök/ersĂ€tt, makron osv.

GUI-editorer som VS Code hanteras automatiskt: gac infogar --wait sÄ att processen blockeras tills du stÀnger editor-fliken. Ingen extra konfiguration behövs.


Konfiguration

Kör uvx gac init för att konfigurera din leverantör interaktivt, eller sÀtt miljövariabler:

Behöver du Àndra leverantörer eller modeller senare utan att röra sprÄkinstÀllningar? AnvÀnd uvx gac model för ett strömlinjeformat flöde som hoppar över sprÄkfrÄgorna.

Se .gac.env.example för alla tillgÀngliga alternativ.

Vill du ha commit-meddelanden pĂ„ ett annat sprĂ„k? Kör uvx gac language för att vĂ€lja frĂ„n 25+ sprĂ„k inklusive Español, Français, æ—„æœŹèȘž och mer.

Vill du anpassa commit-meddelandestil? Se docs/CUSTOM_SYSTEM_PROMPTS.md för vÀgledning om att skriva anpassade system-prompts.


FÄ HjÀlp


⭐ StjĂ€rna oss pĂ„ GitHub ‱ 🐛 Rapportera problem ‱ 📖 Full dokumentation