mrkeyoor.com_
Sat 26 Sept 18:46 UTC
Dev Toolsevaluationupdated 26 Aug 2026

git-ai review

Git AI is a local Git extension that records which lines a supported coding agent wrote, plus the agent, model, session, and prompt behind them. It provides AI-aware blame and commit statistics without trying to detect authorship from code after the fact.

+33stars / 7d
Verdict

Our Git AI run passed 2,324 of 2,325 tests after a 293-second build, with the lone failure tied to an unsupported git merge-tree option in our sandbox. That is strong enough for an individual trial and cautious enough to demand workflow-specific checks before teams treat attribution as audit evidence. Use it when explicit agent provenance is worth maintaining Git Notes and integrations; skip it if incomplete attribution would be worse than having none.

We ran it

Lab card: what happened when we ran git-aiScreenshot of git-ai (usegitai.com)
Install✓ · 24s326 packages
Build✓ · 293s
Tests✗ · 228s2324 passed · 1 failed of 2325 (cargo test)
Repo891 files~306,090 lines of source · 23.2 MB · 22 CI workflows · tests dir

Answers from our run

Does git-ai build from source?

Dependencies installed in 24 seconds (326 packages), and the build succeeded in 293 seconds. We cloned commit 55a1d72 into a clean Debian container with 3 CPUs and no project-specific setup.

Do git-ai's tests pass?

Not all of them: 2324 of 2325 passed and 1 failed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use git-ai?

Compliance teams that require attribution to be infallible: issue 2221 reports new files created by Copilot being silently marked as human work.

What are the alternatives to git-ai?

Aider, Plandex, GitButler. Our Git AI run passed 2,324 of 2,325 tests after a 293-second build, with the lone failure tied to an unsupported git merge-tree option in our sandbox.

Setup4/5Install passed in 24 seconds; the full Rust build took 293 seconds
Docs5/5Commands, internals, integrations, and unsupported rewrites are clear
Community4/52,506 stars with a same-day release and active issue queue
Maturity4/5Broad Git coverage, with one current attribution defect reported

Discussed on

  1. hnShow HN: Git Extension for Tracking AI Code and Prompts4 points

Who it’s for

Developers using Claude Code, Codex, Cursor, Copilot, OpenCode, Gemini, or another supported agent.
Reviewers who need to trace a line back to the session and prompt that produced it.
Teams measuring accepted AI output, human changes, model use, and token cost across commits.
Tool builders interested in an open Git Notes format for explicit AI attribution.

Who it’s NOT for

Compliance teams that require attribution to be infallible: issue 2221 reports new files created by Copilot being silently marked as human work.
Repositories that need attribution to survive git mv, git filter-repo, git filter-branch, or git replace: the README marks those operations unsupported.
Teams expecting server-side squash or rebase merges to work with the local CLI alone: the README requires CI actions or the team product.
Organizations unwilling to install integrations in each agent environment: attribution depends on agent checkpoints rather than code detection.
Managed-desktop buyers who require settled native packages: the v1.7.0 release labels Windows MSI and macOS PKG installers beta.

Setup reality

Our Rust install succeeded in 24 seconds with 326 packages, and the build succeeded in 293 seconds. Tests ran for 228 seconds: 2,324 passed and 1 failed out of 2,325. The failure came from a git merge-tree command whose installed Git did not recognize the merge-base option.

The personal CLI works locally without a login or per-repository initialization. It installs integrations for supported agents and keeps a background daemon running. Prompt details live outside Git, while line attribution travels in Git Notes.

Teams using hosted squash or rebase merges need the documented CI actions or Git AI for Teams. Native Windows MSI and macOS PKG files are beta in v1.7.0, and unsupported rewrite operations can break attribution continuity.

Attribution comes from agent checkpoints, not a classifier

Git AI fills a gap in ordinary commit history. A commit names its human author, yet the patch may mix manual edits with output from several agents, models, and prompts. Supported agents call git-ai checkpoint as they change files. The extension maps those checkpoints to lines and stores attribution in Git Notes, allowing git ai blame to identify the reported agent behind a line.

This is a better basis than guessing from coding style. The tool records explicit events and can connect an accepted line to a session or tool call. Its statistics cover AI additions, accepted output, human overrides, model use, tokens, and cost. The format is published as version 3 of the Git AI standard, so the data model is not confined to one editor integration.

The method still depends on every relevant agent integration emitting correct checkpoints. Unsupported tools, broken hooks, and timing defects can leave gaps or wrong labels. Git AI is evidence about recorded activity, not proof that every line has been classified correctly. That distinction should appear in any policy or dashboard built on top of it.

The local CLI avoids per-repository setup but runs a daemon

Installation is a shell command on macOS, Linux, and WSL, with a PowerShell path for Windows. Release v1.7.0 supplies x64 and ARM64 binaries, checksums, and instructions for GitHub attestation verification. Its Windows MSI and macOS PKG installers are explicitly beta. The CLI works offline without a login, and a developer does not initialize each repository separately.

The background machinery is less visible. Git AI installs hooks or integrations for supported agents, uses a daemon to reconcile changes, and updates agent hooks daily according to the README. Developers can refresh them with git ai install-hooks. Prompt sessions stay outside the repository, while the Git Notes attached to commits hold line attribution that needs to move with the Git history.

What happened when we ran it

Our sandbox installed 326 Rust packages in 24 seconds, then completed the build in 293 seconds. The checkout at commit 55a1d72 contained 891 files, roughly 306,090 lines of source, and 23.2 MB before dependencies. We found 22 CI workflow files, a tests directory, and no Dockerfile. Those figures describe the source checkout and commands we ran, not the packaged installer experience.

Tests ran for 228 seconds and reported 2,324 passed with 1 failed out of 2,325. The failing case was test_graphite_style_multi_commit_single_update_ref. It called git merge-tree with the merge-base option, and the Git executable in our fresh Debian container rejected that option as unknown. Cargo exited with code 101. The log does not show an attribution mismatch, so we do not treat it as one.

A 2,324-to-1 result is substantial coverage, while the failure still matters for reproducibility. The repository built successfully, and the failed test exposed a dependency on Git command behavior that the selected rust:1-bookworm image did not provide. Anyone building from source should record both Rust and Git versions in their environment rather than pinning only the compiler image.

Git Notes survive many rewrites, with named exclusions

The useful part of this project is what happens after the first commit. The README says attribution follows rebase, cherry-pick, stash, squash merges, soft and mixed resets, amend, branch changes, pulls, pushes, and linked worktrees. Formatters are meant to preserve AI authorship instead of turning every touched line into human work. This is much more useful than adding an AI-assisted trailer to a commit message.

Boundaries are documented. git mv does not carry attribution to the renamed file. Bulk rewrites through git filter-branch or git filter-repo are unsupported, as is git replace. A multi-repository agent must run Bash commands with its working directory inside each affected repository for those changes to be attributed. These constraints deserve regression tests against the exact workflow a team uses.

Hosted merge operations add another layer. GitHub, GitLab, Bitbucket, and Azure DevOps can squash or rebase work on the server, outside the local daemon's view. Preserving notes there requires the open CI actions or Git AI for Teams. A rollout that omits this step may look accurate on developer branches and lose continuity when pull requests merge.

A current Copilot report shows why spot checks matter

Issue 2221, opened August 26, 2026, reports that GitHub Copilot edits to existing files were attributed to the agent while newly created files were attributed to the human. The reporter reproduced it on Linux and WSL2 with git-ai 1.6.14 and 1.6.22. The issue describes a silent failure, which is especially serious because an attribution tool can look complete while labeling the wrong author.

The report is specific to a Copilot and VS Code path and does not prove every integration has the defect. It does justify a simple acceptance test: ask each supported agent to create and edit files, commit the result, run git-ai show and git ai blame, then exercise the team's rebase, squash, and worktree patterns. Wrong attribution should block policy use even when the overall percentage looks plausible.

Same-day code and release activity support a careful trial

GitHub showed 2,506 stars and 147 combined open issues and pull requests. The repository was pushed on August 26, 2026, and v1.7.0 was published the same day. The release added usage and token-accounting work alongside fixes and dependency updates. That is active maintenance, though the combined open count says nothing by itself about confirmed defects.

For a solo developer, the 24-second install and local operation make Git AI easy to sample. Teams face a larger decision involving agent coverage, Git Notes transport, server merges, privacy rules, and failure detection. The project earns a pilot because its explicit checkpoint model answers a real question. It earns trust only after its labels match known edits in the repository operations that matter to you.

Alternatives

ProjectWhat it isPick it when
Aider gh↗A terminal coding assistant that commits its own edits into Git.pick this instead when one agent's commit history is enough provenance and you also need the coding assistant.
Plandex gh↗A terminal AI coding tool that stages proposed changes for review.pick this instead when separating proposed AI edits before they enter Git matters more than cross-agent tracking.
GitButler gh↗A Git client built around organizing concurrent changes and virtual branches.pick this instead when change organization is the problem and AI authorship statistics are secondary.

What people are saying

  1. [github-trending] git-ai-project/git-ai

Sources

  1. Git AI README
  2. Git AI repository
  3. Git AI v1.7.0 release
  4. Issue 2221: new Copilot files marked human
  5. Git AI standard version 3

More dev tools reviews

terminal-browser · fearless_simd · devops-exercises · scriptc · 30-seconds-of-code · styleguide · the whole board →