gga install, it writes a standard git hook that fires automatically on every commit.
Default pre-commit hook
Runninggga install in a git repository creates .git/hooks/pre-commit with the following content:
.git/hooks/pre-commit
gga run, which reviews your staged files against the rules in your AGENTS.md. If the review fails, the commit is blocked.
Commit-msg hook
To also review commit messages, install the commit-msg variant:.git/hooks/commit-msg and passes the commit message file to GGA automatically:
.git/hooks/commit-msg
$1 argument is the path to the temporary file containing the commit message. GGA reads it and includes the message as part of the review context.
Coexisting with existing hooks
GGA uses marker comments to delimit its section of a hook file:exit 0 statement, GGA inserts its block before that final exit to ensure the review runs.
Running
gga install a second time on the same repository is a no-op. GGA detects the markers and skips re-installation.Uninstalling
Git worktrees
GGA resolves the hooks directory using:.git/hooks directory — --git-path hooks points there automatically, so no extra configuration is needed.
VS Code and Antigravity
GGA installs as a standard git hook, so it fires whenevergit commit runs — regardless of the IDE or terminal in use.
VS Code Source Control panel
Commits made via the Source Control panel (Ctrl+Enter / Cmd+Enter) trigger the pre-commit hook normally. Hook output appears in the Git output channel: open it with View → Output, then select Git from the dropdown.
Bypassing the hook
To skip the review for a single commit, use --no-verify from the integrated terminal:
PROVIDER="gemini" in your .gga config and ensure the gemini CLI is in your PATH. GGA works through git hooks with no IDE-specific configuration.
Windows + VS Code
VS Code may launch git from a different shell profile than your terminal. If gga is not found when committing from VS Code, confirm it is resolvable inside VS Code by running:
gga to your system PATH.