gac Command-Line Gebruik

June 22, 2026 · View on GitHub

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | Tiếng Việt | Français | Рус../ | Español | Português | Norsk | Svenska | Deutsch | Nederlands | Italiano

Dit document beschrijft alle beschikbare vlaggen en opties voor de uvx gac CLI tool.

Inhoudsopgave

Basisgebruik

uvx gac init
# Volg daarna de prompts om uw provider, model en API sleutels interactief te configureren
uvx gac

Genereert een LLM-aangedreven commitbericht voor staged wijzigingen en vraagt om bevestiging. De bevestigingsprompt accepteert:

  • y of yes - Ga door met de commit
  • n of no - Annuleer de commit
  • r of reroll - Genereer het commitbericht opnieuw met dezelfde context
  • e of edit - Bewerk het commitbericht. Standaard wordt een in-place TUI geopend met vi/emacs-keybindings. Stel GAC_EDITOR in om in plaats daarvan uw voorkeurseditor te openen (bijv. GAC_EDITOR=code gac voor VS Code, GAC_EDITOR=vim gac voor vim)
  • Alle andere tekst - Genereer opnieuw met die tekst als feedback (bv., maak het korter, focus op prestaties)
  • Lege input (alleen Enter) - Toon de prompt opnieuw

Kern Workflow Vlaggen

Vlag / OptieKortBeschrijving
--add-all-aStage alle wijzigingen voordat u commit
--stage-SInteractief bestanden selecteren om te stagen met een boomgebaseerde TUI
--group-gGroepeer staged wijzigingen in meerdere logische commits
--push-pPush wijzigingen naar remote na commit
--yes-yBevestig commit automatisch zonder prompting
--dry-runToon wat er zou gebeuren zonder wijzigingen te maken
--message-onlyToon alleen het gegenereerde commitbericht zonder daadwerkelijk te committen
--no-verifySla pre-commit en lefthook hooks over bij commit
--skip-secret-scanSla security scan over voor geheimen in staged wijzigingen
--no-verify-sslSla SSL-certificaatverificatie over (nuttig voor bedrijfsproxies)
--signoffVoeg Signed-off-by regel toe aan commitbericht (DCO-naleving)
--interactive-iStel vragen over wijzigingen voor betere commits

Let op: --stage en --add-all sluiten elkaar uit. Gebruik --stage om interactief te kiezen welke bestanden u wilt stagen, en --add-all om alle wijzigingen in één keer te stagen.

Let op: Combineer -a en -g (d.w.z. -ag) om eerst ALLE wijzigingen te stage, en ze daarna te groeperen in commits.

Let op: Bij gebruik van --group, wordt het maximale output tokens limiet automatisch geschaald op basis van het aantal bestanden dat wordt gecommit (2x voor 1-9 bestanden, 3x voor 10-19 bestanden, 4x voor 20-29 bestanden, 5x voor 30+ bestanden). Dit zorgt ervoor dat de LLM genoeg tokens heeft om alle gegroepeerde commits te genereren zonder truncatie, zelfs voor grote changesets.

Let op: --message-only en --group sluiten elkaar uit. Gebruik --message-only wanneer u het commitbericht voor externe verwerking nodig heeft, en --group wanneer u meerdere commits binnen de huidige git-workflow wilt organiseren.

Let op: De --interactive vlag verstrekt extra context aan de LLM door vragen te stellen over uw wijzigingen, wat leidt tot nauwkeurigere en gedetailleerdere commitberichten. Dit is vooral handig voor complexe wijzigingen of wanneer u ervoor wilt zorgen dat het commitbericht de volledige context van uw werk vastlegt.

Bericht Aanpassing

Vlag / OptieKortBeschrijving
--one-liner-oGenereer een eenregelig commitbericht
--verbose-vGenereer gedetailleerde commitberichten met motivatie, architectuur, & impact
--hint <tekst>-hVoeg een hint toe om de LLM te begeleiden
--model <model>-mSpecificeer het model dat voor deze commit moet worden gebruikt
--language <taal>-lOverschrijf de taal (naam of code: 'Spanish', 'es', 'zh-CN', 'ja')
--scope-sStel een passende scope voor de commit vast
--50-72De 50/72-regel toepassen voor commitberichtopmaak

Let op: De --50-72 vlag past de 50/72-regel toe waarbij:

  • Onderwerpregel: maximaal 50 tekens
  • Body-regels: maximaal 72 tekens per regel
  • Dit houdt commitberichten leesbaar in git log --oneline en GitHub's UI

U kunt ook GAC_USE_50_72_RULE=true instellen in uw .gac.env bestand om deze regel altijd toe te passen.

Let op: U kunt interactief feedback geven door het gewoon op de bevestigingsprompt te typen - geen prefix met 'r' nodig. Typ r voor een eenvoudige reroll, e om het bericht te bewerken (standaard in-place TUI, of uw $GAC_EDITOR indien ingesteld), of typ uw feedback direct zoals maak het korter.

Output en Verbose

Vlag / OptieKortBeschrijving
--quiet-qOnderdruk alle output behalve fouten
--log-level <level>Stel log niveau in (debug, info, warning, error)
--show-promptPrint de LLM prompt gebruikt voor commitberichtgeneratie

Help en Versie

Vlag / OptieKortBeschrijving
--versionToon gac versie en sluit af
--helpToon helpbericht en sluit af

Voorbeeld Workflows

  • Stage alle wijzigingen en commit:

    uvx gac -a
    
  • Commit en push in één stap:

    uvx gac -ap
    
  • Genereer een eenregelig commitbericht:

    uvx gac -o
    
  • Genereer een gedetailleerd commitbericht met gestructureerde secties:

    uvx gac -v
    
  • Voeg een hint toe voor de LLM:

    uvx gac -h "Refactor authenticatielogica"
    
  • Stel een scope voor de commit vast:

    uvx gac -s
    
  • Groepeer staged wijzigingen in logische commits:

    uvx gac -g
    # Groepeert alleen de bestanden die u al gestaged heeft
    
  • Groepeer alle wijzigingen (staged + unstaged) en auto-bevestig:

    uvx gac -agy
    # Staged alles, groepeert het, en bevestigt automatisch
    
  • Gebruik een specifiek model alleen voor deze commit:

    uvx gac -m anthropic:claude-haiku-4-5
    
  • Genereer commitbericht in een specifieke taal:

    # Gebruik taalcodes (korter)
    uvx gac -l zh-CN
    uvx gac -l ja
    uvx gac -l es
    
    # Gebruik volledige namen
    uvx gac -l "Simplified Chinese"
    uvx gac -l Japanese
    uvx gac -l Spanish
    
  • Dry run (zie wat er zou gebeuren):

    uvx gac --dry-run
    
  • Alleen het commitbericht ophalen (voor script-integratie):

    uvx gac --message-only
    # Voorbeeldoutput: feat: add user authentication system
    
  • Commitbericht in eenregel-formaat ophalen:

    uvx gac --message-only --one-liner
    # Voorbeeldoutput: feat: add user authentication system
    
  • Gebruik interactieve modus voor context:

    uvx gac -i
    # Wat is het hoofddoel van deze wijzigingen?
    # Welk probleem lost u op?
    # Zijn er implementatiedetails om te vermelden?
    
  • Interactieve modus met gedetailleerde output:

    uvx gac -i -v
    # Stel vragen en genereer gedetailleerde commitberichten
    

Geavanceerd

  • Combineer vlaggen voor krachtigere workflows (bv., uvx gac -ayp om te stage, auto-bevestigen en pushen)
  • Gebruik --show-prompt om te debuggen of de prompt die naar de LLM wordt gestuurd te bekijken
  • Pas verbose aan met --log-level of --quiet

Pre-commit en Lefthook Hooks Overslaan

De --no-verify vlag staat u toe om pre-commit of lefthook hooks te overslaan die in uw project geconfigureerd zijn:

uvx gac --no-verify  # Sla alle pre-commit en lefthook hooks over

Gebruik --no-verify wanneer:

  • Pre-commit of lefthook hooks tijdelijk falen
  • Werken met tijdrovende hooks
  • Committen van work-in-progress code die nog niet alle controles doorstaat

Let op: Gebruik met voorzichtigheid omdat deze hooks codekwaliteitsstandaarden handhaven.

Security Scanning

uvx gac inclusief ingebouwde security scanning die automatisch potentiële geheimen en API sleutels detecteert in uw staged wijzigingen voordat enige AI API-aanroep wordt gedaan. Als een geheim wordt gedetecteerd, wordt de workflow onmiddellijk afgebroken — geen API-aanroep wordt uitgevoerd. Dit zorgt ervoor dat uw gevoelige gegevens nooit naar een AI-model worden gestuurd. De scanner gebruikt regex-gebaseerde patroonmatching, geen LLM's, dus scannen is snel en wordt volledig lokaal uitgevoerd.

Security scans overslaan:

uvx gac --skip-secret-scan  # Sla security scan over voor deze commit

Om permanent uit te schakelen: Stel GAC_SKIP_SECRET_SCAN=true in uw .gac.env bestand.

Wanneer overslaan:

  • Committen van voorbeeldcode met placeholder sleutels
  • Werken met test fixtures die dummy credentials bevatten
  • Wanneer u heeft geverifieerd dat de wijzigingen veilig zijn

Let op: De scanner gebruikt regex-gebaseerde patroonmatching (geen LLM's) om algemene geheime formaten te detecteren. Het wordt uitgevoerd voordat enige AI API-aanroep wordt gedaan — als een geheim wordt gevonden, wordt geen API-aanroep uitgevoerd. Bekijk altijd uw staged wijzigingen voordat u commit.

Binary File Detection

uvx gac includes automatic detection of binary files in staged changes, preventing accidental commits of compiled files, images, and other binary assets that typically should not be in version control. The detector uses multiple strategies:

  • Extension-based detection - Fast recognition of 60+ binary file types
  • Null byte detection - Reliable indicator of binary content
  • UTF-8 validity checking - Text files should be valid UTF-8 or ASCII
  • Magic byte identification - Detects file types from file signatures

Supported binary types:

  • Executables: .exe, .dll, .so, .dylib, .bin, .o, .obj, .lib, .a
  • Archives: .zip, .tar, .gz, .bz2, .7z, .rar, .xz, .zst
  • Images: .png, .jpg, .jpeg, .gif, .bmp, .ico, .svg, .tiff, .webp
  • Media: .mp3, .wav, .ogg, .flac, .m4a, .aac, .mp4, .avi, .mkv, .mov, .wmv
  • Fonts: .ttf, .otf, .woff, .woff2, .eot
  • Documents: .pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx
  • Databases: .db, .sqlite, .sqlite3, .mdb, .accdb
  • Compiled code: .class, .jar, .war, .ear, .pyc, .pyd, .pyo, .beam, .hi

When binary files are detected:

uvx gac
# Output:
# BINARY FILE WARNING: Binary files detected!
#
#   • image.png
#     Type: Image file
#     Size: 2.3 MB
#
# Binary files should typically be excluded from version control.
# Use .gitignore to prevent accidental commits of binary files.
#
# Options:
#   [a] Abort commit (recommended)
#   [c] Continue anyway (you know what you are doing)
#   [r] Unstage binary file(s) and continue
#
# Choose an option [a]:

Best practices:

  1. Add binary patterns to .gitignore:

    # Compiled files
    *.exe
    *.dll
    *.so
    *.dylib
    *.o
    *.a
    
    # Images
    *.png
    *.jpg
    *.jpeg
    *.gif
    
    # Archives
    *.zip
    *.tar.gz
    
    # Python
    *.pyc
    __pycache__/
    
  2. Use Git LFS for large binary files that must be tracked:

    git lfs track "*.psd"
    git lfs track "*.zip"
    
  3. Commit binary files only when necessary:

    • Icons and assets that are part of the codebase
    • Test fixtures that need to be versioned
    • Documentation images

Note: Binary detection runs automatically during the commit workflow (similar to secret scanning). There is no flag to disable it, as binary files generally should not be committed unless there is a specific reason. If you need to commit a binary file, choose the "Continue anyway" option or ensure it is properly documented in your project guidelines.

SSL-certificaatverificatie

De --no-verify-ssl vlag staat u toe om SSL-certificaatverificatie voor API-aanroepen over te slaan:

uvx gac --no-verify-ssl  # Sla SSL-verificatie over voor deze commit

Om permanent in te stellen: Stel GAC_NO_VERIFY_SSL=true in uw .gac.env bestand.

Gebruik --no-verify-ssl wanneer:

  • Bedrijfsproxies SSL-verkeer onderscheppen (MITM-proxies)
  • Ontwikkelomgevingen zelfondertekende certificaten gebruiken
  • U SSL-certificaatfouten tegenkomt door netwerk beveiligingsinstellingen

Let op: Gebruik deze optie alleen in vertrouwde netwerkomgevingen. Het uitschakelen van SSL-verificatie vermindert de beveiliging en kan uw API-verzoeken kwetsbaar maken voor man-in-the-middle aanvallen.

Signed-off-by Regel (DCO-naleving)

uvx gac ondersteunt het toevoegen van een Signed-off-by regel aan commitberichten, wat vereist is voor naleving van de Developer Certificate of Origin (DCO) in veel open-source projecten.

Signoff toevoegen :

uvx gac --signoff  # Voeg Signed-off-by regel toe aan commitbericht (DCO-naleving)

Om permanent in te stellen : Stel GAC_SIGNOFF=true in je .gac.env bestand, of voeg signoff=true toe aan je configuratie.

Wat het doet :

  • Voegt Signed-off-by: Jouw Naam <jouw.email@example.com> toe aan het commitbericht
  • Gebruikt je git configuratie (user.name en user.email) voor de regel
  • Vereist voor projecten zoals Cherry Studio, Linux kernel en andere die DCO gebruiken

Git identiteit instellen :

Zorg ervoor dat je git configuratie de juiste naam en email heeft :

git config --global user.name "Your Full Name"
git config --global user.email "your.email@example.com"

Let op : De Signed-off-by regel wordt toegevoegd door git tijdens de commit, niet door de AI tijdens berichtgeneratie. Je ziet het niet in de preview, maar het zal in de uiteindelijke commit zitten (controleer met git log -1).

Configuratie Notities

  • De aanbevolen manier om gac in te stellen is uvx gac init uit te voeren en de interactieve prompts te volgen.
  • Al geconfigureerde taal en alleen providers of modellen moeten wisselen? Voer uvx gac model uit om de setup te herhalen zonder taalvragen.
  • Gebruikt u Claude Code? Zie de Claude Code installatiehandleiding voor OAuth-authenticatie-instructies.
  • Gebruikt u ChatGPT OAuth? Zie de ChatGPT OAuth installatiehandleiding voor browsergebaseerde authenticatie-instructies.
  • GitHub Copilot gebruiken? Zie de GitHub Copilot installatiehandleiding voor Device Flow-authenticatie-instructies.
  • gac laadt configuratie in de volgende volgorde van prioriteit:
    1. CLI vlaggen
    2. Project-niveau .gac.env
    3. Gebruiker-niveau ~/.gac.env
    4. Omgevingsvariabelen

Geavanceerde Configuratie Opties

U kunt het gedrag van gac aanpassen met deze optionele omgevingsvariabelen:

  • GAC_EDITOR=code --wait - Overschrijf de editor die wordt gebruikt wanneer u e indrukt bij de bevestigingsprompt. Standaard opent e een in-place TUI; door GAC_EDITOR in te stellen schakelt u over naar een externe editor. Ondersteunt elke editoropdracht met argumenten. Wait-flags (--wait/-w) worden automatisch ingevoegd voor bekende GUI-editors (VS Code, Cursor, Zed, Sublime Text) zodat het proces blokkeert tot u het bestand sluit
  • GAC_ALWAYS_INCLUDE_SCOPE=true - Stel automatisch een scope en voeg deze toe aan commitberichten (bv., feat(auth): vs `feat:)
  • GAC_ALWAYS_GROUPED=true - Gebruik altijd de gegroepeerde commit-modus (equivalent aan altijd de vlag -g of --group doorgeven)
  • GAC_VERBOSE=true - Genereer gedetailleerde commitberichten met motivatie, architectuur en impact secties
  • GAC_USE_50_72_RULE=true - De 50/72-regel altijd toepassen voor commitberichten (onderwerp ≤50 tekens, body-regels ≤72 tekens)
  • GAC_SIGNOFF=true - Altijd Signed-off-by regel toevoegen aan commits (voor DCO-naleving)
  • GAC_TEMPERATURE=0.7 - Controleer LLM creativiteit (0.0-1.0, lager = meer gefocust)
  • GAC_REASONING_EFFORT=medium - Controleer redeneer-/denkdiepte voor modellen die uitgebreid denken ondersteunen (low, medium, high, max). Laat leeg om de standaard van elk model te gebruiken. Wordt alleen naar compatibele providers gestuurd (OpenAI-stijl; niet Anthropic).
  • GAC_MAX_OUTPUT_TOKENS=4096 - Maximale tokens voor gegenereerde berichten (automatisch geschaald 2-5x bij gebruik van --group op basis van bestandsaantal; overschrijf om hoger of lager te gaan)
  • GAC_WARNING_LIMIT_TOKENS=4096 - Waarschuw wanneer prompts dit tokenaantal overschrijden
  • GAC_SYSTEM_PROMPT_PATH=/pad/naar/custom_prompt.txt - Gebruik een custom system prompt voor commitberichtgeneratie
  • GAC_LANGUAGE=Spanish - Genereer commitberichten in een specifieke taal (bv., Spanish, French, Japanese, German). Ondersteunt volledige namen of ISO codes (es, fr, ja, de, zh-CN). Gebruik uvx gac language voor interactieve selectie
  • GAC_TRANSLATE_PREFIXES=true - Vertaal conventionele commit prefixen (feat, fix, etc.) naar de doeltaal (standaard: false, houdt prefixen in Engels)
  • GAC_SKIP_SECRET_SCAN=true - Schakel automatische security scanning voor geheimen in staged wijzigingen uit (gebruik met voorzichtigheid)
  • GAC_NO_VERIFY_SSL=true - Sla SSL-certificaatverificatie over voor API-aanroepen (nuttig voor bedrijfsproxies die SSL-verkeer onderscheppen)
  • GAC_DISABLE_STATS=true - Schakel tracking van gebruikstatistieken uit (geen lees- of schrijfbewerkingen naar het statistiekbestand; bestaande gegevens worden behouden). Alleen truthy-waarden schakelen statistieken uit; instellen op false/0/no/off houdt statistieken ingeschakeld, net als het weglaten van de variabele

Zie .gac.env.example voor een complete configuratiesjabloon.

Voor gedetailleerde begeleiding bij het maken van custom system prompts, zie docs/CUSTOM_SYSTEM_PROMPTS.md.

Configuratie Subcommando's

De volgende subcommando's zijn beschikbaar:

  • uvx gac init — Interactieve setup wizard voor provider, model en taalconfiguratie
  • uvx gac model — Provider/model/API key setup zonder taalprompts (ideaal voor snelle wissels)
  • uvx gac auth — Toon OAuth-authenticatiestatus voor alle providers
  • uvx gac auth claude-code login — Inloggen op Claude Code met OAuth (opent browser)
  • uvx gac auth claude-code logout — Uitloggen uit Claude Code en opgeslagen token verwijderen
  • uvx gac auth claude-code status — Claude Code-authenticatiestatus controleren
  • uvx gac auth chatgpt login — Inloggen op ChatGPT met OAuth (opent browser)
  • uvx gac auth chatgpt logout — Uitloggen uit ChatGPT en opgeslagen token verwijderen
  • uvx gac auth chatgpt status — ChatGPT-authenticatiestatus controleren
  • uvx gac auth copilot login — Inloggen op GitHub Copilot via Device Flow
  • uvx gac auth copilot login --host ghe.mycompany.com — Inloggen op Copilot op een GitHub Enterprise-instantie
  • uvx gac auth copilot logout — Uitloggen bij Copilot en opgeslagen tokens verwijderen
  • uvx gac auth copilot status — Copilot-authenticatiestatus controleren
  • uvx gac config show — Huidige configuratie tonen
  • uvx gac config set KEY VALUE — Configuratiesleutel instellen in $HOME/.gac.env
  • uvx gac config get KEY — Configuratiewaarde krijgen
  • uvx gac config unset KEY — Configuratiesleutel verwijderen uit $HOME/.gac.env
  • uvx gac language (of uvx gac lang) — Interactieve taalselector voor commitberichten (stelt GAC_LANGUAGE in)
  • uvx gac editor (of uvx gac edit) — Interactieve editor-selector voor de e-knop bij de bevestigingsprompt (zet GAC_EDITOR)
  • uvx gac diff — Gefilterde git diff tonen met opties voor gestagede/ongestagede wijzigingen, kleur en truncatie
  • uvx gac serve — Start GAC als MCP-server voor AI-agent integratie (stdio transport)
  • uvx gac stats show — Bekijk uw gac-gebruiksstatistieken (totalen, streaks, dagelijkse & wekelijkse activiteit, tokengebruik, topprojecten met gem. bestanden, topmodellen met snelheid en latentie)
  • uvx gac stats models — Gedetailleerde statistieken voor alle modellen met token-uitsplitsing, snelheid, latentie en latentie-per-commit-grafieken
  • uvx gac stats projects — Statistieken voor alle projecten met token-uitsplitsing en gem. bestanden per gac
  • uvx gac stats recent — Laatste 10 gacs met tokens, snelheid, latentie en bestanden per gac (-n 20 voor meer)
  • uvx gac stats reset — Reset alle statistieken naar nul (vraagt om bevestiging)
  • uvx gac stats reset model <model-id> — Reset statistieken voor een specifiek model (hoofdletterongevoelig)

Interactieve Modus

De --interactive (-i) vlag verbetert de commitberichtgeneratie van gac door gerichte vragen te stellen over uw wijzigingen. Deze extra context helpt de LLM om nauwkeurigere, gedetailleerdere en context-gepaste commitberichten te maken.

Hoe het werkt

Wanneer u --interactive gebruikt, zal gac vragen stellen zoals:

  • Wat is het hoofddoel van deze wijzigingen? - Helpt bij het begrijpen van het hoog-niveau doel
  • Welk probleem lost u op? - Biedt context over de motivatie
  • Zijn er implementatiedetails om te vermelden? - Vangt technische specificaties
  • Zijn er breaking changes? - Identificeert potentiële impactproblemen
  • Is dit gerelateerd aan een issue of ticket? - Koppelt aan projectmanagement

Wanneer interactieve modus te gebruiken

Interactieve modus is vooral handig voor:

  • Complexe wijzigingen waar de context niet duidelijk is uit de diff alleen
  • Refactoring werk dat zich uitstrekt over meerdere bestanden en concepten
  • Nieuwe functies die uitleg van het overall doel vereisen
  • Bug fixes waar de oorzaak niet direct zichtbaar is
  • Prestatieoptimalisatie waar de logica niet voor de hand ligt
  • Code review voorbereiding - vragen helpen u om na te denken over uw wijzigingen

Gebruiksvoorbeelden

Basis interactieve modus:

uvx gac -i

Dit zal:

  1. Een samenvatting tonen van gestagede wijzigingen
  2. Vragen stellen over de wijzigingen
  3. Een commitbericht genereren met uw antwoorden
  4. Om bevestiging vragen (of automatisch bevestigen wanneer gecombineerd met -y)

Interactieve modus met gestagede wijzigingen:

uvx gac -ai
# Stage alle wijzigingen, stel dan vragen voor betere context

Interactieve modus met specifieke hints:

uvx gac -i -h "Databasemigratie voor gebruikersprofielen"
# Stel vragen terwijl u een specifieke hint geeft om de LLM te focussen

Interactieve modus met gedetailleerde output:

uvx gac -i -v
# Stel vragen en genereer een gedetailleerd, gestructureerd commitbericht

Automatisch bevestigde interactieve modus:

uvx gac -i -y
# Stel vragen maar bevestig de resulterende commit automatisch

Vraag-Antwoord Workflow

De interactieve workflow volgt dit patroon:

  1. Wijzigingen review - gac toont een samenvatting van wat u commit
  2. Beantwoord vragen - geef antwoord op elke prompt met relevante details
  3. Context verbetering - uw antwoorden worden toegevoegd aan de LLM prompt
  4. Berichtgeneratie - de LLM maakt een commitbericht met volledige context
  5. Bevestiging - review en bevestig de commit (of automatisch met -y)

Tips voor nuttige antwoorden:

  • Beknopt maar compleet - geef belangrijke details zonder overdreven verbose te zijn
  • Focus op "waarom" - leg de redenering achter uw wijzigingen uit
  • Vermeld beperkingen - noteer beperkingen of speciale overwegingen
  • Link naar externe context - verwijs naar issues, documentatie, of ontwerpdocumenten
  • Lege antwoorden zijn ok - als een vraag niet van toepassing is, druk gewoon op Enter

Combinatie met andere vlaggen

Interactieve modus werkt goed met de meeste andere vlaggen:

# Stage alle wijzigingen en stel vragen
uvx gac -ai

# Stel vragen met gedetailleerde output
uvx gac -i -v

Beste Praktijken

  • Gebruik voor complexe PR's - vooral handig voor pull requests die gedetailleerde uitleg nodig hebben
  • Team samenwerking - vragen helpen u om na te denken over wijzigingen die anderen zullen reviewen
  • Documentatie voorbereiding - uw antwoorden kunnen helpen bij het vormen van de basis voor release notes
  • Leerhulpmiddel - vragen versterken goede praktijken voor commitberichten
  • Overslaan voor simpele wijzigingen - voor triviale fixes kan de basismodus sneller zijn

Gebruiksstatistieken

uvx gac houdt lichtgewicht gebruikstatistieken bij, zodat u uw commitactiviteit, streaks, tokengebruik en meest actieve projecten en modellen kunt bekijken. Statistieken worden lokaal opgeslagen in ~/.gac_stats.json en worden nergens naartoe gestuurd — er is geen telemetrie.

Wat wordt bijgehouden: totaal aantal gac-uitvoeringen, totaal aantal commits, totaal aantal prompt-, output- en reasoning-tokens, eerste/laatste gebruiksdata, dagelijkse en wekelijkse tellingen (gacs, commits, tokens), huidige en langste streak, activiteit per project (gacs, commits, tokens) en activiteit per model (gacs, tokens).

Wat NIET wordt bijgehouden: commitberichten, code-inhoud, bestandspaden, persoonlijke informatie of iets anders dan tellingen, data, projectnamen (afgeleid van git remote of mapnaam) en modelnamen.

Opt-in of Opt-out

uvx gac init vraagt of u statistieken wilt inschakelen en legt uit wat er wordt opgeslagen. U kunt op elk moment van gedachten veranderen:

  • Statistieken inschakelen: verwijder GAC_DISABLE_STATS of stel in op false/0/no/off/leeg.
  • Statistieken uitschakelen: stel GAC_DISABLE_STATS in op een truthy-waarde (true, 1, yes, on).

Wanneer u statistieken afwijst tijdens uvx gac init en een bestaand ~/.gac_stats.json wordt gedetecteerd, wordt u de optie geboden om het te verwijderen.

Statistiek-subcommando's

CommandoBeschrijving
uvx gac statsUw statistieken bekijken (hetzelfde als uvx gac stats show)
uvx gac stats showVolledige statistieken tonen: totalen, streaks, dagelijkse & wekelijkse activiteit, tokengebruik, topprojecten, topmodellen
uvx gac stats modelsGedetailleerde statistieken voor alle gebruikte modellen met token-uitsplitsing, snelheid, latentie en latentie-per-commit-grafieken
uvx gac stats projectsStatistieken voor alle projecten met token-uitsplitsing en gem. bestanden per gac
uvx gac stats recentLaatste 10 gacs (-n 20 voor meer), met tokens, snelheid, latentie en bestanden per gac
uvx gac stats resetAlle statistieken naar nul resetten (vraagt om bevestiging)
uvx gac stats reset model <model-id>Reset statistieken voor een specifiek model (hoofdletterongevoelig)

Voorbeelden

# Uw algemene statistieken bekijken
uvx gac stats

# Gedetailleerde uitsplitsing van alle gebruikte modellen
uvx gac stats models

# Statistieken van alle projecten
uvx gac stats projects

# Recente gac-geschiedenis
uvx gac stats recent -n 20

# Alle statistieken resetten (met bevestigingsprompt)
uvx gac stats reset

# Reset statistieken voor een specifiek model
uvx gac stats reset model wafer:deepseek-v4-pro

Wat u zult zien

Het uitvoeren van uvx gac stats toont:

  • Totaal aantal gacs en commits — hoe vaak u gac heeft gebruikt en hoeveel commits het heeft gemaakt
  • Huidige en langste streak — opeenvolgende dagen met gac-activiteit (🔥 bij 5+ dagen)
  • Activiteitssamenvatting — gacs, commits en tokens van vandaag en deze week vergeleken met uw piekdag en piekweek
  • Topprojecten — uw 5 meest actieve repos op basis van gac- + commit-aantal, met gem. bestanden per gac en tokengebruik
  • Topmodellen — uw 5 meest gebruikte modellen met algehele snelheid, latentie en tokengebruik

Het uitvoeren van uvx gac stats projects toont alle projecten (niet alleen de top 5) met:

  • Alle projecten-tabel — elk project gesorteerd op activiteit, met gac-aantal, commit-aantal, commits-per-gac-ratio, gem. bestanden per gac, prompt-tokens, output-tokens, reasoning-tokens, totale tokens en aandeel in totale gacs
  • Activiteitsbalkdiagram — horizontale balken met relatief gac-aantal per project
  • Tokengebruikbalkdiagram — horizontale balken met relatief tokenverbruik per project

Het uitvoeren van uvx gac stats models toont alle modellen (niet alleen de top 5) met:

  • Alle modellen-tabel — elk gebruikt model gesorteerd op activiteit, met gac-aantal, commit-aantal, algehele snelheid (tokens/sec), algehele latentie, prompt-tokens, output-tokens, reasoning-tokens en totale tokens
  • Snelheidsvergelijking (30d)-diagram — een horizontaal staafdiagram van recente (laatste 30 dagen) modelsnelheden, gesorteerd van snelst naar traagst, kleurgecodeerd op snelheidspercentiel (🟡 bliksemsnel, 🟢 snel, 🔵 matig, 🔘 traag)
  • Latentievergelijking (30d)-diagram — een horizontaal staafdiagram van recente latentie per aanroep, gesorteerd van kortst naar langst
  • Latentie-per-commit (30d)-diagram — een horizontaal staafdiagram van recente latentie gedeeld door commit-aantal, toont de echte wachttijd per commit (een model dat 5 commits doet in een 10s gac kost 2s/commit vs één dat 1 commit doet in een 25s gac tegen 25s/commit)
  • Highscore-vieringen — 🏆 trofeeën wanneer u nieuwe dagelijkse, wekelijkse, token- of streak-records vestigt; 🥈 voor het evenaren ervan
  • Aanmoedigingsberichten — contextuele aanmoedigingen op basis van uw activiteit

Het uitvoeren van uvx gac stats recent toont uw laatste 10 gacs (configureerbaar met -n):

  • Recente gacs-tabel — elke gac met relatieve tijd, project, model, commit-aantal, bestanden, snelheid, latentie en token-uitsplitsing per gac

Statistieken uitschakelen

Stel de omgevingsvariabele GAC_DISABLE_STATS in op een truthy-waarde:

# Statistiektracking uitschakelen
export GAC_DISABLE_STATS=true

# Of in .gac.env
GAC_DISABLE_STATS=true

Falsy-waarden (false, 0, no, off, leeg) houden statistieken ingeschakeld — hetzelfde als het weglaten van de variabele.

Bij uitschakeling slaat gac alle statistiekregistratie over — er vinden geen bestandslees- of schrijfbewerkingen plaats. Bestaande gegevens worden behouden maar niet bijgewerkt totdat u ze weer inschakelt.


Discord Webhook Meldingen

gac kan een Discord-kanaal pingen elke keer dat je een commit maakt, met behulp van een webhook-URL uit de integratie-instellingen van je kanaal. De integratie is opt-in: het doet niets totdat je expliciet een webhook-URL configureert.

Instellen

Gebruik de toegewijde discord subcommando-groep:

uvx gac discord setup     # configureer interactief een webhook-URL
uvx gac discord show      # toon of een webhook is geconfigureerd (URL gemaskeerd)
uvx gac discord test      # stuur een testmelding naar de geconfigureerde webhook
uvx gac discord remove    # verwijder de geconfigureerde webhook-URL

Alternatief, stel de variabele direct in $HOME/.gac.env(of./.gac.env):

GAC_DISCORD_WEBHOOK_URL='https://discord.com/api/webhooks/XXXX/YYYY'

Gedrag

  • Vuurt na elke geslaagde commit (enkele en gegroepeerde workflows). Overgeslagen bij --dry-run en --message-only.
  • Postt een GitHub-stijl embed met een groene streep, repo + branch als auteursrij, het commit-onderwerp als titel, de commit-body als beschrijving en de korte SHA in de footer.
  • Gebruikt de gac avatar en de gebruikersnaam gac.
  • Webhook-mislukkingen worden gelogd op WARNING en blokkeren nooit je commit.
  • Laat GAC_DISCORD_WEBHOOK_URL on ingesteld(of leeg)om uit te schakelen. gac init wordt niet beïnvloed — Discord configuratie leeft alleen onder gac discord.

Hulp Krijgen