EN · RU

AI code review for your CI,
with a risk score you can gate merges on

Your key, any provider, or fully offline.

gitl (git-log-lens) reads a commit range and turns it into a structured engineering artifact: an AI review with a machine-readable risk level, a deterministic changelog, and a multi-repo activity digest — one Go binary, no server, no database.

gitl review streaming a risk score in the terminal
gitl review — AI review of a commit range with a machine-readable risk level. Without a key it falls back to a deterministic offline heuristic — no network, no cost.

Install

# Homebrew (macOS/Linux)
brew install akomyagin/tap/gitl

# npm — downloads the prebuilt, checksum-verified binary for your platform
npx gitl-cli review HEAD~5..HEAD        # or: npm install -g gitl-cli

# Go toolchain
go install github.com/akomyagin/gitl/cmd/gitl@latest
Signed releases (cosign keyless + SLSA L3 provenance), no telemetry, BYOK — your API key never leaves your machine. Verify any release before you run it: VERIFY.md.

Three commands, one binary

gitl review

AI review of a commit range, PR, or staged changes with a machine risk level (low / medium / high). --fail-on=high exits with code 2 — a contract your CI can branch on. Streams tokens live; caches responses on disk.

gitl changelog

Keep-a-Changelog output grouped by conventional commits — deterministic by default, --ai rewrites it as release-note prose and falls back cleanly without a key. Never fails.

gitl digest

Activity summary by author, topic, and file across multiple repositories in parallel — with an interactive TUI viewer (--tui).

It's also an MCP server (gitl mcp) and ships CI wrappers for GitHub Actions, GitLab, Bitbucket, and Gitea — see the full documentation.

Try it in two minutes

# AI review of a commit range (streams to the terminal)
GITL_API_KEY=sk-... gitl review HEAD~5..HEAD

# no key = deterministic offline review (heuristic risk, no network)
gitl review HEAD~5..HEAD

# machine-readable + CI gate
gitl review HEAD~5..HEAD --format=json --fail-on=high   # exit 2 on high risk

Exit codes are part of the contract: 0 — ok, 1 — tool/runtime error, 2 — the --fail-on risk gate triggered.

★ Star on GitHub   See the use cases →