gac kommandolinje bruk
June 22, 2026 · View on GitHub
English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | Tiếng Việt | Français | Русский | Español | Português | Norsk | Svenska | Deutsch | Nederlands | Italiano
Dette dokumentet beskriver alle tilgjengelige flagg og alternativer for uvx gac CLI-verktøyet.
Innholdsfortegnelse
- gac kommandolinje bruk
Grunnleggende Bruk
uvx gac init
# Følg deretter instruksjonene for å konfigurere din provider, modell og API-nøkler interaktivt
uvx gac
Genererer en LLM-drevet commit-melding for staged endringer og ber om bekreftelse. Bekreftelsesprompten aksepterer:
yelleryes- Fortsett med commitnellerno- Avbryt commitrellerreroll- Regenerer commit-meldingen med samme konteksteelleredit- Rediger commit-meldingen. Som standard åpnes en innebygd TUI med vi/emacs-tastebindinger. SettGAC_EDITORfor å åpne din foretrukne editor i stedet (f.eks.GAC_EDITOR=code gacfor VS Code,GAC_EDITOR=vim gacfor vim)- Alt annen tekst - Regenerer med den teksten som feedback (f.eks.
gjør det kortere,fokuser på ytelse) - Tom input (bare Enter) - Vis prompten igjen
Kjerne-workflow-flagg
| Flagg / Alternativ | Kort | Beskrivelse |
|---|---|---|
--add-all | -a | Stage alle endringer før committing |
--stage | -S | Interaktivt velg filer for staging med trebasert TUI |
--group | -g | Grupperte staged endringer i flere logiske commits |
--push | -p | Push endringer til remote etter committing |
--yes | -y | Bekreft commit automatisk uten prompting |
--dry-run | Vis hva som ville skjedd uten å gjøre endringer | |
--message-only | Output kun den genererte commit-meldingen uten committing | |
--no-verify | Hopp over pre-commit og lefthook hooks ved committing | |
--skip-secret-scan | Hopp over sikkerhetsskanning for hemmeligheter i staged endringer | |
--no-verify-ssl | Hopp over SSL-sertifikatverifisering (nyttig for bedriftsproxyer) | |
--signoff | Legg til Signed-off-by-linje i commit-meldingen (DCO-samsvar) | |
--interactive | -i | Still spørsmål om endringer for bedre commits |
Merknad: --stage og --add-all er gjensidig eksklusive. Bruk --stage for å interaktivt velge hvilke filer du vil stage, og --add-all for å stage alle endringer på én gang.
Merknad: Kombiner -a og -g (dvs. -ag) for å stage ALLE endringer først, deretter gruppere dem i commits.
Merknad: Når du bruker --group, blir maks output tokens grense automatisk skalert basert på antall filer som committes (2x for 1-9 filer, 3x for 10-19 filer, 4x for 20-29 filer, 5x for 30+ filer). Dette sikrer at LLM har nok tokens til å generere alle grupperte commits uten trunkering, selv for store endringssett.
Merknad: --message-only og --group er gjensidig eksklusive. Bruk --message-only når du vil få commit-meldingen for ekstern behandling, og --group når du vil organisere flere commits i den nåværende git-workflowen.
Note: --interactive flag gir LLM ekstra kontekst ved å stille spørsmål om endringene dine, noe som fører til mer nøyaktige og detaljerte commit-meldinger. Dette er spesielt nyttig for komplekse endringer eller når du vil sørge for at commit-meldingen fanger hele konteksten av arbeidet ditt.
Meldingstilpasning
| Flagg / Alternativ | Kort | Beskrivelse |
|---|---|---|
--one-liner | -o | Generer en enkeltlinjes commit-melding |
--verbose | -v | Generer detaljerte commit-meldinger med motivasjon, arkitektur & påvirkning |
--hint <tekst> | -h | Legg til et hint for å guide LLM-en |
--model <modell> | -m | Spesifiser modellen som skal brukes for denne commit |
--language <språk> | -l | Overstyr språket (navn eller kode: 'Norsk', 'nb', 'sv', 'da') |
--scope | -s | Utled et passende scope for commiten |
--50-72 | Anvende 50/72-regelen for commit-meldingformatering |
Merknad: --50-72 flagget anvender 50/72-regelen hvor:
- Emnelinje: maksimum 50 tegn
- Brødtekstlinjer: maksimum 72 tegn per linje
- Dette holder commit-meldinger lesbare i
git log --onelineog GitHub's UI
Du kan også sette GAC_USE_50_72_RULE=true i .gac.env filen din for å alltid anvende denne regelen.
Merknad: Du kan gi feedback interaktivt ved å skrive det direkte i bekreftelsesprompten - ingen 'r'-prefiks nødvendig. Skriv r for en enkel reroll, e for å redigere meldingen (innebygd TUI som standard, eller din $GAC_EDITOR hvis satt), eller skriv feedbacken din direkte som gjør det kortere.
Output og detaljnivå
| Flagg / Alternativ | Kort | Beskrivelse |
|---|---|---|
--quiet | -q | Undertrykk all output unntatt feil |
--log-level <level> | Sett loggnivå (debug, info, warning, error) | |
--show-prompt | Skriv ut LLM-prompten brukt for commit-meldingsgenerering |
Hjelp og versjon
| Flagg / Alternativ | Kort | Beskrivelse |
|---|---|---|
--version | Vis gac-versjon og avslutt | |
--help | Vis hjelpemelding og avslutt |
Eksempel-workflows
-
Stage alle endringer og commit:
uvx gac -a -
Commit og push i ett steg:
uvx gac -ap -
Generer en enkeltlinjes commit-melding:
uvx gac -o -
Generer en detaljert commit-melding med strukturerte seksjoner:
uvx gac -v -
Legg til et hint for LLM-en:
uvx gac -h "Refaktorer autentiseringslogikk" -
Utled scope for commitet:
uvx gac -s -
Grupperte staged endringer i logiske commits:
uvx gac -g # Grupperer kun filene du allerede har staged -
Grupper alle endringer (staged + unstaged) og auto-bekreft:
uvx gac -agy # Stager alt, grupperer det og bekrefter automatisk -
Bruk en spesifikk modell kun for denne commit:
uvx gac -m anthropic:claude-haiku-4-5 -
Generer commit-melding på et spesifikt språk:
# Bruker språkkoder (kortere) uvx gac -l zh-CN uvx gac -l ja uvx gac -l es # Bruker fulle navn uvx gac -l "Forenklet Kinesisk" uvx gac -l Japansk uvx gac -l Spansk -
Tørrkjøring (se hva som ville skjedd):
uvx gac --dry-run -
Få kun commit-meldingen (for skript-integrasjon):
uvx gac --message-only # Output: feat: legg til brukerautentiseringssystem -
Få commit-melding i enkeltlinjeformat:
uvx gac --message-only --one-liner # Output: feat: legg til brukerautentiseringssystem -
Bruk interaktiv modus for å gi kontekst:
uvx gac -i # Hva er hovedformålet med disse endringene? # Hvilket problem løser du? # Er det implementeringsdetaljer verdt å nevne? -
Interaktiv modus med detaljert output:
uvx gac -i -v # Still spørsmål og generer detaljert commit-melding
Avansert
- Kombiner flagg for mer kraftfulle workflows (f.eks.
uvx gac -aypfor å stage, auto-bekrefte og pushe) - Bruk
--show-promptfor å debugge eller gjennomgå prompten sendt til LLM-en - Juster detaljnivå med
--log-leveleller--quiet
Hoppe over Pre-commit og Lefthook Hooks
--no-verify-flagget lar deg hoppe over alle pre-commit eller lefthook hooks konfigurert i prosjektet ditt:
uvx gac --no-verify # Hopp over alle pre-commit og lefthook hooks
Bruk --no-verify når:
- Pre-commit eller lefthook hooks feiler midlertidig
- Du jobber med tidkrevende hooks
- Du committer arbeid-på-gang-kode som ikke består alle sjekker ennå
Merknad: Bruk med forsiktighet da disse hooks vedlikeholder kodekvalitetsstandarder.
Sikkerhetsskanning
uvx gac inkluderer innebygd sikkerhetsskanning som automatisk oppdager potensielle hemmeligheter og API-nøkler i dine staged endringer før noen AI API-kall blir gjort. Hvis en hemmelighet oppdages, avbrytes arbeidsflyten umiddelbart — ingen API-kall blir utført. Dette sikrer at dine sensitive data aldri sendes til noen AI-modell. Skanneren bruker regex-basert mønstergjenkjenning, ikke LLM-er, så skanning er rask og kjøres helt lokalt.
Hoppe over sikkerhetsskanninger:
uvx gac --skip-secret-scan # Hopp over sikkerhetsskanning for denne commit
For å deaktivere permanent: Sett GAC_SKIP_SECRET_SCAN=true i din .gac.env-fil.
Når du skal hoppe over:
- Committe av eksempelkode med plassholdernøkler
- Arbeide med test fixtures som inneholder dummy-credentials
- Når du har verifisert at endringene er trygge
Merknad: Skanneren bruker regex-basert mønstergjenkjenning (ikke LLM-er) for å oppdage vanlige hemmelighetsformater. Den kjøres før ethvert AI API-kall — hvis en hemmelighet blir funnet, utføres ingen API-kall. Gjennomgå alltid dine staged endringer før 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:
-
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__/ -
Use Git LFS for large binary files that must be tracked:
git lfs track "*.psd" git lfs track "*.zip" -
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-sertifikatverifisering
--no-verify-ssl-flagget lar deg hoppe over SSL-sertifikatverifisering for API-kall:
uvx gac --no-verify-ssl # Hopp over SSL-verifisering for denne commit
For å sette permanent: Sett GAC_NO_VERIFY_SSL=true i din .gac.env-fil.
Bruk --no-verify-ssl når:
- Bedriftsproxyer avlytter SSL-trafikk (MITM-proxyer)
- Utviklingsmiljøer bruker selv-signerte sertifikater
- Du møter SSL-sertifikatfeil på grunn av nettverkssikkerhetsinnstillinger
Merknad: Bruk kun dette alternativet i pålitelige nettverksmiljøer. Deaktivering av SSL-verifisering reduserer sikkerheten og kan gjøre API-forespørslene dine sårbare for man-in-the-middle-angrep.
Signed-off-by-linje (DCO-samsvar)
uvx gac støtter å legge til en Signed-off-by-linje i commit-meldinger, som er påkrevd for Developer Certificate of Origin (DCO)-samsvar i mange open source-prosjekter.
Legg til signoff :
uvx gac --signoff # Legg til Signed-off-by-linje i commit-meldingen (DCO-samsvar)
For å aktivere permanent : Sett GAC_SIGNOFF=true i .gac.env-filen din, eller legg til signoff=true i konfigurasjonen din.
Hva den gjør :
- Legger til
Signed-off-by: Ditt Navn <din.email@example.com>i commit-meldingen - Bruker git-konfigurasjonen din (
user.nameoguser.email) til linjen - Påkrevd for prosjekter som Cherry Studio, Linux-kjernen og andre som bruker DCO
Git-identitetsoppsett :
Sørg for at git-konfigurasjonen din har riktig navn og e-post :
git config --global user.name "Your Full Name"
git config --global user.email "your.email@example.com"
Merknad : Signed-off-by-linjen legges til av git under commit, ikke av AI under meldingsgenerering. Du vil ikke se den i forhåndsvisningen, men den vil være i den endelige commiten (sjekk med git log -1).
Konfigurasjonsnotater
- Den anbefalte måten å sette opp gac er å kjøre
uvx gac initog følge de interaktive promptene. - Allerede konfigurert språk og trenger bare å bytte provider eller modeller? Kjør
uvx gac modelfor å gjenta oppsettet uten språkspørsmål. - Bruker Claude Code? Se Claude Code oppsettguide for OAuth-autentiseringsinstruksjoner.
- Bruker ChatGPT OAuth? Se ChatGPT OAuth oppsettguide for nettleserbaserte autentiseringsinstruksjoner.
- Bruker du GitHub Copilot? Se GitHub Copilot-oppsettsguiden for instruksjoner om Device Flow-autentisering.
- gac laster konfigurasjon i følgende prioriteringsrekkefølge:
- CLI-flagg
- Prosjektnivå
.gac.env - Brukernivå
~/.gac.env - Miljøvariabler
Avanserte Konfigurasjonsalternativer
Du kan tilpasse gac sitt oppførsel med disse valgfrie miljøvariablene:
GAC_EDITOR=code --wait- Overstyr editoren som brukes når du trykkerei bekreftelsesprompten. Som standard åpnereen innebygd TUI; ved å setteGAC_EDITORbytter du til en ekstern editor. Støtter enhver editorkommando med argumenter. Venteflagg (--wait/-w) settes automatisk inn for kjente GUI-editorer (VS Code, Cursor, Zed, Sublime Text) slik at prosessen blokkeres til du lukker filenGAC_ALWAYS_INCLUDE_SCOPE=true- Utled automatisk og inkluder scope i commit-meldinger (f.eks.feat(auth):vs `feat:)GAC_ALWAYS_GROUPED=true- Bruk alltid gruppert commit-modus (ekvivalent med å alltid sende flagget-geller--group)GAC_VERBOSE=true- Generer detaljerte commit-meldinger med motivasjon, arkitektur og påvirkningseksjonerGAC_USE_50_72_RULE=true- Alltid anvende 50/72-regelen for commit-meldinger (emne ≤50 tegn, brødtekstlinjer ≤72 tegn)GAC_SIGNOFF=true- Alltid legg til Signed-off-by-linje i commits (for DCO-samsvar)GAC_TEMPERATURE=0.7- Kontroller LLM-kreativitet (0.0-1.0, lavere = mer fokusert)GAC_REASONING_EFFORT=medium- Kontroller resonnerings-/tankedybde for modeller som støtter utvidet tenkning (low, medium, high, max). La være uinnstilt for å bruke hver modells standard. Sendes kun til kompatible leverandører (OpenAI-stil; ikke Anthropic).GAC_MAX_OUTPUT_TOKENS=4096- Maksimum tokens for genererte meldinger (automatisk skalert 2-5x når du bruker--groupbasert på filantall; overstyr for å gå høyere eller lavere)GAC_WARNING_LIMIT_TOKENS=4096- Varsel når prompter overstiger dette tokenantalletGAC_SYSTEM_PROMPT_PATH=/path/to/custom_prompt.txt- Bruk et egendefinert systemprompt for commit-meldingsgenereringGAC_LANGUAGE=Norwegian- Generer commit-meldinger på et spesifikt språk (f.eks. Norwegian, French, Japanese, German). Støtter fulle navn eller ISO-koder (nb, fr, ja, de, zh-CN). Brukuvx gac languagefor interaktivt valgGAC_TRANSLATE_PREFIXES=true- Oversett konvensjonelle commit-prefikser (feat, fix, etc.) til målspråket (default: false, beholder prefikser på engelsk)GAC_SKIP_SECRET_SCAN=true- Deaktiver automatisk sikkerhetsskanning for hemmeligheter i staged endringer (bruk med forsiktighet)GAC_NO_VERIFY_SSL=true- Hopp over SSL-sertifikatverifisering for API-kall (nyttig for bedriftsproxyer som avlytter SSL-trafikk)GAC_DISABLE_STATS=true- Deaktiver sporing av bruksstatistikk (ingen lesing eller skriving av statistikkfil; eksisterende data bevares). Bare truthy-verdier deaktiverer statistikk; å sette den tilfalse/0/no/offholder statistikk aktivert, det samme som å la variabelen være udefinert
Se .gac.env.example for en komplett konfigurasjonsmal.
For detaljert veiledning for å lage egendefinerte systemprompts, se docs/CUSTOM_SYSTEM_PROMPTS.md.
Konfigurasjons-underkommandoer
Følgende underkommandoer er tilgjengelige:
uvx gac init— Interaktiv oppsettsguide for provider, modell og språkkonfigurasjonuvx gac model— Provider/modell/API-nøkkel oppsett uten språkprompts (ideelt for raske bytter)uvx gac auth— Vis OAuth-autentiseringsstatus for alle leverandøreruvx gac auth claude-code login— Logg inn på Claude Code med OAuth (åpner nettleser)uvx gac auth claude-code logout— Logg ut av Claude Code og fjern lagret tokenuvx gac auth claude-code status— Sjekk Claude Code-autentiseringsstatusuvx gac auth chatgpt login— Logg inn på ChatGPT med OAuth (åpner nettleser)uvx gac auth chatgpt logout— Logg ut av ChatGPT og fjern lagret tokenuvx gac auth chatgpt status— Sjekk ChatGPT-autentiseringsstatusuvx gac auth copilot login— Logg inn på GitHub Copilot med Device Flowuvx gac auth copilot login --host ghe.mycompany.com— Logg inn på Copilot på en GitHub Enterprise-instansuvx gac auth copilot logout— Logg ut av Copilot og fjern lagrede tokensuvx gac auth copilot status— Sjekk Copilot-autentiseringsstatusuvx gac config show— Vis nåværende konfigurasjonuvx gac config set KEY VALUE— Sett en konfigurasjonsnøkkel i$HOME/.gac.envuvx gac config get KEY— Hent en konfigurasjonsverdiuvx gac config unset KEY— Fjern en konfigurasjonsnøkkel fra$HOME/.gac.envuvx gac language(elleruvx gac lang) — Interaktivt språkvalg for commit-meldinger (setter GAC_LANGUAGE)uvx gac editor(elleruvx gac edit) — Interaktiv editorvelger fore-knappen ved bekreftelsesprompten (setter GAC_EDITOR)uvx gac diff— Vis filtrert git diff med alternativer for staged/unstaged endringer, farge og trunkeringuvx gac serve— Start GAC som MCP-server for AI-agent integrasjon (stdio transport)uvx gac stats show— Vis din gac-bruksstatistikk (totaler, streaks, daglig & ukentlig aktivitet, tokenbruk, topprosjekter med snitt filer, toppmodeller med fart og latens)uvx gac stats models— Detaljert statistikk for alle modeller med token-oppdeling, hastighet, latens og latens-per-commit-diagrammeruvx gac stats projects— Statistikk for alle prosjekter med token-oppdeling og snitt filer per gacuvx gac stats recent— Siste 10 gacs med tokens, hastighet, latens og filer per gac (-n 20for flere)uvx gac stats reset— Tilbakestill all statistikk til null (ber om bekreftelse)uvx gac stats reset model <model-id>— Tilbakestill statistikk for en spesifikk modell (ufølsom for store/små bokstaver)
Interaktiv Modus
--interactive (-i) flagget forbedrer gac's commit-meldinggenerering ved å stille målrettede spørsmål om endringene dine. Denne ekstra konteksten hjelper LLM med å lage mer nøyaktige, detaljerte og kontekstilpassede commit-meldinger.
Hvordan det fungerer
Når du bruker --interactive, vil gac stille spørsmål som:
- Hva er hovedformålet med disse endringene? - Hjelper med å forstå høynivåmålet
- Hvilket problem løser du? - Gir kontekst om motivasjonen
- Er det implementasjonsdetaljer å nevne? - Fanger tekniske spesifikasjoner
- Er det breaking changes? - Identifiserer potensielle impact-problemer
- Er dette relatert til en issue eller ticket? - Kobler til prosjektstyring
Når du skal bruke interaktiv modus
Interaktiv modus er spesielt nyttig for:
- Komplekse endringer hvor konteksten ikke er klar fra diff-en alene
- Refactoring-arbeid som spenner over flere filer og konsepter
- Nye funksjoner som krever forklaring av overall formål
- Bug fixes hvor rotårsaken ikke er umiddelbart synlig
- Ytelsesoptimalisering hvor logikken ikke er åpenbar
- Code review-forberedelse - spørsmål hjelper deg å tenke over endringene dine
Brukseksempler
Basis interaktiv modus:
uvx gac -i
Dette vil:
- Vise en oppsummering av staged endringer
- Stille spørsmål om endringene
- Generere en commit-melding med svarene dine
- Be om bekreftelse (eller automatisk bekrefte når kombinert med
-y)
Interaktiv modus med staged endringer:
uvx gac -ai
# Stage alle endringer, still spørsmål for bedre kontekst
Interaktiv modus med spesifikke hints:
uvx gac -i -h "Databasemigrering for brukerprofiler"
# Still spørsmål mens du gir et spesifikt hint for å fokusere LLM
Interaktiv modus med detaljert output:
uvx gac -i -v
# Still spørsmål og generer en detaljert, strukturert commit-melding
Automatisk bekreftet interaktiv modus:
uvx gac -i -y
# Still spørsmål men bekrefter resulterende commit automatisk
Spørsmål-Svar Workflow
Den interaktive workflown følger dette mønsteret:
- Endringsgjennomgang - gac viser en oppsummering av hva du committer
- Svar på spørsmål - svar på hver prompt med relevante detaljer
- Kontekstforbedring - svarene dine legges til LLM-prompten
- Meldingsgenerering - LLM lager en commit-melding med full kontekst
- Bekreftelse - gjennomgå og bekreft commit (eller automatisk med
-y)
Tips for nyttige svar:
- Konsis men komplett - gi viktige detaljer uten å være overlydende verbose
- Fokuser på "hvorfor" - forklar resonnementet bak endringene dine
- Nevn begrensninger - noter begrensninger eller spesielle hensyn
- Lenk til ekstern kontekst - referer til issues, dokumentasjon, eller designdokumenter
- Tomme svar er ok - hvis et spørsmål ikke gjelder, bare trykk Enter
Kombinasjon med andre flagg
Interaktiv modus fungerer godt med de fleste andre flagg:
# Stage alle endringer og still spørsmål
uvx gac -ai
# Still spørsmål med detaljert output
uvx gac -i -v
Beste Praksis
- Bruk for komplekse PR-er - spesielt nyttig for pull requests som trenger detaljerte forklaringer
- Teamsamarbeid - spørsmål hjelper deg å tenke over endringer andre skal gjennomgå
- Dokumentasjonsforberedelse - svarene dine kan hjelpe med å danne grunnlag for release notes
- Læringsverktøy - spørsmål forsterker gode praksiser for commit-meldinger
- Hopp over for enkle endringer - for trivielle fixes kan basismodus være raskere
Bruksstatistikk
uvx gac sporer lettvektig bruksstatistikk slik at du kan se din commit-aktivitet, streaks, tokenbruk og mest aktive prosjekter og modeller. Statistikk lagres lokalt i ~/.gac_stats.json og sendes aldri noe sted — det er ingen telemetri.
Hva spores: totalt antall gac-kjøringer, totalt antall committer, totale prompt-, output- og reasoning-tokens, første/siste bruk-datoer, daglige og ukentlige tellinger (gacs, committer, tokens), nåværende og lengste streak, aktivitet per prosjekt (gacs, committer, tokens) og aktivitet per modell (gacs, tokens).
Hva IKKE spores: commit-meldinger, kodeinnhold, filstier, personlig informasjon eller noe utover tellinger, datoer, prosjektnavn (avledet fra git remote eller mappenavn) og modellnavn.
Opt-in eller Opt-out
uvx gac init spør om du vil aktivere statistikk og forklarer nøyaktig hva som lagres. Du kan når som helst ombestemme deg:
- Aktiver statistikk: fjern
GAC_DISABLE_STATSeller sett den tilfalse/0/no/off/tom. - Deaktiver statistikk: sett
GAC_DISABLE_STATStil en truthy-verdi (true,1,yes,on).
Når du avslår statistikk under uvx gac init og en eksisterende ~/.gac_stats.json oppdages, blir du tilbudt muligheten til å slette den.
Statistikk-underkommandoer
| Kommando | Beskrivelse |
|---|---|
uvx gac stats | Vis din statistikk (samme som uvx gac stats show) |
uvx gac stats show | Vis fullstendig statistikk: totaler, streaks, daglig & ukentlig aktivitet, tokenbruk, topprosjekter, toppmodeller |
uvx gac stats models | Detaljert statistikk for alle brukte modeller med token-oppdeling, hastighet, latens og latens-per-commit-diagrammer |
uvx gac stats projects | Statistikk for alle prosjekter med token-oppdeling og snitt filer per gac |
uvx gac stats recent | Siste 10 gacs (-n 20 for flere), med tokens, hastighet, latens og filer per gac |
uvx gac stats reset | Tilbakestill all statistikk til null (ber om bekreftelse) |
uvx gac stats reset model <model-id> | Tilbakestill statistikk for en spesifikk modell (ufølsom for store/små bokstaver) |
Eksempler
# Vis din totale statistikk
uvx gac stats
# Detaljert nedbryting av alle brukte modeller
uvx gac stats models
# Statistikk for alle prosjekter
uvx gac stats projects
# Nylig gac-historikk
uvx gac stats recent -n 20
# Tilbakestill all statistikk (med bekreftelsesprompt)
uvx gac stats reset
# Tilbakestill statistikk for en spesifikk modell
uvx gac stats reset model wafer:deepseek-v4-pro
Hva du vil se
Å kjøre uvx gac stats viser:
- Totalt antall gacs og committer — hvor mange ganger du har brukt gac og hvor mange committer det har opprettet
- Nåværende og lengste streak — etterfølgende dager med gac-aktivitet (🔥 ved 5+ dager)
- Aktivitetssammendrag — dagens og denne ukens gacs, committer og tokens sammenlignet med din toppedag og toppeuke
- Topprosjekter — dine 5 mest aktive repos etter gac- + commit-antall, med snitt filer per gac og tokenbruk
- Toppmodeller — dine 5 mest brukte modeller med total fart, latens og tokenbruk
Å kjøre uvx gac stats projects viser alle prosjekter (ikke bare de 5 øverste) med:
- Alle prosjekter-tabell — hvert prosjekt sortert etter aktivitet, med gac-antall, commit-antall, commits-per-gac-ratio, snitt filer per gac, prompt-tokens, output-tokens, reasoning-tokens, totale tokens og andel av totale gacs
- Aktivitetsstolpediagram — horisontale stolper som viser relativt gac-antall per prosjekt
- Tokenbrukstolpediagram — horisontale stolper som viser relativt tokenforbruk per prosjekt
Å kjøre uvx gac stats models viser alle modeller (ikke bare de 5 øverste) med:
- Alle modeller-tabell — hver brukt modell sortert etter aktivitet, med gac-antall, commit-antall, total fart (tokens/sek), total latens, prompt-tokens, output-tokens, reasoning-tokens og totale tokens
- Fartssammenligning (30d)-diagram — et horisontalt stolpediagram av nylige (siste 30 dager) modelfarter, sortert fra raskest til tregest, fargekodet etter fartspersentil (🟡 lynrask, 🟢 rask, 🔵 moderat, 🔘 treg)
- Latenssammenligning (30d)-diagram — et horisontalt stolpediagram av nylig latens per kall, sortert fra kortest til lengst
- Latens-per-commit (30d)-diagram — et horisontalt stolpediagram av nylig latens delt på commit-antall, viser ekte ventetid per commit (en modell som gjør 5 committer i en 10s gac koster 2s/commit vs en som gjør 1 commit i en 25s gac til 25s/commit)
- Highscore-feiringer — 🏆 trofeer når du setter nye daglige, ukentlige, token- eller streak-rekorder; 🥈 for å tangere dem
- Oppmuntringsmeldinger — kontekstuelle oppmuntringer basert på din aktivitet
Å kjøre uvx gac stats recent viser dine siste 10 gacs (konfigurerbar med -n):
- Nylige gacs-tabell — hver gac med relativ tid, prosjekt, modell, commit-antall, filer, fart, latens og token-nedbrytning per gac
Deaktivere statistikk
Sett miljøvariabelen GAC_DISABLE_STATS til en truthy-verdi:
# Deaktiver statistikksporing
export GAC_DISABLE_STATS=true
# Eller i .gac.env
GAC_DISABLE_STATS=true
Falsy-verdier (false, 0, no, off, tom) holder statistikk aktivert — det samme som å la variabelen være udefinert.
Når deaktivert, hopper gac over all statistikkregistrering — ingen fillesing eller skriving skjer. Eksisterende data bevares men oppdateres ikke før du reaktiverer dem.
Discord Webhook-varsler
gac kan pinge en Discord-kanal hver gang du gjør en commit, ved å bruke en webhook-URL fra kanalens integreringsinnstillinger. Integrasjonen er valgfri: den gjør ingenting før du eksplisitt konfigurerer en webhook-URL.
Oppsett
Bruk den dedikerte discord underkommandogruppen:
uvx gac discord setup # konfigurer en webhook-URL interaktivt
uvx gac discord show # vis om en webhook er konfigurert (URL maskert)
uvx gac discord test # send en testvarsling til den konfigurerte webhooken
uvx gac discord remove # fjern den konfigurerte webhook-URL-en
Alternativt kan du angi variabelen direkte i $HOME/.gac.env(eller./.gac.env):
GAC_DISCORD_WEBHOOK_URL='https://discord.com/api/webhooks/XXXX/YYYY'
Oppførsel
- Avfyres etter hver vellykket commit (enkelte og grupperte arbeidsflyter). Hoppes over ved
--dry-runog--message-only. - Poster en GitHub-stil embed med en grønn stripe, repo + gren som autorad, commit-emnet som tittel, commit-bodyen som beskrivelse og den korte SHA i footeren.
- Bruker gac-avataren og brukernavnet
gac. - Webhook-feil logges på WARNING-nivå og blokkerer aldri commitet ditt.
- La
GAC_DISCORD_WEBHOOK_URLvære usatt (eller tom) for å deaktivere.gac initpåvirkes ikke — Discord-oppsett lever kun undergac discord.
Få Hjelp
- For MCP-server oppsett (AI-agent integrasjon), se docs/MCP.md
- For egendefinerte systemprompts, se docs/CUSTOM_SYSTEM_PROMPTS.md
- For Claude Code OAuth-oppsett, se CLAUDE_CODE.md
- For ChatGPT OAuth-oppsett, se CHATGPT_OAUTH.md
- For GitHub Copilot-oppsett, se GITHUB_COPILOT.md
- For feilsøking og avanserte tips, se docs/TROUBLESHOOTING.md
- For installasjon og konfigurasjon, se README.md#installation-and-configuration
- For å bidra, se docs/CONTRIBUTING.md
- Lisensinformasjon: LICENSE