HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
gitbutlerapp
grit
Rust2026–2026
gitbutlerapp / grit

grit

Reimplementing Git in Rust. Like a boss.

9Distinct people
10Mentions
0Explicit recommenders
594GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Reimplementing Git in Rust. Like a boss.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day10 dated mentions

Observed mentions: 2026-06-10 01:45:48 UTC to 2026-07-05 00:25:28 UTC.

02462026-06-10 00:00:00 UTC to 2026-06-11 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 commentsJun 102026-06-11 00:00:00 UTC to 2026-06-12 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2026-06-12 00:00:00 UTC to 2026-06-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-13 00:00:00 UTC to 2026-06-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-14 00:00:00 UTC to 2026-06-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-15 00:00:00 UTC to 2026-06-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-16 00:00:00 UTC to 2026-06-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-17 00:00:00 UTC to 2026-06-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-18 00:00:00 UTC to 2026-06-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-19 00:00:00 UTC to 2026-06-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-20 00:00:00 UTC to 2026-06-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-21 00:00:00 UTC to 2026-06-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-22 00:00:00 UTC to 2026-06-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJun 222026-06-23 00:00:00 UTC to 2026-06-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-24 00:00:00 UTC to 2026-06-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-25 00:00:00 UTC to 2026-06-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-26 00:00:00 UTC to 2026-06-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-27 00:00:00 UTC to 2026-06-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-28 00:00:00 UTC to 2026-06-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-29 00:00:00 UTC to 2026-06-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-30 00:00:00 UTC to 2026-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-01 00:00:00 UTC to 2026-07-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-02 00:00:00 UTC to 2026-07-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-03 00:00:00 UTC to 2026-07-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-04 00:00:00 UTC to 2026-07-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-05 00:00:00 UTC to 2026-07-06 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJul 5

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jun 102026-06-10 00:00:00 UTC2026-06-11 00:00:00 UTC707
Jun 112026-06-11 00:00:00 UTC2026-06-12 00:00:00 UTC211
Jun 122026-06-12 00:00:00 UTC2026-06-13 00:00:00 UTC000
Jun 132026-06-13 00:00:00 UTC2026-06-14 00:00:00 UTC000
Jun 142026-06-14 00:00:00 UTC2026-06-15 00:00:00 UTC000
Jun 152026-06-15 00:00:00 UTC2026-06-16 00:00:00 UTC000
Jun 162026-06-16 00:00:00 UTC2026-06-17 00:00:00 UTC000
Jun 172026-06-17 00:00:00 UTC2026-06-18 00:00:00 UTC000
Jun 182026-06-18 00:00:00 UTC2026-06-19 00:00:00 UTC000
Jun 192026-06-19 00:00:00 UTC2026-06-20 00:00:00 UTC000
Jun 202026-06-20 00:00:00 UTC2026-06-21 00:00:00 UTC000
Jun 212026-06-21 00:00:00 UTC2026-06-22 00:00:00 UTC000
Jun 222026-06-22 00:00:00 UTC2026-06-23 00:00:00 UTC000
Jun 232026-06-23 00:00:00 UTC2026-06-24 00:00:00 UTC000
Jun 242026-06-24 00:00:00 UTC2026-06-25 00:00:00 UTC000
Jun 252026-06-25 00:00:00 UTC2026-06-26 00:00:00 UTC000
Jun 262026-06-26 00:00:00 UTC2026-06-27 00:00:00 UTC000
Jun 272026-06-27 00:00:00 UTC2026-06-28 00:00:00 UTC000
Jun 282026-06-28 00:00:00 UTC2026-06-29 00:00:00 UTC000
Jun 292026-06-29 00:00:00 UTC2026-06-30 00:00:00 UTC000
Jun 302026-06-30 00:00:00 UTC2026-07-01 00:00:00 UTC000
Jul 12026-07-01 00:00:00 UTC2026-07-02 00:00:00 UTC000
Jul 22026-07-02 00:00:00 UTC2026-07-03 00:00:00 UTC000
Jul 32026-07-03 00:00:00 UTC2026-07-04 00:00:00 UTC000
Jul 42026-07-04 00:00:00 UTC2026-07-05 00:00:00 UTC000
Jul 52026-07-05 00:00:00 UTC2026-07-06 00:00:00 UTC101

What Hacker News says

10 sources
> Maybe the takeaway is that 20% is about all the LLM can muster At this point there's a long list of projects that have used LLMs to rewrite a system in Rust including: - Bun (https://github.com/oven-sh/bun/pull/30412) - Valkey (https://github.com/ianm199/valdr) - Git (https://github.com/gitbutlerapp/grit) - Postgres (https://github.com/malisper/pgrust) With the exception of Bun, these projects were done pre-fable too, so I bet Fable will make these types of rewrites even easier.
In My AI-built PHP engine in Rust passes 17% of PHP-src tests, renders WordPress
As mentioned in another comment, it's even more clear cut in this case. They actually put the original git sources in their project repo and instructed the agent to use it as the "source of truth". Simple thought experiment. If you handed this same agents.md file (https://github.com/gitbutlerapp/grit/blob/main/AGENTS.md#sou...) to a human software developer and let them work on exactly the same goal, would their output be considered a derivative work?
In Grit: Rewriting Git in Rust with agents
Looking at just the `grit` executable, 58 of the top 200 largest file->resulting code sources are from clap-rs' derive functionality i.e. it's the command-line parsing. The #1 largest is, surprisingly, merge_trees[1] which comes in at 183kiB final binary size. There isn't so much code in that file that it seems reasonable, so it's potentially one of the derives in use (Debug being a common culprit for bloat) that's blowing it out. After those outliers it starts to level out quickly. Splitting it by crate: `grit` is 13.6MiB, `grit_lib` is 4.8MiB and then it's `std`, `rustls` and `regex_automata` that are the next largest. So as pure library you could hopefully shave off quite a bit of that 25MiB. [1] https://github.com/gitbutlerapp/grit/blob/main/grit-lib/src/...
In Grit: Rewriting Git in Rust with agents
> That's not actually the case at hand here - the agents were given the original source to reference: https://github.com/gitbutlerapp/grit/blob/main/AGENTS.md#sou... yeah fair - the "The canonical Git source code we're targeting to replicate the functionality of is in the git/ subdirectory." part makes this hard to argue against. > To the extent the resulting work is a derivative of the test suite it is possibly infringing It's this bit that I have a problem with. If I run the test, it fails and reports a failure. Now I write code and run the test again. What is the theory there that code that I wrote infringes. Simplify this down: Assume the following is copyrighted: fn test_sum() { assert_eq!(sum(1, 1), 2); } Does writing the following code: fn sum(a: u8, b: u8) { a + b } infringe on the test copyright?
In Grit: Rewriting Git in Rust with agents
> using the git test suite That's not actually the case at hand here - the agents were given the original source to reference: https://github.com/gitbutlerapp/grit/blob/main/AGENTS.md#sou... But for the sake of argument: The test suite itself is copyrighted. To the extent the resulting work is a derivative of the test suite it is possibly infringing. For example you might example that the agent would derive variable names, function names, structure sequence and organization of the code from the test suite. It might even copy comments wholesale. Those are copyrightable things. (Which is of course just the first step in analyzing if it is infringement, there would be interesting fair use, de-minimis copying, etc arguments following a conclusion that any of those were copyrighted. A product produced this way definitely could be infringing g
Read the rest
iven the right facts though).
In Grit: Rewriting Git in Rust with agents

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.